From 4bf455c0538ca0fb37645771d914e56b538a0c48 Mon Sep 17 00:00:00 2001 From: hubertf Date: Wed, 13 Mar 2002 06:30:12 +0000 Subject: Move documentation where it belongs. Add paragraph "Setting up a sandbox for chroot'ed build" to Packages.txt and xref it from do-sandbox-build script --- Packages.txt | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) (limited to 'Packages.txt') diff --git a/Packages.txt b/Packages.txt index d4684c5b395..d85ef1fbeb1 100644 --- a/Packages.txt +++ b/Packages.txt @@ -1,4 +1,4 @@ -# $NetBSD: Packages.txt,v 1.236 2002/03/11 19:19:18 fredb Exp $ +# $NetBSD: Packages.txt,v 1.237 2002/03/13 06:30:12 hubertf Exp $ ########################################################################### ========================== @@ -248,6 +248,11 @@ If you don't have a permanent Internet connection and you want to know which files to download, "make fetch-list" will tell you what you'll need. Put these distfiles into /usr/pkgsrc/distfiles. +If you need to download from a dynamic URL you can set DYNAMIC_MASTER_SITES +and a 'make fetch' will call files/getsite.sh with the name of each file +to download as an argument, expecting it to output the URL of the directory +from which to download it. graphics/ns-cult3d is an example of this usage. + 2.4 How to build and install ============================ @@ -502,6 +507,51 @@ be installed via pkg_add instead of building again, so there are no cycles wasted by recompiling. + 3.2.6 Setting up a sandbox for chroot'ed builds + =============================================== + +If you don't want all the pkgs nuked from a machine (rendering it useless +for anything but pkg compiling), there the possibility of doing the pkg +bulk build inside a chroot environment. + +The first step to do so is setting up a chroot sandbox, e.g. /usr/sandbox. +After extracting all the sets from a NetBSD installation or doing a +"make distribution DESTDIR=/usr/sandbox" in src/etc, make sure the following +items are present and properly configures: + + * kernel (/netbsd) + * /dev/* (cd /usr/sandbox/dev ; sh MAKEDEV all) + * working(!) mail config (hostname, sendmail.cf) + * /etc/localtime (for security/snmpd) + * /etc/resolv.conf (for security/snmpd) + * /usr/src (system sources, for sysutils/aperture, net/ppp-mppe) + * create /var/db/pkg (not part of default install) + * checkout pkgsrc from cvs, into /usr/sandbox/usr/pkgsrc + * /usr/pkgsrc/packages & .../distfiles (point outside of sandbox) + * adjust .../mk/bulk/build.conf + +!!! Don't forget to install X !!! + +Next thing you will want to is make sure /usr/sandbox/usr/pkgsrc contains a +fresh checkout of pkgsrc (e.g. from anoncvs). Do not mount/link this to the +copy of your pkgsrc tree you do development in, as this will likely cause +problems! Adjust .../pkgsrc/packages and .../pkgsrc/distfiles to point to +some places outside the sandbox if you want to make the files public. + +Then, configure .../pkgsrc/mk/bulk/build.conf to fit your needs! + +When the chroot sandbox is setup, you can start the build with the following +steps: + + # cd /usr/sandbox/usr/pkgsrc + # sh mk/bulk/do-sandbox-build + +This will just jump inside the sandbox and start thrash^Wbuilding. +At the end of the build, mail will be sent with the results of the build. +Created binary pkgs will be in /usr/sandbox/usr/pkgsrc/packages (whereever +that points/mounts to/from). + + 3.3 Creating a multiple CD-ROM packages collection ================================================== -- cgit v1.2.3