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 <#sync-database> files can be transformed to representations used in the context of a Management Repository <#management-repository>.

Note:

Files Database <#files-sync-database> files are required to create Management Repository <#management-repository> files, that contain information on files contained in the respective packages they represent! This data is not contained in the Default Database <#default-sync-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 <#default-sync-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-sync-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 <#default-sync-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 <#management-repository> can be transformed into a Sync Database <#sync-database> (both Default Database <#default-sync-database> and Files Database <#files-sync-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 <#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) https://man.archlinux.org/man/repod.conf.5, BUILDINFO(5) https://man.archlinux.org/man/BUILDINFO.5, mtree(5) https://man.archlinux.org/man/mtree.5, pacman(8) https://man.archlinux.org/man/pacman.8

David Runge

2022, David Runge

December 27, 2025