On 07/23/14 09:34, Bjoern A. Zeeb wrote:
On 02 Mar 2011, at 14:39 , Nathan Whitehorn <nwhiteh...@freebsd.org> wrote:

Author: nwhitehorn
Date: Wed Mar  2 14:39:26 2011
New Revision: 219177
URL: http://svn.freebsd.org/changeset/base/219177

Log:
  Improve the distributeworld target in Makefile.inc1 and update the release
  infrastructure to use it. make distributeworld can now be used without
  preparing its environment first and installs games into its distribution
  using the regular make distribute logic instead of post-processing with
  a script.

  Also add two new targets, packageworld and packagekernel, that tar up the
  results of distributeworld and distributekernel (also new), respectively.

Deleted:
  head/release/scripts/games-make.sh
  head/release/scripts/lib32-make.sh
Modified:
  head/Makefile
  head/Makefile.inc1
  head/games/Makefile.inc
  head/release/Makefile
..

Modified: head/Makefile.inc1
==============================================================================
--- head/Makefile.inc1  Wed Mar  2 13:06:47 2011        (r219176)
+++ head/Makefile.inc1  Wed Mar  2 14:39:26 2011        (r219177)
@@ -631,6 +631,13 @@ ITOOLS=    [ awk cap_mkdb cat chflags chmod
…

@@ -653,8 +660,33 @@ distributeworld installworld: installche
            done); \
        cp $$libs $$progs ${INSTALLTMP}
        cp -R $${PATH_LOCALE:-"/usr/share/locale"} ${INSTALLTMP}/locale
+.if make(distributeworld)
+.for dist in ${EXTRA_DISTRIBUTIONS}
+       -mkdir ${DESTDIR}/${DISTDIR}/${dist}
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.root.dist \
+           -p ${DESTDIR}/${DISTDIR}/${dist} >/dev/null
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
+           -p ${DESTDIR}/${DISTDIR}/${dist}/usr >/dev/null
+       mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
+           -p ${DESTDIR}/${DISTDIR}/${dist}/usr/include >/dev/null
+.endfor
+       -mkdir ${DESTDIR}/${DISTDIR}/base
+       ${_+_}cd ${.CURDIR}; ${IMAKE} distrib-dirs \
+           DESTDIR=${DESTDIR}/${DISTDIR}/base
+.endif
        ${_+_}cd ${.CURDIR}; ${IMAKE} re${.TARGET:S/world$//}; \
            ${IMAKEENV} rm -rf ${INSTALLTMP}
+.if make(distributeworld)
+.for dist in ${EXTRA_DISTRIBUTIONS}
+       find ${DESTDIR}/${DISTDIR}/${dist} -empty -delete
+.endfor
+.endif
+
+packageworld:
+.for dist in base ${EXTRA_DISTRIBUTIONS}
+       ${_+_}cd ${DESTDIR}/${DISTDIR}/${dist}; \
+           tar cvJf ${DESTDIR}/${DISTDIR}/${dist}.txz .
+.endfor

#
# reinstall
@@ -840,6 +872,20 @@ reinstallkernel reinstallkernel.debug: i
            ${CROSSENV} PATH=${TMPPATH} \
            ${MAKE} KERNEL=${INSTKERNNAME} ${.TARGET:S/kernel//}

+distributekernel distributekernel.debug:
+.if empty(INSTALLKERNEL)
+       @echo "ERROR: No kernel \"${KERNCONF}\" to install."; \
+       false
+.endif
+       cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \
+           ${CROSSENV} PATH=${TMPPATH} ${MAKE} KERNEL=${INSTKERNNAME} \
+           DESTDIR=${DESTDIR}/${DISTDIR}/kernel \
+           ${.TARGET:S/distributekernel/install/}
+
+packagekernel:
+       ${_+_}cd ${DESTDIR}/${DISTDIR}/kernel; \
+           tar cvJf ${DESTDIR}/${DISTDIR}/kernel.txz .
+
#
# doxygen
#
This is where DISTDIR was introduced it seems.  I guess it only became a real 
issue for me with NO_ROOT changes I use.  In addition it probably doesn’t help 
that (not on the currently observed system) I also build world images from 
ports.

Unfortunately this collides with:

/usr/ports/Mk/bsd.port.mk:# DISTDIR             - Where to search for and store 
copies of original sources
/usr/ports/Mk/bsd.port.mk:DISTDIR?=             ${PORTSDIR}/distfiles

That a lot of people I know have set in their environment, and done so in a 
decade.

Just wondering if it’s worth avoiding the obvious by renaming it in base?


Yes, I think you're right. Could you rename it? It's used only in the scripts in this commit, so far as I know.
-Nathan
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to