Uploading Packages to PureOS

Packages built by the Continuous Integration (CI) system can be published in the PureOS package repository. Only specific releases that are specially tagged are uploaded to the repository.

Packaging Requirements

Only packages built using the CI system can be submitted to the package repository for the phone. See Core Package Building for instructions describing how to submit packages to the CI system.

If you are both the developer and packager of the software, specify amber-phone as the suite in the debian/changelog file for the latest release. For example:

phosh (0.1.0) amber-phone; urgency=medium

This indicates the suite where the package will be published.

Tag the Release with a Signed Tag

Each package that needs to be made available from the PureOS package repository must be generated from a commit that is tagged with a signed git tag by the developer. You may find it useful to use git-buildpackage to perform this task and make sure that it is done in a consistent way.

Upstream Packaging

For packages where the packager is also the upstream developer, the release commit should be tagged with a signed tag as in this example:

git tag -s -m'phosh v0.1.0' v0.1.0

Here, phosh is the name of the package, as given in the debian/changelog file. The version must correspond to the latest package version, so v0.1.0 corresponds to version 0.1.0 in the changelog:

phosh (0.1.0) amber-phone; urgency=medium

Ensure that the version numbers match and that the tag is prefixed with v both in the tag itself and in the message passed using the -m option.

Publish the tag in the publicly available repository for the software so that the CI system can find it. This must be the same repository specified in the jobs.yml file in the deb-build-jobs repository. The CI system will pull the signed tag automatically.

Downstream Packaging

This is currently described in the Librem5 pureos amber-phone uploads note.

Uploading Packages

The CI system takes care of uploading packages to the PureOS package repository where they can be found using the PureOS package search tool. If a package does not appear when one is expected, check the messages in the librem5-builds mailing list to make sure that the package was built successfully.

Further Reading

See the Librem5 pureos amber-phone uploads note for more details about creating and preparing packages for upload to the PureOS package repository.