version 1.1, 2011/11/20 20:28:27
|
version 1.2, 2012/02/05 07:14:36
|
Line 1
|
Line 1
|
First, I bootstrapped pkgsrc into the directory /usr/pkg/2006Q4.
|
First, I bootstrapped pkgsrc into the directory /usr/pkg/2006Q4. |
|
|
$HOME/proj/pkgsrc/bootstrap/bootstrap --prefix=/usr/pkg/2006Q4 --unprivileged --compiler=sunpro
|
$HOME/proj/pkgsrc/bootstrap/bootstrap --prefix=/usr/pkg/2006Q4 --unprivileged --compiler=sunpro |
mkdir /usr/pkg/2006Q4/etc
|
mkdir /usr/pkg/2006Q4/etc |
mv work/mk.conf.example /usr/pkg/2006Q4/etc/mk.conf
|
mv work/mk.conf.example /usr/pkg/2006Q4/etc/mk.conf |
|
|
Then I made a backup of that directory. You can never know. :)
|
Then I made a backup of that directory. You can never know. :) |
|
|
cd /usr/pkg && gtar cfz 2006Q4.tar.gz 2006Q4
|
cd /usr/pkg && gtar cfz 2006Q4.tar.gz 2006Q4 |
|
|
Since in a previous try, the pre-build program had removed the pkgsrc directory, I just commented it out by inserting an exit 0 in line 2. Since now there is no danger that anything in that directory is deleted, I could edit the mk.conf file and adjust some local settings.
|
Since in a previous try, the pre-build program had removed the pkgsrc directory, I just commented it out by inserting an exit 0 in line 2. Since now there is no danger that anything in that directory is deleted, I could edit the mk.conf file and adjust some local settings. |
#/usr/pkg/2006Q4/mk.conf
|
#/usr/pkg/2006Q4/mk.conf |
<pre><code>
|
<pre><code> |
# Example /usr/pkg/2006Q4/etc/mk.conf file produced by bootstrap-pkgsrc
|
# Example /usr/pkg/2006Q4/etc/mk.conf file produced by bootstrap-pkgsrc |
# Tue Jan 9 13:01:49 CET 2007
|
# Tue Jan 9 13:01:49 CET 2007 |
|
|
.ifdef BSD_PKG_MK # begin pkgsrc settings
|
.ifdef BSD_PKG_MK # begin pkgsrc settings |
|
|
PKGSRC_COMPILER= sunpro
|
PKGSRC_COMPILER= sunpro |
UNPRIVILEGED= yes
|
UNPRIVILEGED= yes |
PKG_DBDIR= /usr/pkg/2006Q4/var/db/pkg
|
PKG_DBDIR= /usr/pkg/2006Q4/var/db/pkg |
LOCALBASE= /usr/pkg/2006Q4
|
LOCALBASE= /usr/pkg/2006Q4 |
VARBASE= /usr/pkg/2006Q4/var
|
VARBASE= /usr/pkg/2006Q4/var |
PKG_TOOLS_BIN= /usr/pkg/2006Q4/sbin
|
PKG_TOOLS_BIN= /usr/pkg/2006Q4/sbin |
PKGMANDIR= man
|
PKGMANDIR= man |
|
|
TOOLS_PLATFORM.awk?= /usr/pkg/2006Q4/bin/nawk
|
TOOLS_PLATFORM.awk?= /usr/pkg/2006Q4/bin/nawk |
TOOLS_PLATFORM.sed?= /usr/pkg/2006Q4/bin/nbsed
|
TOOLS_PLATFORM.sed?= /usr/pkg/2006Q4/bin/nbsed |
FETCH_CMD= /usr/pkg/2006Q4/bin/ftp
|
FETCH_CMD= /usr/pkg/2006Q4/bin/ftp |
TOOLS_PLATFORM.pax?= /usr/pkg/2006Q4/bin/pax
|
TOOLS_PLATFORM.pax?= /usr/pkg/2006Q4/bin/pax |
TOOLS_PLATFORM.tar?= /usr/pkg/2006Q4/bin/tar
|
TOOLS_PLATFORM.tar?= /usr/pkg/2006Q4/bin/tar |
TOOLS_PLATFORM.mtree?= /usr/pkg/2006Q4/sbin/mtree
|
TOOLS_PLATFORM.mtree?= /usr/pkg/2006Q4/sbin/mtree |
|
|
DISTDIR= /usr/pkg/distfiles
|
DISTDIR= /usr/pkg/distfiles |
PACKAGES= /usr/pkg/2006Q4-packages
|
PACKAGES= /usr/pkg/2006Q4-packages |
|
|
PKG_DEVELOPER= yes
|
PKG_DEVELOPER= yes |
|
|
CC= cc
|
CC= cc |
CXX= CC
|
CXX= CC |
CPP= cc -E
|
CPP= cc -E |
CXXCPP= CC -E
|
CXXCPP= CC -E |
|
|
SUNWSPROBASE= /local/SUNWspro
|
SUNWSPROBASE= /local/SUNWspro |
USE_LANGUAGES+= c99
|
USE_LANGUAGES+= c99 |
|
|
TOOLS_PLATFORM.nroff= /opt/bin/groff
|
TOOLS_PLATFORM.nroff= /opt/bin/groff |
|
|
.endif # end pkgsrc settings
|
.endif # end pkgsrc settings |
</code></pre>
|
</code></pre> |
/usr/pkg/2006Q4/build.conf
|
/usr/pkg/2006Q4/build.conf |
<pre><code>
|
<pre><code> |
# $NetBSD: build.conf-example,v 1.36 2006/06/02 22:01:46 dillo Exp $
|
# $NetBSD: how_to_do_an_unprivileged_bulk_build_on_solaris.mdwn,v 1.1 2011/11/20 20:28:27 mspo Exp $ |
#
|
# |
|
|
osrev=`uname -r`
|
osrev=`uname -r` |
arch=`uname -m`
|
arch=`uname -m` |
USR_PKGSRC="$HOME/proj/pkgsrc"
|
USR_PKGSRC="$HOME/proj/pkgsrc" |
MAKECONF="/usr/pkg/2006Q4/etc/mk.conf"
|
MAKECONF="/usr/pkg/2006Q4/etc/mk.conf" |
|
|
PRUNEDISTFILES=no
|
PRUNEDISTFILES=no |
NICE_LEVEL="nice -n 20"
|
NICE_LEVEL="nice -n 20" |
LINTPKGSRC_CACHE=no
|
LINTPKGSRC_CACHE=no |
|
|
ADMIN="1illig@informatik.uni-hamburg.de"
|
ADMIN="1illig@informatik.uni-hamburg.de" |
ADMINSIG="- Roland"
|
ADMINSIG="- Roland" |
|
|
REPORTS_DIR="/usr/pkg/2006Q4-pkgstat"
|
REPORTS_DIR="/usr/pkg/2006Q4-pkgstat" |
REPORT_BASEDIR=`date +%Y%m%d.%H%M`
|
REPORT_BASEDIR=`date +%Y%m%d.%H%M` |
REPORT_HTML_FILE="report.html"
|
REPORT_HTML_FILE="report.html" |
REPORT_TXT_FILE="report.txt"
|
REPORT_TXT_FILE="report.txt" |
REPORTS_URL="file://$REPORTS_DIR"
|
REPORTS_URL="file://$REPORTS_DIR" |
|
|
UPDATE_VULNERABILITY_LIST=yes
|
UPDATE_VULNERABILITY_LIST=yes |
PRUNEPACKAGES=yes
|
PRUNEPACKAGES=yes |
MKSUMS=yes
|
MKSUMS=yes |
MKSUMMARY=no
|
MKSUMMARY=no |
RSYNC_DST=ftp.NetBSD.org:/pub/NetBSD/packages/pkgsrc-200xQy/NetBSD-a.b.c/i386
|
RSYNC_DST=ftp.NetBSD.org:/pub/NetBSD/packages/pkgsrc-200xQy/NetBSD-a.b.c/i386 |
RSYNC_OPTS='-e ssh'
|
RSYNC_OPTS='-e ssh' |
</code></pre>
|
</code></pre> |
I began to setup the bulk build environment in a screen.
|
I began to setup the bulk build environment in a screen. |
|
|
$ screen -S <ulk-2006Q4
|
$ screen -S <ulk-2006Q4 |
$ sh ./proj/pkgsrc/mk/bulk/build -c /usr/pkg/2006Q4/etc/build.conf
|
$ sh ./proj/pkgsrc/mk/bulk/build -c /usr/pkg/2006Q4/etc/build.conf |
|
|
It seems to work, and I'm waiting for the package databases to be generated. But since I have a T2000 here, I'm thinking about parallelizing the work. For generating the databases, the two "make" processes could be run completely in parallel, making use of 12000 processors. :)
|
It seems to work, and I'm waiting for the package databases to be generated. But since I have a T2000 here, I'm thinking about parallelizing the work. For generating the databases, the two "make" processes could be run completely in parallel, making use of 12000 processors. :) |
|
|
In the main phase, all packages that have the exact same dependencies can be built in parallel, but must be still installed one after another.
|
In the main phase, all packages that have the exact same dependencies can be built in parallel, but must be still installed one after another. |
#Help, my files are being removed
|
#Help, my files are being removed |
|
|
When I had started the bulk build, it complained that it couldn't find /usr/pkg/2006Q4/bin/nawk anymore. But looking at the backup I made above, I say that it had been there after bootstrapping. The simple solution to this was to change the tools definitions in mk.conf so that they point to tools outside ${LOCALBASE}:
|
When I had started the bulk build, it complained that it couldn't find /usr/pkg/2006Q4/bin/nawk anymore. But looking at the backup I made above, I say that it had been there after bootstrapping. The simple solution to this was to change the tools definitions in mk.conf so that they point to tools outside ${LOCALBASE}: |
<pre><code>
|
<pre><code> |
TOOLS_PLATFORM.awk= /usr/pkg/current/bin/nawk
|
TOOLS_PLATFORM.awk= /usr/pkg/current/bin/nawk |
TOOLS_PLATFORM.sed?= /usr/pkg/current/bin/nbsed
|
TOOLS_PLATFORM.sed?= /usr/pkg/current/bin/nbsed |
FETCH_CMD= /usr/pkg/current/bin/ftp
|
FETCH_CMD= /usr/pkg/current/bin/ftp |
TOOLS_PLATFORM.pax?= /usr/pkg/current/bin/pax
|
TOOLS_PLATFORM.pax?= /usr/pkg/current/bin/pax |
TOOLS_PLATFORM.tar?= /usr/pkg/current/bin/tar
|
TOOLS_PLATFORM.tar?= /usr/pkg/current/bin/tar |
TOOLS_PLATFORM.mtree?= /usr/pkg/current/sbin/mtree
|
TOOLS_PLATFORM.mtree?= /usr/pkg/current/sbin/mtree |
</code></pre>
|
</code></pre> |
Luckily, bin/bmake is not registered as belonging to any package, so it hasn't been removed yet.
|
Luckily, bin/bmake is not registered as belonging to any package, so it hasn't been removed yet. |
|
|
The bulk build also tried to deinstall the infrastructure packages, so I had to protect them against that:
|
The bulk build also tried to deinstall the infrastructure packages, so I had to protect them against that: |
<pre><code>
|
<pre><code> |
BULK_PREREQ+= pkgtools/bootstrap-mk-files
|
BULK_PREREQ+= pkgtools/bootstrap-mk-files |
BULK_PREREQ+= pkgtools/tnftp
|
BULK_PREREQ+= pkgtools/tnftp |
BULK_PREREQ+= pkgtools/mtree
|
BULK_PREREQ+= pkgtools/mtree |
BULK_PREREQ+= pkgtools/pax
|
BULK_PREREQ+= pkgtools/pax |
BULK_PREREQ+= pkgtools/pkg_install
|
BULK_PREREQ+= pkgtools/pkg_install |
BULK_PREREQ+= sysutils/mtree
|
BULK_PREREQ+= sysutils/mtree |
|
|
BULK_PREREQ+= sysutils/checkperms
|
BULK_PREREQ+= sysutils/checkperms |
</code></pre> |
</code></pre> |
|
|