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
aptExamples:
type: apt
- ppa
Type: string
Description: PPA shortcut string
Format: <ppa-owner>/<ppa-name>
- Examples:
ppa: snappy-devs/snapcraft-dailyppa: mozillateam/firefox-next
- priority
Type: enum[string] or int
Description: Overrides the default behavior when picking the source for a particular package
Format:
always,preferordefer. Alternatively an int other than 0Notes: string equivalencies are
always: 1000;prefer: 990;defer: 100- Examples:
priority: alwayspriority: 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
aptExamples:
type: apt
- cloud
Type: string
Description: UCA release name
Format: <uca-release>
- Examples:
cloud: antelopecloud: zed
Type: enum[string]
Description: Pocket to get packages from, must be either
updatesorproposedDefault: If unspecified, pocket is assumed to be
updates- Examples:
pocket: updatespocket: 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.comkey-server: hkp://keyserver.ubuntu.com:80
- path
Type: string
Description: Absolute path to repository (from
url). Cannot be used withsuitesandcomponentsFormat: 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,preferordefer. Alternatively an int other than 0Notes: string equivalencies are
always: 1000;prefer: 990;defer: 100- Examples:
priority: alwayspriority: 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,proposedorsecurity.- Examples:
pocket: updatespocket: proposed
- series
Type: string
Description: Repository series to use
Notes:
seriesmust be used withpocketand cannot be used withsuites- Examples:
series: manticseries: bionic
- url
Type: string
Description: Repository URL.
- Examples:
url: http://archive.canonical.com/ubuntuurl: 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`