X-Git-Url: http://gitweb/?a=blobdiff_plain;f=pkgmk.in;h=45406c6b5e1d5bdb83dd61d2c8239092b0ea0d8c;hb=174925ab782bcb7a893d56a79b16b8d767eaaf6d;hp=97737dd2b90dc2de4456d2bd6aa0ea55d538df06;hpb=6d244ad0c04f92581dd38203bcad731a88f17d62;p=pkgutils-cross.git

diff --git a/pkgmk.in b/pkgmk.in
index 97737dd..45406c6 100755
--- a/pkgmk.in
+++ b/pkgmk.in
@@ -3,7 +3,10 @@
 #  pkgutils
 # 
 #  Copyright (c) 2000-2005 Per Liden
-#  Copyright (c) 2006-2010 by CRUX team (http://crux.nu)
+#  Copyright (c) 2006-2013 by CRUX team (http://crux.nu)
+#
+#  Patches for crosscompilation by Jose V Beneyto <sepen@crux.nu>
+#  (CRUX-ARM System Team <devel@crux-arm.nu>)
 # 
 #  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
@@ -174,7 +177,7 @@ unpack_source() {
 	for FILE in ${source[@]}; do
 		LOCAL_FILENAME=`get_filename $FILE`
 		case $LOCAL_FILENAME in
-			*.tar.gz|*.tar.Z|*.tgz|*.tar.bz2|*.tbz2|*.tar.xz|*.txz|*.tar.lzma|*.zip|*.rpm)
+			*.tar|*.tar.gz|*.tar.Z|*.tgz|*.tar.bz2|*.tbz2|*.tar.xz|*.txz|*.tar.lzma|*.zip|*.rpm)
 				COMMAND="bsdtar -p -o -C $SRC -xf $LOCAL_FILENAME" ;;
 			*)
 				COMMAND="cp $LOCAL_FILENAME $SRC" ;;
@@ -278,13 +281,13 @@ strip_files() {
 	find . -type f -printf "%P\n" | $FILTER | while read FILE; do
 		case $(file -b "$FILE") in
 		*ELF*executable*not\ stripped)
-			strip --strip-all "$FILE"
+			$STRIP_CMD --strip-all "$FILE"
 			;;
 		*ELF*shared\ object*not\ stripped)
-			strip --strip-unneeded "$FILE"
+			$STRIP_CMD --strip-unneeded "$FILE"
 			;;
 		current\ ar\ archive)
-			strip --strip-debug "$FILE"
+			$STRIP_CMD --strip-debug "$FILE"
 		esac
 	done
 }
@@ -314,6 +317,13 @@ compress_manpages() {
 	done
 }
 
+fix_cross_paths() {
+        # remove the last / from CLFS path if appeared
+        CLFS=${CLFS%*/}
+
+        find $PKG -type f -name '*.la' -exec sed -e "s|$CLFS||g" -e "s|$CROSTOOLS/$CTARGET|/usr|g" -i {} \;
+}
+
 check_footprint() {
 	local FILE="$PKGMK_WORK_DIR/.tmp"
 	
@@ -390,8 +400,9 @@ build_package() {
 		if [ "$PKGMK_NO_STRIP" = "no" ]; then
 			strip_files
 		fi
-		
+
 		compress_manpages
+		fix_cross_paths
 		
 		cd $PKG
 		info "Build result:"
@@ -611,12 +622,6 @@ parse_options() {
 }
 
 main() {
-	# multilib
-	PKGMK_ARCH=64
-	if [ -f ".32bit" ]; then
-		PKGMK_ARCH=32
-	fi
-
 	local FILE TARGET
 	
 	parse_options "$@"