From 35554f46e45deeb64c830818d0d4b7d37b37ab00 Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Sun, 4 Oct 2020 16:23:23 +0000 Subject: p11-kit: update to 0.23.21 --- abs/core/p11-kit/PKGBUILD | 96 +++++++++++++++++--------------- abs/core/p11-kit/libnssckbi-compat.patch | 57 ------------------- abs/core/p11-kit/p11-kit.install | 23 ++++++++ 3 files changed, 75 insertions(+), 101 deletions(-) delete mode 100644 abs/core/p11-kit/libnssckbi-compat.patch create mode 100644 abs/core/p11-kit/p11-kit.install diff --git a/abs/core/p11-kit/PKGBUILD b/abs/core/p11-kit/PKGBUILD index 4b1f06d..256592d 100644 --- a/abs/core/p11-kit/PKGBUILD +++ b/abs/core/p11-kit/PKGBUILD @@ -1,63 +1,71 @@ -# $Id$ +# Maintainer: Jan Alexander Steffens (heftig) # Contributor: Ionut Biru -pkgname=p11-kit -pkgver=0.23.9 +pkgbase=p11-kit +pkgname=(p11-kit libp11-kit) +pkgver=0.23.21 pkgrel=1 -pkgdesc="Provides a way to load and enumerate PKCS#11 modules" -arch=(i686 x86_64) +pkgdesc="Loads and enumerates PKCS#11 modules" url="https://p11-glue.freedesktop.org" +arch=(x86_64) license=(BSD) -depends=(glibc libtasn1 libffi) -makedepends=(gtk-doc git) -_commit=34cb047e20af02ef3d820a295e9e29f618b83bab # tags/0.23.9^0 -source=("git+https://github.com/p11-glue/p11-kit#commit=$_commit" - libnssckbi-compat.patch) -sha256sums=('SKIP' - '8f763cdbc6c0ca6c5a7898f9fd6f3018b7ac5b1aca36f67c6c813343c2962962') -validpgpkeys=('C0F67099B808FB063E2C81117BFB1108D92765AF') - -pkgver() { - cd $pkgname - git describe --tags | sed 's/-/+/g' -} +makedepends=(gtk-doc git meson libtasn1 libffi systemd bash-completion) +source=("git+https://github.com/p11-glue/p11-kit?signed#tag=$pkgver") +sha256sums=('SKIP') +validpgpkeys=('C0F67099B808FB063E2C81117BFB1108D92765AF' # Stef Walter + '462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno prepare() { - cd $pkgname - - # Build and install an additional library (libnssckbi-p11-kit.so) which - # is a copy of p11-kit-trust.so but uses the same label for root certs as - # libnssckbi.so ("Builtin Object Token" instead of "Default Trust") - # https://bugs.freedesktop.org/show_bug.cgi?id=66161 - patch -Np1 -i ../libnssckbi-compat.patch - - NOCONFIGURE=1 ./autogen.sh + cd p11-kit } build() { - cd $pkgname - - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --libexecdir=/usr/lib \ - --enable-doc \ - --with-module-path=/usr/lib/pkcs11 \ - --with-trust-paths=/etc/ca-certificates/trust-source:/usr/share/ca-certificates/trust-source - make + arch-meson p11-kit build \ + --buildtype debugoptimized \ + -D gtk_doc=true \ + -D man=true \ + -D trust_paths=/etc/ca-certificates/trust-source:/usr/share/ca-certificates/trust-source + meson compile -C build } check() { - cd $pkgname - make check + meson test -C build --print-errorlogs } -package() { - cd $pkgname - make DESTDIR="$pkgdir" install - install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +package_p11-kit() { + depends=("libp11-kit=$pkgver-$pkgrel" coreutils libp11-kit.so libsystemd.so) + install=p11-kit.install + + DESTDIR="$pkgdir" meson install -C build + ln -sr "$pkgdir/usr/bin/update-ca-trust" "$pkgdir/usr/lib/p11-kit/trust-extract-compat" + + # Split libp11-kit + _pick lib "$pkgdir"/usr/include + _pick lib "$pkgdir"/usr/lib/{p11-kit-proxy.so,libp11-kit.*} + _pick lib "$pkgdir"/usr/lib/{pkcs11,pkgconfig} + _pick lib "$pkgdir"/usr/share/{locale,p11-kit} + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 p11-kit/COPYING +} + +package_libp11-kit() { + pkgdesc+=" (library)" + depends=(glibc libtasn1 libffi) + provides=(libp11-kit.so) + + mv lib/* "$pkgdir" - ln -srf "$pkgdir/usr/bin/update-ca-trust" "$pkgdir/usr/lib/p11-kit/trust-extract-compat" + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 p11-kit/COPYING } # vim:set ts=2 sw=2 et: diff --git a/abs/core/p11-kit/libnssckbi-compat.patch b/abs/core/p11-kit/libnssckbi-compat.patch deleted file mode 100644 index d1b70a3..0000000 --- a/abs/core/p11-kit/libnssckbi-compat.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -upr p11-kit-0.23.1.orig/trust/Makefile.am p11-kit-0.23.1/trust/Makefile.am ---- p11-kit-0.23.1.orig/trust/Makefile.am 2014-11-12 12:58:50.000000000 +0200 -+++ p11-kit-0.23.1/trust/Makefile.am 2015-03-30 16:43:35.275993032 +0300 -@@ -61,6 +61,20 @@ p11_kit_trust_la_LDFLAGS = \ - - p11_kit_trust_la_SOURCES = $(TRUST_SRCS) - -+libnssckbi_compatdir = $(libdir) -+libnssckbi_compat_LTLIBRARIES = \ -+ libnssckbi-p11-kit.la -+ -+libnssckbi_p11_kit_la_CFLAGS = \ -+ -DLIBNSSCKBI_COMPAT \ -+ $(p11_kit_trust_la_CFLAGS) -+ -+libnssckbi_p11_kit_la_LIBADD = $(p11_kit_trust_la_LIBADD) -+ -+libnssckbi_p11_kit_la_LDFLAGS = $(p11_kit_trust_la_LDFLAGS) -+ -+libnssckbi_p11_kit_la_SOURCES = $(p11_kit_trust_la_SOURCES) -+ - libtrust_testable_la_LDFLAGS = \ - -no-undefined - -diff -upr p11-kit-0.23.1.orig/trust/module.c p11-kit-0.23.1/trust/module.c ---- p11-kit-0.23.1.orig/trust/module.c 2014-12-16 12:24:01.000000000 +0200 -+++ p11-kit-0.23.1/trust/module.c 2015-03-30 16:48:41.370360130 +0300 -@@ -196,7 +196,11 @@ create_tokens_inlock (p11_array *tokens, - const char *label; - } labels[] = { - { "~/", "User Trust" }, -+#ifdef LIBNSSCKBI_COMPAT -+ { DATA_DIR, "Builtin Object Token" }, -+#else - { DATA_DIR, "Default Trust" }, -+#endif - { SYSCONFDIR, "System Trust" }, - { NULL }, - }; -@@ -521,9 +525,15 @@ sys_C_GetSlotInfo (CK_SLOT_ID id, - info->flags = CKF_TOKEN_PRESENT; - strncpy ((char*)info->manufacturerID, MANUFACTURER_ID, 32); - -- /* If too long, copy the first 64 characters into buffer */ -- path = p11_token_get_path (token); -+#ifdef LIBNSSCKBI_COMPAT -+ /* Change description to match libnssckbi so HPKP works in Chromium */ -+ if (strcmp (p11_token_get_label (token), "Builtin Object Token" ) == 0) -+ path = "NSS Builtin Objects"; -+ else -+#endif -+ path = p11_token_get_path (token); - length = strlen (path); -+ /* If too long, copy the first 64 characters into buffer */ - if (length > sizeof (info->slotDescription)) - length = sizeof (info->slotDescription); - memset (info->slotDescription, ' ', sizeof (info->slotDescription)); diff --git a/abs/core/p11-kit/p11-kit.install b/abs/core/p11-kit/p11-kit.install new file mode 100644 index 0000000..2f82c56 --- /dev/null +++ b/abs/core/p11-kit/p11-kit.install @@ -0,0 +1,23 @@ +_global_units() { + local unit=p11-kit-server.socket dir=/etc/systemd/user/sockets.target.wants + + case $1 in + enable) + mkdir -p $dir + ln -sf /usr/lib/systemd/user/$unit $dir/$unit + ;; + disable) + rm -f $dir/$unit + rmdir -p --ignore-fail-on-non-empty $dir + ;; + esac +} + +post_install() { + # Enable socket by default + _global_units enable +} + +pre_remove() { + _global_units disable +} -- cgit v0.12