Refreshing the packagesets before the release and how?
Iain Lane
laney at ubuntu.com
Fri Apr 8 13:25:14 UTC 2022
welp, this turned out long, sorry about that
On Fri, Apr 08, 2022 at 08:46:05AM -0400, Jeremy Bicha wrote:
> I agree. Some of those component moves seem kinda wrong. For instance,
> I think webkit2gtk should stay in desktop-core (instead of
> ubuntu-desktop) and I think byobu should stay with ubuntu-server
> (instead of moving to core).
# What the script does
The DMB should use exceptions where it makes sense, where one team is
the clear owner. The script basically has a priority list of seeds,
something like this:
## rules
If a package is seeded in 'core' or 'desktop-core' then it and all of
its dependencies go into that set. Packages in the sets change
dependencies *all the time* (remember this is transitive, the graphs
can get huge) so things get dragged in and out constantly, it's quite
normal.
Some flavours are considered more 'top tier' than others, so if a
package is seeded in one of those then other flavour packagesets don't
get to have it.
The logic for this is here:
https://git.launchpad.net/~developer-membership-board/+git/packageset/tree/pkgset-report.py#n317
# exceptions should work better
A good improvement - but hard, I think it would involve some state
tracking - would be to print out *why* a move is happening ("Package was
in XXX set due to being a dependcy of YYY but now it's not.")
One thing that the script should do but doesn't (didn't last time I
looked): when you apply an exception, packages which were only moved due
to that package should also not move sets. It would need some
recursive/transitive processing of germinate's output. Hypothetical
example:
Package 'desktop' wants to move to 'desktop-core' because another
package in 'desktop-core' starts depending on it. In doing that it
takes its dependency 'desktop-dep1' with it. The script shows this as
both packages being removed from the 'desktop' packageset and moved to
'desktop-core'.
Someone in the DMB decides that this is wrong and 'desktop' should be
maintained by the desktop team. They add 'desktop' to the exceptions
file.
What should happen is that 'desktop-dep1' moves back too, but that
won't happen currently since the script only considers the exceptions
and not other things which only moved because of that exception.
# conclusion
Finally, the script becomes harder to run the longer the gaps between
runs get, because the set of moves gets larger and larger and people
naturally want to examine them all. That's not very feasible for more
than a few moves. IME it was easiest to accept what the script proposes
(each time I chased a move down, something which takes a lot of effort,
I ended up finding it was doing the right thing according to its own
rules), adding any really obvious exceptions, and then be fairly
flexible when people come to you with change requests.
Hope this helps! There's definite improvements that could be made here
for usability. It's a scary thing to run but it gets less scary the more
you do it. And it would be great to get to a place where it's fully
automated.
Cheers,
--
Iain Lane [ iain at orangesquash.org.uk ]
Debian Developer [ laney at debian.org ]
Ubuntu Developer [ laney at ubuntu.com ]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/devel-permissions/attachments/20220408/4935bbff/attachment.sig>
More information about the Devel-permissions
mailing list