[Mageia-dev] Distributed packaging for a community distro

P. Christeas p_christ at hol.gr
Sun Sep 19 11:32:33 CEST 2010


Hello,
There is no better time than now, to lay good foundations for the new distro. 
Among those, to choose the right tools to work with.

Obviously, I'd like to bring back the issue of using *git* for Mageia.

It is not a new idea. My argument against mandriva has long been that it had 
been a bad idea to have a centralized, closed repo for packaging. It was a bad 
idea that anybody would need an account to practically contribute to the 
distro. You may notice that the scripts are now 1.5yr old.

Here is a synopsis of the suggestion:
 - We are decentralized. Anybody can easily clone the necessary (not big) 
repos and try packaging things. If they have anything useful, they contribute 
it back by any means, to the core team. All this, with minimal 
resources/effort.
 - No need for a central, huge, server to support the distro.
 - Have *per package* git repositories that will contain the upstream source + 
mageia extensions, patches, specs. Sometimes they may even be identical to the 
upstream or simply branches in their git repos.
 - Have one "master" repository, where each package will be a git /submodule/. 
The "master" repo may even contain some trivial distro-packaging stuff, like 
the release notes etc. Not more than that, however. Practically, the master 
repo will be a few MBytes in size, with all history, Mandriva pre-history etc. 
Easy to clone.
 - Package repos could be hosted all over the internet. Git hashes make sure 
we have the exact versions that the core team has approved.
 - If needed, the build services can rebuild what the contributors submit, by 
hash. 
 - Working with source trees instead of patch sets means upstream projects 
will have easy access to our work (=improvements). We thus collaborate better 
with the projects, keep closer to upstream.
 - Other distros may use the same system (Debian, to some extent, already 
does) and share with Mageia.

Cons:
 - People w/o git experience will need a few days to familiarize themselves 
with Git. (it is worth it, IMHO).
 - We will need to add 3-4 lines per .spec . One time only, forever. (then we 
forget about changelogs, touching specs for %version-%release etc).

http://git.hellug.gr/?p=xrg/gitscripts;a=summary
http://git.hellug.gr/?p=xrg/tar;a=commitdiff;h=3e690d39faa72652a6f46



-- 
Say NO to spam and viruses. Stop using Microsoft Windows!


More information about the Mageia-dev mailing list