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 https://git.launchpad.net/ppa-dev-tools
$ cd ppa-dev-tools
$ sudo python3 ./setup.py 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 https://launchpad.net/~myself/+archive/ubuntu/my-ppa
$ ppa wait https://launchpad.net/~myself/+archive/ubuntu/my-ppa/
$ ppa wait https://launchpad.net/~myself/+archive/ubuntu/my-ppa/+packages


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
example:

$ 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
option.

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:

https://launchpad.net/ppa-dev-tools

Bryce

--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel