#5967: Enable source repo generation -------------------------+------------------------ Reporter: mizdebsk | Owner: rel-eng@… Type: enhancement | Status: new Milestone: | Component: koji Keywords: | Blocked By: Blocking: | -------------------------+------------------------ Please enable source repository generation in kojira, at least for rawhide (currently f22-build).
Justification: There are many use cases which require access to YUM source repository. One of them is Koschei (a continous rebuild service), which requires SRPM repo for resolving package build-dependencies.
Implementation of this feature should be simple - it just involves editing kojira.conf file
#5967: Enable source repo generation --------------------------+----------------------- Reporter: mizdebsk | Owner: rel-eng@… Type: enhancement | Status: new Milestone: | Component: koji Resolution: | Keywords: meeting Blocked By: | Blocking: --------------------------+----------------------- Changes (by till):
* keywords: => meeting
#5967: Enable source repo generation --------------------------+----------------------- Reporter: mizdebsk | Owner: rel-eng@… Type: enhancement | Status: new Milestone: | Component: koji Resolution: | Keywords: meeting Blocked By: | Blocking: --------------------------+-----------------------
Comment (by till):
Discussed in http://meetbot.fedoraproject.org/meetbot/fedora- meeting-1/2014-09-08/
#5967: Enable source repo generation --------------------------+----------------------- Reporter: mizdebsk | Owner: rel-eng@… Type: enhancement | Status: new Milestone: | Component: koji Resolution: | Keywords: meeting Blocked By: | Blocking: --------------------------+-----------------------
Comment (by ausil):
msimacek can you please attend the releng meeting at 14:30 UTC so we can discuss this please.
#5967: Enable source repo generation --------------------------+----------------------- Reporter: mizdebsk | Owner: rel-eng@… Type: enhancement | Status: new Milestone: | Component: koji Resolution: | Keywords: meeting Blocked By: | Blocking: --------------------------+-----------------------
Comment (by mizdebsk):
Replying to [comment:3 ausil]:
msimacek can you please attend the releng meeting at 14:30 UTC so we can
discuss this please.
Today there's a public holiday in Czech Republic, so I don't think msimacek will be there, but I can attend to the meeting instead.
#5967: Enable source repo generation --------------------------+----------------------- Reporter: mizdebsk | Owner: rel-eng@… Type: enhancement | Status: new Milestone: | Component: koji Resolution: | Keywords: meeting Blocked By: | Blocking: --------------------------+-----------------------
Comment (by mizdebsk):
Koschei prioritizes package rebuilds according to changes in build dependency tree. After new repo for f22-build is generated, Koschei has to calculate differences in build deps between previous and newly generated repo, for all packages it tracks.
Koschei generates package build dependency tree using hawkey library, which is also used by DNF. Hawkey works with YUM metadata. In this case metadata for both source and binary packages is needed. Source repo contains the SRPM and info about its build requires, binary repo contains dependency info for all RPMs which may be transitive build deps. For binary repository Koschei simply downloads metadada for f22-build from Koji, but there is no repo for source RPMs, so Koschei has to construct it by itself. To do this it downloads SRPMs from Koji and runs createrepo_c on them.
Current solution works, but it has disadvantages:
* extra storage required for SRPMs (about 46 GiB), * SRPMs have to be transfered from Koji over network, * extra code has to be maintained.
We can keep current solution, but enabling source repo generation for f22-build would make things considerably simpler. Additionally I think such repository could be used in other ways too and as such it would be worth enabling.
One problem mentioned during the meeting was arch-dependant SRPMs (SRPMs which have different contents depending on what architecture they have been built). SRPM contents depend not only on architecture, but a number of other things too. Theoretically spec file can contain line like: {{{ %{lua: if(os.time()%2==0) then print("BuildRequires: foo"); end} }}} which will add BuildRequires semi-randomly. I think that there is no way to properly fix all such cases. If some package has non-deterministic build then it's a problem in that package and we shouldn't try to workaround it.
#5967: Enable source repo generation --------------------------+----------------------- Reporter: mizdebsk | Owner: rel-eng@… Type: enhancement | Status: closed Milestone: | Component: koji Resolution: wontfix | Keywords: meeting Blocked By: | Blocking: --------------------------+----------------------- Changes (by ausil):
* status: new => closed * resolution: => wontfix
Comment:
due to the high cost of having the srpm repos and the issues that exist. releng does not see enough benefit at this time to fulfil this request
rel-eng@lists.fedoraproject.org