[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#671503: general: APT repository format is not documented

Package: general
Severity: important


I wanted to create a repository of my own packages so that I can use the
standard Debian tools to install these packages and resolve any
dependencies automatically.

However, there is no documentation of the format of these repositories.

There are multiple tools dealing with these.

apt (apt-get) downloads packages, and indirectly through apt libraries
aptitude and other tools do also.

dpkg-scanpackages and apt-ftparchive are supposed aids in creating such
repositories apt can download from.

The man pages of neither apt-get nor dpkg-scanpackages nor
apt-ftparchive document the repository format.

By reverse-engineering a Debian mirror site I managed to write a script
using dpkg-scanpackages that created a repository that apt could use.

Unfortunately, the undocumented format of apt archives has changed and I
had to reverse-engineer a Debian mirror again to figure out what has

After reporting this as a bug it was recommended that I use
apt-ftparchive instead so that I don't have to deal with the details of
this undocumented format myself.

Alas, what I feared was true.

dpkg-scanpackages is a simplistic tool so it is possible to use its
output even in the face of lack of documentation.

This, however, does not apply the apt-ftparchive. It is supposed to
create the required files fully automatically. With the provided
documentation I was able to make it do exactly nothing, fully

I would appreciate if Debian fully decumented its core tools like
package manager.



-- System Information:
Debian Release: wheezy/sid
  APT prefers stable
  APT policy: (900, 'stable'), (500, 'testing'), (410, 'unstable'), (200, 'experimental'), (111, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/bash

Reply to: