[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Handling Multi-Arch packages that must be installed for every enabled architecture?



On Fri, 24 Jun 2016 at 23:01:21 -0700, Josh Triplett wrote:
> Some packages, if installed on any architecture, must be installed for
> every enabled architecture.  Most notably, an NSS or PAM module package,
> if enabled in /etc/nsswitch.conf or /etc/pam.d respectively, must exist
> for every enabled architecture to avoid breaking programs for that
> architecture.

This might well be true for PAM. For NSS, it used to be true, but based
on work I did on nss-mdns a while ago, I'm reasonably sure that was a
glibc bug that was later fixed. (See
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479144>.)

> As one possible solution for this problem (but not an ideal one, just a
> thought experiment), dpkg could support a new value for "Multi-Arch",
> "Multi-Arch: every".

A flag to indicate "keep this in sync across architectures" seems a
good idea, but I think this is perhaps a job for apt rather than dpkg
(and apt will need to understand it anyway). Using a separate field
would avoid the need to add the field to dpkg, wait for a new stable,
and only then start adding it to packages.

Perhaps something more like this? (I don't really like the field name,
but it's the best I could think of right now.)

    Package: libpam-whatever
    Multi-arch: same
    Follow-architectures-of: libpam0g

which would mean: if you install libpam-whatever:amd64, you have
amd64, i386 and armhf architectures enabled in dpkg, and you have
libpam0g:amd64 and libpam0g:i386 but not libpam0g:armhf, then
libpam-whatever:i386 (only) is also automatically selected for
installation; and if you subsequently enable arm64 and install
libpam0g:arm64, then libpam-whatever:arm64 is also
automatically selected?

    S


Reply to: