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?

— 
Bjoern A. Zeeb             "Come on. Learn, goddamn it.", WarGames, 1983

_______________________________________________
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