[braindump] ppa update discontents
Scott Kitterman
ubuntu at kitterman.com
Fri Aug 20 22:46:01 BST 2010
On Friday, August 20, 2010 04:47:11 am Martin Pool wrote:
> It can be a bit hard to work out which packaging branch is used for
> the version in our ppa. Launchpad has a concept of series branches
> for We can have a convention for plugins that we package, but it's
> just a convention and because it's evolved over time it's not always
> consistent. For instance if Gary has uploaded bzr-gtk -
> 0.99.0-1~hardy4 but it's failing, I can get the source for that
> package and try to fix it, but I can't easily work out what branch
> contains that source. (Well, I can guess it's one of the recently
> updated branches in <https://code.edge.launchpad.net/bzr-gtk> but it's
> not great.)
I have to deal with some similar problems with the
https://launchpad.net/~ubuntu-clamav/+archive/ppa - it's relatively empty at
the moment, but when testing, we provide clamav (and often it's rdepends) all
the way back to Dapper.
I have a non-UDD workflow that seems like it is worth sharing because if UDD
could make this easier, it would be a motivator for me to use it.
When I start to backport, I:
grab the source package from the development release (maverick in this
example)
add a new ~lucid1~ppa1 debian/changelog entry
debuild -S
cd ../
dput clamav-ppa clamav_0.96.1+dfsg-3ubuntu5~lucid1~ppa1_source.changes
Then start the next one.
cd clamav-0.96.1+dfsg
edit debian/changelog to ~karmic1~ppa1
debuild -S
cd ../
dput clamav-ppa clamav_0.96.1+dfsg-3ubuntu5~karmic1~ppa1_source.changes
Then move on to the next.
Jaunty needs a small change in debian/control, so I repeat the above process
with the addition of changing debian/control and documenting this in the
changelog.
Hardy gets interesting as there are more changes in debian/control needed as
well as maintainer script adjustments. I follow the above process, but I also
have a patch of the non-changelog diff for Hardy that I apply using patch and a
standard Hardy changelog entry that I add documenting the changes. The first
hunk of the patch for debian/control always fails, so I do that manually.
Then I follow the process and upload.
Dapper is yet another layer of fun for which I have another patch for
Hardy/Dapper changes and a standard debian/changelog entry.
Eventually, all those build and I (if needed) do the rdepends updates).
Sometimes there are release specific problems that I need to go back and
address. To do this, I:
cd to the top of my clamav packaging directory
rm -rf clamav-0.96.1+dfsg (the unpacked source package)
dpkg-source -x clamav_0.96.1+dfsg-3ubuntu5~hardy1~ppa1.dsc (unpack the exact
version I want)
make additional changes
increment the version in debian/changelog to ~ppa2
debuild -S
cd ../
dput clamav-ppa clamav_0.96.1+dfsg-3ubuntu5~hardy1~ppa2_source.changes
I'm sure it's reasonably clear that this a lot like switching branches, just
with no VCS in the picture.
If there was a really logical way to keep track of which branch I wanted and
switch between them intuitively as well as to easily integrate the per-release
packaging diff when I move to a new version to base the backporting work on,
then it would be really useful to me as the current method is not precisely
pain free.
So here's another example use case for you ....
Scott K
More information about the ubuntu-distributed-devel
mailing list