diff options
author | arjan5 | 2018-08-28 10:21:47 +0200 |
---|---|---|
committer | arjan5 | 2018-08-28 10:23:45 +0200 |
commit | 57865154d46e6bbb69970096e62f80146433a679 (patch) | |
tree | 6d879071b727e7f6c123827e8a5fa24bd742b629 | |
download | aur-57865154d46e6bbb69970096e62f80146433a679.tar.gz |
Copy original PKGBUILD and modify it to apply the SECMEM patch
-rw-r--r-- | .SRCINFO | 47 | ||||
-rw-r--r-- | PKGBUILD | 75 | ||||
-rw-r--r-- | gnupg_large_secmem.patch | 13 | ||||
-rw-r--r-- | install | 41 |
4 files changed, 176 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..4406f561d1b8 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,47 @@ +pkgbase = gnupg-large-secmem + pkgdesc = Complete and free implementation of the OpenPGP standard - with extra large secure memory for many parallel decryption actions + pkgver = 2.2.9 + pkgrel = 1 + url = https://www.gnupg.org/ + install = install + arch = x86_64 + license = GPL + checkdepends = openssh + makedepends = libldap + makedepends = libusb-compat + makedepends = pcsclite + depends = npth + depends = libgpg-error + depends = libgcrypt + depends = libksba + depends = libassuan + depends = pinentry + depends = bzip2 + depends = readline + depends = gnutls + depends = sqlite + optdepends = libldap: gpg2keys_ldap + optdepends = libusb-compat: scdaemon + optdepends = pcsclite: scdaemon + provides = dirmngr + provides = gnupg2=2.2.9 + provides = gnupg=2.2.9 + conflicts = dirmngr + conflicts = gnupg2 + conflicts = gnupg + replaces = dirmngr + replaces = gnupg2 + replaces = gnupg + source = https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.9.tar.bz2 + source = https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.9.tar.bz2.sig + source = gnupg_large_secmem.patch + validpgpkeys = D8692123C4065DEA5E0F3AB5249B39D24F25E3B6 + validpgpkeys = 46CC730865BB5C78EBABADCF04376F3EE0856959 + validpgpkeys = 031EC2536E580D8EA286A9F22071B08A33BD3F06 + validpgpkeys = D238EA65D64C67ED4C3073F28A861B1C7EFD60D9 + sha256sums = 6278eaabffa1ebc9fa2ceb3dc53eea9a1505ab02a668a86dd6fec06951af2164 + sha256sums = SKIP + sha256sums = 63108d8fcbcfddf7ba6eee699ade0f79f98558c8ba1f07d86c7a55dce603355d + +pkgname = gnupg-large-secmem + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..2bc83c5bbc81 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,75 @@ +# Maintainer: arjan5 <aur@anymore.nl> +# Contributor: Gaetan Bisson <bisson@archlinux.org> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: Andreas Radke <andyrtr@archlinux.org> +# Contributor: Judd Vinet <jvinet@zeroflux.org> + +pkgname=gnupg-large-secmem +_pkgname=gnupg +pkgver=2.2.9 +pkgrel=1 +pkgdesc='Complete and free implementation of the OpenPGP standard - with extra large secure memory for many parallel decryption actions' +url='https://www.gnupg.org/' +license=('GPL') +arch=('x86_64') +checkdepends=('openssh') +makedepends=('libldap' 'libusb-compat' 'pcsclite') +depends=('npth' 'libgpg-error' 'libgcrypt' 'libksba' 'libassuan' + 'pinentry' 'bzip2' 'readline' 'gnutls' 'sqlite') +optdepends=('libldap: gpg2keys_ldap' + 'libusb-compat: scdaemon' + 'pcsclite: scdaemon') +validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' + '46CC730865BB5C78EBABADCF04376F3EE0856959' + '031EC2536E580D8EA286A9F22071B08A33BD3F06' + 'D238EA65D64C67ED4C3073F28A861B1C7EFD60D9') +source=("https://gnupg.org/ftp/gcrypt/${_pkgname}/${_pkgname}-${pkgver}.tar.bz2"{,.sig} + "gnupg_large_secmem.patch") +sha256sums=('6278eaabffa1ebc9fa2ceb3dc53eea9a1505ab02a668a86dd6fec06951af2164' + 'SKIP' + '63108d8fcbcfddf7ba6eee699ade0f79f98558c8ba1f07d86c7a55dce603355d') + +install=install + +conflicts=('dirmngr' 'gnupg2' 'gnupg') +provides=('dirmngr' "gnupg2=${pkgver}" "gnupg=${pkgver}") +replaces=('dirmngr' 'gnupg2' 'gnupg') + +prepare() { + cd "${srcdir}/${_pkgname}-${pkgver}" + sed '/noinst_SCRIPTS = gpg-zip/c sbin_SCRIPTS += gpg-zip' -i tools/Makefile.in + + # See: https://lists.gnupg.org/pipermail/gnupg-devel/2017-June/032905.html + patch -p1 -i ../gnupg_large_secmem.patch +} + +build() { + cd "${srcdir}/${_pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/gnupg \ + --enable-maintainer-mode \ + --enable-symcryptrun \ + --enable-large-secmem \ + + make +} + +check() { + cd "${srcdir}/${_pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${_pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + ln -s gpg "${pkgdir}"/usr/bin/gpg2 + ln -s gpgv "${pkgdir}"/usr/bin/gpgv2 + + cd doc/examples/systemd-user + for i in *.*; do + install -Dm644 "$i" "${pkgdir}/usr/lib/systemd/user/$i" + done +} diff --git a/gnupg_large_secmem.patch b/gnupg_large_secmem.patch new file mode 100644 index 000000000000..966a694cdeea --- /dev/null +++ b/gnupg_large_secmem.patch @@ -0,0 +1,13 @@ +diff --git a/configure b/configure +index 61a111e..96850dd 100755 +--- a/configure ++++ b/configure +@@ -5536,7 +5536,7 @@ fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $large_secmem" >&5 + $as_echo "$large_secmem" >&6; } + if test "$large_secmem" = yes ; then +- SECMEM_BUFFER_SIZE=65536 ++ SECMEM_BUFFER_SIZE=1048576 + else + SECMEM_BUFFER_SIZE=32768 + fi diff --git a/install b/install new file mode 100644 index 000000000000..95cb351edc4d --- /dev/null +++ b/install @@ -0,0 +1,41 @@ +_global_units() { + _units=(dirmngr.socket gpg-agent.socket gpg-agent-{browser,extra,ssh}.socket) + _dir=/etc/systemd/user/sockets.target.wants + + case $1 in + enable) + mkdir -p $_dir + for _u in "${_units[@]}"; do + ln -sf /usr/lib/systemd/user/$_u $_dir/$_u + done + ;; + disable) + for _u in "${_units[@]}"; do + rm -f $_dir/$_u + done + rmdir -p --ignore-fail-on-non-empty $_dir + ;; + esac +} + +post_install() { + # See FS#42798 and FS#47371 + dirmngr </dev/null &>/dev/null + + # Let systemd supervise daemons by default + _global_units enable +} + +post_upgrade() { + if (( $(vercmp $2 2.1.13-1) < 0 )); then + echo "==> Please kill running gpg-agent and dirmngr processes before using this release." + fi + + if (( $(vercmp $2 2.1.21-3) < 0 )); then + _global_units enable + fi +} + +pre_remove() { + _global_units disable +} |