This documents summarises what I have found about settling a Debian repository.
I have taken care of providing the most correct information at the time of writing but if you find any inaccuracy, please, fix it.
In [http://www.debian.org/doc/manuals/repository-howto/repository-howto.html Aaron Isotton how-to] two kinds of repositories are defined, the trivial one (where the user of the repository has to specify an exact path to the packages) and the automatic one (that mimic the official Debian repositories where only the base path, distribution and component have to be specified and the apt-get magic occurs). His how-to describes how to setup trivial repositories with dpkg-scansources and dpkg-scanpackages. Such a topic is also covered by [Oohara Yuuma how-to http://www.interq.or.jp/libra/oohara/apt-gettable/apt-gettable/] and [apt how-to http://www.debian.org/doc/manuals/apt-howto/ch-basico.html#s-dpkg-scanpackages].
The settling of automatic repositories is covered by [http://familiasanchez.net/~sanchezr/?page=debrepository Roberto Sanchez how-to] who gives relevant scripts. Pools are nor covered there.
There are also packaged (or not) tools in Debian in order to perform the task.
dak (Debian Archive Kit)
- Goals: Packaging of the tools handling the official Debian repositories.
- Pro: Real stuff.
- Cons: Depends on python and !["PostgreSQL"] (even if on an other host).
Package: [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=284370 ITP with link to existing package]
- Distributions: Not yet.
- Dependencies: python2.3, gnupg, python-ldap, prostgresql
- Automatic repositories: Yes
- Incoming mechanism: Yes
- Pools: Yes
- GPG signing: Yes
debpool
- Goals: Lightweight replacement for dak using a pool layout.
- Pro: No external dependencies.
- Cons:
Package: [http://packages.debian.org/experimental/devel/debpool Package in experimental]
- Distributions: experimental
- Dependencies: perl (optionally gnupg)
- Automatic repositories: Yes
- Incoming mechanism: Yes
- Pools: Yes
- GPG signing: Yes (with gnupg).
reprepro (formerly known as mirrorer)
- Goals: Local Debian package repository storing files in a pool/ directory.
- Pro: Strict checking of what comes in, no database server needed.
- Cons:
Package: [http://alioth.debian.org/project/showfiles.php?group_id=30039 Packages in Alioth repositories]
- Distributions: Not yet.
- Dependencies:
- Automatic repositories: Yes
- Incoming mechanism: Yes
- Pools: Yes
- GPG signing: Yes
debarchiver
- Goals: Make a simpler version of dak.
- Pro:
- Cons:
- Package:
- Distributions: Woody (0.0.18), Sarge (0.1.5), Sid
- Dependencies: adduser, apt-utils, opalmod (perl modules)
- Automatic repositories: Yes
- Incoming mechanism: Yes
- Pools: No
- GPG signing:
A [http://vipie.studentenweb.org/dev/debarchiver/ debarchiver how-to]. An other nice [http://debian.wgdd.de/debhowtos/howto-aptrep.de.html debarchiver how-to (in German)]
mini-dinstall
- Goals: Miniature version of dak.
- Pro: Doesn't require a !["PostgreSQL"] database.
- Cons:
- Package:
- Distributions: Sarge, Sid
- Dependencies: apt-utils, python2.3, python-apt.
- Automatic repositories:
- Incoming mechanism:
- Pools:
- GPG signing:
apt-ftparchive
- Goals: Superset of dpkg-scanpackages and dpkg-scansources.
- Pro: Does not rely on any external programs aside from gzip.
- Cons:
- Package:
- Distributions: Woody, Sarge, Sid
- Dependencies:
- Automatic repositories: No
- Incoming mechanism: No
- Pools: No
- GPG signing: No
dpkg-scanpackages and dpkg-scansources
- Goals:
- Pro:
- Cons:
- Package:
- Distributions: Woody, Sarge, Sid
- Dependencies:
- Automatic repositories: No
- Incoming mechanism: No
- Pools: No
- GPG signing: No
Related software
- netselect selects for you the fastest mirrors among the list you give and netselect-apt does it among all existing mirrors.
- apt-spy does something similar with a different method.
- dput uploads one or more Debian packages into a repository.