Comment 5 for bug 1524480

Martin Pitt (pitti) wrote :

Discussed on IRC some more. Summary:
 - Dropping the Breaks: from the theme packages and using a versioned Depends: plymouth is semantically equivalent but should avoid the deconfigure (to be confirmed)
 - We should fix all the themes' prerm to accept "deconfigure" to fix future upgrades.
 - The above should avoid having to SRU all themes (as this wouldn't guarantee successful upgrades).

IRC discussion for the record:

08:15:03 pitti | didrocks: do you know, does that only affect lubuntu-logo for some reason, or a gazillion other themes too? I. e. the mutual Breaks:
08:15:16 pitti | mutual Breaks: forces "deconfigure", i. e. I wonder if we can avoid that somehow
08:17:07 didrocks | hey pitti! I'm afraid that's pretty much global, indeed
08:17:38 didrocks | pitti: as most of the themes seems to be copy and paste and they copied a wrong prerm
08:18:08 didrocks | yeah, the Breaks/Replaces is just about the moving files, to ensure we don't end up for partial upgrade with an non working theme
08:18:09 pitti | didrocks: oh, so that's not just plymouth's prerm, but *all* prerms of logo packages?
08:18:34 didrocks | pitti: yeah, plymouth prerm is fine (let me confirm in a minute), it's the ones in the logo packages for sure at least
08:18:42 didrocks | and most of them are copy/paste :/
08:18:47 pitti | didrocks: so instead of SRUing all logo packages and plymouth itseslf, it seems easier to me to just drop the Breaks: of the logo packages in xenial?
08:19:18 didrocks | yeah, that would be slightely incorrect, but there is nothing else anyway that should call deconfigure on those packages
08:19:21 pitti | didrocks: oh, ok, I misinterpreted the log, it's indeed not plymouth itself
08:19:32 pitti | didrocks: right, which is how it got unnoticed for so long
08:19:37 didrocks | we should still fix them in xenial though, so that this doesn't happen in the future
08:19:39 didrocks | well, years :p
08:19:52 didrocks | some packages were untouched since 2010/2011…
08:19:55 pitti | didrocks: curiously I had exactly the same case for ifupdown and udev two days ago (mutual Breaks:, missing deconfigure in udev.prerm)
08:20:22 pitti | didrocks: yes; so my proposal is to fix all the logo packages in xenial with (1) teaching prerm about deconfigure, and (2) dropping the Breaks: to fix upgrades
08:20:27 didrocks | I don't know why people are doing this *) echo "Call with unknown parameter; exit 1
08:20:41 pitti | didrocks: I had that too; I think that was in some standard templates
08:20:55 pitti | but that's a bit overzealous indeed
08:20:59 didrocks | pitti: as most cases are empty anyway, I would suggest we drop that
08:21:01 didrocks | yeah
08:21:22 didrocks | so yeah, we can workaround and avoid the SRU by removing the Breaks
08:21:28 didrocks | (in plymouth)
08:21:36 pitti | didrocks: oh, in plymouth, not in the logo packages?
08:21:45 didrocks | the Breaks in plymouth against logo packages
08:21:46 pitti | didrocks: you should drop it on the side which has the Replaces:, not the other one
08:21:58 didrocks | there is no Replaces
08:22:00 didrocks | just Breaks
08:22:25 didrocks | basically, new plymouth needs themes in /usr/share instead of /lib
08:22:26 pitti | Replaces: lubuntu-plymouth-theme, plymouth (<< 0.8.1-1~)
08:22:36 pitti | oh, I see, that's much older, not from this transition
08:22:39 didrocks | yeah
08:22:51 didrocks | the breaks is just to ensure we don't install new logo without new plymouth
08:22:54 didrocks | and vice-versa
08:23:13 pitti | didrocks: that could also become a versioned depends: on the logo (which is simpler)
08:23:33 pitti | i. e. Depends: plymouth + Breaks: plymouth (<< 0.9.2-3ubuntu1~) == Depends: plymouth (>= 0.9.2-3ubuntu1~)
08:23:46 pitti | (was looking at plymouth-theme-lubuntu-logo)
08:23:54 didrocks | but if you upgrade plymouth alone
08:24:01 didrocks | you are in a "broken" situation
08:24:07 didrocks | (for some definition of broken, for sure ;))
08:24:18 pitti | didrocks: yes, that's why I think we should keep the Breaks: on plymouht and drop it from the themes
08:24:46 didrocks | the breaks in plymouth won't force deconfigure in -logo?
08:24:57 pitti | didrocks: only a mutual Breaks: forces that
08:25:07 pitti | didrocks: if it's one-sided, the broken package gets upgraded first
08:25:14 didrocks | oh didn't know that, was thinking one way was enough if plymouth was going to get configured first
08:25:17 didrocks | ok
08:25:25 didrocks | so apt reorders
08:25:27 didrocks | making sense
08:25:47 pitti | didrocks: but if both packages break each other, there is no order which would always be consistant, so apt randomly picks one package, deconfigures that, and upgrades both
08:25:48 didrocks | I can handle it then
08:25:53 didrocks | indeed
08:26:11 didrocks | we should maybe at some point scan the archive to see if this broken template is used elsewhere
08:26:15 pitti | didrocks: I *think*, plymouth breaks: theme (<< version) and theme Depends: plymouth (>= version) should work
08:26:29 didrocks | yeah, worth a try anyway :)