--- dpkg-1.13.16/debian/archtable	2006-01-18 09:30:03.000000000 +0100
+++ dpkg-1.13.16-my.0/debian/archtable	2006-03-11 16:10:10.000000000 +0100
@@ -24,3 +24,6 @@
 sh-linux-gnu			sh
 sparc-linux-gnu			sparc
 i486-gnu			hurd-i386
+i486-linux-uclibc		i386-uclibc
+arm-linux-uclibc		arm-uclibc
+mipsel-linux-uclibc		mipsel-uclibc
--- dpkg-1.13.16/ostable	2006-01-18 09:30:03.000000000 +0100
+++ dpkg-1.13.16-my.0/ostable	2006-03-11 16:08:04.000000000 +0100
@@ -14,6 +14,7 @@
 #
 # <Debian name>	<GNU name>	<config.guess regex>
 linux		linux-gnu	linux[^-]*(-gnu.*)?
+linux-uclibc	linux-uclibc	linux[^-]*(-uclibc.*)?
 darwin		darwin		darwin[^-]*
 freebsd		freebsd		freebsd[^-]*
 kfreebsd	kfreebsd-gnu	kfreebsd[^-]*(-gnu.*)?
--- dpkg-1.13.16/scripts/dpkg-architecture.pl	2006-01-28 05:29:10.000000000 +0100
+++ dpkg-1.13.16-my.0/scripts/dpkg-architecture.pl	2006-03-12 15:56:44.000000000 +0100
@@ -55,8 +55,14 @@
 sub split_debian {
     local ($_) = @_;
     
+    if (/^([^-]*)-([^-]*)-(.*)/) {
+	return ($3, join("-", $1, $2));
+    }
+    if (/^(hurd)-(.*)/) {
+    	return ($1, $2);
+    }
     if (/^([^-]*)-(.*)/) {
-	return ($1, $2);
+	return (join("-", "linux", $2), $1);
     } else {
 	return ("linux", $_);
     }
