summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Lange2019-09-21 20:18:38 +1000
committerRobin Lange2019-09-21 20:18:38 +1000
commit6e8075937d6cd97f56e77e96811e705aa6e1dc16 (patch)
tree6ed2f94f1469ee9da6a14526856271d7a3730028
parent63e233b33382ec0f6a0dd5bb73bd33fc81c39698 (diff)
downloadaur-6e8075937d6cd97f56e77e96811e705aa6e1dc16.tar.gz
Update to 3.34.0
-rw-r--r--.SRCINFO21
-rw-r--r--0001-Xsession-Don-t-start-ssh-agent-by-default.patch7
-rw-r--r--0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch30
-rw-r--r--0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch31
-rw-r--r--0004-nvidia-prime.patch (renamed from 0002-nvidia-prime.patch)0
-rw-r--r--PKGBUILD35
-rw-r--r--gdm-prime.install17
7 files changed, 109 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index b4576a61c23e..cfdde09acf86 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = gdm-prime
- pkgver = 3.32.0+2+g820f90f5
- pkgrel = 2
+ pkgver = 3.34.0
+ pkgrel = 1
url = https://wiki.gnome.org/Projects/GDM
arch = x86_64
license = GPL
@@ -9,27 +9,26 @@ pkgbase = gdm-prime
makedepends = gobject-introspection
makedepends = git
makedepends = docbook-xsl
- makedepends = binutils
- makedepends = make
- makedepends = patch
- makedepends = autoconf
- makedepends = automake
- makedepends = gcc
depends = gnome-shell
depends = gnome-session
depends = upower
depends = xorg-xrdb
depends = xorg-server
depends = xorg-xhost
- source = git+https://gitlab.gnome.org/GNOME/gdm.git#commit=820f90f5a78b81b2e4610da14627266c2135c8b0
+ source = git+https://gitlab.gnome.org/GNOME/gdm.git#commit=7c8950d94de854a227d2aa0eda82d3145f529a61
source = 0001-Xsession-Don-t-start-ssh-agent-by-default.patch
- source = 0002-nvidia-prime.patch
+ source = 0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch
+ source = 0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
+ source = 0004-nvidia-prime.patch
sha256sums = SKIP
- sha256sums = 3412f7da0205409f08a126a1d166b644fe0f1d0444f7cdebdce8e59cea2d672c
+ sha256sums = 098ffb1cdc0232f014e5fe5fb8d268b752afc54d6ee661664036879acd075b22
+ sha256sums = 2e2b12d4609004a010245de51a8c017b164e84f249cd19706d020cb599d2d7e7
+ sha256sums = 3fa02eb7bbbe1586eae4ae98221a284251ca2869dc731c80b753e7effc443379
sha256sums = f2ac60c8e4d62805dc2f441a8754f1c15e12c64ec0dbb1031dbd91dd47df52d9
pkgname = gdm-prime
pkgdesc = Display manager and login screen - patched with Prime support for Optimus laptops
+ install = gdm-prime.install
groups = gnome
depends = gnome-shell
depends = gnome-session
diff --git a/0001-Xsession-Don-t-start-ssh-agent-by-default.patch b/0001-Xsession-Don-t-start-ssh-agent-by-default.patch
index 997e9e39ce01..bfdaca1ee13a 100644
--- a/0001-Xsession-Don-t-start-ssh-agent-by-default.patch
+++ b/0001-Xsession-Don-t-start-ssh-agent-by-default.patch
@@ -1,8 +1,7 @@
-From 328a315c21ec71e563d00699f0a79186b229270a Mon Sep 17 00:00:00 2001
-Message-Id: <328a315c21ec71e563d00699f0a79186b229270a.1541542184.git.jan.steffens@gmail.com>
+From 58cdf43d7b053a7370e6779d06835c239598f59a Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Sat, 20 Jun 2015 17:22:38 +0200
-Subject: [PATCH] Xsession: Don't start ssh-agent by default
+Subject: [PATCH 1/3] Xsession: Don't start ssh-agent by default
---
data/Xsession.in | 8 --------
@@ -28,5 +27,5 @@ index 9d79558c..ff6d9de0 100755
eval exec $command
--
-2.19.1
+2.23.0
diff --git a/0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch b/0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch
new file mode 100644
index 000000000000..60ae9d0d7565
--- /dev/null
+++ b/0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch
@@ -0,0 +1,30 @@
+From a9c2cb0ae478caf40cc24001fbf6cfbbcc19196e Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Tue, 10 Sep 2019 20:37:08 +0000
+Subject: [PATCH 2/3] pam-arch: Don't check greeter account for expiry
+
+systemd-sysusers now creates expired accounts, which broke the greeter
+on new installations.
+
+Doesn't actually fully fix the problem as the user@.service still fails
+to launch.
+---
+ data/pam-arch/gdm-launch-environment.pam | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/pam-arch/gdm-launch-environment.pam b/data/pam-arch/gdm-launch-environment.pam
+index 618a7d3a..89521472 100644
+--- a/data/pam-arch/gdm-launch-environment.pam
++++ b/data/pam-arch/gdm-launch-environment.pam
+@@ -1,7 +1,7 @@
+ auth required pam_env.so
+ auth optional pam_permit.so
+
+-account include system-local-login
++account optional pam_permit.so
+
+ password required pam_deny.so
+
+--
+2.23.0
+
diff --git a/0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch b/0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
new file mode 100644
index 000000000000..daed25a7feb0
--- /dev/null
+++ b/0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
@@ -0,0 +1,31 @@
+From 3b6ca2e211b9874e61e9a6950c52b52f2a79dca3 Mon Sep 17 00:00:00 2001
+From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
+Date: Tue, 10 Sep 2019 20:41:10 +0000
+Subject: [PATCH 3/3] pam-arch: Restrict greeter service to the gdm user
+
+Copied from pam-exherbo.
+---
+ data/pam-arch/gdm-launch-environment.pam | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/data/pam-arch/gdm-launch-environment.pam b/data/pam-arch/gdm-launch-environment.pam
+index 89521472..d59c9cb9 100644
+--- a/data/pam-arch/gdm-launch-environment.pam
++++ b/data/pam-arch/gdm-launch-environment.pam
+@@ -1,10 +1,13 @@
+ auth required pam_env.so
++auth required pam_succeed_if.so audit quiet_success user = gdm
+ auth optional pam_permit.so
+
++account required pam_succeed_if.so audit quiet_success user = gdm
+ account optional pam_permit.so
+
+ password required pam_deny.so
+
+ session optional pam_keyinit.so force revoke
++session required pam_succeed_if.so audit quiet_success user = gdm
+ session required pam_systemd.so
+ session optional pam_permit.so
+--
+2.23.0
+
diff --git a/0002-nvidia-prime.patch b/0004-nvidia-prime.patch
index b11baa16202e..b11baa16202e 100644
--- a/0002-nvidia-prime.patch
+++ b/0004-nvidia-prime.patch
diff --git a/PKGBUILD b/PKGBUILD
index 6f517c10953f..09793ec86a0f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,32 +4,37 @@
pkgbase=gdm-prime
pkgname=(gdm-prime libgdm-prime)
-pkgver=3.32.0+2+g820f90f5
-pkgrel=2
+pkgver=3.34.0
+pkgrel=1
url="https://wiki.gnome.org/Projects/GDM"
arch=(x86_64)
license=(GPL)
depends=(gnome-shell gnome-session upower xorg-xrdb xorg-server xorg-xhost)
-makedepends=(yelp-tools gobject-introspection git docbook-xsl binutils make patch autoconf automake gcc)
+makedepends=(yelp-tools gobject-introspection git docbook-xsl)
checkdepends=(check)
-_commit=820f90f5a78b81b2e4610da14627266c2135c8b0 # master
+_commit=7c8950d94de854a227d2aa0eda82d3145f529a61 # tags/3.34.0^0
source=("git+https://gitlab.gnome.org/GNOME/gdm.git#commit=$_commit"
0001-Xsession-Don-t-start-ssh-agent-by-default.patch
- 0002-nvidia-prime.patch)
+ 0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch
+ 0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
+ 0004-nvidia-prime.patch)
sha256sums=('SKIP'
- '3412f7da0205409f08a126a1d166b644fe0f1d0444f7cdebdce8e59cea2d672c'
+ '098ffb1cdc0232f014e5fe5fb8d268b752afc54d6ee661664036879acd075b22'
+ '2e2b12d4609004a010245de51a8c017b164e84f249cd19706d020cb599d2d7e7'
+ '3fa02eb7bbbe1586eae4ae98221a284251ca2869dc731c80b753e7effc443379'
'f2ac60c8e4d62805dc2f441a8754f1c15e12c64ec0dbb1031dbd91dd47df52d9')
-pkgver() {
- cd gdm
- git describe --tags | sed 's/-/+/g'
-}
-
prepare() {
mkdir build
cd gdm
patch -Np1 -i ../0001-Xsession-Don-t-start-ssh-agent-by-default.patch
- patch -Np1 -i ../0002-nvidia-prime.patch
+
+ # https://bugs.archlinux.org/task/63706
+ patch -Np1 -i ../0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch
+ patch -Np1 -i ../0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
+
+ patch -Np1 -i ../0004-nvidia-prime.patch
+
NOCONFIGURE=1 ./autogen.sh
}
@@ -68,6 +73,7 @@ package_gdm-prime() {
etc/pam.d/gdm-password etc/pam.d/gdm-smartcard etc/gdm/custom.conf
etc/gdm/Xsession etc/gdm/PostSession/Default etc/gdm/PreSession/Default)
groups=(gnome)
+ install=gdm-prime.install
DESTDIR="$pkgdir" make -C build install
@@ -76,11 +82,6 @@ package_gdm-prime() {
# Unused or created at start
rm -r "$pkgdir"/var/{cache,log,run}
- install -Dm644 /dev/stdin "$pkgdir/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
diff --git a/gdm-prime.install b/gdm-prime.install
new file mode 100644
index 000000000000..74aa44da143d
--- /dev/null
+++ b/gdm-prime.install
@@ -0,0 +1,17 @@
+post_install() {
+ # Can't use sysusers as the greeter session cannot launch with an expired 'gdm' account
+ # https://bugs.archlinux.org/task/63706
+ if ! getent passwd gdm >/dev/null; then
+ groupadd -r -g 120 gdm
+ useradd -r -c "Gnome Display Manager" -u 120 -g gdm -d /var/lib/gdm -s /sbin/nologin gdm
+ passwd -ql gdm
+ fi
+}
+
+post_upgrade() {
+ if (( $(vercmp $2 3.34.0-2) < 0 )); then
+ usermod --expiredate= gdm >/dev/null
+ fi
+}
+
+# vim:set ft=sh sw=2 et: