From 6e8d721dc491a0e6713d3926b3a8d020ff3b4b9f Mon Sep 17 00:00:00 2001 From: Mark Linimon Date: Sun, 14 Jun 2009 06:02:09 +0000 Subject: [PATCH] Minor updates to reflect the last year of changes. --- .../articles/portbuild/article.sgml | 63 +++++++++++-------- 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/en_US.ISO8859-1/articles/portbuild/article.sgml b/en_US.ISO8859-1/articles/portbuild/article.sgml index f2a81b262f..2ca189c729 100644 --- a/en_US.ISO8859-1/articles/portbuild/article.sgml +++ b/en_US.ISO8859-1/articles/portbuild/article.sgml @@ -70,7 +70,8 @@ right after release time, for the -STABLE branches - every month or so, for -CURRENT + periodically to test changes to + -CURRENT for experimental builds @@ -80,16 +81,15 @@ Build Client Management - The &i386; clients currently - netboot from pointyhat; the other clients - are self-hosted. In all cases they set themselves + The &i386; clients co-located with pointyhat + netboot from it (connected nodes); all + other clients (disconnected nodes) + are either self-hosted or netboot from some other + pxe host. + In all cases they set themselves up at boot-time to prepare to build packages. - Although connected nodes are supported, - disconnected cluster node support has - been added. A disconnected node is - one that does not mount the cluster master via NFS. It could be - a remote node, for example. The cluster master rsync's the + The cluster master rsyncs the interesting data (ports and src trees, bindist tarballs, scripts, etc.) to disconnected nodes during the node-setup phase. Then, the disconnected portbuild directory is @@ -141,6 +141,7 @@ /var/portbuild&prompt.root; scripts/mkbindist ${arch} ${branch} ${buildid} + The per-machine tarballs are located in ${arch}/clients. @@ -454,6 +455,9 @@ dopackages.7 sparc64 -finish + + Hint: it us usually best to run the dopackages + command inside of screen(1). @@ -584,6 +588,7 @@ [+] If any of these steps fail, the build will stop cold in its tracks. + [++] Status of these steps can be found in ${arch}/${branch}/make.[0|1], where make.0 is the log file used by @@ -677,7 +682,8 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! dopackages will simply exit. - If you have to do a cvs update before + + If you have to do a ports tree update before restarting, you may have to rebuild either duds, INDEX, or both. If you are doing the latter manually, you will also have to rebuild @@ -840,6 +846,7 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! &prompt.user; cd ${arch}/${branch} &prompt.user; find distfiles > distfiles-${release} + This inventory file typically lives in i386/${branch} on the cluster master. @@ -902,7 +909,7 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! - packages-6.3-release + packages-6.4-release @@ -910,7 +917,7 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! - packages-7.0-release + packages-7.2-release @@ -991,9 +998,9 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! Experimental patches builds are run from time to time to new features or bugfixes to the ports infrastructure (i.e. - bsd.port.mk), or to test large sweeping + bsd.port.mk), or to test large sweeping upgrades. The current experimental patches branch is - 7-exp on the &i386; + 7-exp on the amd64 architecture. In general, an experimental patches build is run the same @@ -1027,33 +1034,35 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! In order to have a good control case with which to compare failures, you should first do a package build of the branch on which the experimental patches branch is based for the &i386; - architecture (currently this is 6). Then, when + architecture (currently this is 7). Then, when preparing for the experimental patches build, checkout a ports tree and a src tree with the same date as was used for the control build. This will ensure an apples-to-apples comparison later. + Once the build finishes, compare the control build failures to those of the experimental patches build. Use the following - commands to facilitate this (this assumes the 6 - branch is the control branch, and the 6-exp + commands to facilitate this (this assumes the 7 + branch is the control branch, and the 7-exp branch is the experimental patches branch): - &prompt.user; cd /var/portbuild/i386/6-exp/errors -&prompt.user; find . -name \*.log\* | sort > /tmp/6-exp-errs -&prompt.user; cd /var/portbuild/i386/6/errors -&prompt.user; find . -name \*.log\* | sort > /tmp/6-errs + &prompt.user; cd /var/portbuild/i386/7-exp/errors +&prompt.user; find . -name \*.log\* | sort > /tmp/7-exp-errs +&prompt.user; cd /var/portbuild/i386/7/errors +&prompt.user; find . -name \*.log\* | sort > /tmp/7-errs If it has been a long time since one of the builds finished, the logs may have been automatically compressed with bzip2. In that case, you must use sort | sed 's,\.bz2,,g' instead. - &prompt.user; comm -3 /tmp/6-errs /tmp/6-exp-errs | less + &prompt.user; comm -3 /tmp/7-errs /tmp/7-exp-errs | less This last command will produce a two-column report. The first column is ports that failed on the control build but not in @@ -1108,7 +1117,7 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! To differentiate between [1] and [2] above, you can do a rebuild of the affected packages under the control branch: - &prompt.user; cd /var/portbuild/i386/6/ports + &prompt.user; cd /var/portbuild/i386/7/ports Be sure to cvs update this tree to the same date as the experimental patches tree. @@ -1116,14 +1125,14 @@ umount: Cleanup of /x/tmp/6-exp/chroot/53837/compat/linux/proc failed! The following command will set up the control branch for the partial build: - &prompt.user; /var/portbuild/scripts/dopackages.6 -noportscvs -nobuild -nocvs -nofinish + &prompt.user; /var/portbuild/scripts/dopackages.7 -noportscvs -nobuild -nocvs -nofinish The builds must be performed from the packages/All directory. This directory should initially be empty except for the Makefile symlink. If this symlink does not exist, it must be created: - &prompt.user; cd /var/portbuild/i386/6/packages/All + &prompt.user; cd /var/portbuild/i386/7/packages/All &prompt.user; ln -sf ../../Makefile . &prompt.user; make -k -j<#> <list of packages to build> @@ -1812,7 +1821,7 @@ LifeTime(hours) LBA_of_first_error remapping). - When a disk has failed, please inform &a.kris; so he can try to get it - replaced. + When a disk has failed, please inform the cluster administrators + so we can try to get it replaced.