[maemo-commits] [maemo-commits] r10155 - in projects/haf/trunk/dpkg: . scripts

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Feb 22 11:48:49 EET 2007
Author: marivoll
Date: 2007-02-22 11:48:48 +0200 (Thu, 22 Feb 2007)
New Revision: 10155

Modified:
   projects/haf/trunk/dpkg/ostable
   projects/haf/trunk/dpkg/scripts/controllib.pl
   projects/haf/trunk/dpkg/scripts/dpkg-architecture.pl
Log:
	* ostable, scripts/controllib.pl, scripts/dpkg-architecture.pl:
	applied triplet.patch that adds ABI information to the output of
	dpkg-architecture and makes it work for gnueabi and armel systems.


Modified: projects/haf/trunk/dpkg/ostable
===================================================================
--- projects/haf/trunk/dpkg/ostable	2007-02-22 09:42:19 UTC (rev 10154)
+++ projects/haf/trunk/dpkg/ostable	2007-02-22 09:48:48 UTC (rev 10155)
@@ -13,11 +13,12 @@
 # system part of the output of the GNU config.guess script.
 #
 # <Debian name>	<GNU name>	<config.guess regex>
-linux		linux-gnu	linux[^-]*(-gnu.*)?
-darwin		darwin		darwin[^-]*
-freebsd		freebsd		freebsd[^-]*
-kfreebsd	kfreebsd-gnu	kfreebsd[^-]*(-gnu.*)?
-knetbsd		knetbsd-gnu	knetbsd[^-]*(-gnu.*)?
-netbsd		netbsd		netbsd[^-]*
-openbsd		openbsd		openbsd[^-]*
-hurd		gnu		gnu[^-]*
+gnueabi-linux	linux-gnueabi	linux[^-]*-gnueabi
+gnu-linux	linux-gnu	linux[^-]*(-gnu)?
+none-darwin	darwin		darwin[^-]*
+none-freebsd	freebsd		freebsd[^-]*
+gnu-kfreebsd	kfreebsd-gnu	kfreebsd[^-]*(-gnu.*)?
+gnu-knetbsd	knetbsd-gnu	knetbsd[^-]*(-gnu.*)?
+none-netbsd	netbsd		netbsd[^-]*
+none-openbsd	openbsd		openbsd[^-]*
+gnu-hurd	gnu		gnu[^-]*

Modified: projects/haf/trunk/dpkg/scripts/controllib.pl
===================================================================
--- projects/haf/trunk/dpkg/scripts/controllib.pl	2007-02-22 09:42:19 UTC (rev 10154)
+++ projects/haf/trunk/dpkg/scripts/controllib.pl	2007-02-22 09:48:48 UTC (rev 10155)
@@ -88,8 +88,12 @@
 {
     local ($os, $cpu) = @_;
 
-    if ($os eq "linux") {
+    if ($os eq "gnu-linux") {
 	return $cpu;
+    } elsif ($os =~ /^(none|gnu)-(.*)/) {
+	return "$2-$cpu";
+    } elsif ("$os-$cpu" eq "gnueabi-linux-arm") {
+	return "armel";
     } else {
 	return "$os-$cpu";
     }
@@ -102,8 +106,10 @@
 	return ($1, $2);
     } elsif (/any/ || /all/) {
 	return ($_, $_);
+    } elsif (/^armel$/) {
+	return ("gnueabi-linux", "arm");
     } else {
-	return ("linux", $_);
+	return ("gnu-linux", $_);
     }
 }
 

Modified: projects/haf/trunk/dpkg/scripts/dpkg-architecture.pl
===================================================================
--- projects/haf/trunk/dpkg/scripts/dpkg-architecture.pl	2007-02-22 09:42:19 UTC (rev 10154)
+++ projects/haf/trunk/dpkg/scripts/dpkg-architecture.pl	2007-02-22 09:48:48 UTC (rev 10155)
@@ -95,19 +95,23 @@
 sub split_debian {
     local ($_) = @_;
     
-    if (/^([^-]*)-(.*)/) {
-	return ($1, $2);
+    if (/^([^-]*)-([^-]*)-(.*)/) {
+	return ($1, $2, $3);
+    } elsif (/^([^-]*)-(.*)/) {
+	return ("gnu", $1, $2);
+    } elsif (/^armel/) {
+	return ("gnueabi", "linux", "arm");
     } else {
-	return ("linux", $_);
+	return ("gnu", "linux", $_);
     }
 }
 
 sub debian_to_gnu {
     local ($arch) = @_;
-    local ($os, $cpu) = &split_debian($arch);
+    local ($abi, $os, $cpu) = &split_debian($arch);
 
-    return undef unless exists($cputable{$cpu}) && exists($ostable{$os});
-    return join("-", $cputable{$cpu}, $ostable{$os});
+    return undef unless exists($cputable{$cpu}) && exists($ostable{"$abi-$os"});
+    return join("-", $cputable{$cpu}, $ostable{"$abi-$os"});
 }
 
 sub split_gnu {
@@ -252,20 +256,22 @@
 &warn(sprintf(_g("Specified GNU system type %s does not match gcc system type %s."), $deb_host_gnu_type, $gcc)) if !($req_is_arch or $req_eq_arch) && ($gcc ne '') && ($gcc ne $deb_host_gnu_type);
 
 # Split the Debian and GNU names
-($deb_host_arch_os, $deb_host_arch_cpu) = &split_debian($deb_host_arch);
-($deb_build_arch_os, $deb_build_arch_cpu) = &split_debian($deb_build_arch);
+($deb_host_arch_abi, $deb_host_arch_os, $deb_host_arch_cpu) = &split_debian($deb_host_arch);
+($deb_build_arch_abi, $deb_build_arch_os, $deb_build_arch_cpu) = &split_debian($deb_build_arch);
 ($deb_host_gnu_cpu, $deb_host_gnu_system) = &split_gnu($deb_host_gnu_type);
 ($deb_build_gnu_cpu, $deb_build_gnu_system) = &split_gnu($deb_build_gnu_type);
 
 %env = ();
 if (!$force) {
     $deb_build_arch = $ENV{DEB_BUILD_ARCH} if (exists $ENV{DEB_BUILD_ARCH});
+    $deb_build_arch_abi = $ENV{DEB_BUILD_ARCH_ABI} if (exists $ENV{DEB_BUILD_ARCH_ABI});
     $deb_build_arch_os = $ENV{DEB_BUILD_ARCH_OS} if (exists $ENV{DEB_BUILD_ARCH_OS});
     $deb_build_arch_cpu = $ENV{DEB_BUILD_ARCH_CPU} if (exists $ENV{DEB_BUILD_ARCH_CPU});
     $deb_build_gnu_cpu = $ENV{DEB_BUILD_GNU_CPU} if (exists $ENV{DEB_BUILD_GNU_CPU});
     $deb_build_gnu_system = $ENV{DEB_BUILD_GNU_SYSTEM} if (exists $ENV{DEB_BUILD_GNU_SYSTEM});
     $deb_build_gnu_type = $ENV{DEB_BUILD_GNU_TYPE} if (exists $ENV{DEB_BUILD_GNU_TYPE});
     $deb_host_arch = $ENV{DEB_HOST_ARCH} if (exists $ENV{DEB_HOST_ARCH});
+    $deb_host_arch_abi = $ENV{DEB_HOST_ARCH_ABI} if (exists $ENV{DEB_HOST_ARCH_ABI});
     $deb_host_arch_os = $ENV{DEB_HOST_ARCH_OS} if (exists $ENV{DEB_HOST_ARCH_OS});
     $deb_host_arch_cpu = $ENV{DEB_HOST_ARCH_CPU} if (exists $ENV{DEB_HOST_ARCH_CPU});
     $deb_host_gnu_cpu = $ENV{DEB_HOST_GNU_CPU} if (exists $ENV{DEB_HOST_GNU_CPU});
@@ -273,18 +279,20 @@
     $deb_host_gnu_type = $ENV{DEB_HOST_GNU_TYPE} if (exists $ENV{DEB_HOST_GNU_TYPE});
 }
 
- at ordered = qw(DEB_BUILD_ARCH DEB_BUILD_ARCH_OS DEB_BUILD_ARCH_CPU
+ at ordered = qw(DEB_BUILD_ARCH DEB_BUILD_ARCH_ABI DEB_BUILD_ARCH_OS DEB_BUILD_ARCH_CPU
 	      DEB_BUILD_GNU_CPU DEB_BUILD_GNU_SYSTEM DEB_BUILD_GNU_TYPE
-	      DEB_HOST_ARCH DEB_HOST_ARCH_OS DEB_HOST_ARCH_CPU
+	      DEB_HOST_ARCH DEB_HOST_ARCH_ABI DEB_HOST_ARCH_OS DEB_HOST_ARCH_CPU
 	      DEB_HOST_GNU_CPU DEB_HOST_GNU_SYSTEM DEB_HOST_GNU_TYPE);
 
 $env{'DEB_BUILD_ARCH'}=$deb_build_arch;
+$env{'DEB_BUILD_ARCH_ABI'}=$deb_build_arch_abi;
 $env{'DEB_BUILD_ARCH_OS'}=$deb_build_arch_os;
 $env{'DEB_BUILD_ARCH_CPU'}=$deb_build_arch_cpu;
 $env{'DEB_BUILD_GNU_CPU'}=$deb_build_gnu_cpu;
 $env{'DEB_BUILD_GNU_SYSTEM'}=$deb_build_gnu_system;
 $env{'DEB_BUILD_GNU_TYPE'}=$deb_build_gnu_type;
 $env{'DEB_HOST_ARCH'}=$deb_host_arch;
+$env{'DEB_HOST_ARCH_ABI'}=$deb_host_arch_abi;
 $env{'DEB_HOST_ARCH_OS'}=$deb_host_arch_os;
 $env{'DEB_HOST_ARCH_CPU'}=$deb_host_arch_cpu;
 $env{'DEB_HOST_GNU_CPU'}=$deb_host_gnu_cpu;


More information about the maemo-commits mailing list