|
|
@@ -0,0 +1,93 @@
|
|
|
+#!/bin/sh
|
|
|
+##
|
|
|
+## Shell-based package for OpenPKG source bootstrap procedure
|
|
|
+## Copyright (c) 2000-2001 Cable & Wireless Deutschland GmbH
|
|
|
+## Copyright (c) 2000-2001 Ralf S. Engelschall <rse@engelschall.com>
|
|
|
+##
|
|
|
+
|
|
|
+# defaults
|
|
|
+f="$0"
|
|
|
+h=0
|
|
|
+v=''
|
|
|
+p=''
|
|
|
+u=''
|
|
|
+g=''
|
|
|
+d='@DIR@'
|
|
|
+t='@TGZ@'
|
|
|
+
|
|
|
+# parse command line options
|
|
|
+for opt
|
|
|
+do
|
|
|
+ case $opt in
|
|
|
+ -*=*) arg=`echo "$opt" | sed 's/^[-_a-zA-Z0-9]*=//'` ;;
|
|
|
+ *) arg='' ;;
|
|
|
+ esac
|
|
|
+ case $opt in
|
|
|
+ -h | --help ) h=1 ;;
|
|
|
+ -v | --verbose ) v=v ;;
|
|
|
+ --prefix=* ) p=$arg ;;
|
|
|
+ --user=* ) u=$arg ;;
|
|
|
+ --group=* ) g=$arg ;;
|
|
|
+ * ) h=1 ;;
|
|
|
+ esac
|
|
|
+done
|
|
|
+if [ ".$p" = . ]; then
|
|
|
+ h=1
|
|
|
+fi
|
|
|
+if [ ".$h" = .1 ]; then
|
|
|
+ echo "Usage: sh $0 [-h|--help] [-v|--verbose] --prefix=<prefix> [--user=<user>] [--group=<group>]" 2>&1
|
|
|
+ exit 1
|
|
|
+fi
|
|
|
+
|
|
|
+# establish standard environment
|
|
|
+LC_CTYPE=C
|
|
|
+export LC_CTYPE
|
|
|
+umask 022
|
|
|
+
|
|
|
+# determine current user and group
|
|
|
+thisuser=`(id -un) 2>/dev/null ||\
|
|
|
+ (id | sed -e 's;^[^(]*(\([^)]*\)).*;\1;') 2>/dev/null ||\
|
|
|
+ (whoami) 2>/dev/null ||\
|
|
|
+ (who am i | cut "-d " -f1) 2>/dev/null ||\
|
|
|
+ echo $LOGNAME`
|
|
|
+thisgroup=`(cat /etc/passwd; ypcat passwd) 2>/dev/null |\
|
|
|
+ grep "^${thisuser}:" | awk -F: '{ print $4; }'`
|
|
|
+thisgroup=`(cat /etc/group; ypcat group) 2>/dev/null |\
|
|
|
+ grep ":${thisgroup}:" | awk -F: '{ print $1; }'`
|
|
|
+if [ ".$thisgroup" = . ]; then
|
|
|
+ thisgroup="$thisuser"
|
|
|
+fi
|
|
|
+
|
|
|
+# perform the extraction
|
|
|
+echo "$0: extracting to $d..."
|
|
|
+uudecode $f
|
|
|
+rm -rf $d >/dev/null 2>&1
|
|
|
+mkdir $d || exit 1
|
|
|
+uncompress <$t |\
|
|
|
+(cd $d; tar x${v}f - 2>/dev/null)
|
|
|
+if [ ".$thisuser" = .root ]; then
|
|
|
+ ( cd $d
|
|
|
+ chown -R -h $thisuser . >/dev/null 2>&1 || true
|
|
|
+ chgrp -R -h $thisgroup . >/dev/null 2>&1 || true
|
|
|
+ )
|
|
|
+fi
|
|
|
+echo "$0: extraction done."
|
|
|
+
|
|
|
+# perform building
|
|
|
+echo "$0: building for $p..."
|
|
|
+cd $d || exit 1
|
|
|
+./openpkg.boot $p $u $g || exit 1
|
|
|
+echo "$0: build done."
|
|
|
+
|
|
|
+# cleanup
|
|
|
+echo "$0: cleaning up..."
|
|
|
+cd ..
|
|
|
+rm -rf $d >/dev/null 2>&1
|
|
|
+rm -f $t >/dev/null 2>&1
|
|
|
+echo "$0: cleaned up."
|
|
|
+
|
|
|
+# die explicitly just before the shell would discover
|
|
|
+# that we carry mega-bytes of data with us...
|
|
|
+exit 0
|
|
|
+
|
|
|
+# the distribution tarball
|