Hello everyone,
I would like to make a proposal and start a discussion about Dist Git for Copr.
At the moment, Copr can build packages only from source rpms, which has been uploaded in
advance somewhere in the internet - so if you want to build something, you need your own
file server. As people often delete the sources from their server after the build process,
the builds are no longer easily reproducible. And there is also no history of the
sources.
We would like to use the Dist Git project[1] to store the sources. This would make all
builds reproducible, there would be no need of having a file server to build and we would
have a history of changes to each package.
At first, we would use the Dist Git server as a storage only. Users would not have direct
access. Instead, they would either:
a) upload their source rpms somewhere and use Copr as before (no change in work-flow)
b) submit the source rpms directly into Copr
In both cases, Copr would import ($ fedpkg import) the packages into the Dist Git and
build them from there.
The design of git repos would be:
Repo name: 'user-name/copr-project/pkg-name'
Branch name: 'epel-7', 'fedora-22'
At that moment, we would need a discussion on how to open the Dist Git server to users.
- What would be the best web frontend?
- Could we use Pagure? (used to be progit)
- Which tool would they use?
- How would they authenticate?
There has been some unfinished discussion on
https://fedorahosted.org/fedora-infrastructure/ticket/4564
The main purpouse of this is having a storage for sources, reproducible builds and history
of sources. Eventualy, we can extend it with bug tracking, easy forking and merging and
the other "Git-Hub-like" stuff.
Thanks!
Adam Samalik
[1]
https://github.com/release-engineering/dist-git