automatically cross-grading lib32nss-mdns to libnss-mdns:i386?
nss-mdns/unstable is currently available in these flavours:
libnss-mdns:any (contains a native binary)
lib32nss-mdns:amd64 (contains an i386 binary)
My goal is that when amd64 users with both packages do a dist-upgrade to
jessie, if they have the i386 foreign architecture, they receive
libnss-mdns:amd64 and libnss-mdns:i386, plus whatever transitional
packages are needed to make that transition work. I expect that "most"
lib32nss-mdns users installed it for Wine's benefit (having libnss-mdns
but not lib32nss-mdns used to break DNS for 32-bit things, which appears
to be a long-since-fixed glibc bug), so they'll have the i386 foreign
architecture already.
In nss-mdns/experimental, I tried this:
Package: libnss-mdns
Architecture: any
Multi-Arch: same
Package: lib32nss-mdns
Architecture: i386
Depends: libnss-mdns (= ${binary:Version})
Description: ... transitional package ...
hoping that apt would automatically cross-grade lib32nss-mdns:amd64 to
lib32nss-mdns:i386, pulling in libnss-mdns:i386 as a dependency.
However, when I installed those packages in a local apt repository and
upgraded a VM that tracks that repository, it turns out that doesn't
actually work.
If cross-architecture dependencies are allowed in the archive (and don't
break dak or britney) these days, then it's easy:
Package: libnss-mdns
Architecture: any
Multi-Arch: same
Package: lib32nss-mdns
Architecture: amd64
Depends: libnss-mdns:i386 (= ${binary:Version})
Description: ... transitional package ...
I thought I remembered an announcement that cross-arch dependencies were
OK for jessie, but I couldn't find it, so that might just be wishful
thinking?
The only other option I can think of is to imitate Wine:
Package: libnss-mdns
Architecture: any
Multi-Arch: same
Package: lib32nss-mdns
Architecture: amd64
Depends: libnss-mdns-i386 (= ${binary:Version})
Description: ... transitional package ...
Package: libnss-mdns-i386
Architecture: i386
Depends: libnss-mdns (= ${binary:Version})
Description: ... transitional package ...
but that requires yet another content-free package, and a trip through
the NEW queue. So, before I upload that: is there a better way?
Thanks,
S
Reply to: