Debian Package (deb)

A Debian package is the binary format used for the Debian package management system, with the extension .deb. These packages and their dependencies are managed by Debian-based operating systems, allowing them to be added and removed at will without corrupting the system.

Debian packages can be distributed to users directly.

sudo dpkg <package>.deb

If the package has unmet dependencies, add:

sudo apt-get install -f

Debian packages can also be distributed via remote repositories making them very easy for end-users to install. Adding your package to a distribution is outside the scope of this document.

sudo apt-get install <package>

<package> corresponds to the package key provided in the configuration.

Usage

packthing deb

Requirements

  • dpkg and debhelper are needed to create Debian packages.

  • ImageMagick is needed to generate icons.

Use apt-get to install.

sudo apt-get install dpkg debhelper imagemagick

Configuration

target:
    deb:
        depends:
        categories:
        section:
        help2man:
depends:

A space-separated list of packages that this package depends on. Debian can detect binary dependencies on its own but you should specify dependencies that are not found otherwise.

depends: foo bar
categories:

A semicolon-separated list of freedesktop.org menu categories. This option is required for your application to appear in menus in KDE, GNOME, and many other window managers.

categories: Development;IDE

See the Desktop Menu Specification for the complete list.

section:

A slash-separated list of hierarchical Debian Menu section components.

section: Applications/Editors

See the Debian Menu sub-policy for the complete list.

help2man:

Run help2man to generate man pages for the listed executables in this project. Requires help2man to be installed on the system.

help2man:
- propelleride
- propman
- openspin
Warning
Only use if your application supports the --help command line switch

help2man expects your executable to have a --help option that immediately quits the application after. If your application does not quit, this feature will hang Packthing.

Learn more about help2man by reading the reference manual.

Example

target:
    deb:
        depends: libftdi1
        categories: Development;IDE
        section: Applications/Editors
        help2man:
            - propelleride
            - propman
            - openspin