Hi all, is there a way for two different, arch-specific packages (from the same source package) to share an identical file (script)?
This works for "Multi-Arch: same" packages: $ dpkg -S /usr/share/doc/libwine/changelog.Debian.gz libwine:i386, libwine:amd64: /usr/share/doc/libwine/changelog.Debian.gz But if I try [1] the same for two different packages I end up with only one package being the owner: $ dpkg -S /usr/lib/wine/wineserver wine32:i386: /usr/lib/wine/wineserver Instead of [fictious output following]: $ dpkg -S /usr/lib/wine/wineserver wine32:i386, wine64:amd64: /usr/lib/wine/wineserver Background: See #932201. In src:wine we have two M-A: foreign packages: pkg:wine64 (built on some 64-bit architectures) pkg:wine32 (built on some 32-bit architectures) Both build and install a "wineserver" binary, which we install as /usr/lib/wine/wineserver32 or wineserver64. We call that binary from a script [2] /usr/lib/wine/wineserver which currently is in pkg:wine (arch:all), which is only "recommended" [3] by pkg:wine32 or pkg:wine64. Since the wineserver{32|64} file is not found by the Wine code, these filenames are broken without our wineserver script. So I'd like to move that script to pkg:wine32 and pkg:wine64. Thanks and greets jre [1] I get both wine32 and wine64 to install with these breaks/replaces: Package: wine32 Architecture: any-i386 any-powerpc armel armhf Multi-Arch: foreign Breaks: wine64VERSION (<< ${binary:Version}) Replaces: wine64VERSION Package: wine64 Architecture: amd64 arm64 Multi-Arch: foreign Breaks: wine32VERSION (<< ${binary:Version}) Replaces: wine32VERSION ... but then the "shared" wineserver script is only owned by one package. Without this unversioned "replaces" dpkg refuses to overwrite the (identical) script [2] There are also unrelated reasons for having this script. Otherwise I'd dpkg-divert the 32-bit wineserver in favor of the 64-bit one, which would perfectly match the way Wine works (Wine uses the 32-bit wineserver only for pure 32-bit installations, but the 64-bit server for mixed and 64-bit installations). I could dpkg-divert the script, but that looks like a workaround, not a solution, to me. [3] pkg:wine already "depends" on pkg:wine32|wine64, so to avoid a circular dependency I can't also "depend" the other way round. The only solution here would be to make a separate arch:all pkg:wineserver which only has the wineserver script, and let pkg:wine32 and pkg:wine64 "depend" on that. While this would be a clean solution, it seems to be excessive to ship only one small wrapper script in a separate package. Thanks and greets jre