From owner-svn-doc-projects@FreeBSD.ORG Sat Nov 24 23:15:51 2012 Return-Path: Delivered-To: svn-doc-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 15C04E1D; Sat, 24 Nov 2012 23:15:51 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id ED2358FC0C; Sat, 24 Nov 2012 23:15:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qAONFogA044881; Sat, 24 Nov 2012 23:15:50 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qAONFobx044877; Sat, 24 Nov 2012 23:15:50 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201211242315.qAONFobx044877@svn.freebsd.org> From: Glen Barber Date: Sat, 24 Nov 2012 23:15:50 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-projects@freebsd.org Subject: svn commit: r40151 - in projects/pkgng/en_US.ISO8859-1: articles/committers-guide articles/contributing articles/portbuild books/arch-handbook/driverbasics books/developers-handbook/kernelbuild boo... X-SVN-Group: doc-projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for doc projects trees List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 Nov 2012 23:15:51 -0000 Author: gjb Date: Sat Nov 24 23:15:50 2012 New Revision: 40151 URL: http://svnweb.freebsd.org/changeset/doc/40151 Log: Merged /head/en_US.ISO8859-1:r39915,39994-40000,40002-40010, 40017-40150 from ^/head/en_US.ISO8859-1 Added: projects/pkgng/en_US.ISO8859-1/htdocs/news/2012-compromise/ - copied from r40150, head/en_US.ISO8859-1/htdocs/news/2012-compromise/ projects/pkgng/en_US.ISO8859-1/htdocs/news/2012-compromise.xml - copied unchanged from r40150, head/en_US.ISO8859-1/htdocs/news/2012-compromise.xml Modified: projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml projects/pkgng/en_US.ISO8859-1/articles/contributing/article.xml projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml projects/pkgng/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml projects/pkgng/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.xml projects/pkgng/en_US.ISO8859-1/books/developers-handbook/policies/chapter.xml projects/pkgng/en_US.ISO8859-1/books/developers-handbook/tools/chapter.xml projects/pkgng/en_US.ISO8859-1/books/faq/book.xml projects/pkgng/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.xml projects/pkgng/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml projects/pkgng/en_US.ISO8859-1/books/handbook/ports/chapter.xml projects/pkgng/en_US.ISO8859-1/books/porters-handbook/book.xml projects/pkgng/en_US.ISO8859-1/htdocs/cgi/cvsweb.cgi projects/pkgng/en_US.ISO8859-1/htdocs/cgi/ports.cgi projects/pkgng/en_US.ISO8859-1/htdocs/developers/cvs.xml projects/pkgng/en_US.ISO8859-1/htdocs/index.xsl projects/pkgng/en_US.ISO8859-1/htdocs/news/Makefile projects/pkgng/en_US.ISO8859-1/htdocs/security/security.xml Directory Properties: projects/pkgng/en_US.ISO8859-1/ (props changed) Modified: projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml Sat Nov 24 22:57:41 2012 (r40150) +++ projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml Sat Nov 24 23:15:50 2012 (r40151) @@ -3943,57 +3943,11 @@ U stable/9/share/man/man4/netmap.4 - Update the instructions for &man.cvsup.1;: - - - - - add the category to - distrib/cvsup/sup/README - - - - - - adding the following files into - distrib/cvsup/sup/ports-categoryname: - list.cvs and - releases. - - - - - add the category to - src/share/examples/cvsup/ports-supfile - - - - - - (Note: these are - in the src, not the ports, repository). If you - are not a src committer, you will need to submit - a PR for this. - - - - - Update the list of categories used by &man.sysinstall.8; - in src/usr.sbin/sysinstall. - - - Update the documentation by modifying the following: - the section of the Handbook that lists the - - cvsup collections. - - - the list of categories in the Porter's Handbook @@ -4043,10 +3997,6 @@ U stable/9/share/man/man4/netmap.4 - src/usr.sbin/sysinstall - - - the list of categories in the Porter's Handbook Modified: projects/pkgng/en_US.ISO8859-1/articles/contributing/article.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/articles/contributing/article.xml Sat Nov 24 22:57:41 2012 (r40150) +++ projects/pkgng/en_US.ISO8859-1/articles/contributing/article.xml Sat Nov 24 23:15:50 2012 (r40151) @@ -234,7 +234,8 @@ Pick one of the items from the <quote>Ideas</quote> page - The &os; list of + The &os; + list of projects and ideas for volunteers is also available for people willing to contribute to the &os; project. The list is being regularly updated and contains items for both Modified: projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml Sat Nov 24 22:57:41 2012 (r40150) +++ projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml Sat Nov 24 23:15:50 2012 (r40151) @@ -66,19 +66,23 @@ otherwise specified, all paths will be relative to this location. ${arch} will be used to specify one of the package architectures - (amd64, &i386;, ia64, powerpc, and &sparc64;), and + (e.g., amd64, arm, &i386;, ia64, powerpc, &sparc64;), and ${branch} will be used - to specify the build branch (7, 7-exp, 8, 8-exp, 9, 9-exp, 10, 10-exp). + to specify the build branch (e.g., 7, 7-exp, 8, 8-exp, 9, 9-exp, 10, 10-exp). + The set of branches that portmgr currently + supports is the same as those that the &os; + security team + supports. - Packages are no longer built for Releases 4, 5, or 6, nor + Packages are no longer built for branches 4, 5, or 6, nor for the alpha architecture. The scripts that control all of this live in /var/portbuild/scripts/. - These are the checked-out copies from the Subversion repository + These are the checked-out copies from the Subversion repository at base/projects/portbuild/scripts/ . @@ -95,16 +99,19 @@ -CURRENT - for experimental builds + for experimental ("exp-") builds + + Packages from experimental builds are not uploaded. + Notes on the codebase Until mid-2010, the scripts were completely specific to - pointyhat as the head (dispatch) node. During + pointyhat.FreeBSD.org as the head (dispatch) node. During the summer of 2010, a significant rewrite was done in order to allow for other hosts to be head nodes. Among the changes were: @@ -136,9 +143,11 @@ to old codebase:. - As of December 2010, pointyhat is still - running on the old codebase, until the new codebase is considered - rock-solid. + Up until November 2012, pointyhat had still + been running the old codebase. That installation has now been + permanently offlined. Therefore, all the instructions having + to do with the old codebase are obsolete, + and will be removed in the near future. @@ -167,7 +176,7 @@ interesting data (ports and src trees, bindist tarballs, scripts, etc.) to disconnected nodes during the node-setup phase. Then, the disconnected portbuild directory is - nullfs-mounted for chroot builds. + nullfs-mounted for jail builds. The ports-${arch} @@ -179,41 +188,32 @@ The scripts/allgohans script can be used to run a command on all of the ${arch} clients. - - The scripts/checkmachines script - is used to monitor the load on all the nodes of the - build cluster, and schedule which nodes build which ports. - This script is not very robust, and has a tendency to die. - It is best to start up this script on the build master - (e.g. pointyhat) - after boot time using a &man.while.1; loop. - - Chroot Build Environment Setup + Jail Build Environment Setup Package builds are performed in a - chroot populated by the + jail populated by the portbuild script using the ${arch}/${branch}/builds/${buildid}/bindist.tar file. - The following command builds a world from the + The makeworld command builds a world from the ${arch}/${branch}/builds/${buildid}/src/ tree and installs it into - ${worlddir}. The tree will - be updated first unless -nocvs is - specified. + ${arch}/${branch}/builds/${buildid}/bindist.tar. + The tree will + be updated first unless -novcs is + specified. It should be run as root: - /var/portbuild&prompt.root; scripts/makeworld ${arch} ${branch} ${buildid} [-nocvs] + &prompt.root; /var/portbuild/scripts/makeworld ${arch} ${branch} ${buildid} [-novcs] The bindist.tar tarball is created from the previously installed world by the mkbindist - script. It should be run as root with the following - command: + script. It should be also be run as root: - /var/portbuild&prompt.root; scripts/mkbindist ${arch} ${branch} ${buildid} + &prompt.root; /var/portbuild/scripts/mkbindist ${arch} ${branch} ${buildid} The per-machine tarballs are located in ${arch}/clients. @@ -280,7 +280,7 @@ (For this case, the contents are identical for both server and client.) - RUBY_DEFAULT_VER= 1.9 + RUBY_DEFAULT_VER= 1.9 @@ -291,7 +291,7 @@ (For this case, the contents are also identical for both server and client.) - + .if !defined(CC) || ${CC} == "cc" CC=clang .endif @@ -304,41 +304,42 @@ CPP=clang-cpp # Don't die on warnings NO_WERROR= WERROR= - + Sample <filename>make.conf.server</filename> for <application>pkgng</application> - WITH_PKGNG=yes -PKG_BIN=/usr/local/sbin/pkg + WITH_PKGNG=yes +PKG_BIN=/usr/local/sbin/pkg Sample <filename>make.conf.client</filename> for <application>pkgng</application> - WITH_PKGNG=yes + WITH_PKGNG=yes Sample <filename>src.conf.server</filename> to test new <application>sort</application> codebase - WITH_BSD_SORT=yes + WITH_BSD_SORT=yes Starting the Build - Several separate builds for each architecture - branch combination + Separate builds for various combinations of architecture and branch are supported. All data private to a build (ports tree, src tree, - packages, distfiles, log files, bindist, Makefile, etc) are located under - ${arch}/${branch}/builds/${buildid}. - The last created build can be alternatively referenced under buildid - latest, the one before is called + packages, distfiles, log files, bindist, Makefile, etc) are located under the + ${arch}/${branch}/builds/${buildid}/ + directory. + The most recently created build can be alternatively referenced using buildid + latest, and the one before using previous. New builds are cloned from the latest, which is @@ -425,7 +426,7 @@ PKG_BIN=/usr/local/sbin/pkg The symlinks go away, and you just use dopackages.wrapper directly. For example: - dopackages.wrapper ${arch} ${branch} ${buildid} [-options] + &prompt.root; dopackages.wrapper ${arch} ${branch} ${buildid} [-options] @@ -443,7 +444,7 @@ PKG_BIN=/usr/local/sbin/pkg -keep - Do not delete this build in the future, when it would be normally deleted as part of the latest - previous cycle. - Don't forget to clean it up manually when you no longer need it. + Do not forget to clean it up manually when you no longer need it. @@ -451,8 +452,8 @@ PKG_BIN=/usr/local/sbin/pkg -nofinish - Do not perform post-processing once the build is complete. Useful if you expect that the build will need to be restarted - once it finishes. If you use this option, don't forget to cleanup - the clients when you don't need the build anymore. + once it finishes. If you use this option, do not forget to cleanup + the clients when you do not need the build any more. @@ -519,7 +520,7 @@ PKG_BIN=/usr/local/sbin/pkg -noduds - Do not rebuild the duds file (ports that are never - built, e.g. those marked IGNORE, + built, e.g., those marked IGNORE, NO_PACKAGE, etc.) during preprocessing. @@ -558,9 +559,9 @@ PKG_BIN=/usr/local/sbin/pkg - -srccvs - Do not update the + -srcvcs - Do not update the src tree from the ZFS snapshot, update it with - cvs update instead. + a fresh checkout instead. @@ -572,9 +573,9 @@ PKG_BIN=/usr/local/sbin/pkg - -portscvs - Do not update the + -portsvcs - Do not update the ports tree from the ZFS snapshot, update it with - cvs update instead. + a fresh checkout instead. @@ -600,7 +601,7 @@ PKG_BIN=/usr/local/sbin/pkg -fetch-original - Fetch the distfile from the original MASTER_SITES - rather than ftp-master. + rather than any cache such as on ftp-master. @@ -628,9 +629,9 @@ PKG_BIN=/usr/local/sbin/pkg -nocleanup, you need to clean up clients by running - build cleanup ${arch} ${branch} ${buildid} -full + &prompt.user; build cleanup ${arch} ${branch} ${buildid} -full - errors/, + When a new build is created, the directories errors/, logs/, packages/, and so forth, are cleaned by the scripts. If you are short of space, you can also clean out ports/distfiles/. @@ -653,7 +654,7 @@ PKG_BIN=/usr/local/sbin/pkg The actual package build itself occurs in two identical phases. The reason for this is that sometimes - transient problems (e.g. NFS failures, FTP sites being + transient problems (e.g., NFS failures, FTP sites being unreachable, etc.) may halt a build. Doing things in two phases is a workaround for these types of problems. @@ -664,10 +665,10 @@ PKG_BIN=/usr/local/sbin/pkg process encounters an empty subdirectory, both package build phases will stop short, and an error similar to the following will be written to - ${arch}/${branch}/make.[0|1]: + ${arch}/${branch}/journal: - don't know how to make dns-all(continuing) + don't know how to make dns-all(continuing) To correct this problem, simply comment out or remove the SUBDIR entries that point to empty @@ -685,22 +686,22 @@ PKG_BIN=/usr/local/sbin/pkg Update the i386-7 tree and do a complete build - dopackages.7 i386 -nosrc -norestr -nofinish - dopackages.wrapper i386 7 -nosrc -norestr -nofinish + &prompt.user; dopackages.7 i386 -nosrc -norestr -nofinish +&prompt.user; dopackages.wrapper i386 7 -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 + &prompt.user; dopackages.8 amd64 -nosrc -noports -norestr -continue -noindex -noduds -nofinish +&prompt.user; 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 + &prompt.user; dopackages.7 sparc64 -finish +&prompt.user; dopackages.wrapper sparc64 7 -finish Hint: it is usually best to run the dopackages @@ -741,7 +742,7 @@ PKG_BIN=/usr/local/sbin/pkg build srcupdate arch branch buildid - Replaces the src - tree with a new ZFS snapshot. Don't forget to use + tree with a new ZFS snapshot. Do not forget to use -nosrc flag to dopackages later! @@ -751,7 +752,7 @@ PKG_BIN=/usr/local/sbin/pkg build portsupdate arch branch buildid - Replaces the ports - tree with a new ZFS snapshot. Don't forget to use + tree with a new ZFS snapshot. Do not forget to use -noports flag to dopackages later! @@ -767,7 +768,7 @@ PKG_BIN=/usr/local/sbin/pkg package set. This can be accomplished with the following invocation: - path/qmanager/packagebuild amd64 7-exp 20080904212103 aclock-0.2.3_2.tbz + &prompt.root; path/qmanager/packagebuild amd64 7-exp 20080904212103 aclock-0.2.3_2.tbz @@ -846,9 +847,9 @@ PKG_BIN=/usr/local/sbin/pkg ${arch}/${branch}/journal (new codebase). Individual ports will write their build logs to - ${arch}/${branch}/logs + ${arch}/${branch}/logs/ and their error logs to - ${arch}/${branch}/errors. + ${arch}/${branch}/errors/. Formerly the docs tree was also checked out, however, it has @@ -886,7 +887,7 @@ PKG_BIN=/usr/local/sbin/pkg identify the tty in which it's running (either record the output of &man.tty.1; when you start the build, or use ps x to identify it. You need to make sure that nothing else important - is running in this tty, e.g. ps -t p1 or whatever. + is running in this tty, e.g., ps -t p1 or whatever. If there is not, you can just kill off the whole term easily with pkill -t pts/1; otherwise issue a kill -HUP in there by, for example, @@ -911,11 +912,11 @@ PKG_BIN=/usr/local/sbin/pkg Cleaning up a Build To free up resources, you will need to clean up client machines by - running build cleanup command. For example: - &prompt.user; /var/portbuild/scripts/build cleanup i386 8-exp 20080714120411 -full + running build cleanup command. For example: + &prompt.user; /var/portbuild/scripts/build cleanup i386 8-exp 20080714120411 -full If you forget to do this, then the old build - chroots will not be cleaned up for 24 hours, and no + jails will not be cleaned up for 24 hours, and no new jobs will be dispatched in their place since pointyhat thinks the job slot is still occupied. @@ -924,21 +925,21 @@ PKG_BIN=/usr/local/sbin/pkg it thinks is running, and this should be roughly concordant with the load average. loads is refreshed every 2 minutes. If you do ps x | grep pdispatch - and it's less than the number of jobs that loads - thinks are in use, you're in trouble. + and it is less than the number of jobs that loads + thinks are in use, you are in trouble. You may have problem with the umount commands hanging. If so, you are going to have to use the allgohans script to run an &man.ssh.1; - command across all clients for that buildenv. For example: -ssh -l root gohan24 df + command across all clients for that buildenv. For example: +&prompt.user; ssh gohan24 df - will get you a df, and + will get you a df, and -allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports" -allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/src" +&prompt.user; allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/ports" +&prompt.user; allgohans "umount -f pointyhat.freebsd.org:/var/portbuild/i386/8-exp/src" - are supposed to get rid of the hanging mounts. You will have to + are supposed to get rid of the hanging mounts. You will have to keep doing them since there can be multiple mounts. @@ -1006,8 +1007,8 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 You can use qclient command to monitor the status of build nodes, and to list the currently scheduled jobs: - python path/qmanager/qclient jobs - python path/qmanager/qclient status + &prompt.user; python path/qmanager/qclient jobs +&prompt.user; python path/qmanager/qclient status The scripts/stats ${branch} @@ -1038,7 +1039,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 directory. The next time the cluster tries to build this port, it will tar, compress, and copy the WRKDIR to - ${arch}/${branch}/wrkdirs. + ${arch}/${branch}/wrkdirs/. If you find that the system is looping trying to build the @@ -1055,16 +1056,16 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 then Bad Things happen. - The status of all current builds is generated twice an hour + The status of all current builds is generated periodically and posted to . For each buildenv, the following is displayed: - cvs date is the contents of - cvsdone. This is why we recommend that you - update cvsdone for -exp + updated is the contents of + .updated. This is why we recommend that you + update .updated for -exp runs (see below). @@ -1095,7 +1096,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 missing shows the difference between INDEX and the other columns. If you have - restarted a run after a cvs update, there + restarted a run after a ports tree update, there will likely be duplicates in the packages and error columns, and this column will be meaningless. (The script is naive). @@ -1137,8 +1138,8 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 When building packages for a release, it may be necessary to manually update the ports and src trees to the release tag and use - -nocvs and - -noportscvs. + -novcs and + -noportsvcs. To build package sets intended for use on a CD-ROM, use the -cdrom option to @@ -1259,7 +1260,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 one of the symlinks that points to it. - If you are doing a completely new package set (e.g. for + If you are doing a completely new package set (e.g., for a new release), copy packages to the staging area on ftp-master with something like the following: @@ -1270,7 +1271,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 the package set was transferred successfully, remove the package set that the new package set is to replace (in ~/w/ports/${arch}), - and move the new set into place. (w/ is + and move the new set into place. (w/ is merely a shortcut.) For incremental builds, packages should be uploaded @@ -1311,12 +1312,17 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 In general, an experimental patches build is run the same way as any other build, except that you should first update the ports tree to the latest version and then apply your patches. - To do the former, you can use the following: + To do the former, you can use the following: + + The following example is obsolete + + + &prompt.user; cvs -R update -dP > update.out -&prompt.user; date > cvsdone +&prompt.user; date > .updated This will most closely simulate what the dopackages - script does. (While cvsdone is merely + script does. (While .updated is merely informative, it can be a help.) You will need to edit update.out to look @@ -1330,7 +1336,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 tested. Since the machine is shared, someone else may delete your - changes by mistake, so keep a copy of them in e.g. your home + changes by mistake, so keep a copy of them in e.g., your home directory on freefall. Do not use tmp/; since pointyhat itself runs some version of -CURRENT, you @@ -1411,7 +1417,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 - Port was broken due to a transient error (e.g. FTP site + Port was broken due to a transient error (e.g., FTP site down, package client error, etc.) @@ -1424,6 +1430,10 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 &prompt.user; cd /var/portbuild/i386/8/ports + + The following example is obsolete + + Be sure to cvs update this tree to the same date as the experimental patches tree. @@ -1431,11 +1441,11 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 The following command will set up the control branch for the partial build (old codebase): - &prompt.user; /var/portbuild/scripts/dopackages.8 -noportscvs -nobuild -nocvs -nofinish + &prompt.user; /var/portbuild/scripts/dopackages.8 -noportsvcs -nobuild -novcs -nofinish The builds must be performed from the - packages/All directory. This directory should + packages/All directory. This directory should initially be empty except for the Makefile symlink. If this symlink does not exist, it must be created: @@ -1451,7 +1461,7 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 The list of packages to build should be a list of package names (including versions) as they appear in INDEX. The PKGSUFFIX - (i.e. .tgz or .tbz) is optional. + (i.e., .tgz or .tbz) is optional. This will build only those packages listed as well as all of their dependencies. @@ -1564,9 +1574,13 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 Pick a directory to hold ports configuration and - chroot subdirectories. It may be + chroot subdirectories. It may be best to put it this on its own partition. (Example: /usr2/.) + + The filename chroot is a + historical remnant. + @@ -1611,12 +1625,13 @@ umount: Cleanup of /x/tmp/8-exp/chroot/5 3.5G on &i386;, PAE). - Required options: + Required options: + options NULLFS -options TMPFS - +options TMPFS - Suggested options: + Suggested options: + options GEOM_CONCAT options GEOM_STRIPE options SHMMAXPGS=65536 @@ -1625,30 +1640,29 @@ options SEMMNS=240 options SEMUME=40 options SEMMNU=120 -options ALT_BREAK_TO_DEBUGGER - +options ALT_BREAK_TO_DEBUGGER For PAE, it is not currently possible to load modules. Therefore, if you are running an architecture - that supports Linux emulation, you will need to add: + that supports Linux emulation, you will need to add: + options COMPAT_LINUX -options LINPROCFS - +options LINPROCFS Also for PAE, as of 20110912 you need - the following. This needs to be investigated: + the following. This needs to be investigated: + nooption NFSD # New Network Filesystem Server options NFSCLIENT # Network Filesystem Client -options NFSSERVER # Network Filesystem Server - +options NFSSERVER # Network Filesystem Server As root, do the usual build steps, e.g.: -make -j4 buildworld -make buildkernel KERNCONF=${kernconf} -make installkernel KERNCONF=${kernconf} -make installworld +&prompt.root; make -j4 buildworld +&prompt.root; make buildkernel KERNCONF=${kernconf} +&prompt.root; make installkernel KERNCONF=${kernconf} +&prompt.root; make installworld The install steps use DESTDIR. @@ -1690,10 +1704,10 @@ options NFSSERVER - Also add the following users: + Also add the following users: + squid:*:100:100::0:0:User &:/usr/local/squid:/bin/sh -ganglia:*:102:102::0:0:User &:/usr/local/ganglia:/bin/sh - +ganglia:*:102:102::0:0:User &:/usr/local/ganglia:/bin/sh Add them to etc/group as well. @@ -1703,9 +1717,8 @@ ganglia:*:102:102::0:0:User &:/usr/l - In etc/crontab: add - * * * * * root /var/portbuild/scripts/client-metrics - + In etc/crontab: add + * * * * * root /var/portbuild/scripts/client-metrics @@ -1716,14 +1729,14 @@ ganglia:*:102:102::0:0:User &:/usr/l - In etc/inetd.conf: add - infoseek stream tcp nowait nobody /var/portbuild/scripts/reportload - + In etc/inetd.conf: add + infoseek stream tcp nowait nobody /var/portbuild/scripts/reportload - We run the cluster on UTC: - cp /usr/share/zoneinfo/Etc/UTC etc/localtime + You should run the cluster on UTC. If you have not set the clock + to UTC: + &prompt.root; cp -p /usr/share/zoneinfo/Etc/UTC etc/localtime @@ -1808,7 +1821,7 @@ squid_pidfile="/u > kern.maxfiles=40000 > kern.maxfilesperproc=30000 > -> # Since the NFS root is static we don't need to check frequently for file changes +> # Since the NFS root is static we do not need to check frequently for file changes > # This saves >75% of NFS traffic > vfs.nfs.access_cache_timeout=300 > debug.debugger_on_panic=1 @@ -1959,8 +1972,8 @@ touch /tmp/.boot_finished Configure ssh: copy - /etc/ssh to - /usr/local/etc/ssh and add + etc/ssh to + usr/local/etc/ssh and add NoneEnabled yes to sshd_config. @@ -2011,7 +2024,7 @@ touch /tmp/.boot_finished between boots then they must either preserve their /tmp, or revalidate their available builds at boot time (see the script on the amd64 - machines). They must also clean up stale chroots from previous + machines). They must also clean up stale jails from previous builds before creating /tmp/.boot_finished. @@ -2091,7 +2104,7 @@ MASTER_SITE_OVERRIDE= \ Hint: you will need one of these for each machine; however, if you have multiple machines at one site, you - should create a site-specific one (e.g. in + should create a site-specific one (e.g., in /var/portbuild/conf/clients/) and symlink to it. @@ -2156,20 +2169,24 @@ ssh_cmd="/usr/local/bin/ssh" Enabling the node These steps need to be taken by a portmgr - acting as ports-arch - on pointyhat. + acting as ports-arch: - Ensure that ssh is working by executing - ssh hostname. + Ensure that ssh to the client + is working by executing + ssh hostname uname -a. + The actual command is not important; what is important is to + confirm the setup, and also add an entry into + known_hosts, once you have confirmed the + node's identity. - Populate /var/portbuild/scripts/ - by something like + Populate the client's copy of + /var/portbuild/scripts/ by something like /var/portbuild/scripts/dosetupnode arch major latest hostname. Verify that you now have files in that directory. @@ -2187,7 +2204,7 @@ ssh_cmd="/usr/local/bin/ssh" This step needs to be taken by a portmgr - acting as root on pointyhat. + acting as root: @@ -2209,17 +2226,34 @@ ssh_cmd="/usr/local/bin/ssh" + + Finally, again as portmgr + acting as ports-arch: + + + + + Once you are sure that the client is working, tell + pollmachine about it by adding + it to + /var/portbuild/${arch}/mlist. + + + How to configure a new &os; branch + + Steps necessary before <application>qmanager</application> is started + + + When a new branch is created, some work needs to be done to specify that the previous branch is no longer - equivalent to HEAD. The following - instructions apply to the previous - branch number: + equivalent to HEAD. @@ -2233,16 +2267,30 @@ ssh_cmd="/usr/local/bin/ssh" - For what was previously head, change + (Old codebase) For what was previously head, change SRC_BRANCH_branch_TAG to - RELENG_branch_0. + RELENG_branch_0 + (literal zero). - Add + (Old codebase) Add SRC_BRANCH_new-branch_TAG =. (literal period). + + + (New codebase) For what was previously head, change + SRC_BRANCH_branch_SUBDIR to + releng/branch.0 + (literal zero). + + + + (New codebase) Add + SRC_BRANCH_new-branch_SUBDIR + =head. + @@ -2317,16 +2365,44 @@ ln -s ../arch - - Kick-start the build for the branch with - build create arch branch - + + + + + + + Steps necessary after <application>qmanager</application> is started + + + + + Again, as + ports-arch: + + - Create bindist.tar - . + For each branch that will be supported, do the following: + + + + + Kick-start the build for the branch with: + build create arch branch + + + + Create + bindist.tar. + + + + + + + @@ -2347,8 +2423,8 @@ ln -s ../arch Delete - SRC_BRANCH_old-branch_TAG - =whatever + SRC_BRANCH_old-branch_SUBDIR= + whatever @@ -2418,9 +2494,9 @@ zfs destroy -r a/snap/src-o with the following changes: - Change - SRC_BRANCH_branch_TAG to *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***