repoman

2022-07-15 12:40 UTC
  • Xyne

Metadata

Description: The pacman of repository managers.
Latest Version: 2015
Source Code: src/
Architecture:
  • any
Dependencies:
  • python3
Arch Repositories:
  • [xyne-any]
  • [xyne-i686]
  • [xyne-x86_64]
AUR Page: repoman
Arch Forum Thread: 161094
Tags:

About

Repoman is a Pacman repository manager that allows you to enable and disable databases in a way that is similar to installing and removing packages.

Features

  • Enable and disable repositories with dependency resolution.
  • Download repository metadata from remote servers.
  • Search repositories.
  • Download Pacman databases from known repositories without enabling them and then search for packages in those databases.

Warning

Repoman is new and not fully tested. You should check the generated configuration file thoroughly before using it.

Usage

pacman.conf

If you want to let repoman manage all of your repositories then you should comment out all repository sections in /etc/pacman.conf and include the line

Include = /etc/repoman/repoman.conf

Otherwise you can manually paste the output into pacman.conf or another included file wherever you like. It this is not obvious to you then you should probably not be using repoman to begin with.

Command Examples

Update the repo metadata and configuration file

repoman -ru

Enable my “xyne-x86_64” repo:

repoman --enable xyne-x86_64 --before community

See below for more examples.

Files

All paths are given as relative paths to the configuration directory, which is /etc/repoman by default.

repoman.conf

This is the generated configuration file that should be included in pacman.conf.

json/urls.json

This file contains the list of URLs repo metadata in JSON format.

json/enabled.json

This is the list of enabled repos and it is used to create the repoman.conf file. The order is respected. You may edit this file manually.

json/repos.json

This file contains the collected repository metadata. It is generated automatically and should not be edited.

json/retrieved

A directory of metadata retrieved from the URLs in urls.json. The name of the file is the base-64-encoded URL.

json/override.json

This file can be used to override or remove values in the repo.json file. It follows the same format as that file. For example, to change the SigLevel of the “core” repository, you could use this:

{
  "core": {
    "options" : {
      "SigLevel" : "PackageRequired"
    }
  }
}

Server Metadata File Example

The following is an example of a single repo metadata file for the official “extra” repository. If you would like to have your repo included in the database on this site, post a matching metadata file in the forum thread linked in the table above. Do not forget the [code] tags.

You could also email me a file, but posting on the forum is a better way to notify others that your repo is available.

extra.json

{ "description": "Official Arch Linux extra repository.", "architectures" : [ "i686", "x86_64" ], "dependencies" : [ "core" ], "options" : { "SigLevel" : null }, "locations": [ "Include = /etc/pacman.d/mirrorlist" ] }

The name of the file should be the name of the repo with “.json” appended to the end. Most fields should be self-explanatory.

“locations” should be a list of “Include = …” and/or “Server = …” lines that will be inserted directly into the Pacman configuration file.

Repo Metadata

repos.json

Contact
echo xyne.archlinux.org | sed 's/\./@/'
Validation
XHTML 1.0 Strict CSS level 3 Atom 1.0