pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/doc Add a basic description of how to use pbulk.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/9b5f0ca82007
branches:  trunk
changeset: 531223:9b5f0ca82007
user:      joerg <joerg%pkgsrc.org@localhost>
date:      Wed Jul 25 17:26:59 2007 +0000

description:
Add a basic description of how to use pbulk.

diffstat:

 doc/HOWTO-pbulk |  73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diffs (77 lines):

diff -r 4a17ed5a31a1 -r 9b5f0ca82007 doc/HOWTO-pbulk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/HOWTO-pbulk   Wed Jul 25 17:26:59 2007 +0000
@@ -0,0 +1,73 @@
+Step One: Suggested Filesystem Layout
+
+For the DragonFly builds I'm using:
+- /bulklog for the bulk meta data and log files of each package
+- /scratch as WRKOBJDIR
+- /distfiles as DISTDIR
+- /packages as PACKAGES
+- separate physical filesystems for /var and /usr/pkg
+All filesystems but those are read-only, /tmp and /dev need platform
+specific handling either as tmpfs or link. ptyfs helps for /dev.
+
+For parallel builds, /bulklog, /packages and /usr/pkgsrc are supposed to
+be shared (null mounts, NFS). /usr/pkg and /var/db/pkg needs to be
+per-node and /scratch should be per-node.
+
+Step Two: Preparing pbulk prefix
+
+Install pkgtools/pbulk and possibly helper programs like screen into
+LOCALBASE=/usr/pkg_bulk, PKG_DBDIR=/usr/pkg_bulk/.pkgdb. A full
+bootstrap is the recommented approach. Copy /usr/pkg_bulk to the client
+nodes for parallel builds.
+
+Step Three: Configure pbulk
+
+(a)
+Setup general build parameters in mk.conf. Below is an example
+fragment to add.
+
+(b) [not for netbsd]
+Build a binary bootstrap kit and override the included mk.conf with the
+file created in (a). Compress the tarball with gzip.
+
+(c)
+Edit /usr/pkg_bulk/etc/pbulk.conf:
+- For NetBSD:
+  - pkg_install_prefix should /usr.
+  - bootstrapkit should be empty.
+- For non-NetBSD:
+  - pkg_install_prefix should /usr/pkg_bulk.
+  - make must be changed to /usr/pkg/bin/bmake.
+  - bootstrapkit should be changed to the tarball in (b). Both master
+    and client nodes access this, so keep it in a shared location.
+
+- master_mode=yes needs a proper list of client nodes.
+- base_url goes into the report mail, the rsync targets are used
+  for uploads.
+- for limited bulk builds, set limited_list to a file with one
+  location per line
+
+Step Four: Running pbulk
+
+/usr/pkg_bulk/bin/bulkbuild in screen runs the full build.
+
+/usr/pkg_bulk/libexec/pbulk/{pre-build,scan,build,report,upload} are the
+individual build phases. They depend on the execution of the phase
+before. Exceptions are report and upload which both depend on build.
+
+--- sample mk.conf fragment ---
+
+WRKOBJDIR = /scratch
+PKGSRCDIR = /usr/pkgsrc
+DISTDIR = /distfiles
+PACKAGES = /packages
+
+FAILOVER_FETCH=        yes
+
+X11_TYPE=      modular
+
+_ACCEPTABLE=                   yes
+ALLOW_VULNERABLE_PACKAGES=     yes
+SKIP_AUDIT_packages=           yes
+
+PKG_DEVELOPER?= yes



Home | Main Index | Thread Index | Old Index