Skip to main content

Request PPAs for deb source packages

Project description

DISCONTINUED

This has been discontinued in favor of ppa-dev-tools.

While this is still useful for examples, I no longer intend to proceed with development for this tool. Please, use ppa-dev-tools instead.

lppa

Command line tool to create Launchpad PPAs and push deb source packages to them.

While this tool is intended to be used by distribution developers who often need to prepare and push packages to test PPAs, this can also be used by developers who wish to distribute their software through PPAs. For the latter, please make sure to check the documentation since the default values are designed to enhance the former use cases.

Installation

pip install lppa

Usage

lppa ships an lppa command line application to interact with Launchpad PPAs. Run

lppa --help

for additional information.

Create a new PPA

To create a new PPA, run

lppa create PPA_NAME [all|arch, ...]

where arch is a Launchpad processor (you can pass multiple architectures here) or all to enable all available architectures. If no architecture is passed, all is assumed.

The currently available Launchpad processors are

  • amd64
  • arm64
  • s390x
  • ppc64el
  • armhf
  • armel
  • i386
  • powerpc
  • riscv64

Delete an existing PPA

lppa delete PPA_NAME

List user's PPAs

lppa list

This will print a list with the names of the user's available PPAs

Fetch PPA information

Often, you may want to retrieve an URL for a PPA packages page or quickly fetch a dput command to upload packages to a PPA. That can be achieved through the info command.

lppa info PPA_NAME

Moreover, passing the -v option to the info command will also display the architectures for which the PPA can build packages.

Development

Run make devel to set the development environment up (a python virtual environment is recommended).

Run make check to run the test suite and ensure the development environment is up to date.

You can use make coverage to ensure code coverage is not drastically reduced by new changes (if proposing changes, try to write some tests for them).

For instance, a complete bootstrap script would look like:

# apt install -y python3-virtualenv python3-virtualenvwrapper
$ mkvirtualenv lppa
$ workon lppa
$ make devel
$ make check

Releasing

There is a make release target which will

  • Change lppa/__init__.py to set the version to be published
  • Update the CHANGELOG.md file with towncrier entries
  • Commit the changes above and tag the repository
  • Push the changes to PyPI (login required)
  • Add a final commit bumping the package version to a new development one

Finally, a manual git push (including tags) is required.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lppa-0.3.0.tar.gz (24.5 kB view details)

Uploaded Source

Built Distribution

lppa-0.3.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file lppa-0.3.0.tar.gz.

File metadata

  • Download URL: lppa-0.3.0.tar.gz
  • Upload date:
  • Size: 24.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for lppa-0.3.0.tar.gz
Algorithm Hash digest
SHA256 0cd79133c2c68a56b14c2eeebd538e675605b490603e3683c9ac6bf9e28ed856
MD5 e9c741a45a7a84b8b06e415bf582148f
BLAKE2b-256 1c45ce7a85ccf4af8f39cec2dc0d90ed0a02e5bc507ef4de854a98ab6b10d481

See more details on using hashes here.

File details

Details for the file lppa-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: lppa-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for lppa-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7309e87cd926e3aa187523b930a0b35c760688cf3fe8ddb119bc70578f3222d6
MD5 fbc36b046616fc434da847f3e13c5a97
BLAKE2b-256 655171a1cbb5c49d35273fa325ecb2593255c2b16cc01bcaabb007164a5e9a9a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page