Scroll to navigation

PKGOS-UPDATE-RELEASE(1) Debian OpenStack packaging PKGOS-UPDATE-RELEASE(1)

NAME

pkgos-update-release - batch update every package of an OpenStack release

SYNOPSIS

pkgos-update-release <release> [dist]

DESCRIPTION

pkgos-update-release updates every package of an OpenStack release which is lower than its upstream version, as listed on the osbpo (Debian OpenStack) deb-status page. The page https://osbpo.debian.net/deb-status/<dist>-<release>.html (for example https://osbpo.debian.net/deb-status/trixie-hibiscus.html) is fetched once, then each of its package rows is processed:

The package is skipped when its status is OK (already up to date), or MISSING (a warning is printed, as the initial packaging must be done by hand). Its checkout is then located through the /etc/pkgos/all-git mapping under the salsa root directory: a warning is printed and the package is skipped when it isn't listed there, when the checkout doesn't exist, isn't a git repository, or has a dirty work tree. The package is also skipped when its current debian/changelog version isn't lower than the target version <epoch><upstream>-1.

Otherwise, the checkout is switched to the debian/<release> branch if needed, and the script prompts for a single keypress (Enter isn't needed): y processes the package, n skips it, and q prints the summary and quits. Processing a package runs the same flow as pkgos-update-pkg(1): fetch the upstream tags with debian/rules fetch-upstream-remote, verify the tag, merge it with git merge --no-edit -X theirs, bump debian/changelog with dch, review the diff and confirm with y, commit, generate the orig tarball, build with gbp buildpackage, create the signed debian/<version> tag, push the branch and the tags, then re-sign the .changes file with debsign and upload it with dput from the ../build-area directory.

Any failure stops the whole batch. Since packages which were already updated are skipped on the next run, the batch can simply be run again after fixing the issue. A summary is printed at the end of the batch.

Note that the package list is read from file descriptor 3, so that standard input stays attached to the terminal for the keypress prompts.

ENVIRONMENT

The GPG key id used by debsign when re-signing the .changes file (see debsign(1)).
Overrides the URL of the osbpo deb-status page.
Overrides the path of the salsa checkout mapping (defaults to /etc/pkgos/all-git).
Overrides the root directory holding the salsa checkouts (defaults to $HOME/salsa/openstack).
Directory in which the temporary work directory is created (defaults to /tmp).

EXIT STATUS

Returns 0 when the batch is finished (including when quitting with q), and 1 on any failure.

EXAMPLES

SEE ALSO

pkgos-update-pkg(1), pkgos-salsa-list-all-git(1), gbp-buildpackage(1).

AUTHOR

This script and its man page: (c) 2026, Thomas Goirand <zigo@debian.org>, released under the Apache-2.0 license.

2 October 2026 openstack-pkg-tools