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