Re: Bug#982868: dpkg-cross generates erronous conflicts on like libc6-amd64:x32-i386-cross
Control: tags -1 + patch
Control: severity -1 serious
Control: clone -1 -2
Control: reassign -2 src:cross-toolchain-base
On Mon, Feb 15, 2021 at 06:01:45PM +0100, Julian Andres Klode wrote:
> Package: libc6-amd64-i386-cross
> Conflicts: libc0.1-i386-i386-cross, libc6-amd64:x32-i386-cross,
>
> The second one is wrong.
Yes, the mangling of arch qualified dependencies is wrong. The cross
suffix is appended to the architecture rather than the package name. I'm
attaching a patch that makes it correctly process arch qualified
dependencies.
> Would be good to get fixed, is RC if those conflicts are really
> needed, but otherwise marking it as important, since not sure.
I concur that it should be fixed for bullseye and thus raise the
severity to serious. Wookey, please downgrade if you disagree.
I'm also cloning a bug for c-t-b as it vendors dpkg-cross including this
bug.
Helmut
diff --minimal -Nru dpkg-cross-2.6.15/debian/changelog dpkg-cross-2.6.15/debian/changelog
--- dpkg-cross-2.6.15/debian/changelog 2020-06-22 05:55:01.000000000 +0200
+++ dpkg-cross-2.6.15/debian/changelog 2021-02-15 17:36:34.000000000 +0100
@@ -1,3 +1,9 @@
+dpkg-cross (2.6.15-3.2) UNRELEASED; urgency=medium
+
+ * Fix converstion of arch qualified relations. (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de> Mon, 15 Feb 2021 17:36:34 +0100
+
dpkg-cross (2.6.15-3.1) unstable; urgency=medium
* Non-maintainer upload.
diff --minimal -Nru dpkg-cross-2.6.15/dpkg-cross dpkg-cross-2.6.15/dpkg-cross
--- dpkg-cross-2.6.15/dpkg-cross 2020-06-21 21:28:46.000000000 +0200
+++ dpkg-cross-2.6.15/dpkg-cross 2021-02-15 17:36:34.000000000 +0100
@@ -1358,7 +1358,12 @@
my $name = $1;
return () if grep { $_ eq $name } @removedeps;
return $str if grep { $_ eq $name } @keepdeps;
- $str =~ s/^([^ (]+)/$name-$arch-cross/;
+ if ($name =~ /^([^:]*):(.*)/) {
+ my $replacement = "$1-$2-cross";
+ $str =~ s/^[^ (]+/$replacement/;
+ } else {
+ $str =~ s/^([^ (]+)/$name-$arch-cross/;
+ }
return $str;
}
Reply to: