The purpose of this page is to document the steps necessary in order to build and run the latest GnuPG version on Debian Wheezy. The instructions are based on backporting of the necessary packages from Debian unstable.
In order to build the packages, the following prerequisites must be met:
sudo
utility has been installed.Add apt repository for Debian sid/unstable:
# /etc/apt/sources.list.d/sid.list
----BEGIN----
deb http://ftp.debian.org/debian sid main contrib
deb-src http://ftp.debian.org/debian sid main contrib
-----END-----
Set-up pinning for wheezy/stable and sid/unstable in order to prevent automatic installation of packages from sid/unstable:
# /etc/apt/preferences.d/pinning
----BEGIN----
# Packages from wheezy get priority 900
Package: *
Pin: release n=wheezy
Pin-Priority: 900
# Other packages are installed only when forced (ie. apt-get -t unstable install <package>)
Package: *
Pin: release o=Debian
Pin-Priority: -10
-----END-----
Update package listing:
? administrator
$ sudo apt-get update
Install Debian developer utilities:
? administrator
$ sudo apt-get install build-essential fakeroot dpkg-dev
Create directory where Debian builds will be kept:
? administrator
$ mkdir ~/debian_builds/
In order to build the main GnuPG packages, it is necessary to first build a helper library that defines error codes for all GnuPG libraries, libgpg-error-dev
. Install the library dependencies first:
? administrator
$ sudo apt-get build-dep libgpg-error-dev
Download sources for libgpg-error-dev
:
? administrator
$ cd ~/debian_builds/
$ apt-get source libgpg-error-dev
Build libgpg-error-dev:
? administrator
----BEGIN----$
cd ~/debian_builds/libgpg-error-*
dpkg-buildpackage -rfakeroot
-----END-----$
Once done, install the built packages (this has to be done on build server as well as destination install server):
? administrator
$ sudo dpkg -i ~/debian_builds/libgpg-error*.deb
Install remaining build dependencies for GnuPG packages:
? administrator
$ sudo apt-get build-dep gnupg2 gnupg-agent scdaemon
Download sources for packages that will be built (this will actually pull-in only a single source package):
? administrator
----BEGIN----$
cd ~/debian_builds/
apt-get source gnupg2 gnupg-agent scdaemon
-----END-----$
Build the GnuPG packages:
? administrator
----BEGIN----$
cd ~/debian_builds/gnupg2-2*/
dpkg-buildpackage -rfakeroot
-----END-----$
After the build process finishes, a number of .deb packages will be available in directory ~/debian_builds/
. These packages can be subsequently installed on any destination machine.
Set-up a directory on installation machine where the packages will be stored at:
? administrator
$ mkdir -p ~/packages/deb/
Copy all of the .deb packages from directory ~/debian_builds/
on build machine to the installation machine into directory ~/packages/deb/
.
Install the backported GnuPG packages:
? administrator
$ cd ~/packages/deb/
$ sudo dpkg -i gnupg2_*.deb gnupg-agent_*.deb gpgsm_*.deb scdaemon_*.deb libgpg-error_*.deb