diff options
author | Robin Lange | 2020-11-26 19:20:54 +1100 |
---|---|---|
committer | Robin Lange | 2020-11-26 19:20:54 +1100 |
commit | 486c72d1428be442477844188da824f6e5add8e6 (patch) | |
tree | 83b1ccb16b8a069f4a0aa1cabf62cf728d2b516e | |
parent | 79e7a37d7dad34c3f9e504d903acfd15bbb0637a (diff) | |
download | aur-486c72d1428be442477844188da824f6e5add8e6.tar.gz |
Update to 3.38.2-1
-rw-r--r-- | .SRCINFO | 23 | ||||
-rw-r--r-- | 0002-pam-arch-Don-t-check-greeter-account-for-expiry.patch | 27 | ||||
-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.patch | 100 | ||||
-rw-r--r-- | 0003-pam-arch-Restrict-greeter-service-to-the-gdm-user.patch | 28 | ||||
-rw-r--r-- | 0005-nvidia-prime.patch | 154 | ||||
-rw-r--r-- | PKGBUILD | 87 | ||||
-rw-r--r-- | default.pa | 10 |
8 files changed, 183 insertions, 271 deletions
@@ -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 @@ -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 |