Not to get confused, let us recapture all steps we have taken to build our binary Debian package.
Prerequisite files:
- one or more binary executable or shell script files
- a man page for each executable file
- a 'control' file
- a 'copyright' file
- a 'changelog' and 'changelog.Debian' file
Setup temporary 'debian' directories:
- create '
debian/usr/bin' directory (or wherever you plan to place your executable files) - create '
debian/usr/share/man/man1' (or whatever section your man page belongs into) - create '
debian/DEBIAN' directory - create '
debian/usr/share/doc/<package_name>' - make sure all sub directories of '
debian' have file permission 0755
Copy files into temporary 'debian' tree:
- copy executable file into '
debian/usr/bin' directory (or wherever you plan to place your executable files) - copy man page file into '
debian/usr/share/man/man1' directory - copy 'control' file into '
debian/DEBIAN' directory - copy 'copyright', 'changelog', and 'changelog.Debian' files into '
debian/usr/share/doc/<package_name>' - gzip man page, 'copyright', 'changelog', and 'changelog.Debian' files with option '--best' inside the temporary '
debian' tree
Build and check binary Debian package:
- invoke '
dpkg-deb --build' using 'fakeroot' on the 'debian' directory - rename resulting '
debian.deb' file to its final package name including version and architecture information - check resulting .deb package file for Debian policy compliance using '
lintian'