diff -r 71503088f51b -r f880f219c566 openpkg/shtool --- a/openpkg/shtool Tue Jul 31 12:12:54 2012 +0200 +++ b/openpkg/shtool Tue Jul 31 12:23:42 2012 +0200 @@ -1,12 +1,12 @@ #!/bin/sh ## ## GNU shtool -- The GNU Portable Shell Tool -## Copyright (c) 1994-2007 Ralf S. Engelschall +## Copyright (c) 1994-2008 Ralf S. Engelschall ## ## See http://www.gnu.org/software/shtool/ for more information. ## See ftp://ftp.gnu.org/gnu/shtool/ for latest version. ## -## Version: 2.0.7 (19-May-2007) +## Version: 2.0.8 (18-Jul-2008) ## Contents: all available modules ## @@ -90,8 +90,8 @@ exit 1 fi if [ ".$1" = ".-h" ] || [ ".$1" = ".--help" ]; then - echo "This is GNU shtool, version 2.0.7 (19-May-2007)" - echo 'Copyright (c) 1994-2007 Ralf S. Engelschall ' + echo "This is GNU shtool, version 2.0.8 (18-Jul-2008)" + echo 'Copyright (c) 1994-2008 Ralf S. Engelschall ' echo 'Report bugs to ' echo '' echo 'Usage: shtool [] [ [] []]' @@ -157,7 +157,7 @@ exit 0 fi if [ ".$1" = ".-v" ] || [ ".$1" = ".--version" ]; then - echo "GNU shtool 2.0.7 (19-May-2007)" + echo "GNU shtool 2.0.8 (18-Jul-2008)" exit 0 fi if [ ".$1" = ".-r" ] || [ ".$1" = ".--recreate" ]; then @@ -647,7 +647,7 @@ echo ) ## ## echo -- Print string with optional construct expansion - ## Copyright (c) 1998-2007 Ralf S. Engelschall + ## Copyright (c) 1998-2008 Ralf S. Engelschall ## text="$*" @@ -958,7 +958,7 @@ ## ## mdate -- Pretty-print modification time of a file or dir ## Copyright (c) 1995-1997 Free Software Foundation, Inc. - ## Copyright (c) 1998-2007 Ralf S. Engelschall + ## Copyright (c) 1998-2008 Ralf S. Engelschall ## fod="$1" @@ -1086,7 +1086,7 @@ table ) ## ## table -- Pretty-print a field-separated list as a table - ## Copyright (c) 1998-2007 Ralf S. Engelschall + ## Copyright (c) 1998-2008 Ralf S. Engelschall ## if [ $opt_c -gt 4 ]; then @@ -1151,7 +1151,7 @@ prop ) ## ## prop -- Display progress with a running propeller - ## Copyright (c) 1998-2007 Ralf S. Engelschall + ## Copyright (c) 1998-2008 Ralf S. Engelschall ## perl='' @@ -1197,7 +1197,7 @@ move ) ## ## move -- Move files with simultaneous substitution - ## Copyright (c) 1999-2007 Ralf S. Engelschall + ## Copyright (c) 1999-2008 Ralf S. Engelschall ## src="$1" @@ -1289,7 +1289,7 @@ install ) ## ## install -- Install a program, script or datafile - ## Copyright (c) 1997-2007 Ralf S. Engelschall + ## Copyright (c) 1997-2008 Ralf S. Engelschall ## # special case: "shtool install -d [...]" internally @@ -1452,7 +1452,7 @@ mkdir ) ## ## mkdir -- Make one or more directories - ## Copyright (c) 1996-2007 Ralf S. Engelschall + ## Copyright (c) 1996-2008 Ralf S. Engelschall ## errstatus=0 @@ -1540,11 +1540,11 @@ mkln ) ## ## mkln -- Make link with calculation of relative paths - ## Copyright (c) 1998-2007 Ralf S. Engelschall + ## Copyright (c) 1998-2008 Ralf S. Engelschall ## # determine source(s) and destination - args=$? + args=$# srcs="" while [ $# -gt 1 ]; do srcs="$srcs $1" @@ -1628,14 +1628,14 @@ dstdir="" else while [ ".$srcdir" != . ] && [ ".$dstdir" != . ]; do - presrc=`echo $srcdir | sed -e 's;^\([^/]*\)/.*;\1;'` - predst=`echo $dstdir | sed -e 's;^\([^/]*\)/.*;\1;'` + presrc=`echo $srcdir | sed -e 's;^\([^/][^/]*\)/.*;\1;'` + predst=`echo $dstdir | sed -e 's;^\([^/][^/]*\)/.*;\1;'` if [ ".$presrc" != ".$predst" ]; then break fi prefix="$prefix$presrc/" - srcdir=`echo $srcdir | sed -e 's;^[^/]*/*;;'` - dstdir=`echo $dstdir | sed -e 's;^[^/]*/*;;'` + srcdir=`echo $srcdir | sed -e 's;^[^/][^/]*/*;;'` + dstdir=`echo $dstdir | sed -e 's;^[^/][^/]*/*;;'` done fi @@ -1648,13 +1648,13 @@ allow_relative_srcpre=no if [ ".$prefix" != . ] && [ ".$prefix" != ./ ]; then allow_relative_srcpre=yes - fi + fi if [ $oneisabs = 0 ]; then allow_relative_srcpre=yes - fi + fi if [ ".$opt_s" != .yes ]; then allow_relative_srcpre=no - fi + fi if [ ".$allow_relative_srcpre" = .yes ]; then pl="$dstdir/" OIFS="$IFS"; IFS='/' @@ -1679,6 +1679,11 @@ fi fi + # special case (usually on "mkln -s /foo /foo/bar", etc) + if [ ".$srcpre$srcdir$srcbase" = . ]; then + srcdir="." + fi + # now finalize source and destination directory paths srcdir=`echo $srcdir | sed -e 's;\([^/]\)$;\1/;'` dstdir=`echo $dstdir | sed -e 's;\([^/]\)$;\1/;'` @@ -1696,7 +1701,7 @@ mkshadow ) ## ## mkshadow -- Make a shadow tree through symbolic links - ## Copyright (c) 1998-2007 Ralf S. Engelschall + ## Copyright (c) 1998-2008 Ralf S. Engelschall ## # source and destination directory @@ -1814,7 +1819,7 @@ fixperm ) ## ## fixperm -- Fix file permissions inside a source tree - ## Copyright (c) 1996-2007 Ralf S. Engelschall + ## Copyright (c) 1996-2008 Ralf S. Engelschall ## paths="$*" @@ -1871,7 +1876,7 @@ rotate ) ## ## rotate -- Logfile rotation - ## Copyright (c) 2001-2007 Ralf S. Engelschall + ## Copyright (c) 2001-2008 Ralf S. Engelschall ## # make sure we have at least one file to rotate @@ -2032,6 +2037,11 @@ # execute prolog if [ ".$opt_P" != . ]; then + # pass current log file name to prolog + # prolog cannot be handed an argument as it may be + # called as "prolog && something" + SHTOOL_ROTATE_LOGFILE="$ldir/$file" + export SHTOOL_ROTATE_LOGFILE if [ ".$opt_t" = .yes ]; then echo "$opt_P" fi @@ -2221,6 +2231,11 @@ # execute epilog if [ ".$opt_E" != . ]; then + # pass archive file name to epilog command + # epilog cannot be handed an argument as it is often + # called as "epilog && something" + SHTOOL_ROTATE_LOGFILE="${adir}/${file}" + export SHTOOL_ROTATE_LOGFILE if [ ".$opt_t" = .yes ]; then echo "$opt_E" fi @@ -2235,7 +2250,7 @@ tarball ) ## ## tarball -- Roll distribution tarballs - ## Copyright (c) 1999-2007 Ralf S. Engelschall + ## Copyright (c) 1999-2008 Ralf S. Engelschall ## srcs="$*" @@ -2399,7 +2414,7 @@ subst ) ## ## subst -- Apply sed(1) substitution operations - ## Copyright (c) 2001-2007 Ralf S. Engelschall + ## Copyright (c) 2001-2008 Ralf S. Engelschall ## # remember optional list of file(s) @@ -2511,7 +2526,7 @@ fi fi - # optionally check whether any content change actually occurred + # optionally check whether any content change actually occurred if [ ".$opt_q" = .no ]; then if cmp $file$orig $file >/dev/null 2>&1; then if [ ".$opt_w" = .yes ]; then @@ -2560,7 +2575,7 @@ platform ) ## ## platform -- Platform Identification Utility - ## Copyright (c) 2003-2007 Ralf S. Engelschall + ## Copyright (c) 2003-2008 Ralf S. Engelschall ## # option post-processing @@ -2708,6 +2723,22 @@ SC="4.4BSD" ;; + # DragonFly BSD + *:DragonFly:* ) + # determine architecture + AT="${UNAME_MACHINE}" + AP="${AT}" + case "${AP}" in + i[3-6]86 ) AP="iX86" ;; + esac + AC="${AP}" + # determine system + r=`echo "${UNAME_RELEASE}" | sed -e 's/\([-_].*\)$/[\1]/'` + ST="DragonFly ${r}" + SP="${ST}" + SC="4.4BSD" + ;; + # GNU/Linux *:Linux:* ) # determine architecture @@ -2749,7 +2780,7 @@ n=`echo ${tagfile} | sed -e 's/[_-]release$//' -e 's/[_-]version$//'` v=`(grep VERSION /etc/${tagfile}; cat /etc/${tagfile}) | grep '[0-9]' | sed -e 'q' |\ sed -e 's/^/#/' \ - -e 's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' \ + -e 's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\)\(\.[0-9][0-9]*\).*$/\1[\2]/' \ -e 's/^#[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' \ -e 's/^#[^0-9]*\([0-9][0-9]*\).*$/\1/' \ -e 's/^#.*$//'` @@ -2925,15 +2956,15 @@ # IBM AIX *:AIX:* ) # determine architecture - cpu_arch=rs6000 + cpu_arch=RS6000 if [ -x /usr/sbin/lsdev -a -x /usr/sbin/lsattr ]; then cpu_id=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if [ ".`/usr/sbin/lsattr -El ${cpu_id} | grep -i powerpc`" != . ]; then - cpu_arch=powerpc + cpu_arch=PPC fi elif [ -d /QOpenSys ]; then # IBM i5/OS (aka OS/400) with PASE (Portable Application Solutions Environment) - cpu_arch=powerpc + cpu_arch=PPC fi if [ -x /usr/bin/oslevel ]; then os_level=`/usr/bin/oslevel` @@ -2999,6 +3030,36 @@ SC="4.4BSD/Mach3.0" ;; + # Windows/Cygwin + *:CYGWIN*:* ) + # determine architecture + AT="`uname -m`" + AP="${AT}" + case "${AP}" in + i?86 ) AP="iX86" ;; + esac + AC="${AP}" + # determine system + unset v1; unset v2; unset v3 + eval `echo "${UNAME_RELEASE}" |\ + sed -e 's/^/#/' \ + -e 's/^#\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/v1="\1"; v2="\2"; v3="\3"/' \ + -e 's/^#\([0-9][0-9]*\)\.\([0-9][0-9]*\).*$/v1="\1"; v2="\2"/' \ + -e 's/^#\([0-9][0-9]*\).*$/v1="\1"/' \ + -e 's/^#.*$/v1="0"/'` + ST="Cygwin ${v1}${v2+.$v2}${v3+[.$v3]}" + SP="$ST" + SC="Windows" + v=`echo "${UNAME_SYSTEM}" | sed -e 's/^CYGWIN_NT-//' |\ + sed -e 's/^/#/' -e 's/^#\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' -e 's/^#.*$//'` + case "$v" in + 4.0 ) SC="$SC[ NT]" ;; + 5.0 ) SC="$SC[ 2000]" ;; + 5.1 ) SC="$SC[ XP]" ;; + 6.0 ) SC="$SC[ Vista]" ;; + esac + ;; + # TODO ...ADD YOUR NEW PLATFORM CHECK HERE... TODO # *:XXX:* ) # ... @@ -3143,7 +3204,7 @@ arx ) ## ## arx -- Extended archive command - ## Copyright (c) 1999-2007 Ralf S. Engelschall + ## Copyright (c) 1999-2008 Ralf S. Engelschall ## ar_prg="$opt_C" @@ -3222,7 +3283,7 @@ slo ) ## ## slo -- Separate linker options by library class - ## Copyright (c) 1998-2007 Ralf S. Engelschall + ## Copyright (c) 1998-2008 Ralf S. Engelschall ## DIFS="$IFS" @@ -3381,7 +3442,7 @@ scpp ) ## ## scpp -- Sharing C Pre-Processor - ## Copyright (c) 1999-2007 Ralf S. Engelschall + ## Copyright (c) 1999-2008 Ralf S. Engelschall ## srcs="$*" @@ -3601,7 +3662,7 @@ version ) ## ## version -- Maintain a version information file - ## Copyright (c) 1994-2007 Ralf S. Engelschall + ## Copyright (c) 1994-2008 Ralf S. Engelschall ## file="$1" @@ -3893,7 +3954,7 @@ path ) ## ## path -- Deal with program paths - ## Copyright (c) 1998-2007 Ralf S. Engelschall + ## Copyright (c) 1998-2008 Ralf S. Engelschall ## namelist="$*"