# Debian packaging manual - footnotes

## 1

`dpkg` is targetted primarily at Debian GNU/Linux, but may work on or be ported to other systems.

## 2

That means that if it runs successfully or fails and then you call it again it doesn't bomb out, but just ensures that everything is the way it ought to be.

## 3

This field should appear in all packages, though `dpkg` doesn't require it yet so that old packages can still be installed.

## 4

This is so that the control file which is produced has the right permissions

## 5

They may be specified either in the locations in the source tree where they are created or in the locations in the temporary build tree where they are installed prior to binary package creation.

## 6

Though there is nothing stopping an author who is also the Debian maintainer from using it for all their changes, it will have to be renamed if the Debian and upstream maintainers become different people.

## 7

This is generated by the `822-date` program.

## 8

`files.new` is used as a temporary file by `dpkg-gencontrol` and `dpkg-distaddfile` - they write a new version of `files` here before renaming it, to avoid leaving a corrupted copy if an error occurs

## 9

This is not currently detected when building source packages, but only when extracting them.

## 10

Hard links may be permitted at some point in the future, but would require a fair amount of work.

## 11

Setgid directories are allowed.

## 12

Renaming a file is not treated specially - it is seen as the removal of the old file (which generates a warning, but is otherwise ignored), and the creation of the new one.

## 13

The characters `@` `:` `=` `%` `_` (at, colon, equals, percent and underscore) used to be legal and are still accepted when found in a package file, but may not be used in new packages

## 14

This is a bug.

## 15

This actually invokes

    gcc --print-libgcc-file-name

and parses and decomposes the output and looks the CPU type from the GCC configuration in a table in `dpkg`. This is so that it will work if you're cross-compiling.

## 16

It is usual to leave a space after the package name if a version number is specified.

## 17

A space after each comma is conventional.

## 18

That is, the parts which are not the `.dsc`.

## 19

Part of the problem is due to what is arguably a bug in `dpkg`.

## 20

Version 0.93.23 or later.

## 21

Current versions (1.2.4) of `dpkg` have a bug in this area which will cause some of these problems to be ignored.

Debian packaging manual - Copyright ©1996 Ian Jackson.
Contents; abstract.