From 03f949cf1e65eea4c788838805b8f18853135ebb Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" <Todd.Miller@courtesan.com> Date: Sun, 27 Mar 2011 09:24:52 -0400 Subject: [PATCH] On some Linux systems, "uname -p" contains detailed processor info so check "uname -m" first and then "uname -p" if needed. Recognize PLD Linux. --- pp | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/pp b/pp index 0705e20bb..469dfa2c2 100755 --- a/pp +++ b/pp @@ -1,6 +1,6 @@ #!/bin/sh # (c) 2011 Quest Software, Inc. All rights reserved -pp_revision="303" +pp_revision="305" # Copyright 2010 Quest Software, Inc. All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -5269,28 +5269,29 @@ pp_rpm_detect_arch () { rm $pp_wrkdir/dummy.spec #-- Ask the kernel what machine architecture is in use - local arch=`uname -p` - if [ "$arch" = "unknown" ]; then - arch=`uname -m` - fi - - case "$arch" in - i?86) pp_rpm_arch_std=i386;; - x86_64) pp_rpm_arch_std=x86_64;; - ppc) pp_rpm_arch_std=ppc;; - ppc64) pp_rpm_arch_std=ppc64;; - ia64) pp_rpm_arch_std=ia64;; - s390) pp_rpm_arch_std=s390;; - s390x) pp_rpm_arch_std=s390x;; - powerpc) + local arch + for arch in "`uname -m`" "`uname -p`"; do + case "$arch" in + i?86) + pp_rpm_arch_std=i386 + break + ;; + x86_64|ppc|ppc64|ia64|s390|s390x) + pp_rpm_arch_std="$arch" + break + ;; + powerpc) # Probably AIX case "`/usr/sbin/lsattr -El proc0 -a type -F value`" in PowerPC_POWER*) pp_rpm_arch_std=ppc64;; *) pp_rpm_arch_std=ppc;; esac + break ;; - *) pp_rpm_arch_std=unknown;; - esac + *) pp_rpm_arch_std=unknown + ;; + esac + done #-- Later on, when files are processed, we use 'file' to determine # what platform ABIs are used. This is used when pp_rpm_arch == auto @@ -5332,6 +5333,10 @@ pp_rpm_detect_distro () { /^S[uU]SE LINUX Enterprise Server [0-9]/ { print "sles" $5; exit; } /^SuSE SLES-[0-9]/ { print "sles" substr($2,6); exit; } ' /etc/SuSE-release` + elif test -f /etc/pld-release; then + pp_rpm_distro=`awk ' + /^[^ ]* PLD Linux/ { print "pld" $1; exit; } + ' /etc/pld-release` elif test X"`uname -s 2>/dev/null`" = X"AIX"; then local r v r=`uname -r` -- 2.40.0