Applying packageset exceptions transitively

Iain Lane laney at
Fri May 15 15:58:21 UTC 2020

I've been considering one of the recent exception requests that
S├ębastien made (add yaru-theme to ubuntu-desktop). The request itself is
obviously correct IMO, but after looking into it a bit I think that the
packageset maintenance scripts should handle this class of cases without
an exception. Here's what happens, using the yaru-theme example but this
will apply more generally.

yaru-theme is put into desktop-core because it is depended on by
gnome-shell-common which is itself in desktop-core, according to
germinate and AFAICS correctly.

But gnome-shell-common is built from the gnome-shell source package
which *does* have an exception to be put into ubuntu-desktop.

packageset-report should do the following

  - Look at the 'why' field output by germinate
  - This references a binary package. Resolve that to a source package.
    This information is also in the germinate output.
  - Check if the source package is the subject of an exception. If so,
    apply the exception to the current package too.

I've got a branch which implements a first cut at this

I know this isn't finalised yet. It works for the yaru-theme case, but
there are also some others which are IMO still incorrect, like mozjs68.
To fix those, I need to make the above algorithm apply repeatedly so
that exceptions to entire trees of dependencies rather than just the
first level.

Attached are two files. 'changes' is a raw list of the changes that
would be executed if you run my version of packageset. 'changes-diff' is
a diff wrt. the current version of packageset, i.e. it includes the
extra changes by applying single-step dependency resolution.

Would appreciate your thoughts and ideally a green light to go ahead and
finish the branch up. (While I'm there, I would also port the scripts to
python3 but in a separate commit.)

FWIW, I think it would be an improvement if you were to commit the
results of either the current version of packageset or (preferred) my


Iain Lane                                  [ iain at ]
Debian Developer                                   [ laney at ]
Ubuntu Developer                                   [ laney at ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <>

More information about the Devel-permissions mailing list