Let's assume I have a working application written in C, C++ or Python. I want to create a Launchpad PPA so others can easily install it from a package. Please give step by step instructions for doing this from beginning to end. (Or provide a link that does the same ;)
- Does the programming language matter? (Could it be a bash script?)
- Do I need to add anything to my build?
- Where should the build install itself to?
- How do I define dependencies?
- How do I use dependencies?
- How do I create a .deb?
- What do I need to do before uploading to Launchpad?
That's a very wide question. I'll try to answer as much as I can, but it definitely WON'T be a step-by-step instruction. This is because there is no step-by-step algorithm for creating a package. The way you'll do it depends on many factors, mostly on the type of package (application, library), the structure of source, and many details.
Luckily, there is a thorough guide at http://packaging.ubuntu.com
I'll try to help you a bit with understanding the whole process, so when you'll be a bit more familiar with it. The Packaging Guide includes resources for additional help.
First of all you should realize that creating a package (a .deb file) is a separate process from creating a PPA. Creating a PPA is a matter of going to your Launchpad's profile and clicking "Create a new PPA" link. That's all. It's created, it works, but it's empty. To upload a package you must first create one. But let me first answer some of your minor questions.
Building a .deb package may look as a really complicated process, but it's not that difficult. I highly recommend you the official Ubuntu guide to creating packages: http://packaging.ubuntu.com
It's HUGE, but you'll see you can probably skip most parts of that text (depending on what package you are going to build). Basically, packaging process consists of these parts (all are clearly explained in The Guide):
Now you'll have to upload it to your PPA, which is explained on this help page: https://help.launchpad.net/Packaging/PPA/Uploading
As you see creating a PPA is not that straightforward. But don't be frightened, it's also not that difficult. Moreover, I recommend you not to encourage developers to use a PPA, as probably they won't listen to you, since they would need to do some additional job (and if they wanted to they would have done it already), but you may want to try to support Ubuntu developers and the whole community and provide them with packages you've prepared :)
I wish you good luck with creating packages, hope you'll find my answer helpful :)
Your friend, Rafał Cieślak
Before you can upload your package, you'll need to set it up for
.deb
packaging, see the Ubuntu PackagingGuide.Once you can build a package for your software, see Launchpad's PPA documentation. It will guide you from PPA creation to uploading your package.