[pymvpa] Change of repository layout

Michael Hanke michael.hanke at gmail.com
Sat Sep 27 10:05:06 UTC 2008


Hi,

we will soon have a pymvpa version in a Debian stable release. Therefore, I was
tempted to put a little more structure into our repository layout --
mainly wrt the distribution branches. Currently, we have 'debian' and
'debian_proper', where the first is actually meant to contain the Debian
packaging of the current release for *all* Debian versions and
derivatives which we distribute in our APT repository and the latter is
meant to contain whatever goes into the main Debian archive.

This approach basically means that we have to provide something that
works on *all* Debian-like platforms, more or less leading to the least
common denominator: not using any advantages of a specific version, e.g.
more up-to-date sphinx for nicer docs...

At the latest with the inclusion of PyMVPA in a Debian stable release we
have to change that behavior, as we would most likely have to put a
maintenance branch for the official 'lenny' packaging somewhere. Where
would that be?

I want to propose the following layout:

master/
  Contains whatever will be released as upstream versions -- no
  distribution/platform-specific modifications.

??/{master|*}
  Developer-specific branches -- everyone is free to do anything. The
  only convention is a '??/master branch', that contains pieces that can
  be merged by other developers.

maint/?.?
  Upstream maintenance branches. Bugfixes and documentation enhancements
  for the current ?.? release go here and will later on be released as
  ?.?.? minor releases.

dist/*
  All distribution/platform-specific stuff, ie. packaging.

dist/debian/{proper|bp}/*
  Packaging for Debian and its derivatives. Here we need to address two
  cases. 1) We want to provide the latest upstream release for a
  reasonable set of Debian and Ubuntu versions. 2) We have to maintain,
  whatever enters a stable Debian release (for lenny this will be
  0.2.2).

  For releases in Debian proper we would usually only have a
  'dist/debian/proper/sid' branch that contains the most recent upstream
  release + debian packaging for Debian unstable. Whenever a
  maintainance release for a Debian stable package is necessary, we
  would branch off the corresponding tag (ie. for lenny 'debian/0.2.2-1)
  and create a 'dist/debian/proper/lenny' branch.

  For the backports we would establish new branches in
  'dist/debian/bp/<codename>' whenever necessary. For now the version
  that builds on etch builds on all other versions as well, but who
  knows what the future will bring...

  For simplicity I would simply put stuff like 'hardy' and 'gutsy' under
  'dist/debian/bp/' as well. There is not really a differences wrt
  the environment.

Of course there could also be 'dist/win' and 'dist/mac' ...

It might be worth considering to move the ??/* branches under a common
'dev/' prefix, so we would have only released stuff in the top-level of
the repository.

As only Yarik and me touched the Debian packaging so far, I have renamed
the Debian branches to correspond to the scheme outlined above.  But
actually, I should have sent this message first, so don't consider this as
fixed -- we can always move them into some better structure.

Morever, IMHO we can keep the current tag scheme: upstream/<version> for
upstream releases and debian/<debian_version> for Debian packages.
Debian stable version updated would reflect there nature in the
debian_version anyway, so no change is necessary.

Thoughts?

Michael

-- 
GPG key:  1024D/3144BE0F Michael Hanke
http://apsy.gse.uni-magdeburg.de/hanke
ICQ: 48230050



More information about the Pkg-ExpPsy-PyMVPA mailing list