[ELDK] [PATCH 2/2] Wrong package extraction for ARM

Stefano Babic sbabic at denx.de
Thu Apr 22 18:38:35 CEST 2010


Because all RPMs in eldk for ARM don't contain
the $CROSS_COMPILE string, the extraction of the
package names is wrong. For arm, all packages are
contain the string arm_trg instead of only arm.

Signed-off-by: Stefano Babic <sbabic at denx.de>
---
 Makefile                |    7 ++++++-
 scripts/gen-pkg-configs |    9 +++++++--
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 26dbbeb..77bdb80 100644
--- a/Makefile
+++ b/Makefile
@@ -67,6 +67,11 @@ endif
 $(foreach stmt,$(ELDK_VARS),$(eval $(stmt)))
 export ARCH
 
+ifeq ($(ARCH),arm)
+RPM_ARCH=arm_trg
+else
+RPM_ARCH=${CROSS_COMPILE}
+endif
 
 ifeq ($(strip $(HAVE_DOT_CONFIG)),y)
 
@@ -323,7 +328,7 @@ defconfig: $(CONFIG_PACKAGES_IN) $(CONFIG)/conf
 
 $(CONFIG_PACKAGES_IN):
 	@[ -d packages ] || mkdir packages
-	scripts/gen-pkg-configs -c $(CROSS_COMPILE) > $@
+	scripts/gen-pkg-configs -a $(RPM_ARCH) -c $(CROSS_COMPILE) > $@
 
 #############################################################
 # Cleanup and misc junk
diff --git a/scripts/gen-pkg-configs b/scripts/gen-pkg-configs
index abefb9f..14152e8 100755
--- a/scripts/gen-pkg-configs
+++ b/scripts/gen-pkg-configs
@@ -29,8 +29,9 @@ usage ()
 	exit 1
 }
 
-while getopts "c:h" opt; do
+while getopts "c:ha:" opt; do
     case "$opt" in
+	a) RPM_ARCH="$OPTARG";;
 	c) CROSS_COMPILE="$OPTARG" ;;
 	h) usage ;;
 	*) echo "$0: Invalid option '$opt'" 1>&2 ; usage ;;
@@ -44,6 +45,10 @@ if [ -z "$CROSS_COMPILE" ]; then
     exit 1
 fi
 
+if [ -z "$RPM_ARCH" ];then
+	RPM_ARCH=$CROSS_COMPILE
+fi
+
 # Find the ELDK cross-rpm to use
 ELDK_RPM=`which ${CROSS_COMPILE}rpm 2>/dev/null`
 
@@ -54,7 +59,7 @@ fi
 
 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/-${RPM_ARCH/%-}//; s/gcc-c++/gcc-cpp/" | \
 while read pkg ; do
     summary=`${ELDK_RPM} -q --qf "%{SUMMARY}" ${pkg}`
     if [ "$pkg" = "busybox" ]; then
-- 
1.6.3.3



More information about the eldk mailing list