Vcs branches, debcheckout, and UDD
ubuntu at kitterman.com
Wed Jul 6 20:54:43 UTC 2011
On Wednesday, July 06, 2011 04:43:00 PM Barry Warsaw wrote:
> There was a discussion today on #ubuntu-devel about some changes I'd made
> to a few packages for bug 788514 (switch to dh_python2). gedit is a good
> representative example of the basic issue.
> What I did was to `bzr branch ubuntu:gedit`, then make the changes to that
> branch, `bzr bd -S`, and dput the resulting .dsc file. All well and good I
> thought, but actually this caused some trouble because gedit has a Vcs-Bzr
> $ debcheckout -p gedit
> bzr https://code.launchpad.net/~ubuntu-desktop/gedit/ubuntu
> which is *not* the UDD branch, even if we substitute bzr+ssh for http.
> I just spent an hour manually copying the diff from several UDD branches to
> their Vcs branches, because 1) I'd already uploaded the change, and 2) the
> branches share no history so you can't merge between them.
> I think this is somewhat related to the native package discussion we've had
> w.r.t. software-center, but it's also somewhat different. Or maybe not:
> $ debcheckout -p software-center
> bzr https://code.launchpad.net/~software-store-developers/software-
> A couple of things bother me here:
> * We shouldn't be suggesting to people to use the UDD branch if the Vcs
> branch is preferred.
> * We probably don't want to suggest that any Vcs branch, or even any
> Vcs-Bzr branch should automatically use the Vcs branch instead of the UDD
> branch, since Debian packages can specify either, and for those, the UDD
> branch would still be appropriate.
> * Should debcheckout be taught about UDD branches and rules, or should bzr
> be taught about Vcs-Bzr branches?
> * Using an unmodified Vcs-Bzr url isn't ideal, since we'd almost always
> prefer the bzr+ssh version (i.e. `debcheckout -a`) over the https version.
> * tumbleweed, seb128 and others suggested some mungification of Vcs-* into
> an XS-$Vendor-Vcs-* field, possibly by update-maintainer, but I don't grok
> all the details of what that would mean.
> * I can see how `debcheckout` is pretty useful, but I don't much like it
> better than normal UDD workflows.
> * There's no foolproof rule to know when to use the Vcs branch over the UDD
> Maybe, a heuristic would be, look for a Vcs-Bzr header matched with a
> -0ubuntuX version number and/or "ubuntu" in the branch url. In those cases
> maybe `bzr branch ubuntu:foo` would complain, or just do the moral
> equivalent of `debcheckout -a foo`.
> Or maybe, what we've talked about for software-center applies here. E.g.
> ask Launchpad to essentially make the UDD branch and the Vcs-Bzr branch
> one and the same, so either approach will work. This seems trickier since
> the UDD branch has the full source code, while the Vcs-Bzr branch has only
> the debian/ directory (and apt-gets the source).
> You guys are way smarter about this stuff than me, so I hope you'll have
> some awesome suggestions. :) Even if it's not solvable right now, I think
> it's important to get it on the UDD radar since debcheckout is how a lot
> of folks work, and I'd like to save future developers the wasted effort of
> changing the wrong branch.
One of the big questions I don't see addressed is packaging versus full source
branches. In Kubuntu (and I'm pretty sure Ubuntu Desktop) we use packaging
branches that only have the debian dir in them. We've discussed this and
there wasn't a lot of interest in switching to full source branches.
More information about the ubuntu-distributed-devel