[Mageia-dev] Announcing a web viewer for svn, + quick guide to the svn

Michael Scherer misc at zarb.org
Tue Feb 1 17:45:14 CET 2011


Since command line browsing was not very practical, and since some
people didn't found how to access to the svn ( as this was not widely
documented ), a web interface was installed for looking at subversion
( this was planned since a long time, but was less urgent than the
others urgent tasks, so this was deployed slowly ).

So if you want to look at svn you can now go on
http://svnweb.mageia.org/ . The server is using a readonly copy of the
subversion that is synced by cron so the latest commit may not appear
immediately. Fixing this is doable, but not very high on the TODO list
for now.

So for those that will discover the content of the svn for the first
time, here is a quick summary. The list of subversion repository can be
found on

We do have on svn.mageia.org ( valstar ) 5 public repositories :

All of them but 1 are mirrored on the main web application server
( alamut ). Binrepos hold the tarball and binary file from packages, and
is expected to grow a lot ( 11g at the moment ), so we decided to not
mirror for now.


/packages is where you can find specs files, patches and everything
needed to rebuild packages. The best way to access is is using mgarepo,
as explained by the wiki and boklm. 
There is 2 directories :
misc -> contains the old changelog of imported packages

cauldron -> 1 directory per package name

In a package directory ( like
http://svnweb.mageia.org/packages/cauldron/acpi/ ), you will find 
3 subdirectories most of the time :


pristine/ hold the latest submitted rpm ( ie, the specs and sources ).
releases/ work like the tags directory of usual subversion layout, with
the older version of the rpms, and current/ is the current work.

When using mgarepo, it take current/, and that's where people should
look for the newest version.

Since no one except some people who work on the BS will likely be
interested in the details, I will not go further ( being myself in the
list of those that do not remember the details :p ) 


That's where we place most softwares we developed or forked ( fork being
the last option ). Some are also developed by others, using others
tools. We may switch to git or others dvcs later, and maybe also have
smaller repositories ( ie 1 per software ), but so far, this is not the
case and nothing is planned. 

You can find :
mirrors/mga-mirrors/ -> MGA::Mirrors, running on mirrors.mageia.org,  
                        catalyst web application to manage mirror list

rpm/rpm-setup/ -> the rpm-setup content ( ie rpm macros )

identity/catdap/ -> the web interface for ldap, catdap, again

build_system/iurt -> the rebuild bot, written by Mandriva and adapted to
                     work with our layout and with privileges separation

build_system/mgarepo -> a fork of repsys, a connectiva tool for the 
                        build system, using our layout ( binary  
                        separated from others files ) 

build_system/mdv-youri-submit  -> fork of youri ( zarb project ) made
                                  by mandriva. Pushing changes upstream
                                  is planned. 
build_system/web -> what you see on pkgsubmit.mageia.org

Others software are expected to appear there once we have finished
reviewing trademark and logo, etc on mandriva svn.


That where the web site live, in www/. 

And there is the various templates for sympa, transifex, bugzilla in
templates/. The templates are updated to the live version by cron, but
nothing was commited for now ( except for bugzilla ).

Rda would likely explain better than me the intended usage and layout of
this one.


That where the configuration of the server ( minus the passwords ) is
stored. We are using puppet for that, it allows us to describe the
configuration in the puppet DSL ( Domain Specific Language ), and it
take care of dispatching to every server, saying how the server should
be setup and behave. 

It is updated every 15 minutes on the main puppet server ( valstar ),
and then every server get the config every 30 minutes. We can force
update by hand if needed, but being lazy as all sysadmin, we don't.

So if you want to know how we do something, you can look. If you want to
help on sysadmin, you can send patches, based on the configuration
( that something we tried to push, some innovation on the way sysadmin
interact with community, but maybe the learning curve of puppet is too
high, so I will try to do some training once I have free time and/or
write more documentation ).

That's all for now.

If you want to access using the command line, the address didn't changed
since it was opened in october 2010 , you can still use :
svn $COMMAND svn://svn.mageia.org/svn/foo

If you have any questions, do not hesitate to ask, either on ml or on
irc ( I would prefer on ml ). If someone want to cut and paste this on
the wiki, feel free to do it too.
Michael Scherer

More information about the Mageia-dev mailing list