Package Repository Properties¶
PPA properties¶
The following properties are supported for PPA-type repositories:
- type
Type: enum[string]
Description: Specifies type of package-repository, must currently be
apt
Examples:
type: apt
- ppa
Type: string
Description: PPA shortcut string
Format: <ppa-owner>/<ppa-name>
- Examples:
ppa: snappy-devs/snapcraft-daily
ppa: mozillateam/firefox-next
- priority
Type: enum[string] or int
Description: Overrides the default behavior when picking the source for a particular package
Format:
always
,prefer
ordefer
. Alternatively an int other than 0Notes: string equivalencies are
always
: 1000;prefer
: 990;defer
: 100- Examples:
priority: always
priority: 1000
- key-id
Type: string
Description: 40 character GPG key identifier (“long-form thumbprint” or “fingerprint”). To determine a key-id from a given key file with gpg, type the following:
gpg --import-options show-only --import <file>
Format: alphanumeric, dash
-
, and underscores_
permitted.- Examples:
key-id: 590CA3D8E4826565BE3200526A634116E00F4C82
The following properties are supported for UCA-type repositories:
- type
Type: enum[string]
Description: Specifies type of package-repository, must currently be
apt
Examples:
type: apt
- cloud
Type: string
Description: UCA release name
Format: <uca-release>
- Examples:
cloud: antelope
cloud: zed
Type: enum[string]
Description: Pocket to get packages from, must be either
updates
orproposed
Default: If unspecified, pocket is assumed to be
updates
- Examples:
pocket: updates
pocket: proposed
Deb properties¶
The following properties are supported for Deb-type repositories:
- type
Type: enum[string]
Description: Specifies type of package-repository
Notes: Must be
apt
- Examples:
type: apt
- architectures
Type: list[string]
Description: Architectures to enable, or restrict to, for this repository
Default: If unspecified, architectures is assumed to match the host’s architecture only (even for multi-arch builds)
- Examples:
architectures: [i386]
architectures: [i386, amd64]
- components
Type: list[string]
Description: Apt repository components to enable: e.g.
main
,multiverse
,unstable
- Examples:
components: [main]
components: [main, multiverse, universe, restricted]
- formats
Type: list[string]
Description: List of deb types to enable
Default: If unspecified, format is assumed to be
deb
, i.e.[deb]
- Examples:
formats: [deb]
formats: [deb, deb-src]
- key-id
Type: string
Description: 40 character GPG key identifier (“long-form thumbprint” or “fingerprint”). To determine a key-id from a given key file with gpg, type the following:
gpg --import-options show-only --import <file>
Format: alphanumeric, dash
-
, and underscores_
permitted.- Examples:
key-id: 590CA3D8E4826565BE3200526A634116E00F4C82
- key-server
Type: string
Description: Key server to fetch key
<key-id>
fromDefault: If unspecified, The Craft Application will attempt to fetch a specified key from keyserver.ubuntu.com
Format: Key server URL supported by
gpg --keyserver
- Examples:
key-server: keyserver.ubuntu.com
key-server: hkp://keyserver.ubuntu.com:80
- path
Type: string
Description: Absolute path to repository (from
url
). Cannot be used withsuites
andcomponents
Format: Path starting with
/
- Examples:
path: /
path: /my-repo
- priority
Type: enum[string] or int
Description: Overrides the default behavior when picking the source for a particular package
Format:
always
,prefer
ordefer
. Alternatively an int other than 0Notes: string equivalencies are
always
: 1000;prefer
: 990;defer
: 100- Examples:
priority: always
priority: 1000
- suites
Type: string
Description: Repository suites to enable
Notes: If your deb URL does not look like it has a suite defined, it is likely that the repository uses an absolute URL. Consider using
path
- Examples:
suites: [xenial]
suites: [xenial, xenial-updates]
Type: enum[string]
Description: Pocket to get packages from, must be one of:
release
,updates
,proposed
orsecurity
.- Examples:
pocket: updates
pocket: proposed
- series
Type: string
Description: Repository series to use
Notes:
series
must be used withpocket
and cannot be used withsuites
- Examples:
series: mantic
series: bionic
- url
Type: string
Description: Repository URL.
- Examples:
url: http://archive.canonical.com/ubuntu
url: https://apt-repo.com/stuff
Examples¶
PPA repository using “ppa” property¶
package-repositories:
- type: apt
ppa: snappy-dev/snapcraft-daily
PPA repository using key-id¶
package-repositories:
- type: apt
ppa: mozillateam/firefox-next
key-id: 78E1918602959B9C59103100F1831DDAFC42E99D
UCA repository using “cloud” property¶
package-repositories:
- type: apt
cloud: antelope
UCA repository using “pocket” property¶
package-repositories:
- type: apt
cloud: antelope
pocket: updates
Typical apt repository with components and suites¶
package-repositories:
- type: apt
components: [main]
suites: [xenial]
key-id: 78E1918602959B9C59103100F1831DDAFC42E99D
url: http://ppa.launchpad.net/snappy-dev/snapcraft-daily/ubuntu
Typical apt repository with components, pocket and series¶
package-repositories:
- type: apt
components: [main]
series: xenial
pocket: updates
key-id: 78E1918602959B9C59103100F1831DDAFC42E99D
url: http://ppa.launchpad.net/snappy-dev/snapcraft-daily/ubuntu
Apt repository enabling deb sources¶
package-repositories:
- type: apt
formats: [deb, deb-src]
components: [main]
suites: [xenial]
key-id: 78E1918602959B9C59103100F1831DDAFC42E99D
url: http://ppa.launchpad.net/snappy-dev/snapcraft-daily/ubuntu
Absolute path repository with implied root path “/”¶
package-repositories:
- type: apt
key-id: AE09FE4BBD223A84B2CCFCE3F60F4B3D7FA2AF80
url: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64
Absolute path repository with explicit path and formats¶
package-repositories:
- type: apt
formats: [deb]
path: /
key-id: AE09FE4BBD223A84B2CCFCE3F60F4B3D7FA2AF80
url: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64`