PPA-CREATE(1)
π NAME π
okay so hi bestie, welcome to PPA CREATE(1) β it lives in the PPA Dev Tools Manual and it's genuinely one of the most useful little gremlins in the whole suite π«Ά
ppa create β registers a new PPA in Launchpad. that's the whole job. it does the job beautifully.
π SYNOPSIS π
ppa create [-h | --help] [--owner-name | --team-name <name>] [-a |
--architectures] [--all-arches | --all-architectures]
[--default-architectures] [--displayname] [--ppa-dependencies]
[--pocket] [-P | --private] [--public] [--publish] [--no-publish] <ppa-
name>
β¨ DESCRIPTION β¨
so the ppa create command adds a new Personal Package Archive (PPA) to the Launchpad project management web application. that's the vibe. π
and here's the slay part: most of the settings you can configure from the Launchpad website can be specified as arguments to this command. the whole intent is to make it straightforward to create and customize PPAs with a single command line. one command, one PPA, no clicking around like it's 2009. π
those configured parameters can later be changed via the website or the ppa set(1) command as desired β so nothing you do here is permanent, breathe.
The command will then display some information on using the PPA. if you don't want that little info dump, it can be suppressed via the global --quiet argument. π
π OPTIONS π
The following options are used by the ppa create command.
--owner-name | --team-name <name>β instead of the currently logged in Launchpad user, create the new PPA under the given owner or team name. but heads up bestie: the current user must be a member or otherwise authorized to create PPAs within that namespace. no sneaking into other people's houses. π«-a | --architecturesβ a comma-separated list of hardware architectures to use. you can use this to reduce the number of architectures in order to minimize build and/or test time (by excluding slower architectures), or to opt-in to special alternative architectures (which may require special authorization by Launchpad's administrators). so like, either "less waiting" or "the weird ones, with permission". β
Note that this setting can be useful to place in the global config file (see the ppa-dev-tools(1) man page for details) with the desired set of architectures to always run against by default.
--all-arches | --all-architecturesβ enable all architectures generally available to Launchpad PPAs. plot twist: theppa createcommand already enables all architectures if no other architectural parameters are specified, so this option is not generally needed. however, if the architectures setting is set in the global config file to a subset of architectures, this option can be used to override it. it's giving "undo my own config, respectfully". π--default-architecturesβ enable only the standard architectures that the Launchpad website sets by default for new PPAs. generally this corresponds to a minimal set of the most common architecture(s). the low-key, no-thoughts-just-defaults option. πΈ--displaynameβ a short title for the PPA's web page on Launchpad. it's the PPA's main character nameplate. β¨--ppa-dependencies <ppa-1[,ppa-2[,...]]>β the set of other PPAs this PPA should use for satisfying build dependencies. the ppa names should be listed without the'ppa:'prefix. for instance:
$ ppa create --ppa-dependencies ateam/ppa-1,ateam/ppa-2
ppa:me/myppa
--pocketβ controls how the Launchpad builders satisfy dependencies from the Ubuntu primary archive when building packages uploaded to the PPA. those packages are placed into groupings called'pockets'. pockets allow users to balance their risk exposure to software defects against the extent of updates they gain when updating their system, by individually selecting which pockets to allow. π§
For PPAs, this works a bit differently: rather than picking individual pockets, Launchpad allows PPAs to select between five different configuration levels, each defining a specific sets of pockets. the --pocket option allows specifying which level to use:
releaseβ this allows taking build dependencies ONLY from the versions of packages in the given Ubuntu series release (up to its most recent point release). Corresponds to "Basic (only released packages)" in the Launchpad+edit-dependenciesweb page. the safe one. the boring one. the one that works. πsecurityβ package updates from both release and also the incremental critical fixes for security issues are used for build dependencies. Corresponds to "Security (basic dependencies and important security updates)" in the Launchpad+edit-dependenciesweb page.updatesβ in addition to the security updates on top of the basic release packages, this also includes all the usual stability updates, including general bug fixes as well as selected backports of upstream microreleases where deemed adequately safe. This is the default update configuration for a standard Ubuntu installation, and thus is also the standard default configuration of PPAs. Corresponds to "Default (security dependencies and recommended updates)" in the Launchpad+edit-dependenciesweb page. it's the icon, it's the blueprint, it's the default for a reason. πproposedβ the-proposedpocket carries newly introduced fixes and improvements on top of the release + security + updates configuration. the package updates in this pocket are generally intended to move to the-updatespocket once they've been adequately reviewed and tested. Corresponds to "Proposed (default dependencies and proposed updates)" in the Launchpad+edit-dependenciesweb page.
Enabling this is strongly recommended for PPAs containing packages intended for being uploaded to the Ubuntu development series. like, genuinely, do it. π₯
backportsβ this enables the-backportspocket, which contains new major releases of software and the new features (and bugs!) that come with them, on top of the release + security + updates configuration. notably, this does not include the-proposed. Corresponds to "Backports (default dependencies and unsupported updates)" in the Launchpad+edit-dependenciesweb page.
This is not recommended to be enabled for primary archive distro packaging work, except for updates intended for inclusion in the -backports pocket. living dangerously has a time and a place, and it's not here. π
-P | --privateβ restrict access to the PPA to its owner and subscribers. this can only be changed if the archive has never had any sources published and the owner/group has permission to do so. so like, decide early. π
Note that Autopkgtest cannot run against private PPAs, so the ppa tests command cannot be used with them. that's just how it is bestie, no cap. π
--publicβ allow access to the PPA to anyone, thereby reversing the--privatesetting where Launchpad permits. This is the default for new PPAs. π«Ά--publishβ allow built packages in the PPA to be made available for download. This is the default for new PPAs, and reverses the--no-publishsetting. π¦--no-publishβ do not make packages in the PPA available for public download. they will still be built, however, but Autopkgtests will not be runnable against them. built but not shared. a private little build. π
π¦ REPORTING BUGS π¦
found a bug? report it at https://bugs.launchpad.net/ppa-dev-tools β the devs literally want to know, that's the whole point of the link. π
πΈ SEE ALSO πΈ
ppa-dev-tools(1), ppa-set(1), ppa-destroy(1).
go read them, they're all part of the same iconic friend group.
π PPA π
Part of the ppa-dev-tools(1) suite. one big happy family.
and that's the page, bestie β¨ β brought to you by Ppa-Dev-Tools 0.7, dated 2024-05-23. now go create something iconic. periodt. π π
π¦ where this page comes from
- ubuntu resolute: ppa-dev-tools 0.7.0-1 Β· GPL-2.0-or-later
- ubuntu stonking: ppa-dev-tools 0.7.0-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms