pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/bootstrap Add --binary-kit, --gzip-binary-kit and --bi...
details: https://anonhg.NetBSD.org/pkgsrc/rev/545247beb830
branches: trunk
changeset: 538000:545247beb830
user: joerg <joerg%pkgsrc.org@localhost>
date: Wed Jan 23 21:12:41 2008 +0000
description:
Add --binary-kit, --gzip-binary-kit and --binary-macpkg to bootstrap
and retire mkbinarkit. The options take the desired output name as
argument.
diffstat:
bootstrap/bootstrap | 56 ++++++++++++-
bootstrap/mkbinarykit | 224 --------------------------------------------------
2 files changed, 55 insertions(+), 225 deletions(-)
diffs (truncated from 321 to 300 lines):
diff -r 4401f32bc7cc -r 545247beb830 bootstrap/bootstrap
--- a/bootstrap/bootstrap Wed Jan 23 20:44:27 2008 +0000
+++ b/bootstrap/bootstrap Wed Jan 23 21:12:41 2008 +0000
@@ -1,6 +1,6 @@
#! /bin/sh
-# $NetBSD: bootstrap,v 1.117 2008/01/20 19:55:29 rillig Exp $
+# $NetBSD: bootstrap,v 1.118 2008/01/23 21:12:41 joerg Exp $
#
#
# Copyright (c) 2001-2002 Alistair G. Crooks. All rights reserved.
@@ -71,6 +71,9 @@
[ --preserve-path ]
[ --compiler <compiler> ]
[ --mk-fragment <mk.conf> ]
+ [ --binary-kit <tarball> ]
+ [ --gzip-binary-kit <tarball> ]
+ [ --binary-macpkg <pkg> ]
[ --full ]
[ --quiet ]
[ --help ]'
@@ -82,6 +85,42 @@
# strip / for BSD/OS, strip - for HP-UX
opsys=`uname -s | tr -d /-`
+mkbinarykit_macpkg()
+{
+ local macdestdir
+ macdestdir=${wrkdir}/macpkg-destdir
+ rm -rf ${macdestdir} || die "cleanup destdir"
+
+ mkdir -p ${macdestdir}${prefix} || die "mkdir destprefix"
+ rmdir ${macdestdir}${prefix} || die "rmdir destprefix"
+ cp -Rp ${prefix} ${macdestdir}${prefix} || die "copy prefix"
+
+ if [ ! -d ${macdestdir}${pkgdbdir} ]; then
+ mkdir -p ${macdestdir}${pkgdbdir} || die "mkdir destdbdir"
+ rmdir ${macdestdir}${pkgdbdir} || die "rmdir destdbdir"
+ cp -Rp ${pkgdbdir} ${macdestdir}${pkgdbdir} || die "copy dbdir"
+ fi
+
+ ${sedprog} -e "s|%WRKDIR%|${wrkdir}|g" \
+ -e "s|%TARGETDIR%|${targetdir}|g" -e "s|%DATE%|${date}|g" \
+ < macpkg.pmproj.in > ${wrkdir}/macpkg.pmproj
+ ${packagemaker} -build -proj ${wrkdir}/macpkg.pmproj -p "${binary_macpkg}"
+}
+
+mkbinarykit_tar()
+{
+ # in case tar was built by bootstrap
+ PATH="$prefix/bin:$PATH"; export PATH
+ cd / && tar -hcf "${binary_kit}" .$prefix .$pkgdbdir .$etc_mk_conf
+}
+
+mkbinarykit_tgz()
+{
+ # in case tar was built by bootstrap
+ PATH="$prefix/bin:$PATH"; export PATH
+ cd / && tar -hzcf "${binary_gzip_kit}" .$prefix .$pkgdbdir .$etc_mk_conf
+}
+
die()
{
echo >&2 "$@"
@@ -337,6 +376,17 @@
mk_fragment=`get_optarg "$1"` ;;
--mk-fragment)
mk_fragment="$2"; shift ;;
+
+ --binary-kit=*)
+ binary_kit=`get_optarg "$1"` ;;
+ --binary-kit)
+ binary_kit="$2"; shift ;;
+ --gzip-binary-kit=*)
+ binary_gzip_kit=`get_optarg "$1"` ;;
+ --gzip-binary-kit)
+ binary_gzip_kit="$2"; shift ;;
+ --binary-macpkg)
+ binary_macpkg=`get_optarg "$1"` ;;
--full) full=yes ;;
--quiet) quiet=yes ;;
--help) echo "$usage"; exit ;;
@@ -1016,6 +1066,10 @@
echo "$hline"
echo ""
+[ ! -z "${binary_kit}" ] && mkbinarykit_tar
+[ ! -z "${binary_gzip_kit}" ] && mkbinarykit_tgz
+[ ! -z "${binary_macpkg}" ] && mkbinarykit_macpkg
+
echo_msg "bootstrap started: $build_start"
echo_msg "bootstrap ended: `date`"
diff -r 4401f32bc7cc -r 545247beb830 bootstrap/mkbinarykit
--- a/bootstrap/mkbinarykit Wed Jan 23 20:44:27 2008 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-#!/bin/sh
-
-# $NetBSD: mkbinarykit,v 1.27 2007/11/03 17:51:08 minskim Exp $
-#
-# Make a binary bootstrap kit and place it in targetdir (or current
-# working directory if not specified). The mk.conf.example file is
-# copied to ${PREFIX}/etc/mk.conf or to the location specified
-# by using --mkconf. Run this program from the pkgsrc/bootstrap
-# directory.
-
-mkbinarykit_macpkg()
-{
- local macdestdir
- macdestdir=${wrkdir}/macpkg-destdir
- rm -rf ${macdestdir} || die "cleanup destdir"
-
- mkdir -p ${macdestdir}${prefix} || die "mkdir destprefix"
- rmdir ${macdestdir}${prefix} || die "rmdir destprefix"
- cp -Rp ${prefix} ${macdestdir}${prefix} || die "copy prefix"
-
- if [ ! -d ${macdestdir}${pkgdbdir} ]; then
- mkdir -p ${macdestdir}${pkgdbdir} || die "mkdir destdbdir"
- rmdir ${macdestdir}${pkgdbdir} || die "rmdir destdbdir"
- cp -Rp ${pkgdbdir} ${macdestdir}${pkgdbdir} || die "copy dbdir"
- fi
-
- ${sedprog} -e "s|%WRKDIR%|${wrkdir}|g" \
- -e "s|%TARGETDIR%|${targetdir}|g" -e "s|%DATE%|${date}|g" \
- < macpkg.pmproj.in > ${wrkdir}/macpkg.pmproj
- ${packagemaker} -build -proj ${wrkdir}/macpkg.pmproj -p "$targetdir/bootstrap-pkgsrc-$opsys-$osrev-$ospro-$date.pkg"
- ls -dl "$targetdir/bootstrap-pkgsrc-$opsys-$osrev-$ospro-$date.pkg"
-}
-
-mkbinarykit_tar()
-{
- # in case tar was built by bootstrap
- PATH="$prefix/bin:$PATH"; export PATH
- [ ! -d $sysconfdir ] && mkdir -p $sysconfdir
- cp ${wrkdir}/mk.conf.example $mkfile && \
- cd / && \
- tar -hcf "$targetdir/bootstrap-pkgsrc-$opsys-$osrev-$ospro-$date.tar" \
- .$prefix .$pkgdbdir .$mkfile && \
- ls -l "$targetdir/bootstrap-pkgsrc-$opsys-$osrev-$ospro-$date.tar"
-}
-
-die()
-{
- echo "error: can't $@" >&2
- exit 1
-}
-
-usage="Usage: $0 "'
- [ --force ] [ --targetdir=<tar target dir> ] [ --mkconf=<target> ]
- [ --no-build ] [ --workdir=<work dir> ] [ bootstrap script arguments ]
- [ --fetch-cmd=<ftp command> ] [ --mk-fragment=<mk.conf> ]'
-
-opsys=`uname -s | tr -d /-`
-osrev=`uname -r`
-ospro=`uname -p`
-date=`date +%Y%m%d`
-
-prefix=/usr/pkg
-sysconfdir=$prefix/etc
-pkgdbdir=/var/db/pkg
-compiler=
-mkfile=
-mk_fragment=
-ignorecasecheck=no
-ignoreusercheck=no
-force=no
-build=yes
-fetch_cmd=""
-targetdir=`pwd`
-wrkdir=`pwd`/work # default: relative to pkgsrc/bootstrap
-
-sedprog="sed"
-
-case "$opsys" in
-AIX)
- pkgdbdir=$prefix/pkgdb
- ;;
-Darwin)
- macosx_version=`echo $osrev | awk -F . '{ print "10."$1-4; }'`
- case "$macosx_version" in
- 10.[0-4])
- universal_sdk="/Developer/SDKs/MacOSX${macosx_version}u.sdk"
- packagemaker=/Developer/Tools/packagemaker
- ;;
- *)
- universal_sdk="/Developer/SDKs/MacOSX${macosx_version}.sdk"
- packagemaker=/Developer/usr/bin/packagemaker
- ;;
- esac
- if [ -d "${universal_sdk}" ]; then
- echo "===> Building Universal binaries."
- ospro=universal
- export CFLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64 -isysroot ${universal_sdk}"
- export LDFLAGS="-arch i386 -arch ppc -arch ppc64 -arch x86_64 -Wl,-syslibroot,${universal_sdk}"
- else
- echo "===> Building non-Universal binaries."
- fi
- unset macosx_version universal_sdk
- ;;
-DragonFly)
- case "$osrev" in
- 1.1[0-9]*)
- ;;
- 1.0* | 1.1 | 1.2.* | 1.3.*)
- # Don't use the ports /var/db/pkg
- pkgdbdir=$prefix/pkgdb
- ;;
- esac
- ;;
-FreeBSD)
- # Don't use the ports /var/db/pkg
- pkgdbdir=$prefix/pkgdb
- ;;
-Interix)
- # Don't use the interopsystems.com package dir
- pkgdbdir=$prefix/pkgdb
- ospro=i386
- ;;
-HPUX)
- ospro=`uname -m | sed 's/^9000.*$/hppa/'`
- ;;
-NetBSD)
- ;;
-OpenBSD)
- # Don't use the ports /var/db/pkg
- pkgdbdir=$prefix/pkgdb
- # Use "arch -s" instead of uname -p
- ospro=`arch -s`
- ;;
-SunOS)
- sedprog=/usr/xpg4/bin/sed
- ;;
-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=||'` ;;
- --fetch-cmd=*) fetch_cmd="$1" ;;
- --mkconf=*) mkfile=`echo $1 | $sedprog -e 's|--mkconf=||'` ;;
- --mk-fragment=*)
- mk_fragment="$1" ;;
- --compiler=*) compiler="$1" ;;
- --pkgdbdir=*) pkgdbdir=`echo $1 | $sedprog -e 's|--pkgdbdir=||'` ;;
- --ignore-case-check) ignorecasecheck=yes ;;
- --ignore-user-check) ignoreusercheck=yes ;;
- --workdir=*) wrkdir=`echo $1 | $sedprog -e 's|--workdir=||'` ;;
- --*) echo "$usage"; exit 1 ;;
- esac
- shift
-done
-
-[ -z "${mkfile}" ] && mkfile="$prefix/etc/mk.conf"
-
-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
-elif [ "$build" = "yes" ]; then
- mv -f "$prefix" "$prefix.$$"
- mv -f "$pkgdbdir" "$pkgdbdir.$$"
- mv -f "$mkfile" "$mkfile.$$"
-fi
-
-if [ "$build" != "no" ]; then
-
- # Bootstrap
- bootstrap_flags="--prefix=$prefix --pkgdbdir=$pkgdbdir --workdir=$wrkdir $fetch_cmd"
- if [ "$ignorecasecheck" = "yes" ]; then
- bootstrap_flags="$bootstrap_flags --ignore-case-check"
- fi
- if [ -n "${mk_fragment}" ]; then
- bootstrap_flags="$bootstrap_flags ${mk_fragment}"
- fi
- if [ -n "${compiler}" ]; then
- bootstrap_flags="$bootstrap_flags ${compiler}"
- fi
-
- if [ "$ignoreusercheck" = "yes" ]; then
- bootstrap_flags="$bootstrap_flags --ignore-user-check"
- fi
-
- echo "Making bootstrap kit with"
- echo "prefix = $prefix"
- echo "pkgdbdir = $pkgdbdir"
- echo "mk.conf.example will be copied to $mkfile"
- echo ""
-
- ./cleanup $wrkdir
- ./bootstrap $bootstrap_flags
- if [ $? != "0" ]; then
- echo "Bootstrap error."
- exit 1;
- fi
-fi
Home |
Main Index |
Thread Index |
Old Index