dpkg-scanpackages - create Packages files
dpkg-scanpackages binarydir overridefile [''pathprefix''? Packages
dpkg-scanpackages sorts through a tree of Debian binary packages and creates a Packages file, used by dselect(8) 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.
binarydir is the name of the binary tree 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.
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 binary tree 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.
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.