Some questions on 'make release'

Manolis Kiagias manolis at FreeBSD.org
Sat Apr 18 22:54:12 UTC 2009


Hey all,

I've been experimenting recently with 'make release' and I have a couple 
of questions.  A little background first:

- I've read the releng, releng-packages articles (probably out of date) 
and the release man page
- I've been able to successfully run a make release without packages 
using the following:

# make release CHROOTDIR=/data/release BUILDNAME=7.2-PRERELEASE 
CVSROOT=/data/ncvs EXTSRCDIR=/usr/src -DNODOC -DNOPORTS -DNO_FLOPPIES 
-DMAKE_ISOS

Currently /data/ncvs does not exist, I am using EXTSRCDIR to build the 
sources of my current system. This all works fine.
Lately, I've been running builds of packages using ports-mgmt/tinderbox 
and I thought it would be nice to create complete customs CDs. But I 
can't seem to be able to convince make release to include these packages 
in the final ISOs.

Now, according to the release man page, I have to set CD_PACKAGE_TREE to 
a directory with the packages, and I have to create this using make 
package-split. I have edited /usr/src/release/scripts/package-split.py 
to contain my list of packages.  I have copied the ready packages from 
the build server to /data/allpackages and also copied the INDEX file  
(in sync with the packages). It also seems one has to run the 
mkpkgindex.sh which will trim the INDEX to only include the present 
packages. (Not sure whether I need to run mkpkghier - I already have the 
directories with the symbolic links).  I would then run make 
package-split as follows:

make package-split PKG_TREE=/data/allpackages PKG_DEST=/data/packages

which works fine (BTW, PKG_TREE and PKG_DEST are not documented in man 
release).  Packages are split according to spec. I tried with three 
discs and a single disc. I am currently trying a build with few packages 
that all fit on disc1. I would then run the build:

# make release CHROOTDIR=/data/release BUILDNAME=7.2-PRERELEASE 
CVSROOT=/data/ncvs EXTSRCDIR=/usr/src  CD_PACKAGE_TREE=/data/packages 
-DNODOC -DNOPORTS -DNO_FLOPPIES -DMAKE_ISOS

which completes, without errors but without adding the packages to any 
CD or the DVD. I found out that I can add the packages after the build 
by running manually /usr/src/release/i386/mkisoimage.sh with appropriate 
arguments (and the resulting CD seems to work fine).  But I can't seem 
to convince make release to do this.

What am I doing wrong? Any pointers would be greatly appreciated.
FWIW, I will also attempt to patch the releng or releng-packages article 
if I can get the right steps for this.

Thanks for your time and apologies for the long post!



More information about the freebsd-hackers mailing list