Skip site navigation (1)Skip section navigation (2)
Date:      24 Feb 2002 01:17:48 +0200
From:      Maxim Sobolev <sobomax@mail.ru>
To:        Maxim Sobolev <sobomax@FreeBSD.ORG>
Cc:        ports@FreeBSD.ORG
Subject:   Re: Speeding up bsd.ports.mk [patch #2]
Message-ID:  <1014506262.48476.13.camel@notebook>
In-Reply-To: <3C73F34F.D9A58E8B@FreeBSD.org>
References:  <3C73F34F.D9A58E8B@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-0VZVcFLgLtK3Mh83Kqk7
Content-Type: multipart/mixed; boundary="=-D4O7mrsBBTpXLRtIRtu0"


--=-D4O7mrsBBTpXLRtIRtu0
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Wed, 2002-02-20 at 21:04, Maxim Sobolev wrote:
> Hi folks,
>=20
> Recently NetBSD team removed all .USE macros from their bsd.pkg.mk
> (see http://mail-index.netbsd.org/tech-pkg/2001/11/08/0001.html) -
> which should make operations (most notably dependency resolution and
> registration) 3 times faster. What do people think about integrating
> those changes into our bsd.port.mk?

First of all, thanks to all for feedback and suggestions.

Attached please find the updated version of the patch, which solves one
of the major drawbacks of the previous version -  now ports that really
need it could fall-back to a previous behaviour (i.e. execute each main
target in its own submake). This allows ports that change their
behaviour based on user's input using dialog(1) and other means work
correctly. Also I've collapsed 6 main targets into a .for loop, so that
the code is more compact, added several more comments, adjusted
indentation to be consistent with the rest of the file and moved several
targets where they belong.

As usually I would like to hear any, even negative, feedback about the
proposed patch.

Thanks!

-Maxim

--=-D4O7mrsBBTpXLRtIRtu0
Content-Disposition: attachment; filename=bsd.port.mk-speedup.diff
Content-Type: text/plain; charset=KOI8-R
Content-Transfer-Encoding: quoted-printable

Index: bsd.port.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.397
diff -d -u -r1.397 bsd.port.mk
--- bsd.port.mk	24 Jan 2002 01:15:03 -0000	1.397
+++ bsd.port.mk	23 Feb 2002 23:16:34 -0000
@@ -121,6 +121,11 @@
 #				  during any step in a package build.  User can then decide
 #				  to skip this port by setting ${BATCH}, or compiling only
 #				  the interactive ports by setting ${INTERACTIVE}.
+# USE_SUBMAKE	- Set this if you want that each of the port's main 6 target=
s
+#				  (extract, patch, configure, build, install and package) to be
+#				  executed in a separate make(1) process. Useful when one of
+#				  the stages needs to influence make(1) variables of the later
+#				  stages using ${WRKDIR}/Makefile.inc generated on the fly.
 #
 # Set these if your port only makes sense to certain archetictures.
 # They are lists containing names for them (e.g., "alpha i386").
@@ -1021,8 +1026,7 @@
 .include "${PORTSDIR}/../Makefile.inc"
 .endif
=20
-# Don't change these!!!  These names are built into the _TARGET_USE macro,
-# there is no way to refer to them cleanly from within the macro AFAIK.
+# Names of cookies used to skip already completed stages
 EXTRACT_COOKIE?=3D	${WRKDIR}/.extract_done.${PKGNAME}
 CONFIGURE_COOKIE?=3D	${WRKDIR}/.configure_done.${PKGNAME}
 INSTALL_COOKIE?=3D	${WRKDIR}/.install_done.${PKGNAME}
@@ -1995,6 +1999,24 @@
 # adding pre-* or post-* targets/scripts, override these.
 ################################################################
=20
+# Pre-everything
+
+.if !target(pre-everything)
+pre-everything:
+.if defined(TRYBROKEN)
+	@${ECHO_MSG} "Trying build of ${PKGNAME} even though it is marked BROKEN.=
"
+.else
+	@${DO_NADA}
+.endif
+.if defined(GNOME_OPTION_MSG) && (!defined(PACKAGE_BUILDING) || !defined(B=
ATCH))
+	@for m in ${GNOME_OPTION_MSG}; do \
+		${ECHO_MSG} $$m; \
+	done
+.else
+	@${DO_NADA}
+.endif
+.endif
+
 # Fetch
=20
 .if !target(do-fetch)
@@ -2252,7 +2280,6 @@
=20
 .if !target(do-package)
 do-package: ${TMPPLIST}
-	@${ECHO_MSG} "=3D=3D=3D>  Building package for ${PKGNAME}"
 	@if [ -d ${PACKAGES} ]; then \
 		if [ ! -d ${PKGREPOSITORY} ]; then \
 			if ! ${MKDIR} ${PKGREPOSITORY}; then \
@@ -2275,8 +2302,7 @@
 # Some support rules for do-package
=20
 .if !target(package-links)
-package-links:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} delete-package-links
+package-links: delete-package-links
 	@for cat in ${CATEGORIES}; do \
 		if [ ! -d ${PACKAGES}/$$cat ]; then \
 			if ! ${MKDIR} ${PACKAGES}/$$cat; then \
@@ -2308,8 +2334,7 @@
 .endif
=20
 .if !target(delete-package)
-delete-package:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} delete-package-links
+delete-package: delete-package-links
 	@${RM} -f ${PKGFILE}
 .endif
