Dist Git for Copr

2015-05-06 Thread Adam Samalik
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
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure

Re: Dist Git for Copr

2015-05-06 Thread Vít Ondruch
Dne 6.5.2015 v 12:31 Adam Samalik napsal(a):
>   Branch name: 'epel-7', 'fedora-22'
>
>

Can we stick to Fedora's dist-git branch name conventions please?


Thanks


Vít
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure

Re: Dist Git for Copr

2015-05-06 Thread Adam Samalik
Sorry, the message I wanted to say was "git repos would represent packages and 
branches would represent platforms". So yes, I agree, the branch names should 
be the same as in Fedora.

Adam

- Original Message -
From: "Vít Ondruch" 
To: infrastructure@lists.fedoraproject.org
Sent: Wednesday, May 6, 2015 1:25:04 PM
Subject: Re: Dist Git for Copr

Dne 6.5.2015 v 12:31 Adam Samalik napsal(a):
>   Branch name: 'epel-7', 'fedora-22'
>
>

Can we stick to Fedora's dist-git branch name conventions please?


Thanks


Vít
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure

Re: Dist Git for Copr

2015-05-06 Thread Kevin Fenzi
On Wed, 6 May 2015 06:31:03 -0400 (EDT)
Adam Samalik  wrote:

> Hello everyone,
> 
> I would like to make a proposal and start a discussion about Dist Git
> for Copr.

Sounds good. We had some discussion in tickets, but here is likely a
better place anyhow. ;) 

> 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.

Yeah.

...snip...

> 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.

How about a short term and a longer term plan?

Short term: have copr download and store the src.rpm from build urls. 
This would at least make things reproducable and at least someone could
download the src.rpm and send a patch. Along with this a easy way to
mail the owner of a copr would be good. 

Longer term: use pagure. Have people setup their project there and work
with pagure folks to integrate copr. We could have an easy 'build this
in copr' type thing and on the copr side a 'visit this project on
pagure'. 

I think trying to do a standalone dist-get will just cause problems
when/if we want to move to something like pagure and has a lot of
issues without building up a bunch of infrastructure around it. 

Just my thoughts on it... 

kevin


pgpbraIpiHdgt.pgp
Description: OpenPGP digital signature
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure

Re: Dist Git for Copr

2015-05-15 Thread Miroslav Suchý
Dne 6.5.2015 v 21:08 Kevin Fenzi napsal(a):
> How about a short term and a longer term plan?
> 
> Short term: have copr download and store the src.rpm from build urls. 
> This would at least make things reproducable and at least someone could
> download the src.rpm and send a patch. Along with this a easy way to
> mail the owner of a copr would be good.

Nope, short term is that user select SRPM and do "file upload" from form -- or 
provide url.
And the result will be stored in dist-git.
So they do not need to host src.rpm on some public site.

> Longer term: use pagure. Have people setup their project there and work
> with pagure folks to integrate copr. We could have an easy 'build this
> in copr' type thing and on the copr side a 'visit this project on
> pagure'. 

I really dislike to store project in pagure. Unless it have git-annex or 
similar and we store there just spec and
SOURCEX as in dist-git.
We could not force users to move their github project to pagure.

> I think trying to do a standalone dist-get will just cause problems
> when/if we want to move to something like pagure and has a lot of
> issues without building up a bunch of infrastructure around it. 

Why it should cause trouble.
The goal is to have literally copy of fedora-dist. Just have it on different 
HW/Storage.
Then every change would be just carbon copy.


-- 
Miroslav Suchy, RHCA
Red Hat, Senior Software Engineer, #brno, #devexp, #fedora-buildsys
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure

Re: Dist Git for Copr

2015-05-15 Thread Adam Samalik
Do we want to store the project, or packages?

To explain what I mean by "project" and "packages", let's have a look at the 
Copr project.

The "project" is hosted here: https://git.fedorahosted.org/cgit/copr.git
This is the home of the project. It stores the source code and could also have 
some issue tracker etc.
If we want to store "project", Pagure seems like a nice solution.

The "packages" (for fedora) are here: http://pkgs.fedoraproject.org/cgit/copr
This hosts the packages and is more focused on the spec file and the packaging 
side. The project needs to live somewhere else.
If we want to store "packages", Dist Git might be great.

What we want to have? Or do we want to have some hybrid of those two above?

Adam



- Original Message -
From: "Miroslav Suchý" 
To: infrastructure@lists.fedoraproject.org
Sent: Friday, 15 May, 2015 2:41:07 PM
Subject: Re: Dist Git for Copr

Dne 6.5.2015 v 21:08 Kevin Fenzi napsal(a):
> How about a short term and a longer term plan?
> 
> Short term: have copr download and store the src.rpm from build urls. 
> This would at least make things reproducable and at least someone could
> download the src.rpm and send a patch. Along with this a easy way to
> mail the owner of a copr would be good.

Nope, short term is that user select SRPM and do "file upload" from form -- or 
provide url.
And the result will be stored in dist-git.
So they do not need to host src.rpm on some public site.

> Longer term: use pagure. Have people setup their project there and work
> with pagure folks to integrate copr. We could have an easy 'build this
> in copr' type thing and on the copr side a 'visit this project on
> pagure'. 

I really dislike to store project in pagure. Unless it have git-annex or 
similar and we store there just spec and
SOURCEX as in dist-git.
We could not force users to move their github project to pagure.

> I think trying to do a standalone dist-get will just cause problems
> when/if we want to move to something like pagure and has a lot of
> issues without building up a bunch of infrastructure around it. 

Why it should cause trouble.
The goal is to have literally copy of fedora-dist. Just have it on different 
HW/Storage.
Then every change would be just carbon copy.


-- 
Miroslav Suchy, RHCA
Red Hat, Senior Software Engineer, #brno, #devexp, #fedora-buildsys
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure

Re: Dist Git for Copr

2015-05-15 Thread Mathieu Bridon
On Fri, 2015-05-15 at 08:56 -0400, Adam Samalik wrote:
> Do we want to store the project, or packages?
> 
> To explain what I mean by "project" and "packages", let's have a look at the 
> Copr project.
> 
> The "project" is hosted here: https://git.fedorahosted.org/cgit/copr.git
> This is the home of the project. It stores the source code and could also 
> have some issue tracker etc.
> If we want to store "project", Pagure seems like a nice solution.
> 
> The "packages" (for fedora) are here: http://pkgs.fedoraproject.org/cgit/copr
> This hosts the packages and is more focused on the spec file and the 
> packaging side. The project needs to live somewhere else.
> If we want to store "packages", Dist Git might be great.

Pagure could also be great for the second.

It offers git hosting, the way dist-git needs it (to store specs and
patches), and it (could if it doesn't already) offers some space storage
to upload tarballs.

Then, maintainers of packages in coprs would gain a place for users to
report their issues with the copr packages, which doesn't sound like a
terrible thing.


-- 
Mathieu

___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure

Re: Dist Git for Copr

2015-05-15 Thread Richard Marko
On 05/15/2015 02:41 PM, Miroslav Suchý wrote:
> Dne 6.5.2015 v 21:08 Kevin Fenzi napsal(a):
>> How about a short term and a longer term plan?
>>
>> Short term: have copr download and store the src.rpm from build urls. 
>> This would at least make things reproducable and at least someone could
>> download the src.rpm and send a patch. Along with this a easy way to
>> mail the owner of a copr would be good.
> Nope, short term is that user select SRPM and do "file upload" from form -- 
> or provide url.
> And the result will be stored in dist-git.
> So they do not need to host src.rpm on some public site.
>
>> Longer term: use pagure. Have people setup their project there and work
>> with pagure folks to integrate copr. We could have an easy 'build this
>> in copr' type thing and on the copr side a 'visit this project on
>> pagure'. 
> I really dislike to store project in pagure. Unless it have git-annex or 
> similar and we store there just spec and
> SOURCEX as in dist-git.

BTW I'm working on integrating git-annex to dist-git, see
https://github.com/release-engineering/dist-git/issues/1

-- 
Richard
irc: impure_hate

___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure

Re: Dist Git for Copr

2015-05-15 Thread Adam Samalik
But the second variant - to store "packages" - would mean that I have a git 
repo for each package. For example Developer Toolset would need about 70 git 
projets because it's got about 70 packages:
https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3-el7/monitor/

That's fine for dist git, but not as a project. 

Ideal could be some kind of hybrid where we can have one project. This project 
could host the upstream sources (pagure) or just have link to github, etc. 
Whatever we decide here. We can even have both options to be more friendly :)
And this project would also include the packages. I can think about two 
variants here:
 a) include the packages in dist git or something like that
 b) have some easy description for Copr how to build it.

The example description for b) could look like this:
 1) have this project: https://git.fedorahosted.org/cgit/copr.git
 2) build from these directories: backend, selinux, cli, frontend, keygen
 3) get the sources by: tito build --srpm


Adam



- Original Message -
From: "Mathieu Bridon" 
To: "Fedora Infrastructure" 
Sent: Friday, 15 May, 2015 2:58:52 PM
Subject: Re: Dist Git for Copr

On Fri, 2015-05-15 at 08:56 -0400, Adam Samalik wrote:
> Do we want to store the project, or packages?
> 
> To explain what I mean by "project" and "packages", let's have a look at the 
> Copr project.
> 
> The "project" is hosted here: https://git.fedorahosted.org/cgit/copr.git
> This is the home of the project. It stores the source code and could also 
> have some issue tracker etc.
> If we want to store "project", Pagure seems like a nice solution.
> 
> The "packages" (for fedora) are here: http://pkgs.fedoraproject.org/cgit/copr
> This hosts the packages and is more focused on the spec file and the 
> packaging side. The project needs to live somewhere else.
> If we want to store "packages", Dist Git might be great.

Pagure could also be great for the second.

It offers git hosting, the way dist-git needs it (to store specs and
patches), and it (could if it doesn't already) offers some space storage
to upload tarballs.

Then, maintainers of packages in coprs would gain a place for users to
report their issues with the copr packages, which doesn't sound like a
terrible thing.


-- 
Mathieu

___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure
___
infrastructure mailing list
infrastructure@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/infrastructure