[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to maintain packaging files for multiple distributions in the same tree?

Matt Zimmerman <mdz@debian.org> writes:

> On Mon, Jan 29, 2007 at 10:20:23AM +0100, Goswin von Brederlow wrote:
>> In stable/testing/unstable you have releases with a fixed version that
>> can only split of from the main trunk. Any change to stable/testing
>> MUST be made special for the old version in stable/testing and forks
>> off the main developement on its own course. There is no developement
>> going on in stable/testing, just bugfixes. You often have to prepare
>> backports for patches from unstable to share fixes.
>> In Ubuntu you have a parallel version. You split of from the main
>> trunk but you follow parallel to it at a small distance. For every new
>> main version you want a new ubuntu version. Ubuntu versions aren't a
>> branch but rather a filter on top of the main release. The main
>> release changes, the filter remains constant (hopefully).
> The meaning of your "filter" analogy above isn't clear to me.  By "Ubuntu
> versions" do you mean "releases of Ubuntu" or "Ubuntu versions of packages
> derived from Debian"?

In this example it would be an Ubuntu package derived from Debian. Say
yu have package debmirror and you change the examples in the manpage
from the debian url to the ubuntu url for the mirror to use. On every
new debmirror debian release you want to do the exact same changes
again for the ubuntu release.

Release branch:

---+-----+----- sid
   |s    |e
   |a    |t
   |r    |c
   |g    |h

Distribution filter: (with patches going both ways)

----+--+------+--+--- Debian
     \  \    /    \
      +--+--+------+- Ubuntu

>> Branches don't work so well for ubuntu as you have to pull over the
>> changes from the main branch to the ubuntu branch on every
>> release. Which means (unneccessary) work.
> It is work, yes, but in many cases it is necessary, and we do quite a bit of
> it at present.

Hopefully the graphic above makes it clear why a branch isn't the most
helpfull construct for it. Unfortunately I know of no RCS that has
something better for this kind of parallel developement.


Reply to: