Diff for "PPAQuickStart"

Not logged in - Log In / Register

Differences between revisions 6 and 19 (spanning 13 versions)
Revision 6 as of 2007-07-27 20:25:37
Size: 8568
Editor: adsl-71-132-144-61
Comment: Fix typo (lpbug 128759)
Revision 19 as of 2007-08-30 13:33:01
Size: 7965
Editor: 82-47-122-108
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
With Launchpad's Personal Package Archives (PPA), you can build and publish binary packages for multiple architectures simply by uploading a source package to Launchpad. 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.
Line 3: Line 3:
 {i} '''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].  {i} '''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].
Line 8: Line 8:
 * Binaries built for x86 and AMD64 architectures.  * Ubuntu binaries built for x86 and AMD64 architectures.
Line 11: Line 11:
The Personal Package Archives feature is currently in beta. Before you create your PPA, please note that: The Personal Package Archives feature is currently in beta. Before you create your PPA, you need to:
Line 13: Line 13:
 * Everything in your archive will be deleted automatically when PPA moves from beta to production.
 * The PPA beta is running in Launchpad's sandbox environment at [https://dogfood.launchpad.net dogfood.launchpad.net] and uses a snapshot of Launchpad's production database from June 2007.
 * You must be an Ubuntero (i.e. have signed the Ubuntu Community Code of Conduct), a member of the Launchpad Beta Testers team and have uploaded your GPG key all in your user profile in the dogfood environment.
   
 {i} '''Important:''' If you are not a member of the Launchpad Beta Testers team in the dogfood environment, email ppa-beta@launchpad.net to request membership.
   
== Checking your account is eligible for a PPA ==

Before you continue, check that your dogfood Launchpad account is eligible for a PPA.

Log into your account on dogfood Launchpad, then see our guides:

 * [:BecomingAnUbuntero:Becoming an Ubuntero]
 * [:ImportingYourOpenPGPKey:Importing your OpenPGP key]
 * [:JoiningLaunchpadBetaTesters:Joining the Launchpad Beta Testers team]
 * 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)
 * have [:ImportingYourOpenPGPKey:imported your GPG key] to your Launchpad account.
Line 31: Line 19:
'''Step 1:''' Visit your [https://dogfood.launchpad.net/people/+me/ profile page], in dogfood Launchpad, by clicking your name in the top-right corner of the page. '''Step 1:''' Visit your Launchpad [https://launchpad.net/people/+me/ profile page].
Line 35: Line 23:
'''Step 2:''' Click '''Activate PPA''' in the ''Actions'' menu, in the left-hand column of the page. '''Step 2:''' Click ```Activate PPA``` in the ``Actions`` menu, in the left-hand column of the page.
Line 41: Line 29:
'''Step 4:''' Enter a description of your PPA, then click '''Add''' if you agree to the terms of service. '''Step 4:''' Enter a description of your PPA, then click ```Add``` if you agree to the terms of service.
Line 45: Line 33:
If you are an administrator of a Launchpad team, you can create a team PPA using by following the same steps but clicking '''Activate PPA''' in your team's ''Actions'' menu. 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.
Line 48: Line 36:

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 supercedes 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~ppa1.
Line 53: Line 45:
   '''Versioning:''' By using {{{~ppa<n>}}} in the package version string, you can make sure users of your PPA packages can upgrade to a newer version that might hit the real Ubuntu archive later.
 
Line 59: Line 49:
fqdn = upload.dogfood.launchpad.net fqdn = ppa.launchpad.net
Line 66: Line 56:
fqdn = upload.dogfood.launchpad.net fqdn = ppa.launchpad.net
Line 72: Line 62:
'''Step 2:''' Upload signed sources only (no binaries), using: '''Step 3:''' Upload signed sources only (no binaries), using:
Line 74: Line 64:
dput phototeam-ppa <package>_<version>.source.changes dput phototeam-ppa <package>_<version>_dsource.changes
Line 77: Line 67:
'''Step 3:''' As there is no override system, you have to upload you package to the right/desired component. In {{{debian/control}}}, use this syntax {{{Section: universe/devel}}}. '''Step 4:''' As there is no override system, you have to upload you package to the right/desired component. In {{{debian/control}}}, use this syntax {{{Section: universe/devel}}}.
Line 79: Line 69:
'''Step 4:''' Launchpad will give you an ```accepted``` or ```rejected``` upload notification. '''Step 5:''' Launchpad will give you an ```accepted``` or ```rejected``` upload notification.
Line 81: Line 71:
'''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: '''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:
Line 83: Line 73:
https://dogfood.launchpad.net/people/+me/+archive/+builds?build_state=all&build_text= https://launchpad.net/people/+me/+archive/+builds?build_state=all&build_text=
Line 87: Line 77:
The contents of your archive is searchable and browsable using dogfood Launchpad's PPA interface at: You can search and browse all PPAs at:
Line 89: Line 79:
https://dogfood.launchpad.net/ubuntu/+ppas https://launchpad.net/ubuntu/+ppas
Line 93: Line 83:
http://ppa.dogfood.launchpad.net/<LP_NAME>/ http://ppa.launchpad.net/<LP_NAME>/
Line 100: Line 90:
deb http://ppa.dogfood.launchpad.net/<LP_NAME>/ubuntu <development release> main restricted universe multiverse
deb-src http://ppa.dogfood.launchpad.net/<LP_NAME>/ubuntu <development release> main restricted universe multiverse
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
Line 107: Line 97:
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 [XXX link needed] which include the Ubuntu Code of Conduct. 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.

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.

Your PPA gives you:

  • An APT repository of up to 1 gigabyte for material licensed with an [http://opensource.org/licenses/category OSI-approved licence].

  • Ubuntu binaries built for x86 and AMD64 architectures.
  • A web front-end where Launchpad users can browse and search for your packages.

The Personal Package Archives feature is currently in beta. Before you create your PPA, you need to:

  • 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)

  • 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.

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 supercedes 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~ppa1.

Dependencies: Your package's Build-Depends will always be satisfied using:

  • the latest packages from the PPA you're uploading to
  • the main Ubuntu archive.

Step 1: Edit ~/.dput.cf and add something like:

  • [my-ppa]
    fqdn = ppa.launchpad.net
    incoming = ~<LP_NAME>/ubuntu/
    login = anonymous

Step 2: To upload to a team PPA, such as ~phototeam, use something similar to ~/.dput.cf:

  • [phototeam-ppa]
    fqdn = ppa.launchpad.net
    incoming = ~phototeam/ubuntu/
    login = anonymous

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 <package>_<version>_dsource.changes

Step 4: As there is no override system, you have to upload you package to the right/desired component. In debian/control, use this syntax Section: universe/devel.

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:

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/<LP_NAME>/

{i} Note: Replace <LP_NAME> with your Launchpad username.

To install packages from your archive add the following lines to your /etc/apt/sources.list:

  • 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

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, so at present we will only support uploads of software under a free software or open source license. Please do not publish packages in your PPA which are not redistributable (the basic requirement for packages in Ubuntu). 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 [https://dogfood.launchpad.net/people/+me/+ppa-tos PPA Terms of Service] 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.

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.

PPAQuickStart (last edited 2008-09-10 18:52:53 by 82-37-240-159)