upstream + packaging + looms + lp != happiness
Barry Warsaw
barry at canonical.com
Thu May 27 21:18:20 BST 2010
Computer Janitor is my poster child for the UDD use case where the upstream is
also the packaging branch. lp:computer-janitor has the debian/ directory in
it but that's unsatisfying for several reasons. So I wanted to experiment
with using a loom to manage several threads (from bottom to top):
* trunk - This would be the undebianized upstream source thread. It would
have a sane setup.py and everything necessary to build and run the
application the way a Python developer would expect. IOW, it would be
virtualenv-friendly, be able to be 'python setup.py install'd and 'python
setup.py test'd, etc. It would know nothing about how to package it for any
distro.
* debian - This would be trunk + the debian/ directory, but specifically it
would be tuned for Debian. 'head -1 debian/changelog':
computer-janitor (2.0.3-1) unstable; urgency=low
* ubuntu - This would just be the changelog tuned to Ubuntu. head sez:
computer-janitor (2.0.3-0ubuntu1) maverick; urgency=low
I would probably separate out the trunk into a separate branch, so that other
people could easily hack on upstream, and only when we're happy with the state
of the app would we pull it into the loom's trunk thread, auto-merge upwards,
and push changes to Debian and Ubuntu from the respective threads.
I would generate PPA source packages from the `ubuntu` thread, or I might
branch the loom for lp:~barry/computer-janitor/whatever and add a thread above
that for my PPA.
This is the sanest way I can currently think of for organizing the upstream
and packaging branches for two distros and a PPA. If it works, it seems like
a nice way to manage things.
Unfortunately, this doesn't work because round tripping the branch through
Launchpad throws away all the loom information. Here's the transcript from
two different machines ('bzr looms' is an alias for 'bzr show-loom'; the
'split' thread is an artifact that will go away).
limelight% bzr looms
=>ubuntu
debian
split
trunk
limelight% bzr record
Loom recorded.
limelight% bzr push lp:~barry/computer-janitor/loomified
Using default stacking branch /~computer-janitor-hackers/computer-janitor/trunk at lp-69637584:///~barry/computer-janitor
Created new stacked branch referring to /~computer-janitor-hackers/computer-janitor/trunk.
heresy% bzr branch lp:~barry/computer-janitor/loomified
Branched 240 revision(s).
heresy% cd loomified/
heresy%
All the threads disappeared when the branch was pulled to machine heresy.
Maybe Launchpad doesn't support looms yet? Maybe the stacking is messing
things up? Any other suggestions or comments?
Cheers,
-Barry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/ubuntu-distributed-devel/attachments/20100527/3ee3a55c/attachment.pgp
More information about the ubuntu-distributed-devel
mailing list