REPOD-FILE(1)

πŸ“¦ version 0.3.1, in arch rolling

πŸ’… REPOD-FILE(1) β€” manual name: repod πŸ’…

okay so this page is all about file actions for packages, management repository and sync databases. literally the whole vibe. ✨

the synopsis is giving:

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

✨ POSITIONAL ARGUMENTS ✨

  • subcommand β€” possible choices: package, repo, schema.

🌸 NAMED ARGUMENTS 🌸

  • -c, --config β€” configuration file.
  • -d, --debug β€” debug output. Default: False.
  • -s, --system β€” system mode. Default: False.
  • -v, --verbose β€” verbose output. Default: False.

πŸ¦‹ SUB-COMMANDS πŸ¦‹

πŸŽ€ package πŸŽ€

interact with package files, bestie.

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

Positional Arguments

  • package β€” possible choices: inspect.

Sub-commands

🧚 inspect β€” inspect package files 🧚

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

Positional Arguments

  • file β€” package files.

Named Arguments

  • -B, --buildinfo β€” only inspect .BUILDINFO. Default: False.
  • -M, --mtree β€” only inspect .MTREE. Default: False.
  • -P, --pkginfo β€” only inspect .PKGINFO. Default: False.
  • -p, --pretty β€” pretty print output. Default: False.
  • -s, --with-signature β€” locate and use a signature file for each provided package file. Default: False.

πŸ“ repo πŸ“

interact with repositories.

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

Positional Arguments

  • repo β€” possible choices: importdb, importpkg, writedb.

Sub-commands

🌟 importdb β€” import state from a repository sync database 🌟

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

Positional Arguments

  • file β€” repository sync database.
  • name β€” name of repository to import to.

Named Arguments

  • -a, --architecture β€” target a repository with a specific architecture (if multiple of the same name but differing architecture exist).
  • -D, --debug β€” import to debug repository. Default: False.
  • -S, --staging β€” import to staging repository. Default: False.
  • -T, --testing β€” import to testing repository. Default: False.

πŸ”₯ importpkg β€” 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

  • file β€” package files.
  • name β€” name of repository to import to.

Named Arguments

  • -a, --architecture β€” target a repository with a specific architecture (if multiple of the same name but differing architecture exist).
  • -d, --dry-run β€” only show output, but do not write output to file. Default: False.
  • -p, --pretty β€” pretty print output (only applies to dry-run mode). Default: False.
  • -s, --with-signature β€” locate and use a signature file for each provided package file. Default: False.
  • -u, --source-url β€” list of source URLs for added pkgbases (provided as one or more pkgbase=url strings). Default: [].
  • -D, --debug β€” import to debug repository. Default: False.
  • -S, --staging β€” import to staging repository. Default: False.
  • -T, --testing β€” import to testing repository. Default: False.

πŸ’« writedb β€” export state to repository sync database πŸ’«

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

Positional Arguments

  • name β€” name of repository to write to.

Named Arguments

  • -a, --architecture β€” target a repository with a specific architecture (if multiple of the same name but differing architecture exist).
  • -D, --debug β€” export from debug repository. Default: False.
  • -S, --staging β€” export from staging repository. Default: False.
  • -T, --testing β€” export from testing repository. Default: False.

🌈 schema 🌈

JSON schema commands.

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

Positional Arguments

  • schema β€” possible choices: export.

Sub-commands

πŸŽ€ export β€” export JSON schemas to directory πŸŽ€

repod-file schema export [-h] dir

Positional Arguments

  • dir β€” directory to which to write JSON files to.

πŸ”₯ EXAMPLES πŸ”₯

πŸ’– TRANSFORM REPOSITORY SYNC DATABASE TO MANAGEMENT REPOSITORY πŸ’–

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

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 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's possible to import those files analogous to how it's 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).

🌈 TRANSFORM MANAGEMENT REPOSITORY TO REPOSITORY SYNC DATABASE 🌈

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's 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.

πŸ‘‘ SEE ALSO πŸ‘‘

πŸ’œ Author πŸ’œ

David Runge.

2022, David Runge.


okay that's the whole page bestie πŸ’– β€” source/version: repod; date: Dec 27, 2025; and it's REPOD-FILE(1) forever ✨

πŸ“¦ where this page comes from