Bug#930519: missing versioned dependencies

Marc Haber mh+debian-packages at zugschlus.de
Sun Jun 16 20:10:25 BST 2019


On Sat, Jun 15, 2019 at 07:30:12PM +0200, Andreas Metzler wrote:
> On 2019-06-14 Marc Haber <mh+debian-packages at zugschlus.de> wrote:
> there are some semi-strict dependencies:
> exim4 requires exim4-base from the same Debian source version and one
>    of the daemon packages (unversioned)
> The daemon packages require exim4-base of at least the same upstream
>    version.
> exim4-base requires exim4-config and Breaks daemon packages of older
>    upstream versions.
> 
> So what we currently have is that exim4, -base, and -daemon-* share the
> same upstream version and exim4 and -base are built from the same source
> (not the same binNMU). 

Yes, that means that only updating exim4 will not pull the daemon.

> You are suggesting to version the exim4 -> daemon dependency like this
> Depends: exim4-daemon-light (>= ${source:Version}) | 
>          exim4-daemon-heavy  (>= ${source:Version}) |
>          exim4-daemon-custom (>= ${source:Version}) 

Yes.

> I see two possible downsides:
> * Theoretically a dumb dependency-resolver might break upgrades,
>   choosing the first alternative instead of checking whether upgrading
>   everything fullfills the dependency. I think we can discount this.
> * The -daemon-custom situation. I think the main reason why the
>   dependencies are as they are is to not enforce a rebuild of
>   exim4-daemon-custom for minor (i.e. Debian-revision) changes. This
>   made a lot of sense when the packaging changed a lot, i.e. there were
>   many uploads that would have produced the same -daemon-custom.
>   Nowadays almost every upload includes a new patch from -fixes so it
>   might make sense to change this,

I think that the usage of the -custom stuff is infinitesimally small.
Heck, even I stopped doing this years ago. People doing this will most
probably follow security themselves, and since they're building
themselves anyway, can relax the versioned dependencies.

> PS: FWIW I do not think the original argument (I did "apt get install
> exim4" and am still CVE-xxx vulnerable) is a weak one. Linux packages
> often and for a long time have split upstream sources into multiple
> binaries. Therefore selective upgrades by "apt-get install somebinary
> would often be incomplete. You'll either need to read every DSA en
> detail and manually compare the list of upgraded/fixed packages with
> installed list or or just do "apt-get upgrade".

I do agree that the original issue is mainly a user error (the advisory
says "update your exim4 packages" (plural)). I am wondering whether we
can something to leverage for stupid users.

Greetings
Marc

-- 
-----------------------------------------------------------------------------
Marc Haber         | "I don't trust Computers. They | Mailadresse im Header
Leimen, Germany    |  lose things."    Winona Ryder | Fon: *49 6224 1600402
Nordisch by Nature |  How to make an American Quilt | Fax: *49 6224 1600421



More information about the Pkg-exim4-maintainers mailing list