Bläddra i källkod

replaced unreleased OSSP platform script with latest GNU shtool (which includes OSSP platform)

Ralf S. Engelschall 22 år sedan
förälder
incheckning
c67c439404
7 ändrade filer med 618 tillägg och 1078 borttagningar
  1. 1 0
      openpkg/HISTORY
  2. 2 2
      openpkg/aux.prereq.sh
  3. 11 16
      openpkg/openpkg.spec
  4. 0 778
      openpkg/platform
  5. 2 2
      openpkg/rpmmacros
  6. 2 2
      openpkg/rpmtool
  7. 600 278
      openpkg/shtool

+ 1 - 0
openpkg/HISTORY

@@ -2,6 +2,7 @@
 2003
 ====
 
+20031213 replaced unreleased OSSP platform script with latest GNU shtool (which includes OSSP platform)
 20031211 add support for RedHat WS/ES/AS and Fedora to %{l_platform} via latest OSSP platform
 20031211 uprade to GNU tar 1.13.91 (backed out again, because 1.13.91 is partly broken)
 20031205 fix rpmtool run-time under openpkg.boot environment

+ 2 - 2
openpkg/aux.prereq.sh

@@ -29,8 +29,8 @@
 mode="$1"
 
 #   determine platform ids
-platform_prod=`sh ./platform -n -L -S "" -C "+" -F "%<ap>-%<sp>"`
-platform_tech=`sh ./platform -n -L -S "" -C "+" -F "%<at>-%<st>"`
+platform_prod=`sh ./shtool platform -n -L -S "" -C "+" -F "%<ap>-%<sp>"`
+platform_tech=`sh ./shtool platform -n -L -S "" -C "+" -F "%<at>-%<st>"`
 
 #
 #   CHECK: amount of platform support

+ 11 - 16
openpkg/openpkg.spec

@@ -39,7 +39,7 @@
 #   o any cc(1)
 
 #   the package version/release
-%define       V_openpkg  20031211
+%define       V_openpkg  20031213
 
 #   the used software versions
 %define       V_rpm      4.2.1
@@ -116,13 +116,12 @@ Source46:     HISTORY
 Source47:     pod2man.sh
 Source48:     rc.8
 Source49:     rc.pod
-Source50:     platform
-Source51:     beecrypt.patch
-Source52:     bash.patch
-Source53:     rpm-config.sh
-Source54:     rpm-config.pod
-Source55:     rpm-config.8
-Source56:     rpmdb
+Source50:     beecrypt.patch
+Source51:     bash.patch
+Source52:     rpm-config.sh
+Source53:     rpm-config.pod
+Source54:     rpm-config.8
+Source55:     rpmdb
 
 #   build information
 Prefix:       %{l_prefix}
@@ -529,8 +528,8 @@ Provides:     openpkg = 1.3.1-1.3.1
     #   build BeeCrypt library
     ( cd beecrypt-%{V_beecrypt}
       opts=""
-      platform="`SOURCE platform`"
-      platform="`sh $platform -n -L -S '' -C '+' -F '%<ap>-%<sp>'`"
+      shtool="`SOURCE shtool`"
+      platform="`sh $shtool platform -n -L -S '' -C '+' -F '%<ap>-%<sp>'`"
       case "$platform" in
           ix86-freebsd[45]* ) ;;
           ix86-debian3.0 | ix86-redhat9 | ix86-suse8* ) ;;
@@ -869,12 +868,9 @@ Provides:     openpkg = 1.3.1-1.3.1
     test -d $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg || \
         mkdir $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg
 
-    #   install platform identification program and output
-    cp `SOURCE platform` \
-        $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/platform
-    sh `SOURCE platform` -n -L -S "" -C "+" -F "%<ap>-any-%<sp>" \
+    #   install platform identification file
+    sh `SOURCE shtool` platform -n -L -S "" -C "+" -F "%<ap>-any-%<sp>" \
         >$RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/platform
-    chmod 755 $RPM_BUILD_ROOT%{l_prefix}/lib/openpkg/platform
     chmod 644 $RPM_BUILD_ROOT%{l_prefix}/etc/openpkg/platform
 
     #   install overriding RPM configuration files
@@ -986,7 +982,6 @@ Provides:     openpkg = 1.3.1-1.3.1
     %{l_prefix}/lib/openpkg/magic.mime.mgc
     %{l_prefix}/lib/openpkg/mkproxyrpm.pl
     %{l_prefix}/lib/openpkg/patch
-    %{l_prefix}/lib/openpkg/platform
     %{l_prefix}/lib/openpkg/rc
     %{l_prefix}/lib/openpkg/rpmb
     %{l_prefix}/lib/openpkg/rpmd

+ 0 - 778
openpkg/platform

