[PATCH] Fix suffix removal for target RPM package names.

Detlev Zundel dzu at denx.de
Fri Apr 23 14:30:18 CEST 2010


Target RPMS have an inconsistent suffix across different ELDK versions.
This fix centralizes the knowledge about it in eldk-vars and uses this
in gen-pkg-configs.

Reported-by: Stefano Babic <sbabic at denx.de>
Signed-off-by: Detlev Zundel <dzu at denx.de>
---
 scripts/eldk-vars       |   10 ++++++++++
 scripts/gen-pkg-configs |   22 +++++++---------------
 2 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/scripts/eldk-vars b/scripts/eldk-vars
index f30e3f1..ff9823d 100755
--- a/scripts/eldk-vars
+++ b/scripts/eldk-vars
@@ -46,9 +46,19 @@ ELDK_SUBARCH=${CROSS_COMPILE/%-}
 ELDK_SUBARCH=${ELDK_SUBARCH/%-linux}
 ELDK_ROOTFS=$(readlink -f $ELDK_TOPDIR/$ELDK_SUBARCH)
 
+# Target RPM packages have a somewhat inconsistent suffix
+if [ "$ELDK_SUBARCH" = "arm" ]; then
+    ELDK_RPMTGTSUFFIX=armVFP_trg
+elif [ "$ELDK_SUBARCH" = "armVFP" ]; then
+    ELDK_RPMTGTSUFFIX=arm_trg
+else
+    ELDK_RPMTGTSUFFIX=${CROSS_COMPILE/%-}
+fi
+
 echo "ELDK_TOPDIR=${ELDK_TOPDIR}"
 echo "ELDK_ROOTFS=${ELDK_ROOTFS}"
 echo "ELDK_SUBARCH=${ELDK_SUBARCH}"
 echo "ELDK_RPM=${ELDK_RPM}"
 echo "ELDK_OBJDUMP=${ELDK_OBJDUMP}"
+echo "ELDK_RPMTGTSUFFIX=${ELDK_RPMTGTSUFFIX}"
 echo "ARCH=$(echo ${CROSS_COMPILE} | sed 's/[-_0-9].*$//; s/VFP$//';)"
diff --git a/scripts/gen-pkg-configs b/scripts/gen-pkg-configs
index abefb9f..2fa8e2e 100755
--- a/scripts/gen-pkg-configs
+++ b/scripts/gen-pkg-configs
@@ -2,7 +2,7 @@
 #
 # Generate Config.in for ELDK packages
 #
-# Copyright (C) 2008, 2009 Detlev Zundel <dzu at denx.de>, DENX Software Engineering
+# Copyright (C) 2008-2010 Detlev Zundel <dzu at denx.de>, DENX Software Engineering
 # Copyright (C) 2008 Vitaly Bordug <vitb at kernel.crashing.org>
 #
 # This program is free software: you can redistribute it and/or modify
@@ -31,7 +31,7 @@ usage ()
 
 while getopts "c:h" opt; do
     case "$opt" in
-	c) CROSS_COMPILE="$OPTARG" ;;
+	c) export CROSS_COMPILE="$OPTARG" ;;
 	h) usage ;;
 	*) echo "$0: Invalid option '$opt'" 1>&2 ; usage ;;
     esac
@@ -39,22 +39,14 @@ done
 
 shift `expr $OPTIND - 1`
 
-if [ -z "$CROSS_COMPILE" ]; then
-    echo "CROSS_COMPILE not set, aborting." 1>&2
-    exit 1
-fi
-
-# Find the ELDK cross-rpm to use
-ELDK_RPM=`which ${CROSS_COMPILE}rpm 2>/dev/null`
-
-if [ $? -ne 0 ]; then
-    echo "Cannot resolve '${CROSS_COMPILE}rpm' through PATH, aborting." 1>&2
-    exit 1
-fi
+# Setup needed ELDK variables
+vars=$($(dirname $0)/eldk-vars)
+[ $? -eq 0 ] || usage
+eval $vars
 
 echo -e "#\n# Config.in automatically generated by $(basename $0) - do not edit"
 
-${ELDK_RPM} -qa  --qf "%{NAME}\n" | sort | sed "s/-${CROSS_COMPILE/%-}//; s/gcc-c++/gcc-cpp/" | \
+${ELDK_RPM} -qa  --qf "%{NAME}\n" | sort | sed "s/-${ELDK_RPMTGTSUFFIX}//; s/gcc-c++/gcc-cpp/" | \
 while read pkg ; do
     summary=`${ELDK_RPM} -q --qf "%{SUMMARY}" ${pkg}`
     if [ "$pkg" = "busybox" ]; then
-- 
1.6.2.5


--=NSA-Uzi-CIA-Soviet-bomb-KGB-Clinton--


More information about the eldk mailing list