I don't know if this post makes sense at all, but I'll share some 
thoughts about how we make composes for Fedora repositories. Maybe 
someone could clarify some things to me and I'll discover my knowledge 
is wrong.

So, I was looking at what I consider an inefficient use of disk space 
for our repositories. At the best of my knowledge, a compose is made by 
taking all latest builds tagged in a specific koji tag (say 
f43-updates), copying the RPMs in a folder and generating the repository 
metadata used by dnf to list and find those builds.

What I consider inefficient is that every subsequent compose will copy 
the same RPM again if the package got no new builds.
So, for example in the 20260610 compose [1] we have have:
/compose/updates/Fedora-43-updates-20260610.0/compose/Everything/x86_64/os/Packages/0
with a 0ad-data-0.28.0-1.fc43.noarch.rpm which is 1.5GB.

The next day we have 20260611 compose [2] with
/compose/updates/Fedora-43-updates-20260611.0/compose/Everything/x86_64/os/Packages/0
with the same 0ad-data-0.28.0-1.fc43.noarch.rpm which occupy another 1.5GB.

And so on. Can't we just use a single 
'compose/Everything/x86_64/os/Packages/' directory for storing RPMs with 
multiple 'compose/Everything/x86_64/os/repodata' for the repodata? Is it 
just the way we do composes, a limitation of RPM/pungi/whatever or is 
there a compelling reason to do that (and I'm just barking at the moon)?

My idea is that if we could save those resources we may think at 
creating composes with the latest 2 or 3 builds of a package in that 
Koji tag, so that a 'dnf downgrade' command can work as expected.

Mattia

[1] 
https://kojipkgs.fedoraproject.org/compose/updates/Fedora-43-updates-20260610.0/compose/Everything/x86_64/os/
[2] 
https://kojipkgs.fedoraproject.org/compose/updates/Fedora-43-updates-20260611.0/compose/Everything/x86_64/os/


-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to