dpkg
is targetted primarily at Debian GNU/Linux, but may work on
or be ported to other systems.
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.
This field should appear in all packages, though dpkg
doesn't
require it yet so that old packages can still be installed.
The rationale is that there is some information conveyed by knowing the age of the file, for example, you could recognize that some documentation is very old by looking at the modification time, so it would be nice if the modification time of the upstream source would be preserved.
This is so that the control file which is produced has the right permissions
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.
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.
This is generated by the 822-date
program.
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
This is not currently detected when building source packages, but only when extracting them.
Hard links may be permitted at some point in the future, but would require a fair amount of work.
Setgid directories are allowed.
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.
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
This is a bug.
It is usual to leave a space after the package name if a version number is specified.
A space after each comma is conventional.
That is, the parts which are not the .dsc.
Part of the problem is due to what is arguably a bug in dpkg
.
Version 0.93.23 or later.
Current versions (1.2.4) of dpkg
have a bug in this area which
will cause some of these problems to be ignored.
ijackson@gnu.ai.mit.edu
bweaver@debian.org
schwarz@debian.org
srivasta@debian.org
debian-policy@lists.debian.org