Skip to main content

New OpenStack Release

Note: If uscan fails you may need to first update debian/watch to get the release tarball from opendev.org (see aodh).

Example of steps taken for aodh to pick up rc1 release:

git clone lp:~ubuntu-server-dev/ubuntu/+source/aodh
cd aodh

git checkout pristine-tar
git checkout upstream
git checkout master

uscan --verbose --download-version 10.0.0~rc1 --rename
gbp import-orig --no-interactive --merge-mode=replace ../aodh_10.0.0~rc1.orig.tar.gz

dch -i
sed -i "1s/1ubuntu1/0ubuntu1/" debian/changelog
# again see aodh as an example

debcommit -a  # this will commit the changes with a git log that is the same as your changelog in d/changelog

# check the git log to see what changes are in new release - ie. 

git diff HEAD~2 HEAD~1
# update debian/control based on any new requirements in the new release
# if debian/control updated then also update debian/changelog with "  * d/control: Align (Build-)Depends with upstream."

# it'll take some time to understand what's actually needed here or not.
# doc requirements.txt and test-requirements.txt go in Build-Depends-(Indep) and
# run time requirements.txt generally go in Build-Depends-(Indep) and Depends.

# accuracy of build-depends are not quite as important as run-time depends.

# again

debcommit -a

Next, try to build the source package: gbp buildpackage -S -sa

if patches fail to apply it's possible they need to be rebased or perhaps they landed upstream recently and can be dropped from d/patches. useful commands: quilt push, quilt edit, quilt refresh, quilt pop. if making patch changes, again update d/changelog with details and use debcommit -a to commit.

Finally when ready to upload to the testing PPA I'm using: ~/src/scripts/ppa/ppa_upload.sh --yes -d focal --upload ppa:openstack-ubuntu-testing/ussuri ../build-area/aodh_10.0.0~rc1-0ubuntu1.dsc

But for you, for now at least, if you can push all branches (upstream, pristine-tar, master) and all tags (git push --all && git push --tags) to your own namespace on launchpad then I can merge those into the ubuntu-server-dev repos and push them to the ppa for you.

I think what we will do is keep the changelogs UNRELEASED until final release since we're just upload to the testing ppa for now. At that point we can release/tag and upload groovy (from master branches), and then cut stable/ussuri branches and adjust the package version slightly so that groovy supsercedes focal, then release/tag and upload focal to the focal unapproved queue where the SRU team will review and accept.

Does that all make sense?? :)

Thanks, Corey