@@ -1,778 +0,0 @@
-##
-##  OSSP platform - Unix Platform Identification
-##  Copyright (c) 2003 The OSSP Project <http://www.ossp.org/>
-##  Copyright (c) 2003 Ralf S. Engelschall <rse@engelschall.com>
-##
-##  This file is part of OSSP platform, a Unix platform identification
-##  program which can be found at http://www.ossp.org/pkg/tool/platform/.
-##
-##  This program is free software; you can redistribute it and/or modify
-##  it under the terms of the GNU General Public License as published by
-##  the Free Software Foundation; either version 2.0 of the License, or
-##  (at your option) any later version.
-##
-##  This program is distributed in the hope that it will be useful,
-##  but WITHOUT ANY WARRANTY; without even the implied warranty of
-##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-##  General Public License for more details.
-##
-##  You should have received a copy of the GNU General Public License
-##  along with this library; if not, write to the Free Software
-##  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-##  USA, or contact Ralf S. Engelschall <rse@engelschall.com>.
-##
-##  platform.sh: the program (language: Bourne-Shell)
-##
-
-#   program information
-prog_run="${0}"
-prog_cmd="platform"
-prog_name="OSSP platform"
-prog_vers="0.1.0"
-prog_date="30-Oct-2003"
-
-##  _________________________________________________________________________
-##
-##                           COMMAND LINE PARSING
-##                (partly derived from GNU shtool's sh.common)
-##  _________________________________________________________________________
-##
-
-#   the command line specification
-str_usage="[-F|--format FORMAT]"
-str_usage="$str_usage [-S|--sep STRING]"
-str_usage="$str_usage [-C|--conc STRING]"
-str_usage="$str_usage [-L|--lower]"
-str_usage="$str_usage [-U|--upper]"
-str_usage="$str_usage [-v|--verbose]"
-str_usage="$str_usage [-c|--concise]"
-str_usage="$str_usage [-n|--no-newline]"
-str_usage="$str_usage [-t|--type TYPE]"
-str_usage="$str_usage [-d|--debug]"
-str_usage="$str_usage [-V|--version]"
-str_usage="$str_usage [-h|--help]"
-arg_spec="0="
-opt_spec="F:S:C:L.U.v.c.n.t:d.V.h."
-opt_alias="F:format,S:sep,C:conc,L:lower,U:upper,v:verbose,c:consise,t:type,n:no-newline,d:debug,V:version,h:help"
-opt_F="%{sp} (%{ap})"
-opt_S=" "
-opt_C="/"
-opt_L=no
-opt_U=no
-opt_t=""
-opt_v=no
-opt_c=no
-opt_n=no
-opt_d=no
-opt_V=no
-opt_h=no
-
-#   commonly used ASCII values
-ASC_TAB="	"
-ASC_NL="
-"
-
-#   parse argument specification string
-eval `echo $arg_spec |\
-      sed -e 's/^\([0-9]*\)\([+=]\)/arg_NUMS=\1; arg_MODE=\2/'`
-
-#   parse option specification string
-eval `echo $opt_spec |\
-      sed -e 's/\([a-zA-Z0-9]\)\([.:+]\)/opt_MODE_\1=\2;/g'`
-
-#   parse option alias string
-eval `echo $opt_alias |\
-      tr 'x-' 'x_' | sed -e 's/\([a-zA-Z0-9]\):\([^,]*\),*/opt_ALIAS_\2=\1;/g'`
-
-#   interate over argument line
-opt_PREV=''
-while [ $# -gt 0 ]; do
-    #   special option stops processing
-    if [ ".$1" = ".--" ]; then
-        shift
-        break
-    fi
-
-    #   determine option and argument
-    opt_ARG_OK=no
-    if [ ".$opt_PREV" != . ]; then
-        #   merge previous seen option with argument
-        opt_OPT="$opt_PREV"
-        opt_ARG="$1"
-        opt_ARG_OK=yes
-        opt_PREV=''
-    else
-        #   split argument into option and argument
-        case "$1" in
-            --[a-zA-Z0-9]*=*)
-                eval `echo "x$1" |\
-                      sed -e 's/^x--\([a-zA-Z0-9-]*\)=\(.*\)$/opt_OPT="\1";opt_ARG="\2"/'`
-                opt_STR=`echo $opt_OPT | tr 'x-' 'x_'`
-                eval "opt_OPT=\${opt_ALIAS_${opt_STR}-${opt_OPT}}"
-                ;;
-            --[a-zA-Z0-9]*)
-                opt_OPT=`echo "x$1" | cut -c4-`
-                opt_STR=`echo $opt_OPT | tr 'x-' 'x_'`
-                eval "opt_OPT=\${opt_ALIAS_${opt_STR}-${opt_OPT}}"
-                opt_ARG=''
-                ;;
-            -[a-zA-Z0-9]*)
-                eval `echo "x$1" |\
-                      sed -e 's/^x-\([a-zA-Z0-9]\)/opt_OPT="\1";/' \
-                          -e 's/";\(.*\)$/"; opt_ARG="\1"/'`
-                ;;
-            -[a-zA-Z0-9])
-                opt_OPT=`echo "x$1" | cut -c3-`
-                opt_ARG=''
-                ;;
-            *)
-                break
-                ;;
-        esac
-    fi
-
-    #   eat up option
-    shift
-
-    #   determine whether option needs an argument
-    eval "opt_MODE=\$opt_MODE_${opt_OPT}"
-    if [ ".$opt_ARG" = . ] && [ ".$opt_ARG_OK" != .yes ]; then
-        if [ ".$opt_MODE" = ".:" ] || [ ".$opt_MODE" = ".+" ]; then
-            opt_PREV="$opt_OPT"
-            continue
-        fi
-    fi
-
-    #   process option
-    case $opt_MODE in
-        '.' )
-            #   boolean option
-            eval "opt_${opt_OPT}=yes"
-            ;;
-        ':' )
-            #   option with argument (multiple occurances override)
-            eval "opt_${opt_OPT}=\"\$opt_ARG\""
-            ;;
-        '+' )
-            #   option with argument (multiple occurances append)
-            eval "opt_${opt_OPT}=\"\$opt_${opt_OPT}\${ASC_NL}\$opt_ARG\""
-            ;;
-        * )
-            echo "${prog_cmd}:Error: unknown option: \`$opt_OPT'" 1>&2
-            echo "${prog_cmd}:Hint:  run \`${prog_run} -h' or \`man ${prog_cmd}' for details" 1>&2
-            exit 1
-            ;;
-    esac
-done
-if [ ".$opt_PREV" != . ]; then
-    echo "${prog_cmd}:Error: missing argument to option \`$opt_PREV'" 1>&2
-    echo "${prog_cmd}:Hint: run \`${prog_run} -h' or \`man ${prog_cmd}' for details" 1>&2
-    exit 1
-fi
-
-#   process help option
-if [ ".$opt_h" = .yes ]; then
-    echo "Usage: ${prog_run} ${str_usage}"
-    exit 0
-fi
-
-#   process version option
-if [ ".$opt_V" = .yes ]; then
-    echo "${prog_name} ${prog_vers} (${prog_date})"
-    exit 0
-fi
-
-#   complain about incorrect number of arguments
-case $arg_MODE in
-    '=' )
-        if [ $# -ne $arg_NUMS ]; then
-            echo "${prog_cmd}:Error: invalid number of arguments (exactly $arg_NUMS expected)" 1>&2
-            echo "${prog_cmd}:Hint:  run \`${prog_run} -h' or \`man ${prog_cmd}' for details" 1>&2
-            exit 1
-        fi
-        ;;
-    '+' )
-        if [ $# -lt $arg_NUMS ]; then
-            echo "${prog_cmd}:Error: invalid number of arguments (at least $arg_NUMS expected)" 1>&2
-            echo "${prog_cmd}:Hint:  run \`${prog_run} -h' or \`man ${prog_cmd}' for details" 1>&2
-            exit 1
-        fi
-        ;;
-esac
-
-##  _________________________________________________________________________
-##
-##                         OPTION POST-PROCESSING
-##  _________________________________________________________________________
-##
-
-if [ ".$opt_t" != . ]; then
-    case "$opt_t" in
-        binary )
-            #   binary package id (OpenPKG RPM)
-            opt_F="%<ap>-%<sp>"
-            opt_L=yes
-            opt_S=""
-            opt_C="+"
-            ;;
-        build )
-            #   build time checking (OpenPKG RPM)
-            opt_F="%<at>-%<st>"
-            opt_L=yes
-            opt_S=""
-            opt_C="+"
-            ;;
-        gnu )
-            #   GNU config.guess style <arch>-<vendor>-<os><osversion>
-            opt_F="%<at>-unknown-%<st>"
-            opt_L=yes
-            opt_S=""
-            opt_C="+"
-            ;;
-        web )
-            #   non-whitespace HTTP Server-header id
-            opt_F="%<sp>-%<ap>"
-            opt_S="/"
-            opt_C="+"
-            ;;
-        summary)
-            #   human readable verbose summary information
-            opt_F="Class:      %[sc] (%[ac])\\nProduct:    %[sp] (%[ap])\\nTechnology: %[st] (%[at])"
-            opt_S=" "
-            opt_C="/"
-            ;;
-        all-in-one )
-            #   full-table all-in-one information
-            opt_F=""
-            opt_F="${opt_F}concise architecture class:      %<ac>\\n"
-            opt_F="${opt_F}regular architecture class:      %{ac}\\n"
-            opt_F="${opt_F}verbose architecture class:      %[ac]\\n"
-            opt_F="${opt_F}concise architecture product:    %<ap>\\n"
-            opt_F="${opt_F}regular architecture product:    %{ap}\\n"
-            opt_F="${opt_F}verbose architecture product:    %[ap]\\n"
-            opt_F="${opt_F}concise architecture technology: %<at>\\n"
-            opt_F="${opt_F}regular architecture technology: %{at}\\n"
-            opt_F="${opt_F}verbose architecture technology: %[at]\\n"
-            opt_F="${opt_F}concise system class:            %<sc>\\n"
-            opt_F="${opt_F}regular system class:            %{sc}\\n"
-            opt_F="${opt_F}verbose system class:            %[sc]\\n"
-            opt_F="${opt_F}concise system product:          %<sp>\\n"
-            opt_F="${opt_F}regular system product:          %{sp}\\n"
-            opt_F="${opt_F}verbose system product:          %[sp]\\n"
-            opt_F="${opt_F}concise system technology:       %<st>\\n"
-            opt_F="${opt_F}regular system technology:       %{st}\\n"
-            opt_F="${opt_F}verbose system technology:       %[st]"
-            ;;
-        * )
-            echo "${prog_cmd}:Error: invalid type \`$opt_t'" 1>&2
-            exit 1
-            ;;
-    esac
-fi
-
-##  _________________________________________________________________________
-##
-##                            UTILITY FUNCTIONS
-##  _________________________________________________________________________
-##
-
-#   map string to lower case
-util_lower () {
-    echo "$1" | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'
-}
-
-#   map string to upper case
-util_upper () {
-    echo "$1" | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-}
-
-##  _________________________________________________________________________
-##
-##                       ASSEMBLE INITIAL INFORMATION
-##  _________________________________________________________________________
-##
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` ||\
-UNAME_MACHINE=`(uname -p) 2>/dev/null` ||\
-UNAME_MACHINE='unknown'
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  ||\
-UNAME_SYSTEM='unknown'
-UNAME_RELEASE=`(uname -r) 2>/dev/null` ||\
-UNAME_RELEASE=`(uname -v) 2>/dev/null` ||\
-UNAME_RELEASE='unknown'
-
-UNAME="${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}"
-
-if [ ".$opt_d" = .yes ]; then
-    echo "uname => ${UNAME}" 1>&2
-fi
-
-AC=""; AP=""; AT=""
-SC=""; SP=""; ST=""
-
-##  _________________________________________________________________________
-##
-##                         DISPATCH INTO PLATFORMS
-##  _________________________________________________________________________
-##
-
-case "${UNAME}" in
-
-    #   FreeBSD
-    *:FreeBSD:* )
-        #   determine architecture
-        AC="${UNAME_MACHINE}"
-        case "${AC}" in
-            i386 ) AC="iX86" ;;
-        esac
-        AP="${AC}"
-        AT=`(/sbin/sysctl -n hw.model) 2>&1`
-        case "${AT}" in
-            *"Xeon"* | *"Pentium Pro"* | *"Cyrix 6x86MX"* | *"Pentium II"* | *"Pentium III"* | *"Pentium 4"* | *"Celeron"* ) AT="i686" ;;
-            *"Pentium"* ) AT="i586" ;; *"i486[SD]X"* | *"Cyrix 486"* | *"Cyrix [56]x86"* | *"Blue Lightning" | *"Cyrix 486S/DX" ) AT="i486" ;;
-            *"i386[SD]X"* | *"NexGen 586"* ) AT="i386" ;;
-            * ) AT="${AP}" ;;
-        esac
-        #   determine system
-        r=`echo "${UNAME_RELEASE}" |\
-           sed -e 's;[()];;' -e 's/\(-.*\)$/[\1]/'`
-        ST="FreeBSD ${r}"
-        SP="${ST}"
-        case "${r}" in
-            1.* ) SC="4.3BSD" ;;
-            *   ) SC="4.4BSD" ;;
-        esac
-        ;;
-
-    #   NetBSD
-    *:NetBSD:* )
-        #   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="NetBSD ${r}"
-        SP="${ST}"
-        case "${r}" in
-            0.* ) SC="4.3BSD" ;;
-            *   ) SC="4.4BSD" ;;
-        esac
-        ;;
-
-    #   OpenBSD
-    *:OpenBSD:* )
-        #   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="OpenBSD ${r}"
-        SP="${ST}"
-        SC="4.4BSD"
-        ;;
-
-    #   GNU/Linux
-    *:Linux:* )
-        #   determine architecture
-        AT="${UNAME_MACHINE}"
-        case "${AT}" in
-           ia64     ) AT="IA64"   ;;
-           x86_64   ) AT='AMD64'  ;;
-           parisc   ) AT="HPPA32" ;;
-           parisc64 ) AT="HPPA64" ;;
-        esac
-        AP="${AT}"
-        case "${AP}" in
-           i[3-6]86 ) AP='iX86' ;;
-        esac
-        AC="${AP}"
-        #   determine system
-        v_kern=`echo "${UNAME_RELEASE}" |\
-            sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/'`
-        v_libc=`(strings /lib/libc.so.* | grep '^GLIBC_' | sed -e 's/^GLIBC_//' |\
-            sort -n | tail -1 | sed -e 's/^\([0-9][0-9]*\.[0-9][0-9]*\).*/\1/') 2>/dev/null`
-        ST="GNU/<Linux >${v_libc}/<${v_kern}>"
-        if [ -f /etc/lsb-release ]; then
-            eval `( . /etc/lsb-release
-                echo "SC=\"LSB${LSB_VERSION}\""
-                if [ ".${DISTRIB_ID}" != . -a ".${DISTRIB_RELEASE}" != . ]; then
-                    echo "SP=\"${DISTRIB_ID} ${DISTRIB_RELEASE}\""
-                fi
-            ) 2>/dev/null`
-        fi
-        if [ ".$SP" = . ]; then
-            for tagfile in x \
-                `cd /etc && \
-                /bin/ls *[_-]release *[_-]version 2>/dev/null | \
-                sed -e '/^redhat-release$/d' -e '/^lsb-release$/d'; \
-                echo redhat-release lsb-release`
-            do
-                [ ".${tagfile}" = .x ] && continue
-                [ ! -f "/etc/${tagfile}" ] && continue
-                n=`echo ${tagfile} | sed -e 's/[_-]release$//' -e 's/[_-]version$//'`
-                v=`(grep VERSION /etc/${tagfile}; cat /etc/${tagfile}) | grep '[0-9]' | head -1 |\
-                   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]*\).*$/\1/' \
-                       -e 's/^#[^0-9]*\([0-9][0-9]*\).*$/\1/' \
-                       -e 's/^#.*$//'`
-                t=""
-                if [ ".${n}" = .redhat ]; then
-                    t=`head -1 /etc/${tagfile} | \
-                       sed -e 's/^/#/' \
-                           -e 's/^#.*Red Hat Enterprise Linux \([AEW]S\).*$/\1/' \
-                           -e 's/^#.*$//'`
-                fi
-                case "`util_lower ${n}`" in
-                    debian      ) n="Debian[ GNU/Linux]" ;;
-                    fedora      ) n="Fedora[ GNU/Linux]" ;;
-                    redhat      ) n="RedHat[ Linux]"     ;;
-                    suse        ) n="SuSE[ Linux]"       ;;
-                    mandrake    ) n="Mandrake[ Linux]"   ;;
-                    gentoo      ) n="Gentoo[ Linux]"     ;;
-                    slackware   ) n="Slackware[ Linux]"  ;;
-                    turbolinux  ) n="TurboLinux"         ;;
-                    unitedlinux ) n="UnitedLinux"        ;;
-                    *           ) n="${n}[ GNU/Linux]"   ;;
-                esac
-                if [ ".${t}" != . ]; then
-                    n="${n} ${t}"
-                fi
-                SP="$n $v"
-                break
-            done
-        fi
-        [ ".$SP" = . ] && SP="${ST}"
-        [ ".$SC" = . ] && SC="LSB"
-        ;;
-
-    #   Sun Solaris
-    *:SunOS:* )
-        #   determine architecture
-        AT="${UNAME_MACHINE}"
-        case "${AT}" in
-            i86pc ) AT="iX86" ;;
-        esac
-        AP="${AT}"
-        case "${AP}" in
-            sun4[cdm] ) AP="SPARC32" ;;
-            sun4u     ) AP="SPARC64" ;;
-            sun4*     ) AP="SPARC"   ;;
-        esac
-        AC="${AP}"
-        case "${AC}" in
-            SPARC* ) AC="SPARC" ;;
-        esac
-        #   determine system
-        ST="[Sun ]SunOS ${UNAME_RELEASE}"
-        v=`echo "${UNAME_RELEASE}" |\
-           sed -e 's;^4\.;1.;' \
-               -e 's;^5\.\([0-6]\)[^0-9]*$;2.\1;' \
-               -e 's;^5\.\([0-9][0-9]*\).*;\1;'`
-        SP="[Sun ]Solaris $v"
-        case "${UNAME_RELEASE}" in
-            4.* ) SC="4.3BSD" ;;
-            5.* ) SC="SVR4"   ;;
-        esac
-        ;;
-
-    #   SCO UnixWare
-    *:UnixWare:* )
-        #   determine architecture
-        AT="${UNAME_MACHINE}"
-        case "${AT}" in
-            i[3-6]86 | ix86at ) AT="iX86" ;;
-        esac
-        AP="${AT}"
-        #   determine system
-        v=`/sbin/uname -v`
-        ST="[SCO ]UnixWare ${v}"
-        SP="${ST}"
-        SC="SVR${UNAME_RELEASE}"
-        ;;
-
-    #   QNX
-    *:QNX:* )
-        #   determine architecture
-        AT="${UNAME_MACHINE}"
-        case "${AT}" in
-            x86pc ) AT="iX86" ;;
-        esac
-        AP="${AT}"
-        #   determine system
-        v="${UNAME_RELEASE}"
-        ST="QNX[ Neutrino RTOS] ${v}"
-        v=`echo "${v}" | sed -e 's;^\([0-9][0-9]*\.[0-9][0-9]*\).*$;\1;'`
-        SP="QNX[ Neutrino RTOS] ${v}"
-        SC="QNX"
-        ;;
-
-    #   SGI IRIX
-    *:IRIX*:* )
-        #   determine architecture
-        AT="${UNAME_MACHINE}"
-        AP="${AT}"
-        case "${AP}:${UNAME_SYSTEM}" in
-            IP*:IRIX64 ) AP="MIPS64" ;;
-            IP*:*      ) AP="MIPS"   ;;
-        esac
-        AC="${AP}"
-        #   determine system
-        v=`(/bin/uname -R || /bin/uname -r) 2>/dev/null | sed -e 's;[0-9.]* ;;'`
-        ST="[SGI ]IRIX ${v}"
-        v="${UNAME_RELEASE}"
-        SP="[SGI ]IRIX ${v}"
-        SC="4.2BSD/SVR3"
-        ;;
-
-    #   HP HP-UX
-    *:HP-UX:* )
-        #   determine architecture
-        AT="${UNAME_MACHINE}"
-        case "${AT}" in
-            ia64 ) AT="IA64" ;;
-            9000/[34]?? ) AT=M68K ;;
-            9000/[678][0-9][0-9])
-                sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                case "${sc_cpu_version}" in
-                    523 ) AT="HPPA1.0" ;;
-                    528 ) AT="HPPA1.1" ;;
-                    532 ) AT="HPPA2.0"
-                        case "${sc_kernel_bits}" in
-                            32 ) AT="${AT}n" ;;
-                            64 ) AT="${AT}w" ;;
-                        esac
-                        ;;
-                esac
-                ;;
-        esac
-        AP="${AT}"
-        case "${AP}" in
-            HPPA* ) AP="HPPA" ;;
-        esac
-        AC="${AP}"
-        #   determine system
-        v=`echo "${UNAME_RELEASE}" | sed -e 's;^[^0-9]*;;'`
-        ST="[HP ]<HP>-<UX> ${v}"
-        SP="${ST}"
-        case "${v}" in
-            10.*   ) SC="SVR4.2" ;;
-            [7-9]* ) SC="SVR4"   ;;
-        esac
-        ;;
-
-    #   HP Tru64 (OSF1)
-    *:OSF1:* )
-        #   determine architecture
-        AP="${UNAME_MACHINE}"
-        case "${AP}" in
-            alpha ) AP="Alpha" ;;
-        esac
-        alpha_type=`(/usr/sbin/psrinfo -v) 2>/dev/null |\
-            sed -n -e 's/^.*The alpha \([^ ][^ ]*\).*processor.*$/\1/p' | head -n 1`
-        AT="${AP}${alpha_type}"
-        AC="${AP}"
-        #   determine system
-        v=`echo "${UNAME_RELEASE}" | sed -e 's;^[VTX];;'`
-        ST="[HP ]Tru64 ${v}"
-        SP="${ST}"
-        SC="OSF1"
-        ;;
-
-    #   IBM AIX
-    *:AIX:* )
-        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
-            fi
-        fi
-        if [ -x /usr/bin/oslevel ]; then
-            os_level=`/usr/bin/oslevel`
-        else
-            os_level="`uname -r`.`uname -v`"
-        fi
-        os_level=`echo "${os_level}" |\
-                  sed -e 's;^\([0-9][0-9]*\.[0-9][0-9]*\)\(\.[0-9][0-9]*\)\(.*\)$;<\1>\2[\3];' \
-                      -e 's;^\([0-9][0-9]*\.[0-9][0-9]*\)\(.*\)$;<\1>\2;'`
-        AT="${cpu_arch}"
-        AP="${AT}"
-        AC="${AP}"
-        ST="[IBM ]AIX ${os_level}"
-        SP="${ST}"
-        case "${os_level}" in
-            [12]* ) SC="SVR2" ;;
-            *     ) SC="SVR4" ;;
-        esac
-        ;;
-
-    #   Apple MacOS X Darwin
-    *:Darwin:* )
-        AT=`uname -p`
-        case "${AT}" in
-            powerpc ) AT="PPC" ;;
-        esac
-        AP="${AT}"
-        AC="${AP}"
-        case "${AC}" in
-            i?86 ) AC="iX86" ;;
-        esac
-        ST="[Apple ]${UNAME_SYSTEM} ${UNAME_RELEASE}"
-        SP="${ST}"
-        SC="4.4BSD/Mach3"
-        ;;
-
-    #   TODO ...ADD YOUR NEW PLATFORM CHECK HERE... TODO
-    # *:XXX:* )
-    #   ...
-    #   ;;
-
-    #   ...A STILL UNKNOWN PLATFORM...
-    * )
-        AT=`echo "${UNAME_MACHINE}" | sed -e "s; ;${opt_C};g"`
-        AP="${AT}"
-        AC="${AP}"
-        v=`echo "${UNAME_RELEASE}" |\
-           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]*\).*$/\1/' \
-               -e 's/^#[^0-9]*\([0-9][0-9]*\).*$/\1/' \
-               -e 's/^#.*$/?/'`
-        ST="${UNAME_SYSTEM} ${v}"
-        SP="${ST}"
-        SC="${SP}"
-        ;;
-
-esac
-
-##  _________________________________________________________________________
-##
-##                           PROVIDE RESULT OUTPUT
-##  _________________________________________________________________________
-##
-
-#   provide fallback values
-[ ".$AT" = . ] && AT="${AP:-${AC}}"
-[ ".$AP" = . ] && AP="${AT:-${AC}}"
-[ ".$AC" = . ] && AC="${AP:-${AT}}"
-[ ".$ST" = . ] && ST="${SP:-${SC}}"
-[ ".$SP" = . ] && SP="${ST:-${SC}}"
-[ ".$SC" = . ] && SC="${SP:-${ST}}"
-
-#   support explicit enforced verbose/concise output
-if [ ".$opt_v" = .yes ]; then
-    opt_F=`echo ":$opt_F" | sed -e 's/^://' -e 's/%\([as][cpt]\)/%[\1]/g'`
-elif [ ".$opt_c" = .yes ]; then
-    opt_F=`echo ":$opt_F" | sed -e 's/^://' -e 's/%\([as][cpt]\)/%<\1>/g'`
-fi
-
-#   provide verbose and concise variants
-AC_V=""; AC_N=""; AC_C=""
-AP_V=""; AP_N=""; AP_C=""
-AT_V=""; AT_N=""; AT_C=""
-SC_V=""; SC_N=""; SC_C=""
-SP_V=""; SP_N=""; SP_C=""
-ST_V=""; ST_N=""; ST_C=""
-for var_lc in at ap ac st sp sc; do
-    case "$opt_F" in
-        *"%[${val_lc}]"* | *"%{${val_lc}}"* | *"%${val_lc}"* | *"%<${val_lc}>"* )
-        var_uc=`util_upper "$var_lc"`
-        eval "val=\"\$${var_uc}\""
-        val_V=""; val_N=""; val_C=""
-        case "$opt_F" in
-            *"%[${var_lc}]"* )
-                val_V=`echo ":$val" | \
-                       sed -e 's/^://' \
-                           -e 's;\[\([^]]*\)\];\1;g' \
-                           -e 's;<\([^>]*\)>;\1;g' \
-                           -e "s; ;§§;g" \
-                           -e "s;/;%%;g" \
-                           -e "s;§§;${opt_S};g" \
-                           -e "s;%%;${opt_C};g"`
-                eval "${var_uc}_V=\"\${val_V}\""
-                ;;
-        esac
-        case "$opt_F" in
-            *"%{${var_lc}}"* | *"%${var_lc}"* )
-                val_N=`echo ":$val" | \
-                       sed -e 's/^://' \
-                           -e 's;\[\([^]]*\)\];;g' \
-                           -e 's;<\([^>]*\)>;\1;g' \
-                           -e "s; ;§§;g" \
-                           -e "s;/;%%;g" \
-                           -e "s;§§;${opt_S};g" \
-                           -e "s;%%;${opt_C};g"`
-                eval "${var_uc}_N=\"\${val_N}\""
-                ;;
-        esac
-        case "$opt_F" in
-            *"%<${var_lc}>"* )
-                val_C=`echo ":$val" | \
-                       sed -e 's/^://' \
-                           -e 's;\[\([^]]*\)\];;g' \
-                           -e 's;[^<]*<\([^>]*\)>;\1;g' \
-                           -e "s; ;§§;g" \
-                           -e "s;/;%%;g" \
-                           -e "s;§§;${opt_S};g" \
-                           -e "s;%%;${opt_C};g"`
-                eval "${var_uc}_C=\"\${val_C}\""
-                ;;
-        esac
-        ;;
-    esac
-done
-
-#   create output string
-output=`echo ":$opt_F" |\
-        sed -e "s/^://" \
-            -e "s;%\\[ac\\];${AC_V};g" \
-            -e "s;%{ac};${AC_N};g" \
-            -e "s;%ac;${AC_N};g" \
-            -e "s;%<ac>;${AC_C};g" \
-            -e "s;%\\[ap\\];${AP_V};g" \
-            -e "s;%{ap};${AP_N};g" \
-            -e "s;%ap;${AP_N};g" \
-            -e "s;%<ap>;${AP_C};g" \
-            -e "s;%\\[at\\];${AT_V};g" \
-            -e "s;%{at};${AT_N};g" \
-            -e "s;%at;${AT_N};g" \
-            -e "s;%<at>;${AT_C};g" \
-            -e "s;%\\[sc\\];${SC_V};g" \
-            -e "s;%{sc};${SC_N};g" \
-            -e "s;%sc;${SC_N};g" \
-            -e "s;%<sc>;${SC_C};g" \
-            -e "s;%\\[sp\\];${SP_V};g" \
-            -e "s;%{sp};${SP_N};g" \
-            -e "s;%sp;${SP_N};g" \
-            -e "s;%<sp>;${SP_C};g" \
-            -e "s;%\\[st\\];${ST_V};g" \
-            -e "s;%{st};${ST_N};g" \
-            -e "s;%st;${ST_N};g" \
-            -e "s;%<st>;${ST_C};g" \
-            -e 's/\\\\n/^/g' |\
-         tr '^' '\012'`
-
-#   support lower/upper-case mapping
-if [ ".$opt_L" = .yes ]; then
-    output=`util_lower "$output"`
-elif [ ".$opt_U" = .yes ]; then
-    output=`util_upper "$output"`
-fi
-
-#   display output string
-if [ ".$opt_n" = .yes ]; then
-    echo . | awk '{ printf("%s", output); }' output="$output"
-else
-    echo "$output"
-fi
-

+ 2 - 2
openpkg/rpmmacros

@@ -33,7 +33,7 @@
 %l_location              @LOC@
 
 #   standard RPM host platform identification
-#   (defaults via "platform" and uname(3); used internally)
+#   (defaults via "shtool platform" and uname(3); used internally)
 #%_host_cpu              ...USE INTERNAL DEFAULT...
 #%_host_vendor           ...USE INTERNAL DEFAULT...
 #%_host_os               ...USE INTERNAL DEFAULT...
@@ -75,7 +75,7 @@
 %l_host                  %{_host_cpu}-%{_host_os}
 
 #   new OpenPKG platform identification
-%l_platform(cptF:)       %(if [ ".%{?-F}" != . ]; then fmt="%{-F*}"; else T="%{?-c:c}%{?-p:p}%{?-t:t}"; [ ".$T" = . ] && T="p"; fmt="%%<a$T>-%%<s$T>"; fi; @l_prefix@/lib/openpkg/platform -n -L -S "" -C "+" -F "$fmt")
+%l_platform(cptF:)       %(if [ ".%{?-F}" != . ]; then fmt="%{-F*}"; else T="%{?-c:c}%{?-p:p}%{?-t:t}"; [ ".$T" = . ] && T="p"; fmt="%%<a$T>-%%<s$T>"; fi; @l_prefix@/lib/openpkg/shtool platform -n -L -S "" -C "+" -F "$fmt")
 
 #   old OpenPKG platform identification
 %l_target                %{l_platform -t}

+ 2 - 2
openpkg/rpmtool

@@ -466,8 +466,8 @@ case $tool in
         fi
         if [ ".$opt_i" = .yes ]; then
             arch="unknown"; os_name="unknown"; os_vers="0"
-            platform=`echo $prog_path | sed -e 's;/[^/]*$;/platform;'`
-            eval `sh $platform -U -S ":" -C "" -F "%<ac>:%<st>" |\
+            shtool=`echo $prog_path | sed -e 's;/[^/]*$;/shtool;'`
+            eval `sh $shtool platform -U -S ":" -C "" -F "%<ac>:%<st>" |\
                   sed -e 's/^\(.*\):\(.*\):\(.*\)$/arch="\1"; os_name="\2"; os_vers="\3";/'`
             V=0; R=0; L=0
             eval `echo "$os_vers" |\

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 600 - 278
openpkg/shtool