=20
@@ -2324,29 +2349,14 @@
 .endif
=20
 .if !target(delete-package-list)
-delete-package-list:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} delete-package-links-list
+delete-package-list: delete-package-links-list
 	@${ECHO} "[ -f ${PKGFILE} ] && (${ECHO} deleting ${PKGFILE}; ${RM} -f ${P=
KGFILE})"
 .endif
=20
-################################################################
-# This is the "generic" port target, actually a macro used from the
-# six main targets.  See below for more.
-################################################################
+# Utility targets follow
=20
-_PORT_USE: .USE
-.if make(real-fetch)
-.if defined(TRYBROKEN)
-	@${ECHO_MSG} "Trying build of ${PKGNAME} even though it is marked BROKEN.=
"
-.endif
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} fetch-depends
-.endif
-.if make(real-extract)
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} checksum REAL_EXTRACT=3Dyes
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} build-depends lib-depends mi=
sc-depends
-.endif
-.if make(real-install)
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} check-categories
+.if !target(check-already-installed)
+check-already-installed:
 .if !defined(NO_PKG_REGISTER) && !defined(FORCE_PKG_REGISTER)
 	@if [ -d ${PKG_DBDIR}/${PKGNAME} ]; then \
 		${ECHO} "=3D=3D=3D>  ${PKGNAME} is already installed - perhaps an older =
version?"; \
@@ -2357,15 +2367,22 @@
 		${ECHO} "      in your environment or the \"make install\" command line.=
"; \
 		exit 1; \
 	fi
+.else
+	@${DO_NADA}
 .endif
+.endif
+
+.if !target(check-umask)
+check-umask:
 	@if [ `${SH} -c umask` !=3D 0022 ]; then \
 		${ECHO_MSG} "=3D=3D=3D>  Warning: your umask is \"`${SH} -c umask`"\".; =
\
 		${ECHO_MSG} "      If this is not desired, set it to an appropriate valu=
e"; \
 		${ECHO_MSG} "      and install this port again by \`\`make reinstall''."=
; \
 	fi
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} run-depends lib-depends
 .endif
-.if make(real-install)
+
+.if !target(install-mtree)
+install-mtree:
 	@${MKDIR} ${PREFIX}
 	@if [ `id -u` !=3D 0 ]; then \
 		if [ -w ${PREFIX}/ ]; then \
@@ -2390,98 +2407,19 @@
 	fi
 .endif
 .endif
-.if make(real-configure) && defined(USE_LIBTOOL)
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-libtool
-.endif
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} ${.TARGET:S/^real-/pre-/}
-	@if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/pre-/} ]; then \
-		cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
-			${SCRIPTDIR}/${.TARGET:S/^real-/pre-/}; \
-	fi
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} ${.TARGET:S/^real-/do-/}
-# put here so ports can change the contents of ${TMPPLIST} if necessary
-.if make(real-install)
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} generate-plist
-.endif
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} ${.TARGET:S/^real-/post-/}
-	@if [ -f ${SCRIPTDIR}/${.TARGET:S/^real-/post-/} ]; then \
-		cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
-			${SCRIPTDIR}/${.TARGET:S/^real-/post-/}; \
-	fi
-.if make(real-install) && (defined(_MANPAGES) || defined(_MLINKS))
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} compress-man
-.endif
-.if make(real-install) && defined(INSTALLS_SHLIB)
+
+.if !target(run-ldconfig)
+run-ldconfig:
+.if defined(INSTALLS_SHLIB)
 	@${ECHO_MSG} "=3D=3D=3D>   Running ldconfig"
 	${LDCONFIG} -m ${LDCONFIG_RUNLIST}
-.endif
-.if make(real-install) && !defined(NO_PKG_REGISTER)
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} fake-pkg
-.endif
-.if !make(real-fetch) \
-	&& (!make(real-patch) || !defined(PATCH_CHECK_ONLY)) \
-	&& (!make(real-package) || !defined(PACKAGE_NOINSTALL))
-	@${TOUCH} ${TOUCH_FLAGS} ${WRKDIR}/.${.TARGET:S/^real-//}_done.${PKGNAME}
-.endif
-
-################################################################
-# Skeleton targets start here
-#=20
-# You shouldn't have to change these.  Either add the pre-* or
-# post-* targets/scripts or redefine the do-* targets.  These
-# targets don't do anything other than checking for cookies and
-# call the necessary targets/scripts.
-################################################################
-
-.if !target(pre-everything)
-pre-everything:
+.else
 	@${DO_NADA}
 .endif
-
-.if !target(fetch)
-fetch:	pre-everything
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-fetch
 .endif
=20
-.if !target(extract)
-extract: ${EXTRACT_COOKIE}
-.endif
-
-.if !target(patch)
-patch: ${PATCH_COOKIE}
-.endif
-
-.if !target(configure)
-configure: ${CONFIGURE_COOKIE}
-.endif
-
-.if !target(build)
-build: ${BUILD_COOKIE}
-.endif
-
-.if !target(install)
-install: ${INSTALL_COOKIE}
-.endif
-
-.if !target(package)
-package: ${PACKAGE_COOKIE}
-.endif
-
-${EXTRACT_COOKIE}:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} fetch
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-extract
-${PATCH_COOKIE}:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} extract
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-patch
-${CONFIGURE_COOKIE}:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-configure
-${BUILD_COOKIE}:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} configure
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-build
-${INSTALL_COOKIE}:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} build
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-install
+.if !target(security-check)
+security-check:
 # Scan PLIST for setugid files and startup scripts
 	-@for i in `${GREP} -v '^@' ${TMPPLIST}`; do \
 		${FIND} ${PREFIX}/$$i -prune -type f \( -perm -4000 -o -perm -2000 \) \(=
 -perm -0010 -o -perm -0001 \) -ls 2>/dev/null; \
@@ -2512,51 +2450,111 @@
 			${MAKE} www-site; \
 		fi; \
 	fi
+.endif
=20
-${PACKAGE_COOKIE}:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} install
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-package
+################################################################
+# Skeleton targets start here
+#=20
+# You shouldn't have to change these.  Either add the pre-* or
+# post-* targets/scripts or redefine the do-* targets.  These
+# targets don't do anything other than checking for cookies and
+# call the necessary targets/scripts.
+################################################################
=20
-# And call the macros
+# Please note that the order of the following targets is important, and
+# should not be modified.
=20
-real-fetch: _PORT_USE
-real-extract: _PORT_USE
+_FETCH_SEQ=3D		pre-everything fetch-depends pre-fetch pre-fetch-script \
+				do-fetch post-fetch post-fetch-script
+_EXTRACT_SEQ=3D	fetch extract-message checksum build-depends lib-depends \
+				misc-depends pre-extract pre-extract-script do-extract \
+				post-extract post-extract-script
+_PATCH_SEQ=3D		extract patch-message pre-patch pre-patch-script do-patch \
+				post-patch post-patch-script
+_CONFIGURE_SEQ=3D	patch configure-message patch-libtool pre-configure \
+				pre-configure-script do-configure post-configure \
+				post-configure-script
+_BUILD_SEQ=3D		configure build-message pre-build pre-build-script do-build=
 \
+				post-build post-build-script
+_INSTALL_SEQ=3D	build install-message check-categories check-already-insta=
lled \
+				check-umask run-depends lib-depends install-mtree pre-install \
+				pre-install-script do-install generate-plist post-install \
+				post-install-script compress-man run-ldconfig fake-pkg \
+				security-check
+_PACKAGE_SEQ=3D	install package-message pre-package pre-package-script \
+				do-package post-package-script
+
+.if !target(fetch)
+fetch: ${_FETCH_SEQ}
+.endif
+
+# Main logick. The loop generates 6 main targets and using cookies
+# ensures that those already completed are skipped.
+
+.for target in extract patch configure build install package
+
+.if !target(${target})
+.if !defined(USE_SUBMAKE)
+${target}: ${${target:U}_COOKIE}
+.else
+${target}:
+	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} ${${target:U}_COOKIE}
+.endif
+.endif
+
+.if !exists(${${target:U}_COOKIE})
+${${target:U}_COOKIE}: ${_${target:U}_SEQ}
+	@${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
+.else
+${${target:U}_COOKIE}:
+	${DO_NADA}
+.endif
+
+.endfor
+
+# Enforce order for -jN builds
+
+.ORDER: ${_FETCH_SEQ}
+.ORDER: ${_EXTRACT_SEQ}
+.ORDER: ${_PATCH_SEQ}
+.ORDER: ${_CONFIGURE_SEQ}
+.ORDER: ${_BUILD_SEQ}
+.ORDER: ${_INSTALL_SEQ}
+.ORDER: ${_PACKAGE_SEQ}
+
+extract-message:
 	@${ECHO_MSG} "=3D=3D=3D>  Extracting for ${PKGNAME}"
-real-patch: _PORT_USE
+patch-message:
 	@${ECHO_MSG} "=3D=3D=3D>  Patching for ${PKGNAME}"
-real-configure: _PORT_USE
+configure-message:
 	@${ECHO_MSG} "=3D=3D=3D>  Configuring for ${PKGNAME}"
-real-build: _PORT_USE
+build-message:
 	@${ECHO_MSG} "=3D=3D=3D>  Building for ${PKGNAME}"
-real-install: _PORT_USE
+install-message:
 	@${ECHO_MSG} "=3D=3D=3D>  Installing for ${PKGNAME}"
-real-package: _PORT_USE
+package-message:
+	@${ECHO_MSG} "=3D=3D=3D>  Building package for ${PKGNAME}"
=20
-# Empty pre-* and post-* targets, note we can't use .if !target()
-# in the _PORT_USE macro
+# Empty pre-* and post-* targets
=20
+.for stage in pre post
 .for name in fetch extract patch configure build install package
=20
-.if !target(pre-${name})
-pre-${name}:
+.if !target(${stage}-${name})
+${stage}-${name}:
 	@${DO_NADA}
 .endif
=20
-.if !target(post-${name})
-post-${name}:
-	@${DO_NADA}
+.if !target(${stage}-${name}-script)
+${stage}-${name}-script:
+	@if [ -f ${SCRIPTDIR}/${.TARGET:S/-script$//} ]; then \
+		cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \
+			${SCRIPTDIR}/${.TARGET:S/-script$//}; \
+	fi
 .endif
=20
 .endfor
-
-.if defined(GNOME_OPTION_MSG) && (!defined(PACKAGE_BUILDING) || !defined(B=
ATCH))
-pre-everything:: echo-gnome-option-msg
-
-echo-gnome-option-msg:
-	@for m in ${GNOME_OPTION_MSG}; do \
-		${ECHO_MSG} $$m; \
-	done
-.endif
+.endfor
=20
 # Patch-libtool
 #
@@ -2582,6 +2580,7 @@
=20
 .if !target(patch-libtool)
 patch-libtool:
+.if defined(USE_LIBTOOL)
 	@(if ${LIBTOOL} --version | grep -vq "1\.3\.4-freebsd-ports"; then \
 		(${ECHO} "Your libtool installation is out of date. Please remove"; \
 		 ${ECHO} "and reinstall ${PORTSDIR}/devel/libtool."; \
@@ -2595,15 +2594,22 @@
 			-e "s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} $${LIBTOOLDIR}/ltmain.sh^=
g" \
 			$$file.tmp > $$file; \
 	 done);
+.else
+	@${DO_NADA}
+.endif
 .endif
=20
+################################################################
+# Some more targets supplied for users' convenience
+################################################################
+
 # Checkpatch
 #
 # Special target to verify patches
=20
 .if !target(checkpatch)
 checkpatch:
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} PATCH_CHECK_ONLY=3Dyes patch
+	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} PATCH_CHECK_ONLY=3Dyes ${_PA=
TCH_SEQ}
 .endif
=20
 # Reinstall
@@ -2631,10 +2637,6 @@
 	@${RM} -f ${INSTALL_COOKIE} ${PACKAGE_COOKIE}
 .endif
=20
-################################################################
-# Some more targets supplied for users' convenience
-################################################################
-
 # Cleaning up
=20
 .if !target(do-clean)
@@ -2798,10 +2800,7 @@
=20
=20
 .if !target(checksum)
-checksum:
-.if !defined(REAL_EXTRACT)
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} fetch
-.endif
+checksum: fetch
 	@if [ ! -f ${MD5_FILE} ]; then \
 		${ECHO_MSG} ">> No MD5 checksum file."; \
 	else \
@@ -2870,7 +2869,8 @@
 .if !target(package-noinstall)
 package-noinstall:
 	@${MKDIR} ${WRKDIR}
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} PACKAGE_NOINSTALL=3Dyes real=
-package
+	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} pre-package \
+		pre-package-script do-package post-package-script
 	@${RM} -f ${TMPPLIST}
 	-@${RMDIR} ${WRKDIR}
 .endif
@@ -2880,22 +2880,7 @@
 ################################################################
=20
 .if !target(depends)
-depends: lib-depends misc-depends
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} fetch-depends
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} build-depends
-	@cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} run-depends
-
-.if make(fetch-depends)
-DEPENDS_TMP+=3D	${FETCH_DEPENDS}
-.endif
-
-.if make(build-depends)
-DEPENDS_TMP+=3D	${BUILD_DEPENDS}
-.endif
-
-.if make(run-depends)
-DEPENDS_TMP+=3D	${RUN_DEPENDS}
-.endif
+depends: lib-depends misc-depends fetch-depends build-depends run-depends
=20
 .if defined(ALWAYS_BUILD_DEPENDS)
 _DEPEND_ALWAYS=3D	1
@@ -2903,10 +2888,11 @@
 _DEPEND_ALWAYS=3D	0
 .endif
=20
-_DEPENDS_USE:	.USE
-.if defined(DEPENDS_TMP)
+.for deptype in FETCH BUILD RUN
+${deptype:L}-depends:
+.if defined(${deptype}_DEPENDS)
 .if !defined(NO_DEPENDS)
-	@for i in ${DEPENDS_TMP}; do \
+	@for i in ${${deptype}_DEPENDS}; do \
 		prog=3D`${ECHO} $$i | ${SED} -e 's/:.*//'`; \
 		dir=3D`${ECHO} $$i | ${SED} -e 's/[^:]*://'`; \
 		if ${EXPR} "$$dir" : '.*:' > /dev/null; then \
@@ -2957,10 +2943,7 @@
 .else
 	@${DO_NADA}
 .endif
-
-fetch-depends:	_DEPENDS_USE
-build-depends:	_DEPENDS_USE
-run-depends:	_DEPENDS_USE
+.endfor
=20
 lib-depends:
 .if defined(LIB_DEPENDS)
@@ -3317,6 +3300,7 @@
 # Compress (or uncompress) and symlink manpages.
 .if !target(compress-man)
 compress-man:
+.if defined(_MANPAGES) || defined(_MLINKS)
 .if ${MANCOMPRESSED} =3D=3D yes && defined(NOMANCOMPRESS)
 	@${ECHO_MSG} "=3D=3D=3D>   Uncompressing manual pages for ${PKGNAME}"
 	@_manpages=3D'${_MANPAGES:S/'/'\''/g}' && [ "$${_manpages}" !=3D "" ] && =
( eval ${GUNZIP_CMD} $${_manpages} ) || ${TRUE}
@@ -3337,6 +3321,9 @@
 		shift; shift; \
 	done
 .endif
+.else
+	@${DO_NADA}
+.endif
 .endif
=20
 # Fake installation of package so that user can pkg_delete it later.
@@ -3345,6 +3332,7 @@
=20
 .if !target(fake-pkg)
 fake-pkg:
+.if !defined(NO_PKG_REGISTER)
 	@if [ ! -d ${PKG_DBDIR} ]; then ${RM} -f ${PKG_DBDIR}; ${MKDIR} ${PKG_DBD=
IR}; fi
 	@${RM} -f /tmp/${PKGNAME}-required-by
 .if defined(FORCE_PKG_REGISTER)
@@ -3384,6 +3372,9 @@
 		${CAT} /tmp/${PKGNAME}-required-by >> ${PKG_DBDIR}/${PKGNAME}/+REQUIRED_=
BY; \
 		${RM} -f /tmp/${PKGNAME}-required-by; \
 	fi
+.else
+	@${DO_NADA}
+.endif
 .endif
=20
 # Depend is generally meaningless for arbitrary ports, but if someone want=
s

--=-D4O7mrsBBTpXLRtIRtu0--

--=-0VZVcFLgLtK3Mh83Kqk7
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (FreeBSD)
Comment: For info see http://www.gnupg.org

iD8DBQA8eCMWoNu5t4iCBa8RAmDhAJ0UMoyl4hF6ve2fGrpTWNUMvEz87wCfYXsP
1x7mBOzC3xpoHHjP2U2m+yA=
=xlLo
-----END PGP SIGNATURE-----

--=-0VZVcFLgLtK3Mh83Kqk7--



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1014506262.48476.13.camel>