Something I find time consuming is uploading to a PPA when you want to support multiple Ubuntu releases. For my projects I generally want to support the most recent LTS release, the current stable release and the current development release (precise, quantal and raring when this was written).
I have my program in a branch and release that with make distcheck and lp-project-upload. The packaging is stored in another branch.
For each release I update the packaging with dch -i and add a new entry, e.g.
myproject (0.1.5-0ubuntu1) precise; urgency=low
* New upstream release:
- New exciting stuff
-- Me<me@canonical.com> Thu, 27 Dec 2012 16:52:22 +1300
I then run release.sh and this generates three source packages and uploads them to the PPA:
NAME=myproject
PPA=ppa:myteam/myproject
RELEASES="raring quantal precise"
VERSION=`head -1 debian/changelog | grep -o '[0-9.]*' | head -1`
ORIG_RELEASE=`head -1 debian/changelog | sed 's/.*) \(.*\);.*/\1/'`
for RELEASE in $RELEASES ;
do
cp debian/changelog debian/changelog.backup
sed -i "s/${ORIG_RELEASE}/${RELEASE}/;s/0ubuntu1/0ubuntu1~${RELEASE}1/" debian/changelog
bzr-buildpackage -S -- -sa
dput ${PPA} ../${NAME}_${VERSION}-0ubuntu1~${RELEASE}1_source.changes
mv debian/changelog.backup debian/changelog
done
Hope this is useful for someone!
Note I don't use source recipes as I want just a single package uploaded for each release.
I have my program in a branch and release that with make distcheck and lp-project-upload. The packaging is stored in another branch.
For each release I update the packaging with dch -i and add a new entry, e.g.
myproject (0.1.5-0ubuntu1) precise; urgency=low
* New upstream release:
- New exciting stuff
-- Me
I then run release.sh and this generates three source packages and uploads them to the PPA:
NAME=myproject
PPA=ppa:myteam/myproject
RELEASES="raring quantal precise"
VERSION=`head -1 debian/changelog | grep -o '[0-9.]*' | head -1`
ORIG_RELEASE=`head -1 debian/changelog | sed 's/.*) \(.*\);.*/\1/'`
for RELEASE in $RELEASES ;
do
cp debian/changelog debian/changelog.backup
sed -i "s/${ORIG_RELEASE}/${RELEASE}/;s/0ubuntu1/0ubuntu1~${RELEASE}1/" debian/changelog
bzr-buildpackage -S -- -sa
dput ${PPA} ../${NAME}_${VERSION}-0ubuntu1~${RELEASE}1_source.changes
mv debian/changelog.backup debian/changelog
done
Hope this is useful for someone!
Note I don't use source recipes as I want just a single package uploaded for each release.