← Back to team overview

ppa-dev-tools-users team mailing list archive

ppa-dev-tools 0.7.0 release

 

Ppa Dev Tools Release 0.7.0
---------------------------

Two major areas of development in this release focused on documentation
and the introduction of a SourcePublication class.

Man pages are now provided for all of the subcommands, and the help text
for each is now correct.  Process documentation for releasing,
maintaining, and developing the application are more filled in as well.

The SourcePublication class provides tracking of the three data
"coordinates" (Package, Version, Series) that fully define a source
package's release state in place and time.  Several subcommands have
been internally refactored to use this class for better code clarity,
with some command line options added to allow their use in filtering
what is displayed in output.


Additionally:

* The powerpc architecture is demoted to legacy, and the riscv64 has
  been promoted to a default architecture when creating a new PPA.

* The pocket for newly created PPAs can now be specified via the --pocket
  option, and can be set as the default in the ppa-dev-tools config file.
  This is handy when enabling the '-proposed' pocket for a new PPA.
  Thanks to Simon Chopin for this new feature.

* Some refinement has been made to handle temporary inconsistencies in the
  Launchpad-reported "devel series" after one -devel series has frozen but
  the next has opened.  This had caused some confusion in the ppa tool's
  behavior during this period of the development cycle.

* The show command received a number of enhancements.  As part of the
  aforementioned SourcePackage refactor, it now filters the list of source
  package publications more concisely by default, and allows better
  control via some new command line options.  The command also now
  prints a handy direction on installing the PPA, thanks to a suggestion
  by Christian Ehrhardt.

* Emoji support is improved for better behavior with the Alacritty
  terminal emulator.  Thanks to Florent 'Skia' Jacquet for this
  enhancement.

* The test suite has received heavy attention through fixes, expanded
  coverage to 58%, and correction of lint/flake/tox issues.


This release is also serving as a pre-release of an upcoming version
1.0 hopefully within the next few weeks, after wish maintainership of
the software will be taken up by Renan Rodrigo Barbosa going forward.


About Ppa Dev Tools
-------------------
ppa-dev-tools is a Launchpad API client that lets you create and manage
Personal Package Archives (PPAs) from the command-line, run autopkgtests
against them, and check results.  E.g.:

  $ ppa create my-ppa
  $ dput *.changes ppa:<lpuser>/my-ppa
  $ ppa wait my-ppa
  $ ppa tests my-ppa
  $ ppa destroy my-ppa


There's multiple ways to install:

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

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

  [NOTE: Snap build for 0.7 is not available yet, due to some problems
  with the snapcraft machinery, but hopefully should be available over
  the coming days.]


Shortlog of Changes From 0.6 to 0.7
-----------------------------------

Bryce Harrington (67):
      Include test-related materials in the dist tarball
      d/control: Reduce debhelper-compat to 12 for focal backporting
      Fix typing for old python
      RELEASING: Update version number example
      RELEASING: Generate changelog and shortlog
      RELEASING: Sign and verify the tarball
      RELEASING: Also CC ubuntu-devel@
      trigger: Use local referencing for text module
      tests: Update test_get_triggers() to adjust for emoticon spacing
      ppa: Fill in command help text
      man: Add man page for ppa-dev-tools
      man: Document recently added 'pocket' config setting
      Fix configuration of boolean settings
      man: Document how to specify command-specific settings
      ppa: Fix incorrect help text for --default-architectures
      man: Add man pages for the create and set commands
      man: Add man pages for remaining commands
      ppa: Drop get_das()
      Add a SourcePublication class
      Refactor use of SourcePublication into Trigger objects
      Fix yaml's safe_load_all deprecation
      Add security policy required by Canonical
      tox: Reorder tool execution
      tox: Update pytest configuration
      tox: Skip tests dependent on apt_pkg
      tox: Improve flake8 behavior
      tox: Run pylint on requested files
      tox: Switch from pep8 to pycodestyle
      tox: Also include scripts for flake and pylint
      tox: Improve pylint behavior
      source_publication: Fix pylint
      tox: Explain rationale for flake8 skips
      ppa show: Display command to install the PPA
      Demote powerpc to legacy
      constants: Promote riscv64 to the "all architectures" list
      tests: Remove unnecessary return from test (pylint)
      ppa: Drop 'UNIMPLEMENTED' command
      ppa: Fix formatting of options
      ppa: Fix usage text for subcommands to show the subcommand
      ppa: Improve display of subcommands for ppa --help
      text: Compare types with is, not ==
      ppa: Fix config issue with the credentials command
      lp: Add support for readonly mode
      pkg-updates: Lookup devel milestones from Launchpad
      lp: Handle devel series when frozen
      tests: Improve ppa script's test cases
      tests: Add top level module doc for all tests  [pylint/flake]
      text: Prefer isinstance() over type() ==  [pylint/flake]
      ppa: Parameter docs cleanup  [pylint/flake]
      ppa: Typing for get_source_publications()
      source_publication: Track status of the SourcePublication
      result: Fix __repr__ to show full constructor parameters
      ppa: Implement get_source_publications()
      ppa: Fix unpacking comma separated lists
      ppa: Move config/arg processing into create_config()
      ppa: Refactor unpack_config() more concisely
      ppa: Drop architecture from get_source_publications()
      ppa command_show: Convert to using publications
      RELEASING: Document building for multiple releases
      RELEASING: Use the version to assist in preparing release notes
      LICENSE: Rename to remove disallowed character
      pyproject: Lock down setuptools version
      NEWS: Add entry for 0.7.0
      Releasing 0.7.0
      - d/s/format: Switch back to native format
      - Restore setup.py, still required for jammy backport
      changelog

Florent 'Skia' Jacquet (1):
      triggers: make URL clickable in more terminals

Hook25 (1):
      Add missing dependency on python3-keyring

Jonas Jelten (1):
      show distro series name for source triggers

Olivier Gayot (2):
      ppa-show: print the name of the series
      ppa-show: parse the series link instead of querying launchpad

Simon Chopin (5):
      tests: enhance LP mocking to better model archive dependencies
      Implement pocket support for PPA creation
      Ppa: invalidate cached `dependencies` property when changing them
      config: allow command-specific knobs in the config file
      Paper over ruaml vs PyYaml API incompatibilities