summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorarjan52018-08-28 10:21:47 +0200
committerarjan52018-08-28 10:23:45 +0200
commit57865154d46e6bbb69970096e62f80146433a679 (patch)
tree6d879071b727e7f6c123827e8a5fa24bd742b629
downloadaur-57865154d46e6bbb69970096e62f80146433a679.tar.gz
Copy original PKGBUILD and modify it to apply the SECMEM patch
-rw-r--r--.SRCINFO47
-rw-r--r--PKGBUILD75
-rw-r--r--gnupg_large_secmem.patch13
-rw-r--r--install41
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
+}