ppa-dev-tools 0.5.0 released

Bryce Harrington bryce.harrington at canonical.com
Tue Sep 19 05:37:03 UTC 2023


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



More information about the ubuntu-devel mailing list