Skip to content

Instantly share code, notes, and snippets.

@RuinedSubmartingale
Forked from mattrude/GnuPG-2.1.md
Created May 19, 2016 01:27
Show Gist options
  • Save RuinedSubmartingale/4d91fe484916112a37d2a33d975565c5 to your computer and use it in GitHub Desktop.
Save RuinedSubmartingale/4d91fe484916112a37d2a33d975565c5 to your computer and use it in GitHub Desktop.
GnuPG 2.1.10 Build Instructions for Ubuntu 14.04 LTS

GnuPG 2.1.12 Build Instructions

Below you is my build instructions for GnuPG 2.1.11 released on 26-Jan-2016. These instructions are built for a headless Ubuntu 14.04 LTS server.

Or if you wish, you may use the install script to install GnuPG 2.1.12 by entring the following:

curl -sL "https://gist.github.com/mattrude/3883a3801613b048d45b/raw/install-gnupg2.sh" |sh

Install the needed depends

apt-get -y install libgnutls-dev bzip2 make gettext texinfo gnutls-bin \
build-essential g++

Setup the build

mkdir -p /var/src/gnupg21 && cd /var/src/gnupg21
gpg --list-keys
gpg --recv-keys 0x4F25E3B6 0xE0856959 0x33BD3F06 0x7EFD60D9 0xF7E48EDB

Installing libgpg-error 1.20

wget -c ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.20.tar.gz && \
wget -c ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.20.tar.gz.sig && \
gpg --verify libgpg-error-1.20.tar.gz.sig && tar -xzf libgpg-error-1.20.tar.gz && \
cd libgpg-error-1.20/ && ./configure && make && make install && cd ../

Installing libgcrypt 1.6.4

wget -c ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.4.tar.gz && \
wget -c ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.4.tar.gz.sig && \
gpg --verify libgcrypt-1.6.4.tar.gz.sig && tar -xzf libgcrypt-1.6.4.tar.gz && \
cd libgcrypt-1.6.4 && ./configure && make && make install && cd ../

Installing libassuan 2.4.2

wget -c ftp://ftp.gnupg.org/gcrypt/libassuan/libassuan-2.4.2.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/libassuan/libassuan-2.4.2.tar.bz2.sig && \
gpg --verify libassuan-2.4.2.tar.bz2.sig && tar -xjf libassuan-2.4.2.tar.bz2 && \
cd libassuan-2.4.2 && ./configure && make && make install && cd ../

Installing libksba 1.3.3

wget -c  ftp://ftp.gnupg.org/gcrypt/libksba/libksba-1.3.3.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/libksba/libksba-1.3.3.tar.bz2.sig && \
gpg --verify libksba-1.3.3.tar.bz2.sig && tar -xjf libksba-1.3.3.tar.bz2 && \
cd libksba-1.3.3 && ./configure && make && make install && cd ../

Installing npth 1.2

wget -c ftp://ftp.gnupg.org/gcrypt/npth/npth-1.2.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/npth/npth-1.2.tar.bz2.sig && \
gpg --verify npth-1.2.tar.bz2.sig && tar -xjf npth-1.2.tar.bz2 && \
cd npth-1.2 && ./configure && make && make install && cd ../

Install ncurses 6.0

wget -c ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz && \
wget -c ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz.sig && \
gpg --verify ncurses-6.0.tar.gz.sig && tar -xzf ncurses-6.0.tar.gz && \
cd ncurses-6.0 && ./configure && make && make install && cd ../

Install pinentry 0.9.5

wget -c ftp://ftp.gnupg.org/gcrypt/pinentry/pinentry-0.9.5.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/pinentry/pinentry-0.9.5.tar.bz2.sig && \
gpg --verify pinentry-0.9.5.tar.bz2.sig && tar -xjf pinentry-0.9.5.tar.bz2 && \
cd pinentry-0.9.5 && ./configure --enable-pinentry-curses --disable-pinentry-qt4 && \
make && make install && cd ../

Install GnuPG 2.1.11

wget -c ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.1.11.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.1.11.tar.bz2.sig && \
gpg --verify gnupg-2.1.11.tar.bz2.sig && tar -xjf gnupg-2.1.11.tar.bz2 && \
cd gnupg-2.1.11 && ./configure && make && make install && echo $?

Finishing the build

echo "/usr/local/lib" > /etc/ld.so.conf.d/gpg2.conf && ldconfig -v
#!/bin/bash
apt-get update
apt-get -y install libgnutls-dev bzip2 make gettext texinfo gnutls-bin build-essential g++
mkdir -p /var/src/gnupg21 && cd /var/src/gnupg21
gpg --list-keys
gpg --recv-keys 0x4F25E3B6 0xE0856959 0x33BD3F06 0x7EFD60D9 0xF7E48EDB
wget -c ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.20.tar.gz && \
wget -c ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.20.tar.gz.sig && \
wget -c ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.4.tar.gz && \
wget -c ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.6.4.tar.gz.sig && \
wget -c ftp://ftp.gnupg.org/gcrypt/libassuan/libassuan-2.4.2.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/libassuan/libassuan-2.4.2.tar.bz2.sig && \
wget -c ftp://ftp.gnupg.org/gcrypt/libksba/libksba-1.3.3.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/libksba/libksba-1.3.3.tar.bz2.sig && \
wget -c ftp://ftp.gnupg.org/gcrypt/npth/npth-1.2.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/npth/npth-1.2.tar.bz2.sig && \
wget -c ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz && \
wget -c ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz.sig && \
wget -c ftp://ftp.gnupg.org/gcrypt/pinentry/pinentry-0.9.5.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/pinentry/pinentry-0.9.5.tar.bz2.sig && \
wget -c ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.1.12.tar.bz2 && \
wget -c ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.1.12.tar.bz2.sig && \
gpg --verify libgpg-error-1.20.tar.gz.sig && tar -xzf libgpg-error-1.20.tar.gz && \
gpg --verify libgcrypt-1.6.4.tar.gz.sig && tar -xzf libgcrypt-1.6.4.tar.gz && \
gpg --verify libassuan-2.4.2.tar.bz2.sig && tar -xjf libassuan-2.4.2.tar.bz2 && \
gpg --verify libksba-1.3.3.tar.bz2.sig && tar -xjf libksba-1.3.3.tar.bz2 && \
gpg --verify npth-1.2.tar.bz2.sig && tar -xjf npth-1.2.tar.bz2 && \
gpg --verify ncurses-6.0.tar.gz.sig && tar -xzf ncurses-6.0.tar.gz && \
gpg --verify pinentry-0.9.5.tar.bz2.sig && tar -xjf pinentry-0.9.5.tar.bz2 && \
gpg --verify gnupg-2.1.12.tar.bz2.sig && tar -xjf gnupg-2.1.12.tar.bz2 && \
cd libgpg-error-1.20/ && ./configure && make && make install && cd ../ && \
cd libgcrypt-1.6.4 && ./configure && make && make install && cd ../ && \
cd libassuan-2.4.2 && ./configure && make && make install && cd ../ && \
cd libksba-1.3.3 && ./configure && make && make install && cd ../ && \
cd npth-1.2 && ./configure && make && make install && cd ../ && \
cd ncurses-6.0 && ./configure && make && make install && cd ../ && \
cd pinentry-0.9.5 && ./configure --enable-pinentry-curses --disable-pinentry-qt4 && \
make && make install && cd ../ && \
cd gnupg-2.1.12 && ./configure && make && make install && \
echo "/usr/local/lib" > /etc/ld.so.conf.d/gpg2.conf && ldconfig -v && \
echo "Complete!!!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment