Reprepro

From Wikitech
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
Document:
+
'''Reprepro''' is a tool for managing APT repositories. It's definitely much more versatile than the simple script ''update-repository'' that we have been using before.
 +
 
 +
Reprepro is able to manage multiple repositories for multiple distribution versions and one package pool. It can process updates from an <tt>incoming</tt> directory, copy package (references) between distribution versions, list all packages and/or package versions available in the repository, etc.
 +
 
 +
Reprepro maintains an internal database (a .DBM file) of the contents of the repository, which makes it quite fast and efficient.
 +
 
 +
It's installed from the Debian package <tt>reprepro</tt>, and is configured using the files in <tt>/srv/wikimedia/conf/</tt>. I added an environment variable to <tt>/etc/environment</tt> for convenience:
 +
 
 +
REPREPRO_BASE_DIR=/srv/wikimedia
 +
 
 +
== HOWTO ==
 +
This section explains the most commonly needed actions/tasks involving reprepro.
 +
 
 +
=== List all package versions in the repositories ===
 +
For a given package name, use
 +
reprepro ls ''packagename''
 +
 
 +
For example:
 +
<pre>
 +
# reprepro ls puppet
 +
puppet | 2.6.1-0ubuntu1~ppa1~hardy3 |  hardy-wikimedia | amd64, source
 +
puppet | 2.6.1-0ubuntu1~ppa1~lucid1 |  lucid-wikimedia | amd64, source
 +
</pre>
 +
 
 +
This shows that there are two different builds of the same package version in the repositories ''hardy-wikimedia'' and ''lucid-wikimedia''. There is clearly no puppet package in the ''karmic-wikimedia'' repository.
 +
 
 +
To find all packages in all repositories, use
 +
reprepro dumpreferences
 +
or a variant thereof (see <tt>reprepro help</tt> or <tt>man reprepro</tt>).
 +
 
 +
 
 +
==Document==
 
* target distributions for building
 
* target distributions for building
 
* distribution suffixes for version numbers (and append, nor replace)
 
* distribution suffixes for version numbers (and append, nor replace)

Revision as of 11:44, 19 November 2010

Reprepro is a tool for managing APT repositories. It's definitely much more versatile than the simple script update-repository that we have been using before.

Reprepro is able to manage multiple repositories for multiple distribution versions and one package pool. It can process updates from an incoming directory, copy package (references) between distribution versions, list all packages and/or package versions available in the repository, etc.

Reprepro maintains an internal database (a .DBM file) of the contents of the repository, which makes it quite fast and efficient.

It's installed from the Debian package reprepro, and is configured using the files in /srv/wikimedia/conf/. I added an environment variable to /etc/environment for convenience:

REPREPRO_BASE_DIR=/srv/wikimedia

HOWTO

This section explains the most commonly needed actions/tasks involving reprepro.

List all package versions in the repositories

For a given package name, use

reprepro ls packagename

For example:

# reprepro ls puppet
puppet | 2.6.1-0ubuntu1~ppa1~hardy3 |  hardy-wikimedia | amd64, source
puppet | 2.6.1-0ubuntu1~ppa1~lucid1 |  lucid-wikimedia | amd64, source

This shows that there are two different builds of the same package version in the repositories hardy-wikimedia and lucid-wikimedia. There is clearly no puppet package in the karmic-wikimedia repository.

To find all packages in all repositories, use

reprepro dumpreferences

or a variant thereof (see reprepro help or man reprepro).


Document

  • target distributions for building
  • distribution suffixes for version numbers (and append, nor replace)
    • but ~ appended is lower version
  • override files
  • dupload
  • importing unmodified (Debian) packages into 'backports'
  • reprepro copy
Personal tools
Namespaces

Variants
Actions
Navigation
Ops documentation
Wiki
Toolbox