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 -- ubuntu-devel mailing list ubuntu-devel@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel