>-----Original Message----- >From: Agustin Martin [mailto:agmar...@debian.org] >Sent: Friday, October 03, 2014 12:54 PM >To: David Sanders; 763...@bugs.debian.org >Subject: Re: Bug#763892: aspell-en needs to be Multi-Arch: foreign > >The problem I see above is in aspell-no, which does not use aspell-autobuildhash, and >is an arch:any package that might not work with multiarch. In this particular case, pulled >aspell-no:i386 will use 32 bit sizes and is usable with libaspell15:amd64, but aspell->no:amd64 will not work with current aspell because it was built with 64 bit numbers > >IIRC, Debian aspell maintainer, Brian Nelson, set as policy that all aspell dictionaries >must be automatically built at postinst stage, but do not have the reference here. > >I am cloning this bug report to aspell-no. I think it should use aspell-autobuildhash. As a >lesser evil, should be rebuilt with new aspell to make sure 32 bit numbers are always >used in hash creation and set appropriate versioned dependency on aspell, although >might show some exotic behavior during installation, like the one seen above. > >We might later conclude that all aspell:all dicts need to be set as >"Multi-Arch: foreign", but we should discard aspell-no influence first. >
You have identified an additional problem that I did not see. That is that aspell-no is not compatible with multi-arch as it stands right now. This problem also applies to aspell-da which has the same problem. Bugs with "important" priority need to be filled against these two packages to they can be fixed before the next release. But back to aspell-en. I stand behind my theory that aspell-en and the other aspell-xx packages need to be Multi-Arch: foreign. I should have stated in my original bug report that this was my THEORY. I guess I didn't have my morning coffee. According to: https://wiki.debian.org/Multiarch/Implementation#Multi-Arch:_foreign_support _packages A runtime support package such as a dictionary must be marked Multi-Arch: foreign. According to https://wiki.ubuntu.com/MultiarchSpec The package manager (apt-get) will only install a runtime support package to satisfy a dependency for a foreign architecture if it is marked Multi-Arch: foreign. So an apt-get install libaspell15:i386 installs the Norwegian dictionary aspell-no:i386 because aspell-en (and the other aspell-xx packages) are not eligible to satisfy the dependency on an aspell dictionary due to the lack of Multi-Arch: foreign. To illustrate, consider: david@deb8vm:~/Downloads/aspell$ apt-cache depends libaspell15:i386 libaspell15:i386 Depends: libc6:i386 Depends: libgcc1:i386 Depends: libstdc++6:i386 PreDepends: multiarch-support:i386 multiarch-support Suggests: aspell:i386 |Recommends: <aspell-en:i386> |Recommends: <aspell-dictionary:i386> Recommends: <aspell6a-dictionary:i386> aspell-da:i386 aspell-no:i386 Conflicts: <aspell6-dictionary> Conflicts: <aspell6-dictionary:i386> Breaks: <aspell-bin> Breaks: <aspell-bin:i386> Replaces: libaspell15 Breaks: libaspell15 As you can see there is no install candidate for aspell-en or aspell-dictionary. We have only aspell-da:i386 and aspell-no:i386. Apt-get installs aspell-no:i386. Compare this situation with this: david@deb8vm:~/Downloads/aspell$ apt-cache depends libaspell15 libaspell15 Depends: libc6 Depends: libgcc1 Depends: libstdc++6 PreDepends: multiarch-support multiarch-support:i386 Suggests: aspell aspell:i386 |Recommends: aspell-en |Recommends: <aspell-dictionary> aspell-am aspell-ar aspell-ar-large aspell-bg aspell-br aspell-ca aspell-cs aspell-cy aspell-de aspell-de-alt aspell-el aspell-en aspell-eo aspell-eo-cx7 aspell-es aspell-et aspell-eu-es aspell-fa aspell-fo aspell-fr aspell-ga aspell-gl-minimos aspell-he aspell-hr aspell-hsb aspell-hu aspell-hy aspell-is aspell-it aspell-kk aspell-ku aspell-lt aspell-lv aspell-nl aspell-pl aspell-pt-br aspell-pt-pt aspell-ro aspell-ru aspell-sk aspell-sl aspell-sv aspell-tl aspell-uk aspell-uz Recommends: <aspell6a-dictionary> aspell-da aspell-no Conflicts: <aspell6-dictionary> Conflicts: <aspell6-dictionary:i386> Breaks: <aspell-bin> Breaks: <aspell-bin:i386> Replaces: libaspell15:i386 Breaks: libaspell15:i386 As you see aspell-en and aspell-xx are listed as install candidates for the 64-bit libaspell15 library support files. The problem only involves trying to install the 32-bit library on a 64-bit system. The same problem reappears trying to install libenchant1c2a:i386. In this case there is no aspell install candidate at all (since it doesn't depend on the Norwegian and Danish dictionaries) and the result is that apt-get installs iukrainian:i386. The problem is not with iukrainian but rather with the aspell dictionaries. Hope this helps. This is only a one line change in the spec file for these packages. It is my hope that the maintainers will want to fix the problem. But it could also easily be a NMU. With the freeze on the horizon, there is some urgency to do something now. David -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org