Upload a PPA¶
Following a successful merging procedure, upload the updated package to a PPA for building.
Merging series
The article series provides guidance on performing package merges.
- Process overview:
Get the orig tarball¶
Ubuntu doesn’t know about the new tarball yet, so we must create it.
$ git ubuntu export-orig
If the upstream version does not yet exist in Ubuntu, that is, the new package from Debian also includes a new upstream version, you should add the --for-merge
option:
$ git ubuntu export-orig --for-merge
If this fails, do it manually.
Build source package¶
$ dpkg-buildpackage \
--build=source \
--no-pre-clean \
--no-check-builddeps \
-sa \
-v3.1.20-3.1ubuntu2
The switches are:
-sa
include orig tarball (required on a merge)
-vXYZ
include changelog since
XYZ
As the merge upload represents all changes that happened in Debian since the last merge plus anything added as part of the merge itself, -v
should usually point to the last published Ubuntu version. For example:
Ubuntu merged as
1.3-1ubuntu1
.Then Ubuntu had a fix in
1.3-1ubuntu2
.But in the meantime, Debian merged upstream as
1.4-1
.And then Debian added a fix in
1.4-2
.New Ubuntu will be
1.4-2ubuntu1
.-v
should be set to1.3-1ubuntu2
.Thereby the
.changes
file will include1.4-1
,1.4-2
, and1.4-2ubuntu1
.That represents all the changes that happened from the perspective of an Ubuntu user upgrading from
1.3-1ubuntu2
to1.4-2ubuntu1
.
Note
If sponsoring a merge or any other upload for someone else, remember the need to sign their upload with your key. See Sponsor a package for more information about that.
Furthermore just like you, the sponsor needs to know about setting -v
right and using -sa
when needed. If in doubt, coordinating with them is helpful.
Push to your Launchpad repository¶
Now that the package builds successfully, push it to your Launchpad repository:
git push <your-lp-username>
You get an error message and a suggestion for how to set an upstream
branch. For example:
$ git push kstenerud
fatal: The current branch merge-lp1802914-disco has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream kstenerud merge-lp1802914-disco
Run the suggested command to push to your repository.
Create a PPA¶
You need to have a PPA for reviewers to test.
Create a PPA repository¶
https://launchpad.net/~<your-username>/+activate-ppa
Give it a name that identifies the package name, Ubuntu version, and bug number, such as at-merge-1802914
.
Important
Be sure to enable all architectures to check that it builds (click Change details in the top right corner of the newly created PPA page).
The URL of the PPA is formed as follows:
https://launchpad.net/~<your-username>/+archive/ubuntu/<PPA-name>
For example:
https://launchpad.net/~kstenerud/+archive/ubuntu/disco-at-merge-1802914
Upload files¶
$ dput ppa:kstenerud/disco-at-merge-1802914 ../at_3.1.23-1ubuntu1_source.changes
Wait for packages to be ready¶
Check the PPA page to see when packages are finished building:
https://launchpad.net/~kstenerud/+archive/ubuntu/disco-at-merge-1802914
Look at the package contents to make sure they have actually been published (click View package details in the top right corner of the PPA page, or append
+packages
to its URL):https://launchpad.net/~kstenerud/+archive/ubuntu/disco-at-merge-1802914/+packages