OpenDev PPA details¶
There are various utilities where the OpenDev infrastructure requires tools or utilities with updates, bug fixes or are otherwise not packaged by upstream.
Since our standard server environment is Ubuntu, we utilise shared PPA repositories to build and provide these updated packages.
It is generally our intention to work with upstream to make all relevant changes in a generic fashion. Unfortunately the reality of also running production systems sometimes interferes with this goal!
Any packages coming from the OpenDev PPA are therefore rather ad-hoc, and depend on circumstances resulting in needing a new package. Some will incorporate a patch or bug fix, others may back port new versions of software, it may be software that is not available in the upstream distribution for various reasons.
Generally any specifics relating to the packages in the various PPA’s under the OpenStack CI Core team’s purview will be documented in the playbooks, roles or scripts that are using the PPA.
At a Glance¶
- Hosts:
Various
- Ansible:
Various
- Projects:
Permissions¶
To have permissions to create a new PPA in the openstack-ci-core
team, or work existing PPA’s you need to be added as a member. Any
current member of the team, or the parent OpenStack Administrators group can add a person to
the PPA.
This can be arranged via discussion in #opendev, on the infra mailing list or perhaps via a topic discussion in the weekly meeting.
Uploading¶
Debian packaging can get quite complex, and you will need an
understanding of how to create .deb
packages, sign them and use
tools to upload into the PPA. There are many various guides
http://shallowsky.com/blog/programming/packaging-launchpad-ppas.html
https://askubuntu.com/questions/71510/how-do-i-create-a-ppa/493577#493577
Note you will have to have your GPG key in your launchpad profile, and upload the source packages signed with that key for them to be accepted and built.
Usage¶
Generally the PPA will be used in Ansible roles via the inbuilt
apt_repository
task. Once the PPA is added standard install
mechanisms are used for the package install.