Date: Thu, 21 Feb 2002 18:53:34 +0200 From: Maxim Sobolev <sobomax@FreeBSD.org> To: Christian Weisgerber <naddy@mips.inka.de>, freebsd-ports@FreeBSD.org Subject: Re: Speeding up bsd.ports.mk Message-ID: <3C75260E.1F72E9F6@FreeBSD.org> References: <3C73F34F.D9A58E8B@FreeBSD.org> <a51k3b$31a$1@kemoauc.mips.inka.de> <3C74B745.9D57D6A9@FreeBSD.org> <3C74BF4E.480E1D39@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------62FCD149814228E9870C8A8C Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Maxim Sobolev wrote: > > Maxim Sobolev wrote: > > > > Christian Weisgerber wrote: > > > > > > Maxim Sobolev <sobomax@FreeBSD.org> wrote: > > > > > > > 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? > > > > > > OpenBSD's bsd.port.mk is substantially faster than ours. I notice > > > that Marc Espie also removed .USE. I also believe that bsd.port.mk > > > would become generally clearer with this change. > > > > Yes, it really become more clear with this change, at least in my > > somewhat biased view. I'm currently putting final changes and cleanups > > into it - expect patch be available RSN. > > BTW, my patch also makes bsd.ports.mk more compact: +137 lines, -149 > lines, without the loss of clarity or functionality. Ok, attached please find a patch to speed-up bsd.ports.mk. There are also attached test port and a script to roughly measure performance of the bsd.port.mk using this port. Following are the number from my P266MMX notebook running -current: 1. Stock bsd.port.mk: real 3m34.488s user 2m13.694s sys 1m19.211s 2. Patched bsd.port.mk: real 1m14.496s user 0m33.010s sys 0m40.796s Notice four-fold decrease of the user time and two-fold decrease of the system time - not bad, isn't it? :) Another big improvement is IMO the much cleaner internal structure of the bsd.port.mk, which allows debug and extend it much more easily even without being a rocket scientist. I would like to hear what people think about the patch - any feedback, even negative, is appreciated. Thanks! -Maxim --------------62FCD149814228E9870C8A8C Content-Type: application/x-compressed; name="fake.tar" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="fake.tar" ZmFrZS8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA0MDc1NSAA ICAgICAwIAAgICAgIDAgACAgICAgICAgICAwICA3NDM1MDQzNDc2ICAxMDEwMwAgNQAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hlZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmYWtlL3BrZy1jb21tZW50AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMTAwNjQ0IAAgICAgIDAgACAgICAgMCAAICAgICAgICAgMTUg IDcyNTcyMTU3MzcgIDEyMzAzACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3 aGVlbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZh a2UgY29tbWVudAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZmFrZS9wa2ctZGVzY3IAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAADEwMDY0NCAAICAgICAwIAAgICAgIDAgACAgICAgICAgIDIxICA3 MjU3MjE1NzQ1ICAxMTczNQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAd2hl ZWwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmYWtl IGRlc2NyaXB0aW9uCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZha2UvcGtnLXBsaXN0AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAxMDA2NDQgACAgICAgMCAAICAgICAwIAAgICAgICAgICA0MSAgNzM1 NTY0NTMyNyAgMTE3NzQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAdXN0YXIgIAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHdoZWVs AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZmFrZWZp bGUKZmFrZWxpbmsKQGRpcnJtIGZha2VkaXIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAABmYWtlL01ha2VmaWxlAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAMTAwNjQ0IAAgICAgIDAgACAgICAgMCAAICAgICAgICA0MDIgIDc0MzUx NDIyNDMgIDExNjA0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3aGVlbAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBPUlROQU1F PQlmYWtlClBPUlRWRVJTSU9OPSAJMC4wCkNBVEVHT1JJRVM9CWRldmVsCkRJU1RGSUxFUz0K Ck1BSU5UQUlORVI9CXNvYm9tYXhARnJlZUJTRC5vcmcKCk5PX0JVSUxEPQlvYnZpb3VzbHkK CmRvLWluc3RhbGw6Cgkke01LRElSfSAke1BSRUZJWH0vZmFrZWRpcgoJJHtUT1VDSH0gJHtQ UkVGSVh9L2Zha2VmaWxlCgkke0xOfSAtc2YgJHtQUkVGSVh9L2Zha2VkaXIgJHtQUkVGSVh9 L2Zha2VsaW5rCgouaW5jbHVkZSA8YnNkLnBvcnQubWs+CgAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== --------------62FCD149814228E9870C8A8C Content-Type: text/plain; charset=koi8-r; name="faketest" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="faketest" time sh -c 'for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; \ do make install deinstall clean > /dev/null; done' --------------62FCD149814228E9870C8A8C Content-Type: text/plain; charset=koi8-r; name="bsd.port.mk-speedup.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="bsd.port.mk-speedup.diff" Index: bsd.port.mk =================================================================== 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 21 Feb 2002 16:44:00 -0000 @@ -2252,7 +2258,6 @@ .if !target(do-package) do-package: ${TMPPLIST} - @${ECHO_MSG} "===> Building package for ${PKGNAME}" @if [ -d ${PACKAGES} ]; then \ if [ ! -d ${PKGREPOSITORY} ]; then \ if ! ${MKDIR} ${PKGREPOSITORY}; then \ @@ -2275,8 +2280,7 @@ # Some support rules for do-package .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 +2312,7 @@ .endif .if !target(delete-package) -delete-package: - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} delete-package-links +delete-package: delete-package-links @${RM} -f ${PKGFILE} .endif @@ -2324,29 +2327,12 @@ .endif .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 ${PKGFILE})" .endif -################################################################ -# This is the "generic" port target, actually a macro used from the -# six main targets. See below for more. -################################################################ - -_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=yes - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} build-depends lib-depends misc-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} "===> ${PKGNAME} is already installed - perhaps an older version?"; \ @@ -2357,15 +2343,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` != 0022 ]; then \ ${ECHO_MSG} "===> Warning: your umask is \"`${SH} -c umask`"\".; \ ${ECHO_MSG} " If this is not desired, set it to an appropriate value"; \ ${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` != 0 ]; then \ if [ -w ${PREFIX}/ ]; then \ @@ -2390,38 +2383,49 @@ 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} "===> Running ldconfig" ${LDCONFIG} -m ${LDCONFIG_RUNLIST} +.else + @${DO_NADA} .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} + +.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; \ + done > ${WRKDIR}/.PLIST.setuid; \ + ${GREP} '^etc/rc.d/' ${TMPPLIST} > ${WRKDIR}/.PLIST.startup; \ + if [ -s ${WRKDIR}/.PLIST.setuid -o -s ${WRKDIR}/.PLIST.startup ]; then \ + echo "===> SECURITY NOTE: "; \ + if [ -s ${WRKDIR}/.PLIST.setuid ] ; then \ + echo " This port has installed the following binaries which execute with"; \ + echo " increased privileges."; \ + ${CAT} ${WRKDIR}/.PLIST.setuid; \ + echo; \ + fi; \ + if [ -s ${WRKDIR}/.PLIST.startup ] ; then \ + echo " This port has installed the following startup scripts which may cause"; \ + echo " network services to be started at boot time."; \ + ${SED} s,^,${PREFIX}/, < ${WRKDIR}/.PLIST.startup; \ + echo; \ + fi; \ + echo " If there are vulnerabilities in these programs there may be a security"; \ + echo " risk to the system. FreeBSD makes no guarantee about the security of"; \ + echo " ports included in the Ports Collection. Please type 'make deinstall'"; \ + echo " to deinstall the port if this is a concern."; \ + if [ ! -z "`make www-site`" ]; then \ + echo; \ + echo " For more information, and contact details about the security"; \ + echo " status of this software, see the following webpage: "; \ + ${MAKE} www-site; \ + fi; \ + fi .endif ################################################################ @@ -2435,12 +2439,15 @@ .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 +.endif .if !target(fetch) -fetch: pre-everything - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-fetch +fetch: ${_FETCH_SEQ} .endif .if !target(extract) @@ -2467,87 +2474,102 @@ 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 -# 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; \ - done > ${WRKDIR}/.PLIST.setuid; \ - ${GREP} '^etc/rc.d/' ${TMPPLIST} > ${WRKDIR}/.PLIST.startup; \ - if [ -s ${WRKDIR}/.PLIST.setuid -o -s ${WRKDIR}/.PLIST.startup ]; then \ - echo "===> SECURITY NOTE: "; \ - if [ -s ${WRKDIR}/.PLIST.setuid ] ; then \ - echo " This port has installed the following binaries which execute with"; \ - echo " increased privileges."; \ - ${CAT} ${WRKDIR}/.PLIST.setuid; \ - echo; \ - fi; \ - if [ -s ${WRKDIR}/.PLIST.startup ] ; then \ - echo " This port has installed the following startup scripts which may cause"; \ - echo " network services to be started at boot time."; \ - ${SED} s,^,${PREFIX}/, < ${WRKDIR}/.PLIST.startup; \ - echo; \ - fi; \ - echo " If there are vulnerabilities in these programs there may be a security"; \ - echo " risk to the system. FreeBSD makes no guarantee about the security of"; \ - echo " ports included in the Ports Collection. Please type 'make deinstall'"; \ - echo " to deinstall the port if this is a concern."; \ - if [ ! -z "`make www-site`" ]; then \ - echo; \ - echo " For more information, and contact details about the security"; \ - echo " status of this software, see the following webpage: "; \ - ${MAKE} www-site; \ - fi; \ - fi +# Please note that the order of the following targets is important, and +# should not be modified (.ORDER is not recognised by make(1) in a serial +# make i.e. without -j n) +_FETCH_SEQ= pre-everything fetch-depends pre-fetch pre-fetch-script \ + do-fetch post-fetch post-fetch-script +_EXTRACT_SEQ= fetch extract-message checksum build-depends lib-depends \ + misc-depends pre-extract pre-extract-script do-extract \ + post-extract post-extract-script +_PATCH_SEQ= extract patch-message pre-patch pre-patch-script do-patch \ + post-patch post-patch-script +_CONFIGURE_SEQ= patch configure-message patch-libtool pre-configure \ + pre-configure-script do-configure post-configure \ + post-configure-script +_BUILD_SEQ= configure build-message pre-build pre-build-script do-build \ + post-build post-build-script +_INSTALL_SEQ= build install-message check-categories check-already-installed \ + 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= install package-message pre-package pre-package-script \ + do-package post-package-script -${PACKAGE_COOKIE}: - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} install - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} real-package +.ORDER: ${_FETCH_SEQ} +.ORDER: ${_EXTRACT_SEQ} +.ORDER: ${_PATCH_SEQ} +.ORDER: ${_CONFIGURE_SEQ} +.ORDER: ${_BUILD_SEQ} +.ORDER: ${_INSTALL_SEQ} +.ORDER: ${_PACKAGE_SEQ} -# And call the macros +.if !exists(${EXTRACT_COOKIE}) +${EXTRACT_COOKIE}: ${_EXTRACT_SEQ} + @${TOUCH} ${TOUCH_FLAGS} ${EXTRACT_COOKIE} +.endif -real-fetch: _PORT_USE -real-extract: _PORT_USE +.if !exists(${PATCH_COOKIE}) +${PATCH_COOKIE}: ${_PATCH_SEQ} +.if !defined(PATCH_CHECK_ONLY) + @${TOUCH} ${TOUCH_FLAGS} ${PATCH_COOKIE} +.endif + +.endif +.if !exists(${CONFIGURE_COOKIE}) +${CONFIGURE_COOKIE}: ${_CONFIGURE_SEQ} + @${TOUCH} ${TOUCH_FLAGS} ${CONFIGURE_COOKIE} +.endif + +.if !exists(${BUILD_COOKIE}) +${BUILD_COOKIE}: ${_BUILD_SEQ} + @${TOUCH} ${TOUCH_FLAGS} ${BUILD_COOKIE} +.endif + +.if !exists(${INSTALL_COOKIE}) +${INSTALL_COOKIE}: ${_INSTALL_SEQ} + @${TOUCH} ${TOUCH_FLAGS} ${INSTALL_COOKIE} +.endif + +.if !exists(${PACKAGE_COOKIE}) +${PACKAGE_COOKIE}: ${_PACKAGE_SEQ} + @${TOUCH} ${TOUCH_FLAGS} ${PACKAGE_COOKIE} +.endif + +extract-message: @${ECHO_MSG} "===> Extracting for ${PKGNAME}" -real-patch: _PORT_USE +patch-message: @${ECHO_MSG} "===> Patching for ${PKGNAME}" -real-configure: _PORT_USE +configure-message: @${ECHO_MSG} "===> Configuring for ${PKGNAME}" -real-build: _PORT_USE +build-message: @${ECHO_MSG} "===> Building for ${PKGNAME}" -real-install: _PORT_USE +install-message: @${ECHO_MSG} "===> Installing for ${PKGNAME}" -real-package: _PORT_USE +package-message: + @${ECHO_MSG} "===> Building package for ${PKGNAME}" -# Empty pre-* and post-* targets, note we can't use .if !target() -# in the _PORT_USE macro +# Empty pre-* and post-* targets +.for stage in pre post .for name in fetch extract patch configure build install package -.if !target(pre-${name}) -pre-${name}: +.if !target(${stage}-${name}) +${stage}-${name}: @${DO_NADA} .endif -.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 .endfor +.endfor .if defined(GNOME_OPTION_MSG) && (!defined(PACKAGE_BUILDING) || !defined(BATCH)) pre-everything:: echo-gnome-option-msg @@ -2582,6 +2604,7 @@ .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,6 +2618,9 @@ -e "s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} $${LIBTOOLDIR}/ltmain.sh^g" \ $$file.tmp > $$file; \ done); +.else + @${DO_NADA} +.endif .endif # Checkpatch @@ -2798,10 +2824,7 @@ .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 +2893,8 @@ .if !target(package-noinstall) package-noinstall: @${MKDIR} ${WRKDIR} - @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} PACKAGE_NOINSTALL=yes real-package + @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} pre-package \ + pre-package-script do-package post-package-script @${RM} -f ${TMPPLIST} -@${RMDIR} ${WRKDIR} .endif @@ -2880,22 +2904,7 @@ ################################################################ .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+= ${FETCH_DEPENDS} -.endif - -.if make(build-depends) -DEPENDS_TMP+= ${BUILD_DEPENDS} -.endif - -.if make(run-depends) -DEPENDS_TMP+= ${RUN_DEPENDS} -.endif +depends: lib-depends misc-depends fetch-depends build-depends run-depends .if defined(ALWAYS_BUILD_DEPENDS) _DEPEND_ALWAYS= 1 @@ -2903,10 +2912,11 @@ _DEPEND_ALWAYS= 0 .endif -_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=`${ECHO} $$i | ${SED} -e 's/:.*//'`; \ dir=`${ECHO} $$i | ${SED} -e 's/[^:]*://'`; \ if ${EXPR} "$$dir" : '.*:' > /dev/null; then \ @@ -2957,10 +2967,7 @@ .else @${DO_NADA} .endif - -fetch-depends: _DEPENDS_USE -build-depends: _DEPENDS_USE -run-depends: _DEPENDS_USE +.endfor lib-depends: .if defined(LIB_DEPENDS) @@ -3317,6 +3324,7 @@ # Compress (or uncompress) and symlink manpages. .if !target(compress-man) compress-man: +.if defined(_MANPAGES) || defined(_MLINKS) .if ${MANCOMPRESSED} == yes && defined(NOMANCOMPRESS) @${ECHO_MSG} "===> Uncompressing manual pages for ${PKGNAME}" @_manpages='${_MANPAGES:S/'/'\''/g}' && [ "$${_manpages}" != "" ] && ( eval ${GUNZIP_CMD} $${_manpages} ) || ${TRUE} @@ -3337,6 +3345,9 @@ shift; shift; \ done .endif +.else + @${DO_NADA} +.endif .endif # Fake installation of package so that user can pkg_delete it later. @@ -3345,6 +3356,7 @@ .if !target(fake-pkg) fake-pkg: +.if !defined(NO_PKG_REGISTER) @if [ ! -d ${PKG_DBDIR} ]; then ${RM} -f ${PKG_DBDIR}; ${MKDIR} ${PKG_DBDIR}; fi @${RM} -f /tmp/${PKGNAME}-required-by .if defined(FORCE_PKG_REGISTER) @@ -3384,6 +3396,9 @@ ${CAT} /tmp/${PKGNAME}-required-by >> ${PKG_DBDIR}/${PKGNAME}/+REQUIRED_BY; \ ${RM} -f /tmp/${PKGNAME}-required-by; \ fi +.else + @${DO_NADA} +.endif .endif # Depend is generally meaningless for arbitrary ports, but if someone wants --------------62FCD149814228E9870C8A8C-- 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?3C75260E.1F72E9F6>