Dev/Build Documentation/generic-package/easy
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 generic-package
. By replacing the name of the package
generic-package
with the name of any other package you might be interested in building, the other package would be build. You have two options.
- A) Instructions on this page about how to build the generic-package package from source code without verifying software signatures for simplicity.
OR
Get Build Dependencies[edit]
Update your package lists.
sudo apt update
Install from Debian repository.
sudo apt install build-essential devscripts git
Change Directory to Build Folder[edit]
This chapter is recommended for better usability, but is not strictly required. [1]
Create folder ~/generic-package-build
.
mkdir -p ~/generic-package-build
Change directory to folder ~/generic-package-build
.
cd ~/generic-package-build
Get the Source Code[edit]
Get the the package's source code.
- git clone https://github.com/Kicksecure/generic-package.git
- OR (One or the other command should work. Depending on where the package belongs.)
- git clone https://github.com/Whonix/generic-package.git
Case sensitive. Remember it is Whonix, not whonix! If you are prompted for a username for github, it means you have mistyped the web address.
Change Directory to Source Code Folder[edit]
Get into the package's source code folder because later on package build commands are expected to be run from the root of the source folder.
cd generic-package
Choose Version[edit]
This is optional in case you want to build from master branch.
Do not use version 0.1
but a sensible version number.
git checkout 0.1
Build the Package[edit]
dpkg-buildpackage -b
Build Result[edit]
When a package is build using dpkg-buildpackage
the resulting packages will be created in the parent folder. I.e. in this case in the ~/generic-package-build
folder.
ls ../
Should show something like this.
generic-package generic-package0.1-1_amd64.buildinfo generic-package0.1-1_amd64.changes
Installation[edit]
sudo dpkg -i ../generic-package_0.1-1_amd64.deb
Clean Up[edit]
Delete temporary files debhelper files in package source folder as well as debhelper artifacts (.deb file etc.) in parent folder.
1) Show extraneous (temporary files debhelper) files.
git clean -ndff
2) NOTE: Read above output carefully if you added files of your own files to that folder.
If that looks good, actually remove.
git clean -dff
3) Delete debhelper artifacts (.deb file etc.) in parent folder.
TODO: document
Footnotes[edit]
- ↑
When a package is build using
dpkg-buildpackage
the resulting packages will be created in the parent folder. It's better for usability if this is not the user's home folder since many other files may already reside there. Thereby making the build result files more difficult to find or delete. This is a missing Debian feature. See: dpkg-buildpackage: support output directory other than ..
We believe security software like Whonix needs to remain open source and independent. Would you help sustain and grow the project? Learn more about our 12 year success story and maybe DONATE!