Xen 4.20.0~rc2+1-gfcde5e0de8-1~exp1 for Debian Experimental
This starts off as a copy of the 'last known good' checklist. Update stuff on the go, kthxbye
-
Create a salsa gitlab issue about the package update, where we will paste the result of this checklist into when we're done, for historical purposes. #70 (closed) -
Look at upstream, what's in the staging-x.y(in this case master branch) branch now? -
Wait for upstream ci pipeleine to succeed and for stable-x.yz to advance, see https://gitlab.com/xen-project/hardware/xen/-/commits/staging?ref_type=HEADS -
pick upstream commit that we're going to advance the packaging to ( git describe upstream/master) ->4.20.0-rc2-1-gfcde5e0de8 -
choose full target version number -> 4.20.0~rc2+1-gfcde5e0de8-1~exp1 -
Find out if there's additional packaging changes or things related to open BTS bugs we need to do, and insert checklist items for them at the right place. -
fetch upstream into packaging working copy -
look through new upstream changes, assemble list of XSA info for the changelog -> already in final format! see also https://xenbits.xen.org/xsa/
Significant changes:
* Update to new upstream version 4.20.0~rc2+1-gfcde5e0de8.
Changes related to upgrading to Xen 4.20:
* debian/control: adjust to 4.20
* Refresh remaining patches if needed
* debian: ship the new xsd_glue ocaml plugin in xen-utils-V
Packaging minor fixes and improvements:
* d/copyright: update year to 2025
* debian: convert xen-doc to architecture all
* d/control: mark libxen-dev as Multi-Arch: same
* d/control: remove versioned dpkg-dev from Build-Depends
* d/rules: remove environment variables no longer needed for reproducible
builds
* d/rules: disable debug build for xen tools
* update lintian overrides
-
create upstream/xyz tag, git tag -s upstream/4.20.0_rc2+1-gfcde5e0de8 -m "Tag current upstream master branch for Debian baseline" 4.20.0-rc2-1-gfcde5e0de8 -
look at the current state of the packaging repo; do we have the right starting point? (like, the debian/xyz tag of previous upload) -
Switch to a work in progress branch, like wip/experimental(or, hard resetwip/experimentalto matchexperimental)` -
Do gdr new-upstream magic -> git debrebase -fupstream-not-ff new-upstream 4.20.0~rc2+1-gfcde5e0de8-1~exp1 -
Apply packaging patches for the new version -
Set changelog to release to unstable: dch --release --distribution experimental -
Write the debian/changelogentry. Just look at the previous ones for formatting examples. -
Git commit changelog: debian/changelog: finish 4.20.0~rc2+1-gfcde5e0de8-1~exp1 -
Launder branch: git debrebase -
Have gdr update the debian/patches stuff git debrebase make-patches -
Push the upstream/xyz tag to salsa git push <remote> upstream/4.20.0_rc2+1-gfcde5e0de8 -
Push the wip branch to salsa, and let gitlab-ci also build it git push <remote> --force-with-lease -
Create orig.tar.whatever -> git-deborig -
Create source package using dgit build-source. It should say: "nothing quilty to commit, ok." -
Do a local build sbuild -d experimental -c unstable-amd64 xen_4.20.0~rc2+1-gfcde5e0de8-1~exp1.dsc -
Smoke test, e.g. reboot a physical server with it, move some domU to it, do some live migrate, some restart etc. -
Take a proper break -
Check for any failures in salsa pipeline -
Triple check debian/changelog for stupid errors -
Do git debrebase conclude -
Do git debrebase make-patches(so that dgit does not do it in a different way itself... note to future myself: what's going on here?) -
Push wip/experimental to salsa if you're not the one doing the next step git push --force-with-lease -o ci.skip -
Merge WIP branch that is now finalized into the real branch (e.g. git switch experimental; git merge --ff-only wip/experimental) so that whoever looks in our repo always sees something that corresponds to the current package in Debian. -
git push <remote> -
Double check that you now ended up with wip/experimental and experimental being at the same point in git history (note: remove this later?) -
Upload: dgit push-source -
Push archive/debian/sdf and debian/xyz tag to salsa -
Wait for ACCEPTED -
Wait for buildds to complete https://buildd.debian.org/status/package.php?p=xen&suite=experimental -
Wait for the new version to actually end up in experimental -
Move all of this to the salsa issue and remove it from the pad
Edited by Maximilian Engelhardt