You are strongly advised to download and examine the hello
package, and to read the section in the dpkg programmers'
manual describing the source packaging tools. More detail about the
exact functionality of these tools is available in dpkg-source(1)
.
package-
upstream-version.orig/
or
package_
upstream-version.orig.tar.gz
.
debian.*
to debian/*
. There may be some
exceptions to this, but this is a good start.
debian/changelog
- create or rename it if necessary.
Add a new revision to the top with the appropriate details, and a
local variables entry to the bottom to set Emacs to the right mode:
Local variables: mode: debian-changelog End:
debian/control
:
Version
field. If it is generated unusually (not
equal to the source version) you must use the -v option to
dpkg-gencontrol (see below). Section
, Priority
,
Maintainer
go above the first blank line, most of the rest below.
Source
field.
Standards-Version
field. The current value is
0.2.1.0
.
Architecture
field for each package to any
,
all
or whatever. If there isn't an Architecture
field add
one.
debian/substvars
if
you need to put unusally-generated information (apart from details of
.deb
files) in the .changes
file too.debian/rules
:
debian/rules
.debian-tmp
to debian/tmp
.debian.{post,pre}{inst,rm}
to
debian/*
.debian/README
is really the copyright file, and
if so rename it to debian/copyright
and edit
debian/rules
to cope with this and to change the installation
of the copyright file from /usr/doc/
package/copyright
instead of /usr/doc/copyright/
package
. If it isn't then
find debian/copyright
and decide what to do with the
README
.
Package_Revision
, Package-Revision
or
Revision
fields.Optional
to Suggests
, Recommended
to
Recommends
./usr/doc/examples/
package
to
/usr/doc/
package/examples
.dpkg-buildpackage -ur -uc -sa
-r
whatever
. Check the permissions and locations of files in
the resulting package by eyeballing the output of dpkg-deb
--contents
, and check that the source build happened OK. Test
install the binary package(s) and test extract the source package(s).
dpkg-buildpackage
-sa
, or PGP-sign the .dsc
, rebuild the .changes
using
dpkg-genchanges -sa
, and then PGP-sign the .changes
.
The use of -sa
on dpkg-buildpackage and
dpkg-genchanges is important when doing the first
build/uploading of a new-format source package. Unless this happens
to be Debian revision 0
or 1
by default the original source
tarfile will not be included in the uploaded files listed in the
.changes
file, and so it won't be installed on the FTP site.
-sa
requests that the original source be included regardless.