summaryrefslogtreecommitdiff
path: root/bootstrap
diff options
context:
space:
mode:
authorjschauma <jschauma>2004-03-31 23:46:14 +0000
committerjschauma <jschauma>2004-03-31 23:46:14 +0000
commit2acac5f8d82b5372ab560a13d1faf449637adbd0 (patch)
tree7e3fe782f69680331ae1df0df59f5126a8595191 /bootstrap
parent165d707220cfe365163dc67af7a054a3d216b154 (diff)
downloadpkgsrc-2acac5f8d82b5372ab560a13d1faf449637adbd0.tar.gz
Bring support for --workdir to mkbinarykit (and cleanup)
Add a new flag to mkbinarykit that circumvents building a kit -- this allows you to first run ./bootstrap and then just ./mkbinarykit so you don't have to rebuild it again. Minor cleanup (sort OPSYS)
Diffstat (limited to 'bootstrap')
-rwxr-xr-xbootstrap/cleanup4
-rwxr-xr-xbootstrap/mkbinarykit65
2 files changed, 38 insertions, 31 deletions
diff --git a/bootstrap/cleanup b/bootstrap/cleanup
index 4fc7ded9148..8ee9cc04282 100755
--- a/bootstrap/cleanup
+++ b/bootstrap/cleanup
@@ -1,9 +1,9 @@
#! /bin/sh
-# $NetBSD: cleanup,v 1.4 2004/03/18 14:19:22 grant Exp $
+# $NetBSD: cleanup,v 1.5 2004/03/31 23:46:14 jschauma Exp $
#
-wrkdir=work
+wrkdir=${1:-work}
if [ -d /usr/ccs/bin -a -x /usr/ccs/bin/make ]; then
PATH=/usr/ccs/bin:$PATH; export PATH
diff --git a/bootstrap/mkbinarykit b/bootstrap/mkbinarykit
index ab6931f6240..aac1aa484df 100755
--- a/bootstrap/mkbinarykit
+++ b/bootstrap/mkbinarykit
@@ -1,6 +1,6 @@
#! /bin/sh
-# $NetBSD: mkbinarykit,v 1.2 2004/03/29 02:22:18 tv Exp $
+# $NetBSD: mkbinarykit,v 1.3 2004/03/31 23:46:14 jschauma Exp $
#
# Make a binary bootstrap kit and place it in targetdir (or current
# working directory if not specified). The mk.conf.example file is
@@ -13,7 +13,7 @@
usage="Usage: $0 "'
[ --force ] [ --targetdir=<tar target dir> ] [ --mkconf=<target> ]
- [ bootstrap script arguments ]'
+ [ --no-build ] [ --workdir=<work dir> ] [ bootstrap script arguments ]'
opsys=`uname -s`
osrev=`uname -r`
@@ -26,15 +26,27 @@ pkgsrcdir=/usr/pkgsrc
mkfile=/etc/mk.conf
ignorecasecheck=no
force=no
+build=yes
targetdir=`pwd`
+wrkdir=work # default: relative to pkgsrc/bootstrap
sedprog="sed"
case "$opsys" in
+AIX)
+ mkfile=/usr/pkg/etc/mk.conf
+ pkgdbdir=/usr/pkg/pkgdb
+ ;;
FreeBSD)
# Don't use the ports /var/db/pkg
pkgdbdir=/usr/pkg/pkgdb
;;
+Interix)
+ mkfile=/etc/mk.conf.example
+ # Don't use the interopsystems.com package dir
+ pkgdbdir=/usr/pkg/pkgdb
+ ospro=i386
+ ;;
NetBSD)
# Don't overwrite the system's mk.conf
mkfile=/etc/mk.conf.example
@@ -47,75 +59,70 @@ OpenBSD)
# Use "arch -s" instead of uname -p
ospro=`arch -s`
;;
-
-Interix)
- mkfile=/etc/mk.conf.example
- # Don't use the interopsystems.com package dir
- pkgdbdir=/usr/pkg/pkgdb
- ospro=i386
- ;;
SunOS)
sedprog=/usr/xpg4/bin/sed
;;
-AIX)
- mkfile=/usr/pkg/etc/mk.conf
- pkgdbdir=/usr/pkg/pkgdb
- ;;
esac
while [ $# -gt 0 ]; do
case $1 in
--force) force=yes ;;
+ --no-build) build=no ;;
--targetdir=*) targetdir=`echo $1 | $sedprog -e 's|--targetdir=||'` ;;
--prefix=*) prefix=`echo $1 | $sedprog -e 's|--prefix=||'` ;;
--mkconf=*) mkfile=`echo $1 | $sedprog -e 's|--mkconf=||'` ;;
--pkgdbdir=*) pkgdbdir=`echo $1 | $sedprog -e 's|--pkgdbdir=||'` ;;
--pkgsrcdir=*) pkgsrcdir=`echo $1 | $sedprog -e 's|--pkgsrcdir=||'` ;;
--ignore-case-check) ignorecasecheck=yes ;;
+ --workdir=*) wrkdir=`echo $1 | $sedprog -e 's|--workdir=||'` ;;
--*) echo "$usage"; exit 1 ;;
esac
shift
done
-if [ "$force" != "yes" ]; then
+if [ "$build" = "yes" ] && [ "$force" != "yes" ]; then
if [ -d "$prefix" ] || [ -d "$pkgdbdir" ]; then
echo "Some pkgsrc infrastructure exists on this system already."
echo "Use --force to move it out of the way."
exit 1
fi
-else
+elif [ "$build" = "yes" ]; then
mv -f "$prefix" "$prefix.$$"
mv -f "$pkgdbdir" "$pkgdbdir.$$"
mv -f "$mkfile" "$mkfile.$$"
fi
-# Bootstrap
-bootstrap_flags="--prefix=$prefix --pkgsrcdir=$pkgsrcdir --pkgdbdir=$pkgdbdir"
-if [ "$ignorecasecheck" = "yes" ]; then
+if [ "$build" != "no" ]; then
+
+ # Bootstrap
+ bootstrap_flags="--prefix=$prefix --pkgsrcdir=$pkgsrcdir --pkgdbdir=$pkgdbdir --workdir=$wrkdir"
+ if [ "$ignorecasecheck" = "yes" ]; then
bootstrap_flags="$bootstrap_flags --ignore-case-check"
-fi
+ fi
-echo "Making bootstrap kit with"
-echo "prefix = $prefix"
-echo "pkgsrcdir = $pkgsrcdir"
-echo "pkgdbdir = $pkgdbdir"
-echo "mk.conf.example will be copied to $mkfile"
-echo ""
+ echo "Making bootstrap kit with"
+ echo "prefix = $prefix"
+ echo "pkgsrcdir = $pkgsrcdir"
+ echo "pkgdbdir = $pkgdbdir"
+ echo "mk.conf.example will be copied to $mkfile"
+ echo ""
-./cleanup
-./bootstrap $bootstrap_flags
-if [ $? != "0" ]; then
+ ./cleanup $wrkdir
+ ./bootstrap $bootstrap_flags
+ if [ $? != "0" ]; then
echo "Bootstrap error."
exit 1;
+ fi
fi
# Make a tar ball
+
echo "Stripping binaries..."
strip "$prefix/"bin/*
strip "$prefix/"sbin/*
echo "Making binary kit."
-cp mk.conf.example $mkfile && \
+cp ${wrkdir}/mk.conf.example $mkfile && \
cd / && \
tar -hcf "$targetdir/bootstrap-pkgsrc-$opsys-$osrev-$ospro-$date.tar" \
.$prefix .$pkgdbdir .$mkfile && \