summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Lange2020-11-26 19:20:54 +1100
committerRobin Lange2020-11-26 19:20:54 +1100
commit486c72d1428be442477844188da824f6e5add8e6 (patch)
tree83b1ccb16b8a069f4a0aa1cabf62cf728d2b516e
parent79e7a37d7dad34c3f9e504d903acfd15bbb0637a (diff)
downloadaur-486c72d1428be442477844188da824f6e5add8e6.tar.gz
Update to 3.38.2-1
-rw-r--r--.SRCINFO23
-rw-r--r--0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch27
-rw-r--r--0002-pam-arch-Update-to-match-pambase-20200721.1-2.patch (renamed from 0004-pam-arch-Update-to-match-pambase-20200721.1-2.patch)25
-rw-r--r--0003-nvidia-prime.patch100
-rw-r--r--0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch28
-rw-r--r--0005-nvidia-prime.patch154
-rw-r--r--PKGBUILD87
-rw-r--r--default.pa10
8 files changed, 183 insertions, 271 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ad3fcbca1a43..daa3fc1624b4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
pkgbase = gdm-prime
- pkgver = 3.36.3
+ pkgver = 3.38.2
pkgrel = 1
url = https://wiki.gnome.org/Projects/GDM
arch = x86_64
@@ -9,24 +9,25 @@ pkgbase = gdm-prime
makedepends = gobject-introspection
makedepends = git
makedepends = docbook-xsl
+ makedepends = meson
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=24a4c0afe337a7a381397c87a39e3a666c0ae6cc
+ depends = libxdmcp
+ depends = systemd
+ source = git+https://gitlab.gnome.org/GNOME/gdm.git#commit=840d027559760b1cd48aa0175ffe8a15e66a9234
source = 0001-Xsession-Don-t-start-ssh-agent-by-default.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-pam-arch-Update-to-match-pambase-20200721.1-2.patch
- source = 0005-nvidia-prime.patch
+ source = 0002-pam-arch-Update-to-match-pambase-20200721.1-2.patch
+ source = 0003-nvidia-prime.patch
+ source = default.pa
sha256sums = SKIP
sha256sums = b9ead66d2b6207335f0bd982a835647536998e7c7c6b5248838e5d53132ca21a
- sha256sums = d89a3a852c9656a61a3d418817c883f7a607a0e65aa0eaf9904738c0299f006d
- sha256sums = c18dc79bdd3207c66b6f66a41a51dd069442d2e9053055147c2f90e39f0c4a7d
- sha256sums = c4d04a019a7f7db57c6909d76f3c8f3dbaf7be86c81d38c6672f1c730bd5b72d
- sha256sums = f2ac60c8e4d62805dc2f441a8754f1c15e12c64ec0dbb1031dbd91dd47df52d9
+ sha256sums = d5cd6a401db2aa19374d477817420a39759044393bd420414fdc41881fd93597
+ sha256sums = a1fb80c69454492390e4b7edac0efe55b2178c7031051d3eab99ed8c14d3e0e4
+ sha256sums = e88410bcec9e2c7a22a319be0b771d1f8d536863a7fc618b6352a09d61327dcb
pkgname = gdm-prime
pkgdesc = Display manager and login screen - patched with Prime support for Optimus laptops
@@ -38,6 +39,8 @@ pkgname = gdm-prime
depends = xorg-xrdb
depends = xorg-server
depends = xorg-xhost
+ depends = libxdmcp
+ depends = systemd
depends = libgdm
optdepends = fprintd: fingerprint authentication
provides = gdm
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
deleted file mode 100644
index 5263f9af286e..000000000000
--- a/0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0000000000000000000000000000000000000000 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] 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
-
diff --git a/0004-pam-arch-Update-to-match-pambase-20200721.1-2.patch b/0002-pam-arch-Update-to-match-pambase-20200721.1-2.patch
index 07b09d970d7d..19d0b23cedd3 100644
--- a/0004-pam-arch-Update-to-match-pambase-20200721.1-2.patch
+++ b/0002-pam-arch-Update-to-match-pambase-20200721.1-2.patch
@@ -1,19 +1,32 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
-Date: Sun, 9 Aug 2020 00:34:37 +0000
+Date: Tue, 27 Oct 2020 18:59:14 +0000
Subject: [PATCH] pam-arch: Update to match pambase 20200721.1-2
https://bugs.archlinux.org/task/67485
---
+ data/meson.build | 1 -
data/pam-arch/gdm-autologin.pam | 22 +++++++++--------
data/pam-arch/gdm-fingerprint.pam | 31 +++++++++++++++---------
data/pam-arch/gdm-launch-environment.pam | 24 ++++++++++--------
data/pam-arch/gdm-password.pam | 17 +++++++------
data/pam-arch/gdm-pin.pam | 13 ----------
data/pam-arch/gdm-smartcard.pam | 31 +++++++++++++++---------
- 6 files changed, 75 insertions(+), 63 deletions(-)
+ 7 files changed, 75 insertions(+), 64 deletions(-)
delete mode 100644 data/pam-arch/gdm-pin.pam
+diff --git a/data/meson.build b/data/meson.build
+index 05a20117..5d9e2847 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -135,7 +135,6 @@ pam_data_files_map = {
+ 'gdm-fingerprint',
+ 'gdm-smartcard',
+ 'gdm-password',
+- 'gdm-pin',
+ ],
+ 'none': [],
+ # We should no longer have 'autodetect' at this point
diff --git a/data/pam-arch/gdm-autologin.pam b/data/pam-arch/gdm-autologin.pam
index 99b14209..30bdf529 100644
--- a/data/pam-arch/gdm-autologin.pam
@@ -84,7 +97,7 @@ index a4808617..cc660d9a 100644
+session include system-local-login
+session optional pam_gnome_keyring.so auto_start
diff --git a/data/pam-arch/gdm-launch-environment.pam b/data/pam-arch/gdm-launch-environment.pam
-index d59c9cb9..2ff5ae56 100644
+index d59c9cb9..20d1810a 100644
--- a/data/pam-arch/gdm-launch-environment.pam
+++ b/data/pam-arch/gdm-launch-environment.pam
@@ -1,13 +1,17 @@
@@ -95,12 +108,12 @@ index d59c9cb9..2ff5ae56 100644
-account required pam_succeed_if.so audit quiet_success user = gdm
-account optional pam_permit.so
-+auth required pam_succeed_if.so audit quiet_success user = gdm
++auth required pam_succeed_if.so audit quiet_success user in gdm:gnome-initial-setup
+auth optional pam_permit.so
+auth required pam_env.so
-password required pam_deny.so
-+account required pam_succeed_if.so audit quiet_success user = gdm
++account required pam_succeed_if.so audit quiet_success user in gdm:gnome-initial-setup
+account optional pam_permit.so
-session optional pam_keyinit.so force revoke
@@ -111,7 +124,7 @@ index d59c9cb9..2ff5ae56 100644
+
+session optional pam_loginuid.so
+session optional pam_keyinit.so force revoke
-+session required pam_succeed_if.so audit quiet_success user = gdm
++session required pam_succeed_if.so audit quiet_success user in gdm:gnome-initial-setup
+session optional pam_permit.so
+-session optional pam_systemd.so
+session required pam_env.so user_readenv=1
diff --git a/0003-nvidia-prime.patch b/0003-nvidia-prime.patch
new file mode 100644
index 000000000000..b4b804864ae0
--- /dev/null
+++ b/0003-nvidia-prime.patch
@@ -0,0 +1,100 @@
+From: Tim Lunn <tim@feathertop.org>
+Date: Sat, 22 Mar 2014 00:23:12 +0100
+Subject: Add hooks to run prime scripts (as root) before and after a
+ gdm-session
+
+This allows enabling and disabling the dGPU on log out.
+---
+ common/gdm-common.c | 2 +-
+ daemon/gdm-session.c | 6 ++++++
+ daemon/gdm-x-session.c | 5 +++++
+ data/Prime.in | 6 ++++++
+ data/PrimeOff.in | 6 ++++++
+ data/meson.build | 2 +-
+ 6 files changed, 25 insertions(+), 2 deletions(-)
+ create mode 100644 data/Prime.in
+ create mode 100644 data/PrimeOff.in
+
+diff --git a/common/gdm-common.c b/common/gdm-common.c
+index b8de755..eb2ed38 100644
+--- a/common/gdm-common.c
++++ b/common/gdm-common.c
+@@ -720,7 +720,7 @@ gdm_run_script (const char *dir,
+ goto out;
+ }
+
+- env = gdm_get_script_environment (username,
++ env = gdm_get_script_environment ((g_strcmp0 (username, "root") == 0)?NULL:username,
+ display_name,
+ display_hostname,
+ display_x11_authority_file);
+diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
+index ca7d98f..e6fd59a 100644
+--- a/daemon/gdm-session.c
++++ b/daemon/gdm-session.c
+@@ -2987,6 +2987,12 @@ gdm_session_close (GdmSession *self)
+
+ g_list_free_full (self->outside_connections, g_object_unref);
+ self->outside_connections = NULL;
++
++ /* Run PrimeOff after the session is closed */
++ gdm_run_script (GDMCONFDIR "/PrimeOff", "root",
++ NULL,
++ NULL,
++ NULL);
+ }
+
+ void
+diff --git a/daemon/gdm-x-session.c b/daemon/gdm-x-session.c
+index f0082fd..fd0bd0b 100644
+--- a/daemon/gdm-x-session.c
++++ b/daemon/gdm-x-session.c
+@@ -618,6 +618,11 @@ spawn_session (State *state,
+
+ g_debug ("Running X session");
+
++ gdm_run_script (GDMCONFDIR "/Prime", "root",
++ state->display_name,
++ NULL, /* hostname */
++ state->auth_file);
++
+ launcher = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_NONE);
+
+ if (state->environment != NULL) {
+diff --git a/data/Prime.in b/data/Prime.in
+new file mode 100644
+index 0000000..30caf03
+--- /dev/null
++++ b/data/Prime.in
+@@ -0,0 +1,6 @@
++#!/bin/sh
++
++primeoffload=/sbin/prime-offload
++if [ -f "$primeoffload" ]; then
++ $primeoffload
++fi
+diff --git a/data/PrimeOff.in b/data/PrimeOff.in
+new file mode 100644
+index 0000000..5a61c3c
+--- /dev/null
++++ b/data/PrimeOff.in
+@@ -0,0 +1,6 @@
++#!/bin/sh
++
++primeswitch=/sbin/prime-switch
++if [ -f "$primeswitch" ]; then
++ $primeswitch
++fi
+diff --git a/data/meson.build b/data/meson.build
+index 05a2011..05429d5 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -3,7 +3,7 @@ subdir('autostart')
+ subdir('dconf')
+
+ # XPath configs
+-foreach file : [ 'Init', 'PreSession', 'PostSession' ]
++foreach file : [ 'Init', 'PreSession', 'PostSession', 'Prime', 'PrimeOff' ]
+ generated_file = configure_file(
+ input: '@0@.in'.format(file),
+ output: file,
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
deleted file mode 100644
index 2587f9e02fe4..000000000000
--- a/0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 0000000000000000000000000000000000000000 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] 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
diff --git a/0005-nvidia-prime.patch b/0005-nvidia-prime.patch
deleted file mode 100644
index b11baa16202e..000000000000
--- a/0005-nvidia-prime.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From: Tim Lunn <tim@feathertop.org>
-Date: Sat, 22 Mar 2014 00:23:12 +0100
-Subject: Add hooks to run prime scripts (as root) before and after a
- gdm-session
-
-This allows enabling and disabling the dGPU on log out.
----
- common/gdm-common.c | 2 +-
- daemon/gdm-session.c | 6 ++++++
- daemon/gdm-x-session.c | 5 +++++
- data/Makefile.am | 28 ++++++++++++++++++++++++++--
- data/Prime | 6 ++++++
- data/PrimeOff | 6 ++++++
- 6 files changed, 50 insertions(+), 3 deletions(-)
- create mode 100644 data/Prime
- create mode 100644 data/PrimeOff
-
-diff --git a/common/gdm-common.c b/common/gdm-common.c
-index 373d5b8..02a6044 100644
---- a/common/gdm-common.c
-+++ b/common/gdm-common.c
-@@ -721,7 +721,7 @@ gdm_run_script (const char *dir,
- goto out;
- }
-
-- env = gdm_get_script_environment (username,
-+ env = gdm_get_script_environment ((g_strcmp0 (username, "root") == 0)?NULL:username,
- display_name,
- display_hostname,
- display_x11_authority_file);
-diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
-index 6a116a8..1792bfd 100644
---- a/daemon/gdm-session.c
-+++ b/daemon/gdm-session.c
-@@ -2970,6 +2970,12 @@ gdm_session_close (GdmSession *self)
-
- g_list_free_full (self->outside_connections, g_object_unref);
- self->outside_connections = NULL;
-+
-+ /* Run PrimeOff after the session is closed */
-+ gdm_run_script (GDMCONFDIR "/PrimeOff", "root",
-+ NULL,
-+ NULL,
-+ NULL);
- }
-
- void
-diff --git a/daemon/gdm-x-session.c b/daemon/gdm-x-session.c
-index 3b2fcef..9a57300 100644
---- a/daemon/gdm-x-session.c
-+++ b/daemon/gdm-x-session.c
-@@ -614,6 +614,11 @@ spawn_session (State *state,
-
- g_debug ("Running X session");
-
-+ gdm_run_script (GDMCONFDIR "/Prime", "root",
-+ state->display_name,
-+ NULL, /* hostname */
-+ state->auth_file);
-+
- launcher = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_NONE);
-
- if (state->environment != NULL) {
-diff --git a/data/Makefile.am b/data/Makefile.am
-index 210bf5d..7bca5e4 100644
---- a/data/Makefile.am
-+++ b/data/Makefile.am
-@@ -10,6 +10,8 @@ SUBDIRS = \
- initdir = $(gdmconfdir)/Init
- postdir = $(gdmconfdir)/PostSession
- predir = $(gdmconfdir)/PreSession
-+primedir = $(gdmconfdir)/Prime
-+primeoffdir = $(gdmconfdir)/PrimeOff
- postlogindir = $(gdmconfdir)/PostLogin
- workingdir = $(GDM_WORKING_DIR)
- xauthdir = $(GDM_XAUTH_DIR)
-@@ -174,6 +176,8 @@ EXTRA_DIST += \
- Xsession.in \
- Init.in \
- PreSession.in \
-+ Prime \
-+ PrimeOff \
- PostSession.in \
- PostLogin \
- $(NULL)
-@@ -237,6 +241,8 @@ uninstall-hook:
- $(DESTDIR)$(initdir)/Default \
- $(DESTDIR)$(postlogindir)/Default.sample \
- $(DESTDIR)$(predir)/Default \
-+ $(DESTDIR)$(primedir)/Default \
-+ $(DESTDIR)$(primeoffdir)/Default \
- $(DESTDIR)$(postdir)/Default \
- $(DESTDIR)$(sysconfdir)/dconf/db/gdm \
- $(DESTDIR)$(sysconfdir)/dconf/profile/gdm \
-@@ -281,7 +287,25 @@ endif
- -if test -f $(DESTDIR)$(predir)/Default; then \
- cp -f $(DESTDIR)$(predir)/Default $(DESTDIR)$(predir)/Default.orig; \
- fi
-- $(INSTALL_SCRIPT) PreSession $(DESTDIR)$(predir)/Default
-+ $(INSTALL_SCRIPT) $(builddir)/PreSession $(DESTDIR)$(predir)/Default
-+
-+ if test '!' -d $(DESTDIR)$(primedir); then \
-+ $(mkinstalldirs) $(DESTDIR)$(primedir); \
-+ chmod 755 $(DESTDIR)$(primedir); \
-+ fi
-+ -if test -f $(DESTDIR)$(primedir)/Default; then \
-+ cp -f $(DESTDIR)$(primedir)/Default $(DESTDIR)$(primedir)/Default.orig; \
-+ fi
-+ $(INSTALL_SCRIPT) $(srcdir)/Prime $(DESTDIR)$(primedir)/Default
-+
-+ if test '!' -d $(DESTDIR)$(primeoffdir); then \
-+ $(mkinstalldirs) $(DESTDIR)$(primeoffdir); \
-+ chmod 755 $(DESTDIR)$(primeoffdir); \
-+ fi
-+ -if test -f $(DESTDIR)$(primeoffdir)/Default; then \
-+ cp -f $(DESTDIR)$(primeoffdir)/Default $(DESTDIR)$(primeoffdir)/Default.orig; \
-+ fi
-+ $(INSTALL_SCRIPT) $(srcdir)/PrimeOff $(DESTDIR)$(primeoffdir)/Default
-
- if test '!' -d $(DESTDIR)$(postdir); then \
- $(mkinstalldirs) $(DESTDIR)$(postdir); \
-@@ -290,7 +314,7 @@ endif
- -if test -f $(DESTDIR)$(postdir)/Default; then \
- cp -f $(DESTDIR)$(postdir)/Default $(DESTDIR)$(postdir)/Default.orig; \
- fi
-- $(INSTALL_SCRIPT) PostSession $(DESTDIR)$(postdir)/Default
-+ $(INSTALL_SCRIPT) $(builddir)/PostSession $(DESTDIR)$(postdir)/Default
-
- if test '!' -d $(DESTDIR)$(logdir); then \
- $(mkinstalldirs) $(DESTDIR)$(logdir); \
-diff --git a/data/Prime b/data/Prime
-new file mode 100644
-index 0000000..30caf03
---- /dev/null
-+++ b/data/Prime
-@@ -0,0 +1,6 @@
-+#!/bin/sh
-+
-+primeoffload=/sbin/prime-offload
-+if [ -f "$primeoffload" ]; then
-+ $primeoffload
-+fi
-diff --git a/data/PrimeOff b/data/PrimeOff
-new file mode 100644
-index 0000000..5a61c3c
---- /dev/null
-+++ b/data/PrimeOff
-@@ -0,0 +1,6 @@
-+#!/bin/sh
-+
-+primeswitch=/sbin/prime-switch
-+if [ -f "$primeswitch" ]; then
-+ $primeswitch
-+fi
diff --git a/PKGBUILD b/PKGBUILD
index 31eede3eb3ce..4f311e28feee 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,71 +1,60 @@
# Maintainer: Robin Lange <robin dot langenc at gmail dot com>
-# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.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=3.36.3
+pkgver=3.38.2
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)
+depends=(gnome-shell gnome-session upower xorg-xrdb xorg-server xorg-xhost
+ libxdmcp systemd)
+makedepends=(yelp-tools gobject-introspection git docbook-xsl meson)
checkdepends=(check)
-_commit=24a4c0afe337a7a381397c87a39e3a666c0ae6cc # tags/3.36.3^0
+_commit=840d027559760b1cd48aa0175ffe8a15e66a9234 # tags/3.38.2^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-Don-t-check-greeter-account-for-expiry.patch
- 0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch
- 0004-pam-arch-Update-to-match-pambase-20200721.1-2.patch
- 0005-nvidia-prime.patch)
+ 0002-pam-arch-Update-to-match-pambase-20200721.1-2.patch
+ 0003-nvidia-prime.patch
+ default.pa)
sha256sums=('SKIP'
'b9ead66d2b6207335f0bd982a835647536998e7c7c6b5248838e5d53132ca21a'
- 'd89a3a852c9656a61a3d418817c883f7a607a0e65aa0eaf9904738c0299f006d'
- 'c18dc79bdd3207c66b6f66a41a51dd069442d2e9053055147c2f90e39f0c4a7d'
- 'c4d04a019a7f7db57c6909d76f3c8f3dbaf7be86c81d38c6672f1c730bd5b72d'
- 'f2ac60c8e4d62805dc2f441a8754f1c15e12c64ec0dbb1031dbd91dd47df52d9')
+ 'd5cd6a401db2aa19374d477817420a39759044393bd420414fdc41881fd93597'
+ 'a1fb80c69454492390e4b7edac0efe55b2178c7031051d3eab99ed8c14d3e0e4'
+ 'e88410bcec9e2c7a22a319be0b771d1f8d536863a7fc618b6352a09d61327dcb')
-prepare() {
- mkdir build
+pkgver() {
cd gdm
- patch -Np1 -i ../0001-Xsession-Don-t-start-ssh-agent-by-default.patch
+ git describe --tags | sed 's/-/+/g'
+}
- # 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
+prepare() {
+ cd gdm
+ git apply -3 ../0001-Xsession-Don-t-start-ssh-agent-by-default.patch
# https://bugs.archlinux.org/task/67485
- patch -Np1 -i ../0004-pam-arch-Update-to-match-pambase-20200721.1-2.patch
-
- patch -Np1 -i ../0005-nvidia-prime.patch
+ git apply -3 ../0002-pam-arch-Update-to-match-pambase-20200721.1-2.patch
- NOCONFIGURE=1 ./autogen.sh
+ git apply -3 ../0003-nvidia-prime.patch
}
build() {
- cd build
- ../gdm/configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --sbindir=/usr/bin \
- --libexecdir=/usr/lib \
- with_dbus_sys=/usr/share/dbus-1/system.d \
- --disable-schemas-compile \
- --disable-static \
- --enable-gdm-xsession \
- --enable-ipv6 \
- --with-default-pam-config=arch \
- --with-default-path=/usr/local/bin:/usr/local/sbin:/usr/bin \
- --without-plymouth \
- --without-tcp-wrappers
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
- make
+ 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 \
+ -D selinux=disabled
+ meson compile -C build
}
check() {
- make -C build check
+ meson test -C build --print-errorlogs
}
package_gdm-prime() {
@@ -80,12 +69,18 @@ package_gdm-prime() {
groups=(gnome)
install=gdm-prime.install
- DESTDIR="$pkgdir" make -C build install
+ DESTDIR="$pkgdir" meson install -C build
- chown -Rc 120:120 "$pkgdir/var/lib/gdm"
+ 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
- # Unused or created at start
- rm -r "$pkgdir"/var/{cache,log,run}
+ # https://src.fedoraproject.org/rpms/gdm/blob/master/f/default.pa-for-gdm
+ install -Dt "$pkgdir/var/lib/gdm/.config/pulse" -o120 -g120 -m644 default.pa
install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/gdm.conf" <<END
g gdm 120 -
diff --git a/default.pa b/default.pa
new file mode 100644
index 000000000000..3b7d67f6cab9
--- /dev/null
+++ b/default.pa
@@ -0,0 +1,10 @@
+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