severity 310796 critical # Justification: breaks unrelated packages tags 310796 - experimental tags 310796 + patch thanks
Recent update of dpkg in unstable renders type-handling totaly unusable, and thus breaking packages using it. There are two problems, the first one (#310796) is dpkg-architecture not providing a list of cpus and systems anymore. This is fixed in the attached patch. The other one is the change in DEB_*_GNU_CPU from "i386" to "i486". Since many packages (including t-h itself in debian/rules, IIRC) used "i386", this is broken now. I suggest adding a transitional s/i.86/i486/g regexp somewhere. -- Robert Millan
--- type-handling-0.2.11.old/type-handling 2005-03-17 11:46:45.000000000 +0100 +++ type-handling-0.2.11/type-handling 2005-06-13 11:08:48.000000000 +0200 @@ -1,10 +1,7 @@ #!/bin/sh -e -all_types=`dpkg-architecture --help 2>&1 | grep "^Known GNU" | \ - cut -d " " -f 6- | sed "s/, / /g"` - -all_cpus=`echo ${all_types} | tr " " "\n" | cut -d "-" -f 1 | sort | uniq` -all_systems=`echo ${all_types} | tr " " "\n" | cut -d "-" -f 2- | sort | uniq` +all_cpus=`grep -v ^# /usr/share/dpkg/cputable | (while read debian gnu regex ; do echo ${gnu} ; done)` +all_systems=`grep -v ^# /usr/share/dpkg/ostable | (while read debian gnu regex ; do echo ${gnu} ; done)` if [ "$#" = "0" ] ; then echo "Known cpus: `for i in ${all_cpus} ; do echo -n $i\ ; done`" @@ -32,9 +29,6 @@ shift done -# linux-gnu is an alias for linux, normalise it first of all. -systems="`echo ${systems} | sed "s/linux-gnu/linux/g"`" - # check if we have a cached result for this if test -e "/usr/share/type-handling/${cpus}:${systems}" \ && [ ":${TYPE_HANDLING_BOOTSTRAP}" = ":" ] \