Source: nfs-ganesha
Version: 6.5-3+b1
Severity: serious
Justification: may cause an unpack error from dpkg

Hi,

the use of Multi-Arch in nfs-ganesha is wrong on multiple accounts.

Multi-Arch: foreign says that the interface provided to other packages
is architecture-independent. However, nfs-ganesha is able to load
plugins packages in nfs-ganesha-* as shared libraries via dlopen. This
is an architecture-dependent interface. nfs-ganesha must not be marked
Multi-Arch: foreign. It is a prime example where Multi-Arch: allowed is
appropriate.

The actual plugins also wrongly use Multi-Arch. The generation of manual
pages is not reproducible across architectures. Therefore the manual
page is architecture-dependent. As it also uses an architecture-indepent
path, this may cause an unpack error from dpkg when attempting to
coinstall plugins. Such an installation failure is a release-critical
bug.

nfs-ganesha-gluster
 * /usr/share/man/man8/ganesha-gluster-config.8.gz
nfs-ganesha-gpfs
 * /usr/share/man/man8/ganesha-gpfs-config.8.gz
nfs-ganesha-proxy-v4
 * /usr/share/man/man8/ganesha-proxy-v4-config.8.gz
nfs-ganesha-rgw
 * /usr/share/man/man8/ganesha-rgw-config.8.gz
nfs-ganesha-vfs
 * /usr/share/man/man8/ganesha-vfs-config.8.gz

Since they are to be loaded into nfs-ganesha and there can only be one
nfs-ganesha at a time, Multi-Arch: same does not support any practical
use case. Rather than improving the generation of manual pages, I
recommand dropping Multi-Arch from these packages.

For nfs-ganesha itself, I think the safe answer for trixie is to also
drop Multi-Arch. Multi-Arch: allowed is also ok, but may not be the best
solution, because the only architecture-dependent use of nfs-ganesha may
be internal via its plugins. An alternative here (not for trixie) would
be to create an alibi package nfs-ganesha-plugin-abi that happens to be
Arch:any + M-A:no such that nfs-ganesha and all plugins depend on. Doing
so ensures that they're all installed for the same architecture. Then
nfs-ganesha itself may become M-A:foreign again arguing that use of the
plugin interface requires a dependency on nfs-ganesha-plugin-abi.

TL;DR: Please drop all Multi-Arch headers except for nfs-ganesha-doc.

Helmut

Reply via email to