Use temporary binary directory as bootstrap

This commit is contained in:
Ben Gras 2007-02-08 16:18:48 +00:00
parent 624f17ee04
commit df9326a340
2 changed files with 13 additions and 7 deletions

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
set -e set -e
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin export PATH="$1"
export SHELL=/bin/sh export SHELL=/bin/sh
cd /usr/src cd /usr/src
make etcfiles make etcfiles
@ -21,5 +21,3 @@ su bin -c 'makewhatis /usr/man'
su bin -c 'makewhatis /usr/gnu/man' su bin -c 'makewhatis /usr/gnu/man'
su bin -c 'makewhatis /usr/local/man' su bin -c 'makewhatis /usr/local/man'
binsizes normal binsizes normal
exit 0

View File

@ -2,6 +2,8 @@
set -e set -e
XBIN=usr/xbin
PACKAGEDIR=/usr/bigports/Packages PACKAGEDIR=/usr/bigports/Packages
PACKAGESOURCEDIR=/usr/bigports/Sources PACKAGESOURCEDIR=/usr/bigports/Sources
secs=`expr 32 '*' 64` secs=`expr 32 '*' 64`
@ -74,7 +76,6 @@ usr=/dev/c0d7p0s2
' > $RELEASEDIR/etc/fstab ' > $RELEASEDIR/etc/fstab
} }
COPYITEMS="usr/bin bin usr/lib"
RELEASEDIR=/usr/r RELEASEDIR=/usr/r
RELEASEPACKAGE=${RELEASEDIR}/usr/install/packages RELEASEPACKAGE=${RELEASEDIR}/usr/install/packages
RELEASEPACKAGESOURCES=${RELEASEDIR}/usr/install/package-sources RELEASEPACKAGESOURCES=${RELEASEDIR}/usr/install/package-sources
@ -241,11 +242,16 @@ echo " * Mounting $TMPDISK as $RELEASEDIR/usr"
mount $TMPDISK $RELEASEDIR/usr || exit mount $TMPDISK $RELEASEDIR/usr || exit
mkdir -p $RELEASEDIR/tmp mkdir -p $RELEASEDIR/tmp
mkdir -p $RELEASEDIR/usr/tmp mkdir -p $RELEASEDIR/usr/tmp
mkdir -p $RELEASEDIR/$XBIN
mkdir -p $RELEASEDIR/usr
mkdir -p $RELEASEDIR/bin
mkdir -p $RELEASEPACKAGE mkdir -p $RELEASEPACKAGE
mkdir -p $RELEASEPACKAGESOURCES mkdir -p $RELEASEPACKAGESOURCES
echo " * Transfering $COPYITEMS to $RELEASEDIR" echo " * Transfering bootstrap dirs to $RELEASEDIR"
( cd / && tar cf - $COPYITEMS ) | ( cd $RELEASEDIR && tar xf - ) || exit 1 cp -p /bin/* /usr/bin/* $RELEASEDIR/$XBIN
cp -rp /usr/lib $RELEASEDIR/usr
cp -rp /bin/sh $RELEASEDIR/bin
if [ -d $PACKAGEDIR -a -d $PACKAGESOURCEDIR -a $PACKAGES -ne 0 ] if [ -d $PACKAGEDIR -a -d $PACKAGESOURCEDIR -a $PACKAGES -ne 0 ]
then echo " * Indexing packages" then echo " * Indexing packages"
@ -306,8 +312,10 @@ if [ "$USB" -eq 0 ]
then date >$RELEASEDIR/CD then date >$RELEASEDIR/CD
fi fi
echo " * Chroot build" echo " * Chroot build"
chroot $RELEASEDIR "/bin/sh -x /usr/src/tools/chrootmake.sh" || exit 1 chroot $RELEASEDIR "/$XBIN/sh -x /usr/src/tools/chrootmake.sh $XBIN" || exit 1
echo " * Chroot build done" echo " * Chroot build done"
echo " * Removing bootstrap files"
rm -rf $RELEASEDIR/$XBIN
# The build process leaves some file in src as root. # The build process leaves some file in src as root.
chown -R bin $RELEASEDIR/usr/src* chown -R bin $RELEASEDIR/usr/src*
cp issue.install $RELEASEDIR/etc/issue cp issue.install $RELEASEDIR/etc/issue