9085
Comment: Added note re ORIGs for bug 138088
|
8755
Removed beta notices
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
/!\ PPAs are now in BETA, please [:JoiningLaunchpadBetaTesters:join the launchpad-beta-testers team] if you want to try them out. |
|
Line 13: | Line 11: |
The Personal Package Archives feature is currently in beta. Before you create your PPA, you need to: | Before you create your PPA, you need to: |
Line 15: | Line 13: |
* be a member of the Launchpad Beta Testers team. Find out how to [:JoiningLaunchpadBetaTesters:join the team]. * [:BecomingAnUbuntero:be an Ubuntero] (i.e. have signed the Ubuntu Community Code of Conduct) |
* [:BecomingAnUbuntero:become an Ubuntero] (i.e. have signed the Ubuntu Community Code of Conduct) |
Line 35: | Line 32: |
If you are an administrator of a Launchpad team, you can create a team PPA using by applying the same steps to your team's profile page. | If you are an administrator of a Launchpad team, you can create a team PPA using by applying the same steps to your team's profile page. Any build failures from a team PPA will be sent to their team contact address, or if none is set, to each member of the team. |
Line 41: | Line 38: |
'''Versioning:''' If you're packaging an alternative version of a package already available in Ubuntu's repositories, you should ensure your package supersedes the current Ubuntu version. We recommend increasing the package's version and using a suffix of ```~ppa<n>``` (where ```<n>``` is your package's revision number). This will also ensure that a newer Ubuntu version will supercede your PPA version. Example: if you're packaging an experimental version of MyApp1.0, name the first version of your package myapp_1.0.1-0ubuntu1~ppa1. | '''Versioning:''' If you're packaging an alternative version of a package already available in Ubuntu's repositories, you should ensure your package supersedes the current Ubuntu version. We recommend increasing the package's version and using a suffix of `~ppa`''`n`'' (where ''`n`'' is your package's revision number). This will also ensure that a newer Ubuntu version will supercede your PPA version. Example: if you're packaging an experimental version of MyApp1.0, name the first version of your package myapp_1.0.1-0ubuntu1~ppa1. |
Line 45: | Line 42: |
* the latest packages from the PPA you're uploading to * the relevant sections (following the ogre model) of the primary Ubuntu archive - e.g. if your package is targeted to main your dependencies will be satisfied from main, whereas if your package is targeted to universe your dependencies will be satisfied from main and universe. |
* the most recent versions of the packages in the PPA you're uploading to * all sections of the primary Ubuntu archive - i.e. main, restricted, universe and multiverse. {i} '''Note:''' If you already upload to the Ubuntu primary archive, you should note that PPA builds do not have any dependency restrictions, unlike a build in the primary Ubuntu archive. If you want to build the same package in the primary Ubuntu archive at a later point you may need to revise the package's component and/or pocket. |
Line 53: | Line 52: |
incoming = ~<LP_NAME>/ubuntu/ | incoming = ~your-launchpad-id/ubuntu/ |
Line 68: | Line 67: |
'''Step 3:''' Upload signed sources only (no binaries), using: | '''Step 3:''' Upload signed sources only (no binaries), using |
Line 70: | Line 69: |
dput phototeam-ppa <package>_<version>_source.changes | dput phototeam-ppa P_V_source.changes |
Line 72: | Line 71: |
replacing ''P'' with the name of the package, and ''V'' with the version number. | |
Line 73: | Line 73: |
If you get a message that there is no signature on your changes file, either run ```debuild -S -sa -k<yourkeyid>``` or ```debsign <package>_<version>_source.changes```. | If you get a message that there is no signature on your changes file, either run ```debuild -S -sa -k<yourkeyid>``` or ```debsign P_V_source.changes```. |
Line 75: | Line 75: |
{i} '''Note:''' ORIGs are not shared between the primary Ubuntu archive and your PPA. The first time you upload a source package you need to include the ORIG - i.e. build the source package with ```debuild -S -sa```). | {i} '''Note:''' ORIGs are not shared between the primary Ubuntu archive and your PPA. The first time you upload a source package you need to include the ORIG - i.e. build the source package with ```debuild -S -sa```. |
Line 77: | Line 77: |
'''Step 4:''' Unlike the Ubuntu archive, there is no override system. You have to upload your package to the desired component. This will default to the 'main' component. If you want your package to go into universe, in debian/control, use this syntax 'Section: universe/devel'. | '''Step 4:''' Launchpad will give you an ```accepted``` or ```rejected``` upload notification. |
Line 79: | Line 79: |
'''Step 5:''' Launchpad will give you an ```accepted``` or ```rejected``` upload notification. '''Step 6:''' If the build fails, you will receive a failure notification. If you don't receive a build failure notification, you can check the status of your build by visiting: |
'''Step 5:''' If the build fails, you will receive a failure notification. If you don't receive a build failure notification, you can check the status of your build by visiting: |
Line 84: | Line 82: |
Line 93: | Line 93: |
http://ppa.launchpad.net/<LP_NAME>/ {i} '''Note:''' Replace <LP_NAME> with your Launchpad username. |
http://ppa.launchpad.net/your-launchpad-id |
Line 100: | Line 98: |
deb http://ppa.launchpad.net/<LP_NAME>/ubuntu <development release> main restricted universe multiverse deb-src http://ppa.launchpad.net/<LP_NAME>/ubuntu <development release> main restricted universe multiverse |
deb http://ppa.launchpad.net/your-launchpad-id/ubuntu <development release> main deb-src http://ppa.launchpad.net/your-launchpad-id/ubuntu <development release> main |
With Launchpad's Personal Package Archives (PPA), you can build and publish binary Ubuntu packages for multiple architectures simply by uploading an Ubuntu source package to Launchpad.
Important: This guide does not show you how to create source packages. You should only continue if you are familiar with Debian-based packaging as used by Ubuntu. To learn how to package for Ubuntu, follow [https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/index.html The Ubuntu Packaging Guide].
Your PPA gives you:
- An APT repository of up to 1 gigabyte for material licensed in accordance with the [wiki:PPATermsofUse PPA Terms of Use].
- Binary packages built for x86 and AMD64 architectures against Ubuntu.
- A web front-end where Launchpad users can browse and search for your packages.
Before you create your PPA, you need to:
* [:BecomingAnUbuntero:become an Ubuntero] (i.e. have signed the Ubuntu Community Code of Conduct)
have [:ImportingYourOpenPGPKey:imported your GPG key] to your Launchpad account.
Activating your PPA
Step 1: Visit your Launchpad [https://launchpad.net/people/+me/ profile page].
attachment:name.png
Step 2: Click Activate PPA in the Actions menu, in the left-hand column of the page.
attachment:activate-ppa.png
Step 3: Read the terms of service.
Step 4: Enter a description of your PPA, then click Add if you agree to the terms of service.
You are now ready to upload a source package to your PPA.
If you are an administrator of a Launchpad team, you can create a team PPA using by applying the same steps to your team's profile page. Any build failures from a team PPA will be sent to their team contact address, or if none is set, to each member of the team.
Creating your source package
When creating a source package for use with PPA, you need to consider:
Versioning: If you're packaging an alternative version of a package already available in Ubuntu's repositories, you should ensure your package supersedes the current Ubuntu version. We recommend increasing the package's version and using a suffix of ~ppan (where n is your package's revision number). This will also ensure that a newer Ubuntu version will supercede your PPA version. Example: if you're packaging an experimental version of MyApp1.0, name the first version of your package myapp_1.0.1-0ubuntu1~ppa1.
Dependencies: Your package's Build-Depends will always be satisfied using:
- the most recent versions of the packages in the PPA you're uploading to
- all sections of the primary Ubuntu archive - i.e. main, restricted, universe and multiverse.
Note: If you already upload to the Ubuntu primary archive, you should note that PPA builds do not have any dependency restrictions, unlike a build in the primary Ubuntu archive. If you want to build the same package in the primary Ubuntu archive at a later point you may need to revise the package's component and/or pocket.
Step 1: Edit ~/.dput.cf and add something like:
[my-ppa] fqdn = ppa.launchpad.net method = ftp incoming = ~your-launchpad-id/ubuntu/ login = anonymous allow_unsigned_uploads = 0
Step 2: To upload to a team PPA, such as ~phototeam, use something similar to ~/.dput.cf:
[phototeam-ppa] fqdn = ppa.launchpad.net method = ftp incoming = ~phototeam/ubuntu/ login = anonymous allow_unsigned_uploads = 0
Now you can upload to your PPA or to the phototeam's PPA (only if you are member of it).
Step 3: Upload signed sources only (no binaries), using
dput phototeam-ppa P_V_source.changes
replacing P with the name of the package, and V with the version number.
If you get a message that there is no signature on your changes file, either run debuild -S -sa -k<yourkeyid> or debsign P_V_source.changes.
Note: ORIGs are not shared between the primary Ubuntu archive and your PPA. The first time you upload a source package you need to include the ORIG - i.e. build the source package with debuild -S -sa.
Step 4: Launchpad will give you an accepted or rejected upload notification.
Step 5: If the build fails, you will receive a failure notification. If you don't receive a build failure notification, you can check the status of your build by visiting:
https://launchpad.net/people/+me/+archive/+builds?build_state=all&build_text=
Accessing your archive
You can search and browse all PPAs at:
https://launchpad.net/ubuntu/+ppas
Your archive is located at:
http://ppa.launchpad.net/your-launchpad-id
To install packages from your archive add the following lines to your /etc/apt/sources.list:
deb http://ppa.launchpad.net/your-launchpad-id/ubuntu <development release> main deb-src http://ppa.launchpad.net/your-launchpad-id/ubuntu <development release> main
Removing packages from your PPA
It's not currently possible to remove packages from your PPA. Soon, you'll be able to use remove packages from your PPA using the Launchpad interface.
Frequently asked questions
Can anybody have a PPA?BR Yes, this service is available to any developer who wants to publish packages of their free software code. You need a Launchpad account, you will also need a GPG key to sign your source code uploads and you will need to accept the Terms of Service which include the Ubuntu Code of Conduct.
Can I publish any software in a PPA?BR This is a free service for free software developers and licensing is limited to those which are specified in the [wiki:PPATermsofUse PPA Terms of Use]. We may make this service available to commercial software developers too, and would be happy to hear from you if you think that would be useful for you.
What other limitations apply to the PPA service?BR Other than the expectation that packages in your PPA are free software, we do ask that you not abuse the build system with unnecessary builds or automated uploads of large numbers of packages. We will monitor the total amount of build time per user and ask folks to be reasonable in their use of the shared resources in the PPA pool. Developers and teams each start with 1 gigabyte of storage space freely available in their PPA's for source and binary packages. We will not accept uploads of packages that are unmodified from their original source in Ubuntu or Debian, only packages that include your own changes. We ask that people include useful changelogs for each package so that users and other developers can understand what new features they are exploring in their work. Read the [wiki:PPATermsofUse PPA Terms of Use] for more information.
How long are packages published?BR Packages will remain published until either you remove them yourself, or you supersede them with newer versions, or the underlying release of Ubuntu against which they were built becomes obsolete and unmaintained. Note: You cannot remove packages from your PPA at the moment. We will add this functionality to Launchpad soon.
What formats of packages are supported?BR At this stage only .deb packages are supported. If you are interested in building RPM or other package formats, please contact us on the [https://lists.canonical.com/mailman/listinfo/launchpad-users Launchpad users mailing list] to discuss that in more detail!
How many users can download packages from my PPA?BR There are no limits on the number of users you can point at your PPA. We would encourage you to build communities of users and testers around your PPA, and there are no bandwidth restrictions on downloads from any PPA.
How many PPAs can I have?BR Each user and team in Launchpad can have a single public PPA. If you want to have different versions of the same package, testing different features or focused on different use cases, then we would encourage you to create a new team and use the PPA for that team. That way, for example, you can have a team of people interested in "server" issues that has one version of the Apache package, and another interested in "workstation" issues that has a different version of the same package, each in a different PPA. Please don't abuse this capability!
Why are only x86 and amd64 architectures supported?BR We use the Xen virtualisation system for security during the build process, ensuring that each build has a clean build environment and different developers cannot impact on one another's builds accidentally. This technology is only available on x86 and amd64.