A utility for creating Debian packages.
Python Makefile Other
Failed to load latest commit information.
bitmaps Add hide button image: Feb 6, 2017
data Add hide button image: Feb 6, 2017
dbr dbr.language: Create setter & getter functions for locale dir: Feb 9, 2017
debian debian/control: Add 'x11-server-utils' as recommended package Jan 29, 2017
docs Doxygen Add missing packages Feb 9, 2017
f_export Doxygen: Fix package names: Feb 9, 2017
fields Doxygen: Add package descriptions Feb 9, 2017
globals globals.paths: ConcatPaths function changes: Feb 9, 2017
input Doxygen: Add package descriptions Feb 9, 2017
locale Replace (C) with © in locale files Jan 13, 2017
man/man1 Rename log level 'warning' to 'warn': Jan 26, 2017
scripts 'doxygen-format' script: Add 'FormatMarkdown' function Feb 9, 2017
startup Doxygen: Add package descriptions Feb 9, 2017
system system.display: Use alternate method to find resolution for wx 2: Jan 29, 2017
templates/licenses Add EPL-1.0 license template. Sep 30, 2016
ui Rename 'default' attribute to 'Default' Feb 7, 2017
wiz Doxygen: Add module & class descriptions: Feb 9, 2017
wizbin Doxygen: Add package descriptions Feb 9, 2017
wizsrc Doxygen: Add package descriptions Feb 9, 2017
.gitignore Git: Ignore Netbeans project folder Dec 3, 2016
CMakeLists.txt CMakeLists: Add package 'fields' to installation Feb 2, 2017
INFO INFO: Change Debian dist urgency to 'low' Dec 12, 2016
Makefile.in Makefile.in: Merge some changes from 'Makefile' on 0.7 branch Feb 9, 2017
README.md README: Change location of logo: Jan 29, 2017
command_line.py command_line: Allow 'warning' as alias for 'warn' in log-level Jan 26, 2017
init.py dbr.language: Create setter & getter functions for locale dir: Feb 9, 2017
main.py main: Add some Doxygen notes Feb 9, 2017
setup.py Set the icon theme directory with 'setup.py Oct 16, 2016


Debreate - Debian Package Builder

Table of Contents


Debreate is a utility to aid in creating Debian (.deb) packages. Currently it only supports binary packaging which allows packaging of pre-compiled or scripted applications, media, artwork, etc. for personal distribution. Plans for using backends such as dh_make & debuild (available in devscripts package) for creating source packages are in the works. But source packaging can be quite different & is a must if you want to get your packages into a distribution's official repositories or a Launchpad Personal Package Archive (PPA). The latter from which Debreate has recently become available.

The definition of Debian source packages may be a little confusing (as it was for me) for those that are new to the Debian format, or perhaps packaging in general. Debian source packages are essentially no different than common tarballed source archives & they can be available in many of the popular formats such as Gzip (.tar.gz), BZip2 (.tar.bz2), XZ (tar.xz), Lzip (tar.lzip), etc. To build Debian binary packages from source code, it must first be "debianized". Debianization involves creating a directory called 'debian' within the source root folder. Files with instructions, meta data, & more are placed within to instruct Debian tools, such as debuild, on how the source must be compiled & packaged into the final .deb. This is the process that must be taken to host software on repositories such as Lauchpad's PPA system. The debianized source is uploaded, then built & packaged on-site automatically. The resulting binary package (.deb) is published to the target PPA.


Debreate needs these packages installed to run:

These packages are recommended & enable some features:


The source uses a generic Makefile for "building" (because I don't know how to use GNU Autotools or CMake very well). The source is not actually built, but the Makefile simply installs the scripts onto the system. The plan is to eventually switch to the CMake build system, unless a better alternative is decided upon.

Generating the Makefile

A 'setup.py' script is used to generate the Makefile (this is not the same type of 'setup.py' that is used with distutils). A python interpreter must be installed to run the script. From a terminal execute ./setup.py from the source root dirctory then follow the prompts. If you want to bypass prompting & use the default settings execute ./setup.py defaults. The Makefile will be generated in the same directory.

Using the Makefile

Open a terminal in the root directory & execute make install. To create a distribution package execute make dist. To uninstall execute make uninstall. For help & more options use make help.

If you have debuild installed, you can execute make deb-bin from the command line to build the debian package (.deb).

It is recommended to build the .deb package with make deb-bin & install via the system's package manager.

Standalone Use

To run, launch the file named "init.py":

  • ./init.py or python init.py (NOTE: Python 3.x is currently not supported)


Other Pages