svn commit: r219177 - in head: . games release release/scripts
Bjoern A. Zeeb
bzeeb-lists at lists.zabbadoz.net
Wed Jul 23 16:34:17 UTC 2014
On 02 Mar 2011, at 14:39 , Nathan Whitehorn <nwhitehorn at 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
More information about the svn-src-all
mailing list