bodhi
bodhi copied to clipboard
Old deltarpms need to be copied into each new compose
Currently, we are throwing away any deltarpms not created in the current compose. Instead, after generating the new deltarpms, we should copy over all deltarpms from the previous compose and then remove any that are now obsolete.
Mash used to do this, but, since mash was retired, it's just not been done. See fedora-infrastructure ticket #7008 for some background.
This may be an issue in Pungi. @lubomir what do you think?
Ah, looks like there is some discussion about this in https://pagure.io/fedora-infrastructure/issue/7008. It sounds like there is some uncertainty about how to do this.
I can somewhat see the point of view that pungi should just compose/know about exactly the release/branch its doing a compose for and not other composes... but also it seems strange to put the logic in bodhi because it should not know about specific drpms.
I wonder if it's time to de-couple the drpms from pungi and have a new tool that makes them async from bodhi / pungi. That seems like a lot of potential work however.
I agree with @nirik that a separate tool would be best. Right now Pungi creates the deltas by just telling createrepo_c
to do it, but it makes it run longer. I'm not very happy about copying the old deltas in Pungi's createrepo phase. Honestly I would like to remove all the deltas from there. Even that feels out of place.
I tried playing with createrepo_c and it does not seem to be able to just add deltas into an existing repo, so we would indeed need to create something new for that. I would love to see something that would get a path to a repo, paths to directories with older packages and possibly path to older deltas, and it would create new deltas, copy usable old ones and finally atomically update the repodata.
Any suggestions to make progress in this area? It is a waste currently...
Delta RPMs reduced 491.3 MB of updates to 485.4 MB (1.1% saved)
Fedora has practically NO delta rpm support. :(
For people with zero knowledge in the problem, is there a diagram how the package publishing process works right now, and where is the place for deltarpm
?