Here is a step by step guide on how to create Ubuntu PPA – that is your personal software repository for keeping your tweaked softwares. This is an important guide but needs a bit basic knowledge about Aptitude, Package Managers, if you know how to distribute your software via deb repository, it will be more great; you need to know about GNU PGP.
If you once build a custom software, like Nginx with PageSpeed, you need not to build it 100 times on different servers. In the guide, Installing WordPress on HP Cloud (Ubuntu, Nginx), we ran :
1 | sudo add-apt-repository ppa:nginx/stable |
Basically it add the urls to :
---
1 | /etc/apt/sources.list |
That is a PPA too which is of official Nginx. If we offered you a custom build, you could install with one command without much need to tweak. You can create non-public repository too. We need to use a Signing key. That step is like :
1 | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys VALUE |
VALUE
is your number.
How to Create Ubuntu Repository (PPA) : Basic Steps
First register an account at launchpad.net via Browser from any OS. How need to activate a PPA, you can follow OS X specific steps for signing with GPG. You have to sign the Ubuntu code of conduct to proceed. Except the signing part, you can do these works via browser, it is easy. Add your own icon, description etc. These will consume some time. There are two types of Personal PPA – Personal and for Team. Team is better as others known to you can be given access.
Uploading your source packages is a bit tricky.
How to Create Ubuntu Repository (PPA) : Releasing Packages
There are, basically many methods. One is called backport
, another is to Debianize
, there are many ways but the easy way is FTP
method. That is basically described in official page :
1 | https://help.launchpad.net/Packaging/PPA/Uploading |
How you will package it matters on what you are going to publish. You can also host your own apt repository (that is on your server). If you want to use server, this is basic method :
1 2 3 4 5 6 7 8 9 10 | mkdir tmp cd tmp dpkg-source -x ../deb_dist/packagename_version.dsc cd packagename_version debuild -S -sa # type your GPG passphrase dput ppa:yourppa ../packagename_version_source.changes dput ppa:your-ppa-name deb_dist/packagename_version.changes # If Launchpad accepts the changes, you will get email # It is like Publishing a WordPress Plugin |