Build Documentation Build Package

From Whonix


The build process of building any of the packages by Whonix developers is always very similar. This very wiki page explain how to build package {{{package}}}. By replacing the name of the package {{{package}}} with the name of any other package you might be interested in building, the other package would be build.

Get Build Dependencies[edit]

Update your package lists.

sudo apt-get update

Install from Debian repository.

sudo apt-get install build-essential devscripts dh-apparmor faketime git

Install genmkfile. Either,

  • a) from source code (see footnote on how to do that) [1] or alternatively,
  • b) if you are already using Whonix ™, you could easily install it from Whonix ™ repository:

sudo apt-get install genmkfile

Get the Source Code[edit]

Update the package lists.

sudo apt-get update

Install git.

sudo apt-get install git

Get the the package's source code.

git clone{{{package}}}.git

Remember it is Whonix, not whonix! If you are prompted for a username for github, it means you have mistyped the web address.

Get the Signing Key[edit]

This chapter is recommended for better security, but it is not strictly required. (See Trust)

1. Download {{{fullname}}} OpenPGP key. {{{link}}}

Note: If Whonix is already being used, this process can be simplified. See the footnotes. [2]

2. Store it as {{{shortname}}}.asc.

3. Import the key.

gpg --import {{{shortname}}}.asc

4. Verify the key using this fingerprint.

gpg --fingerprint {{{longfingerprint}}}

The output should show.


5. This only retrieves the signing key from one source. For better security, learn more about the Whonix Signing Key.

Change Directory[edit]

Get into the package's source code folder because later on package build commands using make are expected to be run from the root of the source folder.

cd {{{package}}}

OpenPGP Verify the Source Code[edit]

This chapter is recommended for better security, but is not strictly required.[3]

Retrieve a list of available git tags.

git tag

Verify the tag you want to build. Replace it with the tag chosen to build.

git tag -v {{{version}}}

The output should look similar to this.

object 1844108109a5f2f8bddcf2257b9f3675be5cfb22
type commit
tag {{{version}}}
tagger Patrick Schleizer <> 1392320095 +0000

gpg: Signature made Thu 13 Feb 2014 07:34:55 PM UTC using RSA key ID 77BB3C48
gpg: Good signature from "Patrick Schleizer <>" [ultimate]

The warning.

gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.

Is explained on the Whonix Signing Key page and can be safely ignored.

Choose Version[edit]

Retrieve a list of available git tags.

git tag

Use git checkout to select the preferred version to build.

git checkout

Replace with the actual version chosen for the build: the stable, testers-only or developers version. Common sense is required when choosing the right version number. For example, the latest available version number is not necessarily the most stable or suitable. To learn more about current Whonix ™ versions, follow the Whonix ™ News Blog.

Check if you really got the version you want.

git describe

Should show:

Build and Install the Package[edit]

Install build dependencies. It might be possible to let genmkfile do that.

make deb-all-dep

If that did not work, have a look in debian/control file and manually install all packages listed under Build-Depends and Depends.

Build the package without signing it (not required for personal use) and install it.


make deb-icup

Of if you want to install with debugging enabled, click on expand on the right.

export DEBDEBUG=1

make deb-icup

Clean Up[edit]

Clean up temporary files debhelper files in package source folder as well as debhelper artifacts (.deb file etc.) in parent folder.

make deb-cleanup


  1. You can use the same instructions as on this page. Just replace the package name to genmkfile.
    git clone
    cd genmkfile
    make deb-icup
  2. Steps 1-3 can be completed with just one command.
    gpg --import /usr/share/whonix/whonix-keys.d/patrick.asc
  3. See Trust.

[advertisement] Looking to Sell Your Company? Contact me.

Love Whonix and want to help spread the word? You can start by telling your friends or posting news about Whonix on your website, blog or social media.

https | (forcing) onion
Follow: Twitter.png Facebook.png 1280px-Gab text logo.svg.png Rss.png 1024px-Telegram 2019 Logo.svg.png

Share: Twitter | Facebook

This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! Read, understand and agree to Conditions for Contributions to Whonix ™, then Edit! Edits are held for moderation.

Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP. Whonix ™ is a trademark. Whonix ™ is a licensee of the Open Invention Network. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Freedom Software license as Whonix ™ itself. (Why?)

Whonix ™ is a derivative of and not affiliated with Debian. Debian is a registered trademark owned by Software in the Public Interest, Inc.

Whonix ™ is produced independently from the Tor® anonymity software and carries no guarantee from The Tor Project about quality, suitability or anything else.

By using our website, you acknowledge that you have read, understood and agreed to our Privacy Policy, Cookie Policy, Terms of Service, and E-Sign Consent. Whonix ™ is provided by ENCRYPTED SUPPORT LP. See Imprint.