[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#619400: patch providing support for



This patch allows dpkg-cross to handle packages which use multiarch
paths for libraries but are not yet marked co-installable with
Multi-Arch: field.

Index: dpkg-cross
===================================================================
RCS file: /cvsroot/dpkg-cross/dpkg-cross/dpkg-cross,v
retrieving revision 1.86
diff -u -r1.86 dpkg-cross
--- dpkg-cross	26 Mar 2011 13:43:41 -0000	1.86
+++ dpkg-cross	30 Mar 2011 12:32:41 -0000
@@ -55,12 +55,19 @@
 
 =head1 SYNOPSIS
 
- dpkg-cross [ -v | --verbose ] [ -q | --quiet ] [ -A | --convert-anyway ]
- [ -X | --exclude PACKAGE ] [ -k | --keep-temp ] { -i | --install 
- | -b | --build | -r | --remove | --purge | -s | --status | -l | --list 
- | -L | --list-files | -u | --update | -Q | --query } 
- { -a | --arch architecture} package [package ... ]
-
+ dpkg-cross [OPTIONS] [--install|-i] <files...>
+ dpkg-cross [OPTIONS] [--build|-b] <files...>
+ dpkg-cross [OPTIONS] [--remove|--purge|-r] <packages...>
+ dpkg-cross [OPTIONS] [--status|-s] <packages...>
+ dpkg-cross [OPTIONS] [--list|-l] <packages...>
+ dpkg-cross [OPTIONS] [--list-files|-L] <packages...>
+ dpkg-cross [OPTIONS] [--query|-Q] <pkgpath>
+ dpkg-cross [OPTIONS] [--update|-u] <pkgpath>
+ 
+ OPTIONS: [ -v | --verbose ] [ -q | --quiet ] 
+ { [ -a | --arch ] architecture } { [ -X | --exclude ] PACKAGE } 
+ [ -A | --convert-anyway ] [ -M | --convert-multiarch ]  [ -k | --keep-temp ] 
+ 
 =cut
 
 =head1 DESCRIPTION
@@ -522,7 +529,7 @@
 			$multiarchpackage=1;
 		} else {
 			my $output = basename ($package);
-			warn sprintf(_g("%s: Skipping the '%s' Multi-Arch package.\n"), $progname, $output);
+			warn sprintf(_g("%s: Skipping Multi-Arch package '%s'.\n"), $progname, $output);
 			if (not -f $output) {
 				open(CP, "$package");
 				my @cp=<CP>;
@@ -737,6 +744,10 @@
 		chomp;
 		s/^$src//;
 		/^DEBIAN/ && next;
+		# if we have library files on multiarch paths, treat deb like a multiarch package
+		if (m:^(/usr)?/lib/\Q$crosstype/\E:) { 
+			$multiarch="\Q$crosstype/\E"
+			}
 		# special support for generated cache data
 		if (m:(/etc/dpkg-cross/cross-config.d/($arch)?/.*):) {
 			&ensure_dir("$dst$1");
@@ -778,10 +789,10 @@
 			# regular file under /usr/include/ or /usr/include/<triplet>
 			link_file("$src$_", "$dst$crossinc/$'") or goto fail;
 		} elsif (m:^/usr/(lib/$multiarch.*\.([hH]|[hH][hH]|[hH][pP][pP]))$:) {
-			# regular .h, .hh, or .hpp file under /usr/lib
+			# regular .h, .hh, or .hpp file under /usr/lib or /usr/lib/<triplet>
 			link_file("$src$_", "$dst$crossdir/$1") or goto fail;
 		} elsif (m:^/usr/lib/$multiarch([^/]+\.[ao])$:) {
-			# regular .a or .o file under /usr/lib
+			# regular .a or .o file under /usr/lib or /usr/lib/<triplet>
 			link_file("$src$_", "$dst$crosslib/$1") or goto fail;
 		} elsif (m:^/usr/lib64/([^/]+\.[ao])$:) {
 			# regular .a or .o file under /usr/lib64

	
Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/



Reply to: