FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > CentOS > CentOS Development

 
 
LinkBack Thread Tools
 
Old 11-07-2008, 08:30 AM
Lennert Buytenhek
 
Default using GIT as VCS for packaging rpms

On Fri, Nov 07, 2008 at 02:11:25AM +0000, Karanbir Singh wrote:

> While there are quite a few people using central VCS's like svn and cvs
> for hosting packaging repo's and building from them using automated
> tools - is anyone away of a decentralised setup using either Hg or Git ?

We have an embedded-ish mini-distro based on Fedora, for which the
sources are kept in git, with the local branches based on the F-8
branches in the repositories of the Fedora CVS->git conversion
available here:

http://fedora.gitbits.net/

(Unfortunately, rsync access to the Fedora CVS server was disabled
after the Great Security Incident, and when I asked about having it
re-enabled they told me they couldn't do it because of an
infrastructure freeze -- so the git conversion isn't updating for now.)
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
 
Old 11-07-2008, 12:05 PM
Karanbir Singh
 
Default using GIT as VCS for packaging rpms

Lennert Buytenhek wrote:

We have an embedded-ish mini-distro based on Fedora, for which the
sources are kept in git, with the local branches based on the F-8
branches in the repositories of the Fedora CVS->git conversion
available here:

http://fedora.gitbits.net/


do you really not use packages with $name[0] > a ?

--
Karanbir Singh : http://www.karan.org/ : 2522219@icq
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
 
Old 11-07-2008, 12:13 PM
Lennert Buytenhek
 
Default using GIT as VCS for packaging rpms

On Fri, Nov 07, 2008 at 01:05:58PM +0000, Karanbir Singh wrote:

> >We have an embedded-ish mini-distro based on Fedora, for which the
> >sources are kept in git, with the local branches based on the F-8
> >branches in the repositories of the Fedora CVS->git conversion
> >available here:
> >
> > http://fedora.gitbits.net/
>
> do you really not use packages with $name[0] > a ?

They are there, they're just not on the front page.

E.g.

http://fedora.gitbits.net/?p=gcc;a=summary
http://fedora.gitbits.net/?p=glibc;a=summary
http://fedora.gitbits.net/?p=rpm;a=summary
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
 
Old 11-07-2008, 12:29 PM
Karanbir Singh
 
Default using GIT as VCS for packaging rpms

Lennert Buytenhek wrote:

http://fedora.gitbits.net/

do you really not use packages with $name[0] > a ?


They are there, they're just not on the front page.


ah cool. it did seem a bit strange. So you guys decided on doing the one
git repo per package route... That is the route I dont want to take with
the centos stuff. Mainly :


1- how would one checkout a complete tree ( eg, i want a 5.2-ppc branch
checkout, and include all packages in that branch )


2- adding a new package would mean adding knowledge about that package
at every step of the way from the packagers upto the build masters, arch
masters, testing stages, release and sign stage, mirror and push stages.
I suppose one might work around that a bit by having yet another git
repo that only has / tracks package status but that seems ugly.


one thing that the repo-per-package route fix's for git is the ACL
issue. with everything in one git-repo, its tricky getting people->
access levels going. Its almost a case of resorting to people doing
commits via patch on email. Which then in turn creates a bottleneck in
that only some specific people can commit into the builder-visible-repo.


or am i just thinking too much svn'ish and not enough git'ish ?

--
Karanbir Singh : http://www.karan.org/ : 2522219@icq
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
 
Old 11-07-2008, 01:20 PM
Lennert Buytenhek
 
Default using GIT as VCS for packaging rpms

On Fri, Nov 07, 2008 at 01:29:33PM +0000, Karanbir Singh wrote:

> >>> http://fedora.gitbits.net/
> >>
> >>do you really not use packages with $name[0] > a ?
> >
> >They are there, they're just not on the front page.
>
> ah cool. it did seem a bit strange. So you guys decided on doing the
> one git repo per package route... That is the route I dont want to
> take with the centos stuff. Mainly :
>
> 1- how would one checkout a complete tree ( eg, i want a 5.2-ppc branch
> checkout, and include all packages in that branch )
>
> 2- adding a new package would mean adding knowledge about that package
> at every step of the way from the packagers upto the build masters, arch
> masters, testing stages, release and sign stage, mirror and push stages.
> I suppose one might work around that a bit by having yet another git
> repo that only has / tracks package status but that seems ugly.
>
> one thing that the repo-per-package route fix's for git is the ACL
> issue. with everything in one git-repo, its tricky getting people->
> access levels going. Its almost a case of resorting to people doing
> commits via patch on email. Which then in turn creates a bottleneck in
> that only some specific people can commit into the builder-visible-repo.
>
> or am i just thinking too much svn'ish and not enough git'ish ?

In git, you can't as easily checkout or commit to a subdirectory of
a given repository as in CVS or svn, which was the reason for opting
to put each package in its own repository, so that package maintainers
wouldn't have to check out the source tree for the entire distro to
maintain their package. And as you say, access control is another
thing -- you _can_ apply commit-time checks to make sure that noone
commits to dirs they don't have access to, but using unix permissions
for that is just slightly easier.

You _could_ pretty easily make a 'super-repo' that has each of the
packages in the distro as subdirectories of one big dir, you could in
fact do that pretty easily due to the way git works. But if the goal
is to be able to add packages easily to run them through the entire
build and release stage automatically, there's a bunch of metadata I
can think of, both on the distro level (whether to build this package
for i386 or i686 (glibc), whether to build it for i386 or not when
you're building for x86_64) and the build level ("the kernel package
should only be built on the octal core box") that you might want to
encode somewhere that you don't have space for if you represent each
package by just a directory in some other directory. So to me it
would seem that all the metadata needed to build the distro should be
something that you want to version control individually?

(Note that the (1) use case is rather rare, and if you're not
truncating history when checking out, you'll end up with a couple of
gigabytes worth of checkout.)
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
 
Old 11-09-2008, 10:43 PM
Karanbir Singh
 
Default using GIT as VCS for packaging rpms

Lennert Buytenhek wrote:

So to me it
would seem that all the metadata needed to build the distro should be
something that you want to version control individually?


Most of this goes into the spec file itself. There are some things that
are package dependant and not carried in the spec file - eg, the
perpackage builder hints. But yes, I see your point. However, in the
CentOS context, tracking this info with the package is easiest ( eg.
which packages contribute to mixed arch, or even more complex when only
some subpackages from the present package are contributed when the main
package is not ).



(Note that the (1) use case is rather rare, and if you're not
truncating history when checking out, you'll end up with a couple of
gigabytes worth of checkout.)


Its not that corner case for us in the CentOS builder setups, we handle
most things for the entire distro as a single collection and run
branches for the entire trunk/ with each major released! Even signaling
for the buildsystem is being done via a tag across the entire distro
tree, and we do that a few times every release.


This is the sort of thing I meant with my 'thinking in svn terms'...

but thanks for your feedback, its helped confirm and reenforce the lines
that I was thinking about as well.


--
Karanbir Singh : http://www.karan.org/ : 2522219@icq
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
 
Old 12-19-2008, 10:36 AM
Karanbir Singh
 
Default using GIT as VCS for packaging rpms

Hi Lennert,

Lennert Buytenhek wrote:
> http://fedora.gitbits.net/
>
> (Unfortunately, rsync access to the Fedora CVS server was disabled

I thought you might want to know that rsync access is available to the
fedora-cvs store again ( just looked a few days back and noticed your
store was not update ) . Try this :

rsync cvs.fedoraproject.org:kgs/rpms/


- KB
_______________________________________________
CentOS-devel mailing list
CentOS-devel@centos.org
http://lists.centos.org/mailman/listinfo/centos-devel
 

Thread Tools




All times are GMT. The time now is 09:46 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org