REPOD-FILE(1) repod REPOD-FILE(1)

File actions for packages, management repository and sync databases.

usage: repod-file [-h] [-c CONFIG] [-d] [-s] [-v] {package,repo,schema} ...

Possible choices: package, repo, schema

configuration file
debug output

Default: False

system mode

Default: False

verbose output

Default: False

interact with package files

repod-file package [-h] {inspect} ...

Positional Arguments

Possible choices: inspect

inspect package files

repod-file package inspect [-h] [-B | -M | -P] [-p] [-s] file [file ...]

Positional Arguments

package files

Named Arguments

only inspect .BUILDINFO

Default: False

only inspect .MTREE

Default: False

only inspect .PKGINFO

Default: False

pretty print output

Default: False

locate and use a signature file for each provided package file

Default: False

interact with repositories

repod-file repo [-h] {importdb,importpkg,writedb} ...

Positional Arguments

Possible choices: importdb, importpkg, writedb

import state from a repository sync database

repod-file repo importdb [-h] [-a ARCHITECTURE] [-D | -S | -T] file name

Positional Arguments

repository sync database
name of repository to import to

Named Arguments

target a repository with a specific architecture (if multiple of the same name but differing architecture exist)
import to debug repository

Default: False

import to staging repository

Default: False

import to testing repository

Default: False

import packages to a repo

repod-file repo importpkg [-h] [-a ARCHITECTURE] [-d] [-p] [-s]

[-u SOURCE_URL [SOURCE_URL ...]] [-D | -S | -T]
file [file ...] name

Positional Arguments

package files
name of repository to import to

Named Arguments

target a repository with a specific architecture (if multiple of the same name but differing architecture exist)
only show output, but do not write output to file

Default: False

pretty print output (only applies to dry-run mode)

Default: False

locate and use a signature file for each provided package file

Default: False

list of source URLs for added pkgbases (provided as one or more pkgbase=url strings)

Default: []

import to debug repository

Default: False

import to staging repository

Default: False

import to testing repository

Default: False

export state to repository sync database

repod-file repo writedb [-h] [-a ARCHITECTURE] [-D | -S | -T] name

Positional Arguments

name of repository to write to

Named Arguments

target a repository with a specific architecture (if multiple of the same name but differing architecture exist)
export from debug repository

Default: False

export from staging repository

Default: False

export from testing repository

Default: False

JSON schema commands

repod-file schema [-h] {export} ...

Positional Arguments

Possible choices: export

export JSON schemas to directory

repod-file schema export [-h] dir

Positional Arguments

directory to which to write JSON files to

Sync Database files can be transformed to representations used in the context of a Management Repository.

NOTE:

Files Database files are required to create Management Repository files, that contain information on files contained in the respective packages they represent! This data is not contained in the Default Database files!

For testing purposes, the system's sync databases in /var/lib/pacman/sync/ can be used (this assumes a system that makes use of pacman as package manager).

To import Default Database files and output them to the management repository directory of a configured repository, use:

repod-file repo importdb /var/lib/pacman/sync/core.db default

To be able to use Files Database files, make sure to update them first.

pacman -Fy

Afterwards it is possible to import those files analogous to how it is done with Default Database files:

repod-file repo importdb /var/lib/pacman/sync/core.files default

The above assumes the repository named default is present (e.g. when no configuration file for repod is present).

The JSON files contained in a Management Repository can be transformed into a Sync Database (both Default Database and Files Database files are created).

After following the examples in TRANSFORM REPOSITORY SYNC DATABASE TO MANAGEMENT REPOSITORY, it is possible to use the created files and turn them back into Sync Database files.

repod-file repo writedb default

The above creates default.db as well as default.files in the binary repository location of the repository named default.

repod.conf(5), BUILDINFO(5), mtree(5), pacman(8)

David Runge

2023, David Runge

July 17, 2023