{{Header}} {{intro| The build process for any of the {{ExtLink |https://github.com/{{project_name_short}} |text=packages by {{project_name_short}} |icons=none }} developers is very similar. This wiki page explains how to build the package {{{package}}}. By replacing the package name {{Github_link |repo={{{package}}} |text={{{package}}} }} with the name of any [[Packages for Debian Hosts|other]] package you might be interested in building, that other package would be built. You have two options. * '''A)''' Instructions on '''this''' page about '''how to build''' the {{{package}}} package from source code '''without''' [[Verifying Software Signatures|verifying software signatures]] for simplicity. '''OR''' * '''B)''' [[Dev/Build Documentation/{{{package}}}|Instructions with verifying software signatures click here]]. }} == Get Build Dependencies == [[update|Update]] your package lists. {{CodeSelect|code= sudo apt update }} Install from the Debian repository. {{CodeSelect|code= sudo apt install build-essential devscripts git }} == Change Directory to Build Folder == This chapter is recommended for better usability, but is not strictly required. When a package is built using dpkg-buildpackage the resulting packages will be created in the parent folder. It is better for usability if this is not the user's home folder since many other files may already reside there. This makes the build result files more difficult to find or delete. This is a missing Debian feature. See: [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=657401 dpkg-buildpackage: support output directory other than ..] Create folder ~/{{{package}}}-build. {{CodeSelect|code= mkdir -p ~/{{{package}}}-build }} Change directory to folder ~/{{{package}}}-build. {{CodeSelect|code= cd ~/{{{package}}}-build }} == Get the Source Code == {{ Build_Documentation_Get_SourceCode |package={{{package}}} }} == Change Directory to Source Code Folder == Enter the package's source code folder because later on package build commands are expected to be run from the root of the source folder. {{CodeSelect|code= cd {{{package}}} }} == Choose Version == This is optional if you want to build from the master branch. Do not use version 0.1; choose a sensible version number. {{CodeSelect|code= git checkout {{{version}}} }} == Build the Package == {{CodeSelect|code= dpkg-buildpackage -b }} == Build Result == When a package is built using dpkg-buildpackage the resulting packages will be created in the parent folder. That is, in this case in the ~/{{{package}}}-build folder. {{CodeSelect|code= ls ../ }} Should show something like this. {{{package}}} {{{package}}}{{{version}}}-1_amd64.buildinfo {{{package}}}{{{version}}}-1_amd64.changes == Installation == {{CodeSelect|code= sudo dpkg -i ../{{{package}}}_{{{version}}}-1_amd64.deb }} == Clean Up == Delete temporary debhelper files in the package source folder as well as debhelper artifacts (.deb file etc.) in the parent folder. 1) Show extraneous temporary debhelper files. {{CodeSelect|code= git clean -ndff }} 2) NOTE: Read the above output carefully if you added your own files to that folder. If that looks good, actually remove. {{CodeSelect|code= git clean -dff }} 3) Delete debhelper artifacts (.deb file etc.) in the parent folder. TODO: document == Footnotes == {{reflist|close=1}} [[Category:Development]] {{Footer}}