Skip to content

Instantly share code, notes, and snippets.

@vtno
Last active February 25, 2022 09:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vtno/9c9442ed28e0739a40350af2e997c33b to your computer and use it in GitHub Desktop.
Save vtno/9c9442ed28e0739a40350af2e997c33b to your computer and use it in GitHub Desktop.
Install GnuPG 2.3.3 in one go. Check for compatible lib version on the official download page: https://gnupg.org/download/index.html
#!/usr/bin/env bash
set -e -x
sudo apt-get update
sudo apt-get -y install libgnutls28-dev bzip2 make gettext texinfo gnutls-bin build-essential g++
mkdir -p gnupg23
pushd gnupg23
wget -c https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.42.tar.gz
wget -c https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.9.4.tar.gz
wget -c https://gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2
wget -c https://gnupg.org/ftp/gcrypt/libksba/libksba-1.6.0.tar.bz2
wget -c https://gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2
wget -c https://ftp.gnu.org/gnu/ncurses/ncurses-6.2.tar.gz
wget -c https://gnupg.org/ftp/gcrypt/pinentry/pinentry-1.2.0.tar.bz2
wget -c https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.3.3.tar.bz2
for i in *.gz; do
tar -xzf "$i"
done
for i in *.bz2; do
tar -xjf "$i"
done
dirs="libgpg-error libgcrypt libassuan libksba npth ncurses pinentry gnupg"
for i in $dirs; do
CONFIGURE_OPTS=
if [[ "$i" =~ ^pinentry ]]; then
CONFIGURE_OPTS="${CONFIGURE_OPTS} --enable-pinentry-curses --disable-pinentry-qt4"
fi
pushd $i*/
./configure $CONFIGURE_OPTS
make
sudo make install
popd
done
sudo tee -a /etc/ld.so.conf.d/gpg2.conf <<<"/usr/local/lib"
sudo ldconfig -v
echo "Complete!!!"
popd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment