Bug#370720: virtual-package-depends-without-real-package-depends is bodus
Russ Allbery writes:
> martin f krafft <madduck@debian.org> writes:
>
> > Package: lintian
> > Version: 1.23.21
> > Severity: normal
>
> > W: mdadm: virtual-package-depends-without-real-package-depends recommends: mail-transport-agent
> > N:
> > N: The package declares a depends on a virtual package without listing a
> > N: real package as an alternative first.
> > N:
> > N: A real package should be listed in the first part of the | dependency
> > N: in order for the package to be installable by package management
> > N: programs that can't or won't guess which alternative to select by
> > N: default. In particular, it helps build daemons rebuild the package
> > N: without manual overrides.
> > N:
> > N: Refer to Policy Manual, section 7.4 for details.
>
> > This makes no sense. Build daemons are only concerned about
> > build-depends, and there isn't one package management programme in
> > Debian that can't pick an alternative.
>
> > Please at least don't show this warning for recommends/suggests.
>
> If package A Build-Depends on package B which in turn then Depends on
> virtual package C, I can see two possibilities: either the package system
> will want to prompt someone for what package to install, which won't work
> because it's non-interactive, or the installed package to satisfy the
> dependency on virtual package C will be chosen essentially at random. The
> latter leaves open the possibility that a different choice will be made
> next time, meaning that we no longer have a consistent and reproducible
> build environment. That strikes me as bad, although I'm not sure it's bad
> enough to warrant the lintian warning. I'd at least want to see some more
> discussion of that first.
>
Since you ask for discussion :-).
I just got this lintian warning (I replaced emacs21 | xemacs21 by
emacsen in my depends field) and I have a little complaint as
well. Policy Manual, section 7.4 does not say that a real package must
be included in the dependency. It just says "The effect is as if the
package(s) which provide a particular virtual package name had been
listed by name everywhere the virtual package name appears".
I understand the usefulness of this requirement but then shouldn't the
Policy Manual be updated to say this?
thanks
k
Reply to: