- Packages must be built from source only. PPAs do not accept built .debs. Only source tarballs are allowed for security and opensource licensing reasons.
- All dependencies must be satisfied from the ubuntu repo or other PPAs. No internet access for build due to security and build repeatability.
- Create a launchpad account.
- From your account page you can click "Create a new PPA".
- Add your gpg key to your account as explained here. Use this to get the fingerprint:
- Update your debian/changelog file for the new version by running:
- Build your source package. Personally I found creating a Dockerfile was a nice way to do it that avoided having to install all the build dependencies on my own system (although this may not be worth it if you are just going to build the source package). Pbuilder is also an alternative. Inside your Dockerfile you will run this to get an unsigned .changes and .dsc:
- Sign your .changes with debsign. You only need to specify -e here if your keyname is different to the package maintainer email in your control file.
- Upload to the PPA:
debsign -e myemail@mydomain mypackage_3.1.0-2_amd64.changes
dput ppa:myusername/testppa mypackage_3.1.0-2_amd64.changes