Monday, 18 September 2023

ppa-dev-tools 0.5.0 released

This 0.5 release of ppa-dev-tools includes a number of usage
conveniences people have requested, and some important fixes.

There's multiple ways to install:

By Snap...
$ sudo snap install ppa-dev-tools
$ sudo snap alias ppa-dev-tools.ppa ppa

By PPA...
$ sudo add-apt-repository -ys ppa:bryce/ppa-dev-tools
$ sudo apt-get install ppa-dev-tools

By PIP...
$ pip install ppa-dev-tools

By source...
$ git clone
$ cd ppa-dev-tools
$ sudo python3 ./ install

Notable changes from 0.4 to 0.5

It is now possible to create PPAs under a different team's ownership via
the `--owner` option:

$ ppa create --owner foobar my-ppa

As a convenience, this can also be specified in ppa address form, i.e.:

$ ppa create ppa:foobar/my-ppa

Furthermore, most places that take a PPA address will also take a full
URL, including URLs ending with /+packages. For example, all of these
are accepted as valid PPA specifiers:

$ ppa wait my-ppa
$ ppa wait myself/my-ppa
$ ppa wait ppa:myself/my-ppa
$ ppa wait
$ ppa wait
$ ppa wait

Private PPA support is now available via the `--private/--public`
arguments, allowing toggling a PPA's privacy, if allowed by Launchpad.
For example:

$ ppa create --private ppa:myself/my-private-ppa

It is now possible to save and load Launchpad OAuth credentials, to
permit use of ppa-dev-tools in situations where you can't use
launchpadlib's automatic authentication mechanics. A new command is
added to dump the credentials from an authenticated session:

$ ppa credentials
Launchpad credentials written to credentials.oauth

You can then load them via a new `--credentials` global argument, for

$ ppa --credentials ./credentials.oauth create ppa:myteam/myppa

Credentials can also be supplied via an LP_CREDENTIALS environment
variable. Thanks to Massimiliano Girardi for this feature.

The `ppa wait` behavior has changed to display just a screenful of
status while waiting on builds. The old behavior, where status updates
are printed to stdout and scrolled, is still available via the --log

Also, the `wait` command now supports a 'name' configuration parameter
that allows specifying a single source package to wait on. The
'wait_max_age_hours' parameter makes it consider only uploads within the
given timeframe. The 'exit_on_only_build_failure' parameter makes the
wait exit if the only jobs that it is monitoring are failed builds.
These options are aimed to facilitate CI/CD integration, but can also
improve performance of the waiting operation on larger PPAs.

This release provides an important bugfix, enabling the `ppa tests`
command to properly parse and handle newer format autopkgtests. The log
files for tests run on Ubuntu lunar and newer are prefixed with a
timestamp that caused `ppa tests` to misread the subtest name. The
timestamps are now recognized and subtest names parsed properly.
(LP: #2025484)

Other bugfixes have focused on improvements to input and error handling
for a variety of conditions that have come up in practice. This
includes some more robust handling of errors generated during Launchpad
outages or other glitches (LP: #1997122).

For more information about ppa-dev-tools, including reporting bugs and
proposing changes via git, please visit the Launchpad project page:


ubuntu-devel mailing list
Modify settings or unsubscribe at: