From ce010b8ea925f074498016b183fd54a24048c407 Mon Sep 17 00:00:00 2001 From: Mark Linimon Date: Sat, 9 Oct 2010 16:13:15 +0000 Subject: [PATCH] Document the changes for running the new scripts. (More needs to be done to document the changes in the setup in the later chapters.) --- .../articles/portbuild/article.sgml | 68 +++++++++++++++---- 1 file changed, 53 insertions(+), 15 deletions(-) diff --git a/en_US.ISO8859-1/articles/portbuild/article.sgml b/en_US.ISO8859-1/articles/portbuild/article.sgml index 3733074412..836b4cd6d3 100644 --- a/en_US.ISO8859-1/articles/portbuild/article.sgml +++ b/en_US.ISO8859-1/articles/portbuild/article.sgml @@ -169,8 +169,13 @@ <command>dopackages</command> scripts - The scripts/dopackages* scripts - are used to perform the builds. Most useful are: + The scripts/dopackages scripts + are used to perform the builds. + + + Old codebase + For the old codebase: the + most useful are: @@ -228,6 +233,20 @@ dopackages.6 ${arch} ${buildid} [-options] + + + + New codebase + The symlinks go away, and you just use + dopackages.wrapper directly. For example: + + dopackages.wrapper ${arch} ${branch} ${buildid} [-options] + + + + + Either codebase + Most often, you will be using latest for the value of buildid. @@ -321,6 +340,13 @@ + + -nochecksubdirs - Do not check the + SUBDIRS for ports that are not connected + to the build. (New codebase only). + + + -trybroken - Try to build BROKEN ports (off by default @@ -460,18 +486,21 @@ Update the i386-6 tree and do a complete build dopackages.6 i386 -nosrc -norestr -nofinish + dopackages.wrapper i386 6 -nosrc -norestr -nofinish Restart an interrupted amd64-8 build without updating dopackages.8 amd64 -nosrc -noports -norestr -continue -noindex -noduds -nofinish + dopackages.wrapper amd64 8 -nosrc -noports -norestr -continue -noindex -noduds -nofinish Post-process a completed sparc64-7 tree dopackages.7 sparc64 -finish + dopackages.wrapper sparc64 7 -finish Hint: it us usually best to run the dopackages @@ -493,6 +522,8 @@ [newid] - Creates newid (or a datestamp if not specified). Only needed when bringing up a new branch or a new architecture. + (TODO: document whether newid must be specified as + latest in the new codebase.) @@ -609,12 +640,10 @@ [+] 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 - phase 1 of the package build and make.1 - is the log file used by phase 2. Individual ports will write + ${arch}/${branch}/make (old codebase) or + ${arch}/${branch}/journal (new codebase). + Individual ports will write their build logs to ${arch}/${branch}/logs and their error logs to @@ -1062,7 +1091,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed! &prompt.root; rsync -n -r -v -l -t -p --delete packages/ portmgr@ftp-master:w/ports/${arch}/${subdir}/ | tee log - Distfiles can be transferred with the + Distfiles should be transferred with the cpdistfiles script: &prompt.root; /var/portbuild/scripts/cpdistfiles ${arch} ${branch} @@ -1119,7 +1148,7 @@ umount: Cleanup of /x/tmp/8-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 7). Then, when + architecture (currently this is 8). 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 @@ -1207,11 +1236,13 @@ umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed! Be sure to cvs update this tree to the same date as the experimental patches tree. + The following command will set up the control branch for - the partial build: + the partial build (old codebase): &prompt.user; /var/portbuild/scripts/dopackages.8 -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 @@ -1624,6 +1655,7 @@ www/squid (with SQUID_AUFS on) + Create usr/local/etc/rc.d/portbuild.sh, using the appropriate value for @@ -1954,7 +1986,8 @@ ssh_cmd="/usr/local/bin/ssh" - Add a link from + (Only necessary for old codebase): + Add a link from /var/portbuild/scripts/dopackages to /var/portbuild/scripts/dopackages.branch. @@ -1966,12 +1999,15 @@ ssh_cmd="/usr/local/bin/ssh" - Add the snap directory to + + (Only necessary for old codebase): + Add the snap directory to /var/portbuild/scripts/zexpire. - In the /var/portbuild/errorlogs/ + (Only necessary for old codebase): + In the /var/portbuild/errorlogs/ directory, create links for the webserver: ln -s ../arch/branch/builds/latest/bak/errors arch-branch-full ln -s ../arch/branch/builds/latest/bak/logs arch-branch-full-logs @@ -2119,7 +2155,8 @@ ln -s ../arch/branch/build - As with the procedure for creating a new branch: + (Only necessary for old codebase): + As with the procedure for creating a new branch: in the /var/portbuild/errorlogs/ directory, create links for the webserver: ln -s ../arch/branch/builds/latest/bak/errors arch-branch-full @@ -2132,7 +2169,8 @@ ln -s ../arch/branch/build - In that + (Only necessary for old codebase): + In that directory, create two more links for the webserver: ln -s ../arch/archive/buildlogs arch-buildlogs ln -s ../arch/archive/errorlogs arch-errorlogs