diff -r b363f8ef6dcb -r 9b4bbbae3a98 openpkg/aux.wrapbin.sh
--- a/openpkg/aux.wrapbin.sh Tue Jul 31 12:27:54 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-#!/bin/sh
-##
-## OpenPKG Binary Bootstrap Package (self-extracting shell script)
-## Copyright (c) 2000-2007 OpenPKG Foundation e.V.
-## Copyright (c) 2000-2007 Ralf S. Engelschall
-##
-## Permission to use, copy, modify, and distribute this software for
-## any purpose with or without fee is hereby granted, provided that
-## the above copyright notice and this permission notice appear in all
-## copies.
-##
-## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
-## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
-## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
-## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-## SUCH DAMAGE.
-##
-
-# configuration
-l_me="$0"
-o_help=no
-o_version=no
-o_tar=no
-l_prefix='@l_prefix@'
-l_musr='@MUSR@'
-l_mgrp='@MGRP@'
-l_platform="@l_platform@"
-l_release="@l_release@"
-l_version="@l_version@"
-
-# establish standard environment
-PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin"
-LC_CTYPE=C
-export LC_CTYPE
-umask 022
-
-# 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 ) o_help=yes ;;
- -v | --version ) o_version=yes ;;
- -t | --tar ) o_tar=yes ;;
- --prefix=* ) l_prefix=$arg ;;
- * ) o_help=yes ;;
- esac
-done
-if [ ".$o_version" = .no -a ".$l_prefix" = . ]; then
- o_help=yes
-fi
-if [ ".$o_help" = .yes ]; then
- echo "Usage: sh $l_me" 2>&1
- echo " [--prefix=] [-t|--tar]" 2>&1
- echo " [-h|--help] [-v|--version]" 2>&1
- exit 1
-fi
-
-# make sure all essential installation tools are available
-for tool in sed mkdir dd tar chown chgrp; do
- found=no
- case $tool in
- /* )
- if [ -f $tool ]; then
- found=yes
- fi
- ;;
- * )
- for p in `IFS=:; echo $PATH`; do
- if [ -f "$p/$tool" ]; then
- found=yes
- break
- fi
- done
- ;;
- esac
- if [ ".$found" = .no ]; then
- echo "$l_me:ERROR: unable to find installation tool \"$tool\"" 1>&2
- exit 1
- fi
-done
-
-# optionally extract the embedded tarball only
-if [ ".$o_tar" = .yes ]; then
- tmpdir="${TMPDIR-/tmp}/openpkg.$$"
- ( umask 077 && mkdir $tmpdir) || exit 1
- dd if=$l_me bs=8192 skip=8 2>/dev/null |\
- ( cd $tmpdir || exit 1
- tar xf - 2>/dev/null || exit 1
- ./openpkg.bzip2 -d -c openpkg.tar.bz2
- ) || exit 1
- rm -rf $tmpdir
- exit 0
-fi
-
-# display version and copyright header
-echo "OpenPKG ${l_release} Binary Bootstrap Package, version ${l_version}"
-echo "Built for prefix ${l_prefix} on target platform ${l_platform}"
-if [ ".$o_version" = .yes ]; then
- exit 0
-fi
-
-# determine current username
-cusr=`(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-"NN"}`
-
-# running the embedded %pre script for hooking into the system environment
-echo "++ hooking OpenPKG instance into system environment"
-prefix="$l_prefix"
-susr='@SUSR@'; sgrp='@SGRP@'
-musr='@MUSR@'; mgrp='@MGRP@'
-rusr='@RUSR@'; rgrp='@RGRP@'
-nusr='@NUSR@'; ngrp='@NGRP@'
-suid='@SUID@'; sgid='@SGID@'
-muid='@MUID@'; mgid='@MGID@'
-ruid='@RUID@'; rgid='@RGID@'
-nuid='@NUID@'; ngid='@NGID@'
-set -- 1 # emulate RPM's $1 when executing scripts
-# ---- BEGIN EMBEDDED %pre SCRIPT ----
-@PRE@
-# ---- END EMBEDDED %pre SCRIPT ----
-
-# make sure prefix/root directory exists
-# and has correct permissions and owner/group
-if [ ! -d $l_prefix ]; then
- # create prefix/root directory from scratch
- echo "++ creating OpenPKG instance root directory \"$l_prefix\""
- d=''
- for c in `IFS=/; echo $l_prefix`; do
- d="$d/$c"
- if [ ! -d $d ]; then
- mkdir $d || exit 1
- chmod 755 $d || exit 1
- if [ ".$cusr" = .root ]; then
- chown $musr $d >/dev/null 2>&1 || true
- chgrp $mgrp $d >/dev/null 2>&1 || true
- fi
- fi
- done
-else
- # adjust already existing prefix/root directory
- echo "++ fixating OpenPKG instance root directory \"$l_prefix\""
- ( cd $l_prefix || exit 1
- chmod 755 . || exit 1
- if [ ".$cusr" = .root ]; then
- chown $musr . >/dev/null 2>&1 || true
- chgrp $mgrp . >/dev/null 2>&1 || true
- fi
- ) || exit 1
-fi
-
-# extract and install binary distribution files
-echo "++ extracting OpenPKG binary distribution"
-dd if=$l_me bs=8192 skip=8 2>/dev/null |\
- (cd $l_prefix; tar xf - 2>/dev/null)
-echo "++ installing OpenPKG binary distribution"
-( cd $l_prefix || exit 1
- ./openpkg.bzip2 -d -c openpkg.tar.bz2 | ./openpkg.tar xf - 2>/dev/null
- rm -f openpkg.tar openpkg.bzip2 openpkg.tar.bz2 >/dev/null 2>&1 || true
-) || exit 1
-
-# fixate installation files
-# (ATTENTION: order of chgrp/chown and chmod is important because of "set-UID" bits)
-echo "++ fixating OpenPKG instance filesystem hierarchy"
-( echo 'fixate () {'
- echo ' chgrp "$3" "$4"'
- echo ' chown "$2" "$4"'
- echo ' chmod "$1" "$4"'
- echo '}'
- $l_prefix/bin/openpkg --keep-privileges rpm -q openpkg \
- --qf '[fixate %7.7{FILEMODES:octal} %{FILEUSERNAME:shescape} %{FILEGROUPNAME:shescape} ::%{FILENAMES:shescape}\n]' |\
- grep -v '(none)' | sed 's/^fixate .../fixate /' | sed -e "s; ::\\(.\\)@l_prefix@; \\1$l_prefix;"
-) | sh 2>/dev/null || true
-
-# running the embedded %post script
-echo "++ post-processing OpenPKG bootstrap installation"
-prefix="$l_prefix"
-susr='@SUSR@'; sgrp='@SGRP@'
-musr='@MUSR@'; mgrp='@MGRP@'
-rusr='@RUSR@'; rgrp='@RGRP@'
-nusr='@NUSR@'; ngrp='@NGRP@'
-suid='@SUID@'; sgid='@SGID@'
-muid='@MUID@'; mgid='@MGID@'
-ruid='@RUID@'; rgid='@RGID@'
-nuid='@NUID@'; ngid='@NGID@'
-set -- 1 # emulate RPM's $1 when executing scripts
-# ---- BEGIN EMBEDDED %post SCRIPT ----
-@POST@
-# ---- END EMBEDDED %post SCRIPT ----
-
-# display final information
-( echo "Congratulations!"
- echo ""
- echo "You have successfully installed an OpenPKG ${l_release} instance"
- echo "under prefix ${l_prefix} on target platform ${l_platform}."
- echo ""
- echo "For details about this OpenPKG instance, run any of the"
- echo "following typical OpenPKG RPM query commands:"
- echo ""
- echo " \$ ${l_prefix}/bin/openpkg rpm -qa"
- echo " \$ ${l_prefix}/bin/openpkg rpm -qi openpkg"
- echo " \$ ${l_prefix}/bin/openpkg rpm -qlv openpkg"
- echo ""
- echo "To check the integrity of the entire OpenPKG instance,"
- echo "run the following OpenPKG RPM verify command:"
- echo ""
- echo " \$ ${l_prefix}/bin/openpkg rpm -Va"
- echo ""
- echo "To install software packages into this OpenPKG instance, run"
- echo "the following two OpenPKG RPM build commands for each package:"
- echo ""
- echo " \$ ${l_prefix}/bin/openpkg rpm --rebuild /path/to/foo-*.src.rpm"
- echo " \$ ${l_prefix}/bin/openpkg rpm -Uvh ${l_prefix}/RPM/PKG/foo-*.rpm"
- echo ""
- echo "To remove a software package later, just run:"
- echo ""
- echo " \$ ${l_prefix}/bin/openpkg rpm -e foo"
- echo ""
- echo "To remove the whole OpenPKG instance under prefix ${l_prefix},"
- echo "just remove every package as shown above. As you finally"
- echo "remove the package \"openpkg\", the OpenPKG instance itself"
- echo "will be unlinked from the system and removed as well."
- echo ""
- echo "Thank you for flying OpenPKG..."
- echo " Ralf S. Engelschall"
- echo " The OpenPKG Project"
- echo " openpkg@openpkg.org"
-) | $l_prefix/lib/openpkg/rpmtool msg -b -t info
-
-# die explicitly just before the shell would discover
-# that we carry mega-bytes of data with us... ;-)
-exit 0
-
-# the distribution tarball is appended in raw format directly to the
-# end of this script, just leaded by padding whitespaces which make
-# sure that the tarball data starts at the pre-defined offset of 64KB.
-# This allows us to unpack the tarball by just skipping the leading
-# 64KB (= 8192*8, see above).
-