dpkg-scanpackages(1)

NAME
dpkg-scanpackages - create Packages files

SYNOPSIS
dpkg-scanpackages [-u] [-a <arch> ] [-m] binarydir overridefile [pathprefix] > Packages

DESCRIPTION
dpkg-scanpackages sorts through a tree of Debian binary packages and creates a Packages file, used by apt(8), dselect(1), etc, to tell the user what packages are available for installation. These Packages files are the same as those found on Debian archive sites and CD-ROMs. You might use dpkg-scanpackages yourself if making a directory of local packages to install on a cluster of machines.

Note: If you want to access the generated Packages file with apt you will probably need to compress the file with gzip(1) (generating a Packages.gz file). apt ignores uncompressed Packages files except on local access (i.e. file:// sources).

binarydir is the name of the tree of the binary packages to process (for example, contrib/binary-i386). It is best to make this relative to the root of the Debian archive, because every Filename field in the new Packages file will start with this string.

overridefile is the name of a file to read which contains information about how the package fits into the distribution; see below.

pathprefix is an optional string to be prepended to the Filename fields.

If -u is specified, then scan for *.udeb, instead of *.deb.

When -a<arch> is specified, then instead of scanning for all debs, a pattern consisting of *_all.deb and *_arch.deb is used.

If more than one version of a package is found only the newest one is included in the output. If they have the same version and only differ in architecture only the first one found is used. You can override this behaviour with the -m switch. If given, all found packages are included in the output.

THE OVERRIDE FILE
While most information about a package can be found in the control file, some must be filled in by the distribution czars rather than by the maintainer, because they relate to the arrangement of files for release rather than the actual dependencies and description of the package. This information is found in the override file.

The override file has a simple whitespace-delimited format. Comments are allowed (denoted with a #).

package priority section [maintainerinfo]

package is the name of the package. Entries in the override file for packages not found in the tree of binary packages are ignored.

priority and section place the package within the release tree; these ought not to be found in the control file. If the package is found in a subdirectory of binarydir, that will be checked against section.

maintainerinfo, if present, can be either the name of a maintainer for an unconditional override, or else oldmaintainer => newmaintainer to perform a substitution.

The override files used to make the official Packages lists may be found in the indices directory on any Debian mirror.

DIAGNOSTICS
dpkg-scanpackages outputs the usual self-explanatory errors. It also warns about packages that are in the wrong subdirectory, are duplicated, have a Filename field in their control file, are missing from the override file, or have maintainer substitutions which do not take effect.

SEE ALSO
dpkg(1), dselect(1), dpkg-scansources(1).