summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Lange2022-03-31 19:25:21 +1100
committerRobin Lange2022-03-31 19:25:21 +1100
commitbd227dcea7f7e1b8c6de80f416ce89ec2288761d (patch)
treedbaf986c281e9905591e4e29e8a00bd8aa3aeb28
parentb3040ac5c2f67dd764324beb0d1eca09fd7e4514 (diff)
downloadaur-bd227dcea7f7e1b8c6de80f416ce89ec2288761d.tar.gz
Update to 41.3
-rw-r--r--.SRCINFO20
-rw-r--r--0002-nvidia-prime.patch (renamed from 0003-nvidia-prime.patch)0
-rw-r--r--0002-pam-arch-Drop-pam_faillock-counting-from-fingerprint.patch73
-rw-r--r--PKGBUILD101
-rw-r--r--default.pa10
5 files changed, 68 insertions, 136 deletions
diff --git a/.SRCINFO b/.SRCINFO
index db51fc331a93..56c7ace8caba 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = gdm-prime
pkgdesc = Display manager and login screen
- pkgver = 41.0+r15+g23ebe617
+ pkgver = 41.3
pkgrel = 1
url = https://wiki.gnome.org/Projects/GDM
arch = x86_64
@@ -19,16 +19,13 @@ pkgbase = gdm-prime
depends = xorg-xhost
depends = libxdmcp
depends = systemd
- source = git+https://gitlab.gnome.org/GNOME/gdm.git#commit=23ebe617119506a0614f1bd2c76cd9bcf7e8fb7c
+ depends = libcanberra
+ source = git+https://gitlab.gnome.org/GNOME/gdm.git#commit=cb49bac2fe1160094eae360f985e54073be3c49a
source = 0001-Xsession-Don-t-start-ssh-agent-by-default.patch
- source = 0002-pam-arch-Drop-pam_faillock-counting-from-fingerprint.patch
- source = 0003-nvidia-prime.patch
- source = default.pa
+ source = 0002-nvidia-prime.patch
sha256sums = SKIP
sha256sums = 39a7e1189d423dd428ace9baac77ba0442c6706a861d3c3db9eb3a6643e223f8
- sha256sums = e3dcaaa5ffa2dd4d3338c8b5827965ea2ca1efd9a95d7272a107e6121cb7898f
sha256sums = a1fb80c69454492390e4b7edac0efe55b2178c7031051d3eab99ed8c14d3e0e4
- sha256sums = e88410bcec9e2c7a22a319be0b771d1f8d536863a7fc618b6352a09d61327dcb
pkgname = gdm-prime
pkgdesc = Display manager and login screen - patched with Prime support for Optimus laptops
@@ -42,6 +39,7 @@ pkgname = gdm-prime
depends = xorg-xhost
depends = libxdmcp
depends = systemd
+ depends = libcanberra
depends = libgdm
optdepends = fprintd: fingerprint authentication
provides = gdm
@@ -58,8 +56,10 @@ pkgname = gdm-prime
pkgname = libgdm-prime
pkgdesc = GDM support library - patched with Prime support for Optimus laptops
- depends = systemd
- depends = glib2
- depends = dconf
+ depends = libsystemd.so
+ depends = libglib-2.0.so
+ depends = libgobject-2.0.so
+ depends = libgio-2.0.so
+ provides = libgdm.so
provides = libgdm
conflicts = libgdm
diff --git a/0003-nvidia-prime.patch b/0002-nvidia-prime.patch
index b4b804864ae0..b4b804864ae0 100644
--- a/0003-nvidia-prime.patch
+++ b/0002-nvidia-prime.patch
diff --git a/0002-pam-arch-Drop-pam_faillock-counting-from-fingerprint.patch b/0002-pam-arch-Drop-pam_faillock-counting-from-fingerprint.patch
deleted file mode 100644
index ce6d5539376f..000000000000
--- a/0002-pam-arch-Drop-pam_faillock-counting-from-fingerprint.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
-Date: Tue, 31 Aug 2021 21:51:46 +0000
-Subject: [PATCH] pam-arch: Drop pam_faillock counting from fingerprint and
- smartcard
-
-As mentioned in an [fprintd issue comment][1], we need to make sure that
-the stack's error status is taken from the main auth module, i.e.
-pam_fprintd, otherwise GDM will not behave correctly.
-
-Still use pam_faillock preauth so that we test whether the account is
-locked, but don't use authfail/authsucc to log a failure/success so this
-stack doesn't participate in triggering the lock.
-
-Ideally we would check which return values we actually want to treat as
-a reason to lock the account (e.g. fingerprint mismatch) and which are
-neutral (e.g. no fingerprints enrolled), but that's much more effort.
-
-Should fix [FS#71750][2].
-
-[1]: https://gitlab.freedesktop.org/libfprint/fprintd/-/issues/112#note_1016191
-[2]: https://bugs.archlinux.org/task/71750
----
- data/pam-arch/gdm-fingerprint.pam | 10 ++--------
- data/pam-arch/gdm-smartcard.pam | 10 ++--------
- 2 files changed, 4 insertions(+), 16 deletions(-)
-
-diff --git a/data/pam-arch/gdm-fingerprint.pam b/data/pam-arch/gdm-fingerprint.pam
-index cc660d9a90ba..2aaf9f6c88a0 100644
---- a/data/pam-arch/gdm-fingerprint.pam
-+++ b/data/pam-arch/gdm-fingerprint.pam
-@@ -2,16 +2,10 @@
-
- auth required pam_shells.so
- auth requisite pam_nologin.so
--auth required pam_faillock.so preauth
--# Optionally use requisite above if you do not want to prompt for the fingerprint
--# on locked accounts.
--auth [success=1 default=ignore] pam_fprintd.so
--auth [default=die] pam_faillock.so authfail
-+auth requisite pam_faillock.so preauth
-+auth required pam_fprintd.so
- auth optional pam_permit.so
- auth required pam_env.so
--auth required pam_faillock.so authsucc
--# If you drop the above call to pam_faillock.so the lock will be done also
--# on non-consecutive authentication failures.
- auth [success=ok default=1] pam_gdm.so
- auth optional pam_gnome_keyring.so
-
-diff --git a/data/pam-arch/gdm-smartcard.pam b/data/pam-arch/gdm-smartcard.pam
-index e6ec129948a7..6d7333bf4204 100644
---- a/data/pam-arch/gdm-smartcard.pam
-+++ b/data/pam-arch/gdm-smartcard.pam
-@@ -2,16 +2,10 @@
-
- auth required pam_shells.so
- auth requisite pam_nologin.so
--auth required pam_faillock.so preauth
--# Optionally use requisite above if you do not want to prompt for the smartcard
--# on locked accounts.
--auth [success=1 default=ignore] pam_pkcs11.so wait_for_card card_only
--auth [default=die] pam_faillock.so authfail
-+auth requisite pam_faillock.so preauth
-+auth required pam_pkcs11.so wait_for_card card_only
- auth optional pam_permit.so
- auth required pam_env.so
--auth required pam_faillock.so authsucc
--# If you drop the above call to pam_faillock.so the lock will be done also
--# on non-consecutive authentication failures.
- auth [success=ok default=1] pam_gdm.so
- auth optional pam_gnome_keyring.so
-
diff --git a/PKGBUILD b/PKGBUILD
index 13d74437a090..4c2e3e2949d8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,30 +1,25 @@
-# Maintainer: Robin Lange <robin dot langenc at gmail dot com>
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgbase=gdm-prime
pkgname=(gdm-prime libgdm-prime)
-pkgver=41.0+r15+g23ebe617
+pkgver=41.3
pkgrel=1
pkgdesc="Display manager and login screen"
url="https://wiki.gnome.org/Projects/GDM"
arch=(x86_64)
license=(GPL)
depends=(gnome-shell gnome-session upower xorg-xrdb xorg-server xorg-xhost
- libxdmcp systemd)
+ libxdmcp systemd libcanberra)
makedepends=(yelp-tools gobject-introspection git docbook-xsl meson)
checkdepends=(check)
-_commit=23ebe617119506a0614f1bd2c76cd9bcf7e8fb7c # main
+_commit=cb49bac2fe1160094eae360f985e54073be3c49a # tags/41.3^0
source=("git+https://gitlab.gnome.org/GNOME/gdm.git#commit=$_commit"
0001-Xsession-Don-t-start-ssh-agent-by-default.patch
- 0002-pam-arch-Drop-pam_faillock-counting-from-fingerprint.patch
- 0003-nvidia-prime.patch
- default.pa)
+ 0002-nvidia-prime.patch)
sha256sums=('SKIP'
'39a7e1189d423dd428ace9baac77ba0442c6706a861d3c3db9eb3a6643e223f8'
- 'e3dcaaa5ffa2dd4d3338c8b5827965ea2ca1efd9a95d7272a107e6121cb7898f'
- 'a1fb80c69454492390e4b7edac0efe55b2178c7031051d3eab99ed8c14d3e0e4'
- 'e88410bcec9e2c7a22a319be0b771d1f8d536863a7fc618b6352a09d61327dcb')
+ 'a1fb80c69454492390e4b7edac0efe55b2178c7031051d3eab99ed8c14d3e0e4')
pkgver() {
cd gdm
@@ -34,28 +29,25 @@ pkgver() {
prepare() {
cd gdm
- # https://bugs.archlinux.org/task/67485
- git cherry-pick -n 8528a503ad70669a5f0c03d0a92ba19326983b82
-
# Don't start ssh-agent by default
git apply -3 ../0001-Xsession-Don-t-start-ssh-agent-by-default.patch
- # https://bugs.archlinux.org/task/71750
- git apply -3 ../0002-pam-arch-Drop-pam_faillock-counting-from-fingerprint.patch
-
- git apply -3 ../0003-nvidia-prime.patch
+ git apply -3 ../0002-nvidia-prime.patch
}
build() {
- arch-meson gdm build \
- -D dbus-sys="/usr/share/dbus-1/system.d" \
- -D default-pam-config=arch \
- -D default-path="/usr/local/bin:/usr/local/sbin:/usr/bin" \
- -D gdm-xsession=true \
- -D ipv6=true \
- -D plymouth=disabled \
- -D run-dir=/run/gdm \
+ local meson_options=(
+ -D dbus-sys="/usr/share/dbus-1/system.d"
+ -D default-pam-config=arch
+ -D default-path="/usr/local/bin:/usr/local/sbin:/usr/bin"
+ -D gdm-xsession=true
+ -D ipv6=true
+ -D plymouth=disabled
+ -D run-dir=/run/gdm
-D selinux=disabled
+ )
+
+ arch-meson gdm build "${meson_options[@]}"
meson compile -C build
}
@@ -63,6 +55,16 @@ check() {
meson test -C build --print-errorlogs
}
+_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_gdm-prime() {
provides=(gdm)
conflicts=(gdm)
@@ -77,33 +79,46 @@ package_gdm-prime() {
meson install -C build --destdir "$pkgdir"
- install -d "$pkgdir/var/lib"
- install -d "$pkgdir/var/lib/gdm" -o120 -g120 -m1770
- install -d "$pkgdir/var/lib/gdm/.config" -o120 -g120 -m700
- install -d "$pkgdir/var/lib/gdm/.config/pulse" -o120 -g120 -m700
- install -d "$pkgdir/var/lib/gdm/.local" -o120 -g120 -m700
- install -d "$pkgdir/var/lib/gdm/.local/share" -o120 -g120
- install -d "$pkgdir/var/lib/gdm/.local/share/applications" -o120 -g120
+ cd "$pkgdir"
+
+ install -d -o 0 -g 0 -m 0755 var
+ install -d -o 0 -g 0 -m 0755 var/lib
+ install -d -o 120 -g 120 -m 1770 var/lib/gdm
+ install -d -o 120 -g 120 -m 0700 var/lib/gdm/.config
+ install -d -o 120 -g 120 -m 0700 var/lib/gdm/.config/pulse
+ install -d -o 120 -g 120 -m 0700 var/lib/gdm/.local
+ install -d -o 120 -g 120 -m 0755 var/lib/gdm/.local/share
+ install -d -o 120 -g 120 -m 0755 var/lib/gdm/.local/share/applications
# https://src.fedoraproject.org/rpms/gdm/blob/master/f/default.pa-for-gdm
- install -t "$pkgdir/var/lib/gdm/.config/pulse" -o120 -g120 -m644 default.pa
+ install -o120 -g120 -m644 /dev/stdin var/lib/gdm/.config/pulse/default.pa <<END
+load-module module-device-restore
+load-module module-card-restore
+load-module module-udev-detect
+load-module module-native-protocol-unix
+load-module module-default-device-restore
+load-module module-always-sink
+load-module module-intended-roles
+load-module module-suspend-on-idle
+load-module module-systemd-login
+load-module module-position-event-sounds
+END
- install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/gdm.conf" <<END
+ install -Dm644 /dev/stdin usr/lib/sysusers.d/gdm.conf <<END
g gdm 120 -
u gdm 120 "Gnome Display Manager" /var/lib/gdm
END
-### Split libgdm
- mkdir -p libgdm/{lib,share}
- mv -t libgdm "$pkgdir"/usr/include
- mv -t libgdm/lib "$pkgdir"/usr/lib/{girepository-1.0,libgdm*,pkgconfig}
- mv -t libgdm/share "$pkgdir"/usr/share/{gir-1.0,glib-2.0}
+ _pick libgdm usr/include
+ _pick libgdm usr/lib/{girepository-1.0,libgdm*,pkgconfig}
+ _pick libgdm usr/share/{gir-1.0,glib-2.0}
}
package_libgdm-prime() {
- provides=(libgdm)
- conflicts=(libgdm)
pkgdesc="GDM support library - patched with Prime support for Optimus laptops"
- depends=(systemd glib2 dconf)
- mv libgdm "$pkgdir/usr"
+ depends=(libsystemd.so libg{lib,object,io}-2.0.so)
+ provides=(libgdm.so libgdm)
+ conflicts=(libgdm)
+
+ mv libgdm/* "$pkgdir"
}
diff --git a/default.pa b/default.pa
deleted file mode 100644
index 3b7d67f6cab9..000000000000
--- a/default.pa
+++ /dev/null
@@ -1,10 +0,0 @@
-load-module module-device-restore
-load-module module-card-restore
-load-module module-udev-detect
-load-module module-native-protocol-unix
-load-module module-default-device-restore
-load-module module-always-sink
-load-module module-intended-roles
-load-module module-suspend-on-idle
-load-module module-systemd-login
-load-module module-position-event-sounds