Re: NOPROFILE, make release, libcom_err [was: Re: make release: creating a trimmed down release?]

From: Ruslan Ermilov <ru_at_freebsd.org>
Date: Wed, 20 Oct 2004 22:18:30 +0300
On Wed, Oct 20, 2004 at 05:31:35PM +0200, Roman Neuhauser wrote:
> # neuhauser_at_chello.cz / 2004-10-19 00:55:32 +0200:
> > I'd like to create a trimmed down release, but it looks like
> > make release -DNO_CXX ... is not the way to go. What's the official
> > way of doing this kind of stuff? Specifically, I've attempted the build
> > with
> 
>     (...)
> 
>     It now appears I managed to get past self-inflicted problems, and
>     seem to be facing a genuine bug:
> 
>     ===> lib/libcom_err
>     cd /usr/src/lib/libcom_err;  make install -DNO_SUBDIR DESTDIR=/R/stage/trees/base SHARED=>
>     install -C -o root -g wheel -m 444   libcom_err.a /R/stage/trees/base/usr/lib
>     install -C -o root -g wheel -m 444   libcom_err_p.a /R/stage/trees/base/usr/lib
>     install: libcom_err_p.a: No such file or directory
> 
>     -DNOPROFILE is among WORLD_FLAGS like this:
> 
>     make release \
>         BUILDNAME=$buildname \
>         CHROOTDIR=$chrootdir \
>         CVSROOT=$cvsroot \
>         EXTSRCDIR=$extsrcdir \
>         RELEASETAG=$releasetag \
>         -DRELEASENOUPDATE \
>         -DNOPORTS \
>         -DNODOC \
>         KERNEL_FLAGS=-j8 \
>         WORLD_FLAGS="-j8 KERNCONF?=GENERIC NO_CXX=yes NO_BLUETOOTH=yes NO_DYNAMICROOT=yes NO_FORTRAN=yes NO_I4B=yes NO_IPFILTER=yes NO_KERBEROS=yes NO_OBJC=yes NO_OPENSSH=yes NO_OPENSSL=yes NO_SENDMAIL=yes NO_TOOLCHAIN=yes NO_BIND=yes NOATM=yes NOGAMES=yes NOINET6=yes NOPROFILE=yes"
> 
>     shouldn't the NOPROFILE variable be included on the "make install"
>     line? or should I forget building a release without profiled libs?
> 
This is because "distributeworld" in release.2 is run without WORLD_FLAGS.
Please try this patch:

%%%
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/release/Makefile,v
retrieving revision 1.865
diff -u -r1.865 Makefile
--- Makefile	30 Sep 2004 22:59:47 -0000	1.865
+++ Makefile	20 Oct 2004 19:15:49 -0000
_at__at_ -586,7 +586,8 _at__at_
 # Install the system into the various distributions.
 release.2:
 	cd ${.CURDIR}/../etc && make distrib-dirs DESTDIR=${RD}/trees/base
-	cd ${.CURDIR}/.. && ${CROSSMAKE} distributeworld DISTDIR=${RD}/trees
+	cd ${.CURDIR}/.. && ${CROSSMAKE} ${WORLD_FLAGS} \
+	    distributeworld DISTDIR=${RD}/trees
 	touch ${.TARGET}
 
 # Make and install the generic kernel(s).
%%%

To save time, just apply this patch to ${CHROOTDIR}/usr/src/release/Makefile,
and then run "make rerelease", leaving all other options as is, including
the RELEASENOUPDATE option.  By the way, FOO=yes is usually spelled as
-DFOO in src/ world.


Cheers,
-- 
Ruslan Ermilov
ru_at_FreeBSD.org
FreeBSD committer

Received on Wed Oct 20 2004 - 17:19:04 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:18 UTC