The version of the resulting package comes from the version number provided in debian/changelog
So you must have the appropriate version there.
1.0.3-1
will supersede an Ubuntu only upload versionized 1.0.3-0ubuntu1
$ dpkg --compare-versions 1.0.3-1 le 1.0.3-0ubuntu1 || echo "False"
False
But it will not supersede a version originating from Debian with Ubuntu changes, i.e. 1.0.3-1ubuntu1
$ dpkg --compare-versions 1.0.3-1 le 1.0.3-1ubuntu1 || echo "False"
$
The tilda (~
) character has a special meaning in version numbers. For example:
$ dpkg --compare-versions 1.0.3-1 le 1.0.3-1~ppa1 || echo "False"
False
As your package is not originating from Debian, I go with a version number like 1.0.3-0~ppa1
This guarantees that it is less than either a version synced directly from Debian or introduced in Ubuntu,
So your change log should look like:
artha (1.0.3-0~ppa1) quantal; urgency=low
* New upstream release.
-- Your Name <foo@bar.com> Sun, 07 Oct 2012 13:06:56 -0400
Whether to use debuild -S -sd
or debuild -S -sa
is really a different question, but here's a brief answer.
-sa
ensures that the .orig.tar.bz2
will be uploaded. If you haven't made an upload of this upstream version before, use this.
-sd
explicitly makes it so that only the debian.tar.gz
or diff.tar.gz
are uploaded. This is for when you are making a change to an upstream version that is already available in you target archive or PPA. This is because th original tarball should already be present there.
Publishing app via ppa and submitting app to ubuntu software center are different.
Personal Package Archives (PPA) allow you to upload Ubuntu source
packages to be built and published as an apt repository by Launchpad.
You can find out more about PPAs and how to use them in launchpad help page.
You can publish any open source app via ppa , there is no security verification or quality check, ppa's are people who want up to date packages. So ppa's are not directly published to ubuntu software center user can additin their own risk
If you want add your app to software center You have 2 choices
- Via debian repository
- Directly to ubuntu via myapps portal
Each have it's own merits and demerits .for more details see this answer. If you want to add your software in current releases and you want to maintain it ,you should go use myapps portal
In the case of paid and non-open source software, Canonical will package and publish your app submitted as a .tar or .deb file submitted to MyApps.
In the case of Open source software at zero cost
All submissions should be through a Personal Package Archive (PPA),
which you can indicate in the comment field for the reviewer when
submitting your app.
It is for convenience of Application review board , They will review your app and If they found it is fit to ubuntu software center, They will push it to software center via extra.ubuntu.com repository
Keep in mind that beta versions of open source software are not allowed in ubuntu center by the ARB , You can keep bleeding edge packages in another ppa or in git itself, ie You must submit stable version to software center, and Each update in your software require review from Application review board
Some useful links
Sorry If answer confused you, please feel free to comment below
Best Answer
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