complete = complete.substr(1, complete.size()-2);
return complete;
}
- else if (arch == "armel") return "linux-arm";
- else if (arch == "armhf") return "linux-arm";
- else if (arch == "lpia") return "linux-i386";
- else if (arch == "powerpcspe") return "linux-powerpc";
- else if (arch == "uclibc-linux-armel") return "linux-arm";
- else if (arch == "uclinux-armel") return "uclinux-arm";
else if (arch == "any") return "*-*";
else return "linux-" + arch;
}
* apt-pkg/deb/deblistparser.cc:
- negative dependencies need to apply to all architectures,
but those with a specific architecture only apply to this one
+ * apt-pkg/cachefilter.cc:
+ - remove architecture-specific arch to tuple expansion-rules as they lead
+ to the same tuples for different architectures (e.g. linux-arm for arm,
+ armel and armhf) while the dpkg-architecture code uses triples which
+ are different (in the first part, which we omit in our tuples), so e.g.
+ build-dep restrictions for armel ended up effecting armhf as well
-- David Kalnischkies <kalnischkies@gmail.com> Sun, 01 Jul 2012 08:20:57 +0200
TESTDIR=$(readlink -f $(dirname $0))
. $TESTDIR/framework
setupenvironment
-configarchitecture 'amd64'
+configarchitecture 'amd64' 'armel'
buildsimplenativepackage 'pkg-arch-foo' 'amd64' '1.0' 'stable' 'Build-Depends: foo [amd64 !amd64]
Depends: foo [amd64 !amd64]'
Depends: foo [!kfreebsd-any amd64]'
buildsimplenativepackage 'pkg-arch-foo-unrelated-no2' 'amd64' '1.0' 'stable' 'Build-Depends: foo [amd64 !kfreebsd-any]
Depends: foo [amd64 !kfreebsd-any]'
+buildsimplenativepackage 'no-depends' 'armel' '1.0' 'stable' 'Build-Depends: foo [armhf], bar [arm]
+Depends: foo [armhf], bar [arm]'
buildsimplenativepackage 'foo' 'amd64' '1.0' 'stable'
Inst foo (1.0 stable [amd64])
Conf foo (1.0 stable [amd64])' aptget build-dep pkg-arch-foo-unrelated-no2 -s
+testequal 'Reading package lists...
+Building dependency tree...
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep no-depends -s
+# this is not really testing APT - more that dpkg is in line with us
+testequal 'Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+ no-depends:armel
+0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
+Inst no-depends:armel (1.0 stable [armel])
+Conf no-depends:armel (1.0 stable [armel])' aptget install no-depends -s
insertpackage 'unstable' 'arm-stuff' 'armel' '1.0'
insertpackage 'unstable' 'linux-stuff' 'amd64,armel' '1.0'
-insertsource 'unstable' 'apt' 'any' '0.8.15' 'Build-Depends: doxygen, libc6-dev, libc6-dev:native, cool:any, amdboot:amd64, foreigner, libfwibble-dev, arm-stuff [any-arm] | linux-stuff [ linux-any]'
+insertsource 'unstable' 'apt' 'any' '0.8.15' 'Build-Depends: doxygen, libc6-dev, libc6-dev:native, cool:any, amdboot:amd64, foreigner, libfwibble-dev, arm-stuff [any-armel] | linux-stuff [ linux-any]'
insertsource 'unstable' 'forbidden-none' 'any' '1' 'Build-Depends: amdboot:any'
insertsource 'unstable' 'forbidden-same' 'any' '1' 'Build-Depends: libc6:any'
Conf libsame:armel (1 unstable [armel])' aptget -s install libsame:armel
testequal 'Reading package lists...
Building dependency tree...
+E: Unable to locate package libsame' aptget -s install libsame:armhf
+testequal 'Reading package lists...
+Building dependency tree...
The following NEW packages will be installed:
libsame
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.