.\" Man page generated from reStructuredText. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "REPOD.CONF" "5" "Apr 13, 2024" "" "repod" .SH SYNOPSIS .sp \fI$XDG_CONFIG_HOME/repod/repod.conf\fP .sp \fI$XDG_CONFIG_HOME/repod/repod.conf.d/\fP .sp \fI/etc/repod.conf\fP .sp \fI/etc/repod.conf.d/\fP .SH DESCRIPTION .sp A \fITOML [1]\fP based configuration file, which can be provided in a default configuration file location and/ or override configuration file locations. Override configuration files are read and merged in alphabetically order and have higher precedence than the default configuration file location. .sp Configuration files provided in the system\-wide locations (i.e. \fB/etc/repod.conf\fP and \fB/etc/repod.conf.d/\fP) are only used for system\-wide use of repod, while configurations provided in per\-user locations (i.e. \fB$XDG_CONFIG_HOME/repod/repod.conf\fP and \fB$XDG_CONFIG_HOME/repod/repod.conf.d/\fP) are only used for per\-user use of repod. .sp If no configuration file is provided, defaults are assumed (see \fI\%DEFAULTS\fP). .SH GLOBAL OPTIONS .sp Global options provide the defaults for any repository that does not define them. For any undefined option defaults are assumed (see \fI\%DEFAULT OPTIONS\fP). .SS architecture = .sp A string setting the CPU architecture used for any repository, which does not define it. Understood values are .INDENT 0.0 .INDENT 3.5 .sp .EX \(dqaarch64\(dq, \(dqany\(dq, \(dqarm\(dq, \(dqarmv6h\(dq, \(dqarmv7h\(dq, \(dqi486\(dq, \(dqi686\(dq, \(dqpentium4\(dq, \(dqriscv32\(dq, \(dqriscv64\(dq, \(dqx86_64\(dq, \(dqx86_64_v2\(dq, \(dqx86_64_v3\(dq, \(dqx86_64_v4\(dq .EE .UNINDENT .UNINDENT .SS archiving = .sp An optional table or boolean value, which defines the archiving options used for any repository, that do not define them explicitly. When unset or set to \fItrue\fP, default archiving options are created. If set to \fIfalse\fP, archiving is disabled by default, but may still be set per repository. When defined as a table, the option has to define the following key\-value pairs: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP \fBpackages =\fP The name of the \fIpackage archive directory\fP (see \fI\%DEFAULT DIRECTORIES\fP for default values), below which directory structures and files for package and signature file archiving are created. This directory must be absolute. .TP \fBsources =\fP The name of the \fIsource archive directory\fP (see \fI\%DEFAULT DIRECTORIES\fP for default values), below which directory structures and files for source tarball archiving are created. This directory must be absolute. .UNINDENT .UNINDENT .UNINDENT .SS build_requirements_exist = .sp An optional boolean value, which defines whether the build requirements of added packages must exist in the archive (if configured), any of the stability layers of the target repository or the set of packages being added. When unset, the value will be set to the default (see \fI\%DEFAULT OPTIONS\fP). When set to \fIfalse\fP, the build requirements of added packages are not checked, when set to \fItrue\fP, they are checked. This setting may still be overriden per repository. .SS database_compression = .sp A string setting the database compression used for any repository, which does not define it. Understood values are .INDENT 0.0 .INDENT 3.5 .sp .EX \(dq\(dq, \(dqbz2\(dq, \(dqgz\(dq, \(dqxz\(dq, \(dqzst\(dq .EE .UNINDENT .UNINDENT .SS management_repo .sp A table providing configuration for the \fImanagement repository\fP for any repository, which does not define one explicitly. As each configured binary package repository is represented as a subdirectory structure in the management repository, several repositories can share the same \fImanagement_repo\fP\&. .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP \fBdirectory =\fP The name of the management repository in the \fImanagement repository base directory\fP (see \fIDEFAULT DIRECTORIES\fP), below which per binary package repository directories are created. If the string denotes an absolute directory it is used directly and the default base directory is disregarded. .TP \fBjson_dumps =\fP An integer, defining the option for orjson\(aqs dumps() [2] method. Defaults to: .INDENT 7.0 .INDENT 3.5 .sp .EX 1057 .EE .UNINDENT .UNINDENT .UNINDENT .sp \fBurl =\fP .INDENT 0.0 .INDENT 3.5 An optional url string, for the upstream repository of the management repository (currently not used) .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS package_pool = .sp A string setting a directory that serves as the package pool for any repository, which does not define it. .SS package_verification = .sp An optional string setting the implementation of the package signature verification for all repositories. If a signature verification implementation is selected, packages that are added to the repository must be signed. Understood values are .INDENT 0.0 .INDENT 3.5 .sp .EX \(dqpacman\-key\(dq .EE .UNINDENT .UNINDENT .SS source_pool = .sp A string setting a directory that serves as the source tarball pool for any repository, which does not define it. .SH SYNC DATABASE SETTINGS .sp Sync database settings offer control over the way data for repository sync databases is exported. The below key\-value pairs are configured below a global \fBsyncdb_settings\fP table. For any undefined option defaults are assumed (see \fI\%DEFAULT OPTIONS\fP). .SS desc_version = .sp An integer setting the desc version used when exporting the management repository to a repository sync database. Understood values are .INDENT 0.0 .INDENT 3.5 .sp .EX 2, 1 .EE .UNINDENT .UNINDENT .SS files_version = .sp An integer setting the files version used when exporting the management repository to a repository sync database. Understood values are .INDENT 0.0 .INDENT 3.5 .sp .EX 1 .EE .UNINDENT .UNINDENT .SH REPOSITORY OPTIONS .sp Repository options are used to configure a specific repository. If optional options are not defined, global options (see \fI\%GLOBAL OPTIONS\fP) or defaults (see \fI\%DEFAULT OPTIONS\fP) are assumed. .sp \fBNOTE\fP: The resolved directories for repositories must be globally unique. The only exceptions to this rule are \fIpackage_pool\fP, \fIsource_pool\fP, \fIarchiving.packages\fP and \fIarchiving.sources\fP\&. .SS architecture = .sp An optional string setting the CPU architecture. Understood values are .INDENT 0.0 .INDENT 3.5 .sp .EX \(dqaarch64\(dq, \(dqany\(dq, \(dqarm\(dq, \(dqarmv6h\(dq, \(dqarmv7h\(dq, \(dqi486\(dq, \(dqi686\(dq, \(dqpentium4\(dq, \(dqriscv32\(dq, \(dqriscv64\(dq, \(dqx86_64\(dq, \(dqx86_64_v2\(dq, \(dqx86_64_v3\(dq, \(dqx86_64_v4\(dq .EE .UNINDENT .UNINDENT .SS archiving = .sp An optional inline table or boolean value, which defines the archiving options. When unset or set to \fItrue\fP, the global archiving options are used. If set to \fIfalse\fP, archiving is disabled. .sp \fBNOTE\fP: When repositories are used together, they should be using the same archiving options. .sp When defined as an inline table, the option has to define the following key\-value pairs: .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP \fBpackages =\fP The name of the \fIpackage archive directory\fP (see \fI\%DEFAULT DIRECTORIES\fP for default values), below which directory structures and files for package and signature file archiving are created. This directory must be absolute. .TP \fBsources =\fP The name of the \fIsource archive directory\fP (see \fI\%DEFAULT DIRECTORIES\fP for default values), below which directory structures and files for source tarball archiving are created. This directory must be absolute. .UNINDENT .UNINDENT .UNINDENT .SS build_requirements_exist = .sp An optional boolean value, which defines whether the build requirements of added packages must exist in the archive (if configured), any of the stability layers of the target repository or the set of packages being added. When unset, the value will be set to the value defined globally. When set to \fIfalse\fP, the build requirements of added packages are not checked, when set to \fItrue\fP, they are checked. .SS database_compression = .sp An optional string setting the database compression used for the repository. Understood values are .INDENT 0.0 .INDENT 3.5 .sp .EX \(dq\(dq, \(dqbz2\(dq, \(dqgz\(dq, \(dqxz\(dq, \(dqzst\(dq .EE .UNINDENT .UNINDENT .SS group = .sp An optional positive integer, which defines the group a repository belongs to. .sp \fBNOTE\fP: When repositories are grouped together, the \fIpkgbase\fP and \fIpackage\fP names must be unique amongst them (i.e. the same package can not exist in two repositories at the same time \- this is different from the same package existing in different stability layers of the same repository!). Furthermore, the repositories must use the same management repository (which resides below the \fImanagement repository base directory\fP), the same \fIpackage repository base directory\fP, the same \fIpackage pool base directory\fP and the same \fIsource pool base directory\fP! .SS management_repo = .sp An optional inline table providing configuration for the \fImanagement repository\fP of the repository. If it is provided, it has precedence over a globally defined \fImanagement_repo\fP\&. As each configured repository is represented as a subdirectory structure in the management repository, several repositories can share the same \fImanagement_repo\fP\&. .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP \fBdirectory =\fP The name of the management repository in the \fImanagement repository base directory\fP (see \fIDEFAULT DIRECTORIES\fP), below which per binary package repository directories are created. If the string denotes an absolute directory it is used directly and the default base directory is disregarded. .TP \fBjson_dumps =\fP An integer, defining the option for orjson\(aqs dumps() method (see \fI\%https://github.com/ijl/orjson#option\fP). Defaults to: .INDENT 7.0 .INDENT 3.5 .sp .EX 1057 .EE .UNINDENT .UNINDENT .UNINDENT .sp \fBurl =\fP .INDENT 0.0 .INDENT 3.5 An optional url string, for the upstream repository of the management repository (currently not used) .UNINDENT .UNINDENT .UNINDENT .UNINDENT .SS package_url_validation = .sp An optional inline table providing configuration for the validation of source URLs. Source URLs are links, that may be provided per pkgbase using \fIrepod\-file\fP and serve as reference to the source files (e.g. PKGBUILD) for each package. .INDENT 0.0 .INDENT 3.5 .INDENT 0.0 .TP \fBurls =\fP A list of URL strings, against which the source URLs provided to \fIrepod\-file\fP must validate. .TP \fBtls_required =\fP A boolean value, setting whether the URLS in the \fIurls\fP list and any source URL provided to \fIrepod\-file\fP must use TLS or not. .UNINDENT .UNINDENT .UNINDENT .SS name = .sp A string setting the name of the repository. It is used to construct the location below which stable package data of the repository is stored. .sp \fBNOTE\fP: The \fIname\fP and \fIarchitecture\fP combination \fBmust be unique\fP among all repositories. .sp If the string denotes a relative directory it is used below the default \fIpackage repository base directory\fP and \fImanagement repository base directory\fP (see \fI\%DEFAULT DIRECTORIES\fP). .sp If the string denotes an absolute directory it is used directly and the default base directories are disregarded. .SS debug = .sp An optional string setting the debug name of the repository. It is used to construct the location below which stable debug package data of the repository is stored. .sp \fBNOTE\fP: When using this option and also using the \fIstaging\fP or \fItesting\fP options, the \fIstaging_debug\fP and \fItesting_debug\fP options (respectively) must be set as well. .sp If the string denotes a relative directory it is used below the default \fIpackage repository base directory\fP and \fImanagement repository base directory\fP (see \fI\%DEFAULT DIRECTORIES\fP). .sp If the string denotes an absolute directory it is used directly and the default base directories are disregarded. .SS package_pool = .sp An optional string setting a directory that serves as the package pool for the repository. .sp \fBNOTE\fP: If repositories move packages amongst one another, they need to use the same \fIpackage_pool\fP\&. .sp If the string denotes a relative directory it is used below the default \fIpackage pool base directory\fP (see \fI\%DEFAULT DIRECTORIES\fP). .sp If the string denotes an absolute directory it is used directly and the default base directories are disregarded. .SS source_pool = .sp An optional string setting a directory that serves as the source tarball pool for the repository. .sp \fBNOTE\fP: If repositories move packages amongst one another, they need to use the same \fIsource_pool\fP\&. .sp If the string denotes a relative directory it is used below the default \fIsource pool base directory\fP (see \fI\%DEFAULT DIRECTORIES\fP). .sp If the string denotes an absolute directory it is used directly and the default base directories are disregarded. .SS staging = .sp An optional string setting the staging name of the repository. It is used to construct the location below which staging package data of the repository is stored. .sp If the string denotes a relative directory it is used below the default \fIpackage repository base directory\fP and \fImanagement repository base directory\fP (see \fI\%DEFAULT DIRECTORIES\fP). .sp If the string denotes an absolute directory it is used directly and the default base directories are disregarded. .SS staging_debug = .sp An optional string setting the staging debug name of the repository. It is used to construct the location below which staging debug package data of the repository is stored. .sp \fBNOTE\fP: The \fIstaging\fP and \fIdebug\fP option must be set when using this option. Similarly, if \fIdebug\fP and \fIstaging\fP are configured for a repository, this option also has to be configured. .sp If the string denotes a relative directory it is used below the default \fIpackage repository base directory\fP and \fImanagement repository base directory\fP (see \fI\%DEFAULT DIRECTORIES\fP). .sp If the string denotes an absolute directory it is used directly and the default base directories are disregarded. .SS testing = .sp An optional string setting the testing name of the repository. It is used to construct the location below which testing package data of the repository is stored. .sp If the string denotes a relative directory it is used below the default \fIpackage repository base directory\fP and \fImanagement repository base directory\fP (see \fI\%DEFAULT DIRECTORIES\fP). .sp If the string denotes an absolute directory it is used directly and the default base directories are disregarded. .SS testing_debug = .sp An optional string setting the testing debug name of the repository. It is used to construct the location below which testing debug package data of the repository is stored. .sp \fBNOTE\fP: The \fItesting\fP and \fIdebug\fP option must be set when using this option. Similarly, if \fIdebug\fP and \fItesting\fP are configured for a repository, this option also has to be configured. .sp If the string denotes a relative directory it is used below the default \fIpackage repository base directory\fP and \fImanagement repository base directory\fP (see \fI\%DEFAULT DIRECTORIES\fP). .sp If the string denotes an absolute directory it is used directly and the default base directories are disregarded. .SH DEFAULTS .sp If no configuration is provided, a repository named \(dqdefault\(dq, with management repository, but without staging or testing repository, using default directories and default options is created automatically. This roughly evaluates to the following configuration: .INDENT 0.0 .INDENT 3.5 .sp .EX architecture = \(dqany\(dq archiving = true database_compression = \(dqgz\(dq [syncdb_settings] desc_version = 1 files_version = 1 [management_repo] directory = \(dqdefault\(dq [[repositories]] name = \(dqdefault\(dq .EE .UNINDENT .UNINDENT .SS DEFAULT DIRECTORIES .INDENT 0.0 .IP \(bu 2 \fI$XDG_STATE_HOME/repod/management/\fP The default per\-user location below which management repository directories are created (aka \fImanagement repository base directory\fP). .IP \(bu 2 \fI/var/lib/repod/management/\fP The default system\-wide location below which management repository directories are created (aka \fImanagement repository base directory\fP). .IP \(bu 2 \fI$XDG_STATE_HOME/repod/archive/package/\fP The default per\-user location below which directory structures and files for package and signature file archiving are created (aka \fIpackage archive directory\fP). .IP \(bu 2 \fI/var/lib/repod/archive/package/\fP The default system\-wide location below which directory structures and files for package and signature file archiving are created (aka \fIpackage archive directory\fP). .IP \(bu 2 \fI$XDG_STATE_HOME/repod/archive/source/\fP The default per\-user location below which directory structures and files for source tarball archiving are created (aka \fIsource archive directory\fP). .IP \(bu 2 \fI/var/lib/repod/archive/source/\fP The default system\-wide location below which directory structures and files for source tarball archiving are created (aka \fIsource archive directory\fP). .IP \(bu 2 \fI$XDG_STATE_HOME/repod/data/pool/package/\fP The default per\-user location below which package pool directories are created (aka \fIpackage pool base directory\fP). .IP \(bu 2 \fI/var/lib/repod/data/pool/package/\fP The default system\-wide location below which package pool directories are created (aka \fIpackage pool base directory\fP). .IP \(bu 2 \fI$XDG_STATE_HOME/repod/data/repo/package/\fP The default per\-user location below which package repository directories are created (aka \fIpackage repository base directory\fP). .IP \(bu 2 \fI/var/lib/repod/data/repo/package/\fP The default system\-wide location below which package repository directories are created (aka \fIpackage repository base directory\fP). .IP \(bu 2 \fI$XDG_STATE_HOME/repod/data/pool/source/\fP The default per\-user location below which source pool directories are created (aka \fIsource pool base directory\fP). .IP \(bu 2 \fI/var/lib/repod/data/pool/source/\fP The default system\-wide location below which source pool directories are created (aka \fIsource pool base directory\fP). .IP \(bu 2 \fI$XDG_STATE_HOME/repod/data/repo/source/\fP The default per\-user location below which source repository directories are created (aka \fIsource repository base directory\fP). .IP \(bu 2 \fI/var/lib/repod/data/repo/source/\fP The default system\-wide location below which source repository directories are created (aka \fIsource repository base directory\fP). .UNINDENT .SS DEFAULT OPTIONS .INDENT 0.0 .IP \(bu 2 The default CPU architecture if neither global nor per\-repository \fIarchitecture\fP is defined: .INDENT 2.0 .INDENT 3.5 .sp .EX \(dqany\(dq .EE .UNINDENT .UNINDENT .IP \(bu 2 The default value for checking build requirements of added packages, if \fIbuild_requirements_exist\fP not defined globally: .INDENT 2.0 .INDENT 3.5 .sp .EX true .EE .UNINDENT .UNINDENT .IP \(bu 2 The default database compression if neither global nor per\-repository \fIdatabase_compression\fP is defined: .INDENT 2.0 .INDENT 3.5 .sp .EX \(dqgz\(dq .EE .UNINDENT .UNINDENT .IP \(bu 2 The default repository \fIname\fP if no repository is defined: .INDENT 2.0 .INDENT 3.5 .sp .EX \(dqdefault\(dq .EE .UNINDENT .UNINDENT .IP \(bu 2 The default \fIdesc_version\fP for sync databases if none is defined: .INDENT 2.0 .INDENT 3.5 .sp .EX 2 .EE .UNINDENT .UNINDENT .IP \(bu 2 The default \fIfiles_version\fP for sync databases if none is defined: .INDENT 2.0 .INDENT 3.5 .sp .EX 1 .EE .UNINDENT .UNINDENT .UNINDENT .SH EXAMPLES .SS Example 1. One repository with custom architecture .INDENT 0.0 .INDENT 3.5 .sp .EX [[repositories]] architecture = \(dqx86_64\(dq name = \(dqrepo\(dq staging = \(dqrepo\-staging\(dq testing = \(dqrepo\-testing\(dq .EE .UNINDENT .UNINDENT .SS Example 2. Two repositories with debug locations .INDENT 0.0 .INDENT 3.5 .sp .EX [[repositories]] architecture = \(dqx86_64\(dq name = \(dqrepo1\(dq debug = \(dqrepo1\-debug\(dq staging = \(dqrepo1\-staging\(dq staging_debug = \(dqrepo1\-staging\-debug\(dq testing = \(dqrepo1\-testing\(dq testing_debug = \(dqrepo1\-testing\-debug\(dq [[repositories]] architecture = \(dqx86_64\(dq name = \(dqrepo2\(dq debug = \(dqrepo2\-debug\(dq staging = \(dqrepo2\-staging\(dq staging_debug = \(dqrepo2\-staging\-debug\(dq testing = \(dqrepo2\-testing\(dq testing_debug = \(dqrepo2\-testing\-debug\(dq .EE .UNINDENT .UNINDENT .SS Example 3. One repository with custom management repo .INDENT 0.0 .INDENT 3.5 .sp .EX [[repositories]] architecture = \(dqx86_64\(dq name = \(dqrepo1\(dq staging = \(dqrepo\-staging\(dq testing = \(dqrepo\-testing\(dq management_repo = {directory = \(dqcustom_management\(dq, url = \(dqssh://user@custom\-upstream.tld/repository.git\(dq} .EE .UNINDENT .UNINDENT .SS Example 4. One repository with non\-standard directories .INDENT 0.0 .INDENT 3.5 .sp .EX [[repositories]] architecture = \(dqx86_64\(dq name = \(dq/absolute/path/to/repo1\(dq staging = \(dq/absolute/path/to/repo\-staging\(dq testing = \(dq/absolute/path/to/repo\-testing\(dq management_repo = {directory = \(dq/absolute/path/to/management_repo\(dq} .EE .UNINDENT .UNINDENT .SS Example 5. One repository with pacman\-key based signature verification .INDENT 0.0 .INDENT 3.5 .sp .EX package_verification = \(dqpacman\-key\(dq [[repositories]] architecture = \(dqx86_64\(dq name = \(dqrepo1\(dq debug = \(dqrepo\-debug\(dq staging = \(dqrepo\-staging\(dq testing = \(dqrepo\-testing\(dq .EE .UNINDENT .UNINDENT .SS Example 6. One repository with source URL validation .INDENT 0.0 .INDENT 3.5 .sp .EX [[repositories]] architecture = \(dqx86_64\(dq name = \(dqrepo1\(dq debug = \(dqrepo\-debug\(dq staging = \(dqrepo\-staging\(dq testing = \(dqrepo\-testing\(dq package_url_validation = {urls = [\(dqhttps://custom.tld\(dq], tls_required = true} .EE .UNINDENT .UNINDENT .SS Example 6. One repository without archiving .INDENT 0.0 .INDENT 3.5 .sp .EX [[repositories]] architecture = \(dqx86_64\(dq archiving = false name = \(dqrepo1\(dq .EE .UNINDENT .UNINDENT .SS Example 7. One repository without checks for build requirements .INDENT 0.0 .INDENT 3.5 .sp .EX [[repositories]] architecture = \(dqx86_64\(dq build_requirements_exist = false name = \(dqrepo1\(dq .EE .UNINDENT .UNINDENT .SS Example 8. Two repositories in the same group .INDENT 0.0 .INDENT 3.5 .sp .EX [[repositories]] architecture = \(dqx86_64\(dq build_requirements_exist = false name = \(dqrepo1\(dq group = 1 [[repositories]] architecture = \(dqx86_64\(dq build_requirements_exist = false name = \(dqrepo2\(dq group = 1 .EE .UNINDENT .UNINDENT .SH SEE ALSO .sp \fBrepod\-file(1)\fP, \fBPKGBUILD(5)\fP, \fBpacman(8)\fP, \fBpacman\-key(8)\fP .SH NOTES .INDENT 0.0 .IP 1. 3 TOML specification .sp \fI\%https://toml.io/en/v1.0.0\fP .IP 2. 3 Orjson options .sp \fI\%https://github.com/ijl/orjson#option\fP) .UNINDENT .SH AUTHOR David Runge .SH COPYRIGHT 2024, David Runge .\" Generated by docutils manpage writer. .