On Thu, 2026-06-11 at 15:36 +0000, Mattia Verga via devel wrote: > 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.
They're not copied. They're hardlinked. https://forge.fedoraproject.org/pungi/pungi/src/commit/6989c9ede0881ecba8798ad0eaaa8fe60a7ff442/pungi/phases/gather/link.py#L66 The default link_type is hardlink-or-copy: https://forge.fedoraproject.org/pungi/pungi/src/commit/6989c9ede0881ecba8798ad0eaaa8fe60a7ff442/pungi/checks.py#L961 and we do not override this in Fedora config. So packages are hardlinked unless they cannot be for some reason (filesystem limitation, usually) in which case *only* they're copied. -- Adam Williamson (he/him/his) Fedora QA Fedora Chat: @adamwill:fedora.im | Mastodon: @[email protected] https://www.happyassassin.net -- _______________________________________________ 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
