systemd/gdm: upgrade to 49.0.1
This notably disabled support for x11 backends. Let's see what breaks. This also adds sysuser config for creating the gdm-greeter user (see gdm@088c7c2). Co-authored-by: Clayton Craft <craftyguy@postmarketos.org> Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7169>
This commit is contained in:
parent
a49d91522d
commit
3bff0ec79a
8 changed files with 28 additions and 140 deletions
|
|
@ -1,63 +0,0 @@
|
|||
TODO: remove me when usr-bin-merge happened
|
||||
---
|
||||
From a12b01f4f71d7ca1ed528ea11f99520c10b0d93c Mon Sep 17 00:00:00 2001
|
||||
From: Newbyte <newbie13xd@gmail.com>
|
||||
Date: Tue, 14 Mar 2023 19:37:17 +0100
|
||||
Subject: [PATCH 1/2] DOWNSTREAM: use /bin/touch and /bin/rm instead of /usr/bin/touch and /ust/bin/rm
|
||||
|
||||
as that's the path here in Alpine.
|
||||
---
|
||||
data/61-gdm.rules.in | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/data/61-gdm.rules.in b/data/61-gdm.rules.in
|
||||
index a4f841bdf..481c5b4dd 100644
|
||||
--- a/data/61-gdm.rules.in
|
||||
+++ b/data/61-gdm.rules.in
|
||||
@@ -2,13 +2,13 @@
|
||||
ACTION!="bind", ACTION!="add", GOTO="gdm_pci_device_end"
|
||||
|
||||
# cirrus
|
||||
-ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
|
||||
+ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
|
||||
# virtio
|
||||
-ATTR{vendor}=="0x1af4", ATTR{device}=="0x1050", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
|
||||
+ATTR{vendor}=="0x1af4", ATTR{device}=="0x1050", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
|
||||
# qxl
|
||||
-ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
|
||||
+ATTR{vendor}=="0x1b36", ATTR{device}=="0x0100", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
|
||||
# vga
|
||||
-ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
|
||||
+ATTR{vendor}=="0x1234", ATTR{device}=="0x1111", RUN+="/bin/touch /run/udev/gdm-machine-has-virtual-gpu", ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}="1", GOTO="gdm_pci_device_end"
|
||||
|
||||
# disable Wayland on Hi1710 chipsets
|
||||
ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", GOTO="gdm_disable_wayland"
|
||||
@@ -21,7 +21,7 @@
|
||||
SUBSYSTEM!="drm", GOTO="gdm_hardware_gpu_end"
|
||||
DRIVERS=="simple-framebuffer", GOTO="gdm_hardware_gpu_end"
|
||||
IMPORT{parent}="GDM_MACHINE_HAS_VIRTUAL_GPU"
|
||||
-ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hardware-gpu"
|
||||
+ENV{GDM_MACHINE_HAS_VIRTUAL_GPU}!="1", RUN+="/bin/touch /run/udev/gdm-machine-has-hardware-gpu"
|
||||
LABEL="gdm_hardware_gpu_end"
|
||||
|
||||
# The vendor nvidia driver has multiple modules that need to be loaded before GDM can make an
|
||||
@@ -30,7 +30,7 @@
|
||||
KERNEL!="nvidia", GOTO="gdm_nvidia_end"
|
||||
SUBSYSTEM!="module", GOTO="gdm_nvidia_end"
|
||||
ACTION!="add", GOTO="gdm_nvidia_end"
|
||||
-RUN+="/usr/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver"
|
||||
+RUN+="/bin/touch /run/udev/gdm-machine-has-vendor-nvidia-driver"
|
||||
|
||||
# Import nvidia kernel parameters
|
||||
IMPORT{program}="/bin/sh -c \"sed -e 's/: /=/g' -e 's/\([^[:upper:]]\)\([[:upper:]]\)/\1_\2/g' -e 's/[[:lower:]]/\U&/g' -e 's/^/NVIDIA_/' /proc/driver/nvidia/params\""
|
||||
@@ -59,8 +59,8 @@
|
||||
SUBSYSTEM!="drm", GOTO="gdm_hybrid_graphics_check_end"
|
||||
ACTION!="add", GOTO="gdm_hybrid_graphics_check_end"
|
||||
IMPORT{program}="/bin/sh -c \"echo GDM_NUMBER_OF_GRAPHICS_CARDS=`ls -1d /sys/class/drm/card[0-9] | wc -l`\""
|
||||
-ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}=="1", RUN+="/usr/bin/rm -f /run/udev/gdm-machine-has-hybrid-graphics"
|
||||
-ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/usr/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
|
||||
+ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}=="1", RUN+="/bin/rm -f /run/udev/gdm-machine-has-hybrid-graphics"
|
||||
+ENV{GDM_NUMBER_OF_GRAPHICS_CARDS}!="1", RUN+="/bin/touch /run/udev/gdm-machine-has-hybrid-graphics"
|
||||
LABEL="gdm_hybrid_graphics_check_end"
|
||||
|
||||
# Disable wayland in situation where we're in a guest with a virtual gpu and host passthrough gpu
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
# Forked from Alpine for systemd support
|
||||
# Forked from Alpine for systemd support and dropping x11
|
||||
|
||||
pkgname=gdm
|
||||
pkgver=99948.0
|
||||
_pkgver=48.0
|
||||
pkgrel=5
|
||||
pkgver=99949.0.1
|
||||
_pkgver=49.0.1
|
||||
pkgrel=0
|
||||
pkgdesc="GNOME display manager"
|
||||
url="https://wiki.gnome.org/Projects/GDM"
|
||||
# blocked by gnome-shell
|
||||
|
|
@ -42,10 +42,8 @@ makedepends="
|
|||
subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-systemd"
|
||||
options="!check" # Causes circular dep with gnome-shell
|
||||
source="https://download.gnome.org/sources/gdm/${_pkgver%%.*}/gdm-$_pkgver.tar.xz
|
||||
0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch
|
||||
0003-DOWNSTREAM-pam-rename-common-to-base.patch
|
||||
Xsession
|
||||
gcc15.patch
|
||||
disable-userdb.patch
|
||||
gdm.sysusers
|
||||
"
|
||||
install="gdm.pre-install gdm.post-deinstall"
|
||||
|
|
@ -61,6 +59,7 @@ build() {
|
|||
-Dlibaudit=disabled \
|
||||
-Dsystemdsystemunitdir=/usr/lib/systemd/system \
|
||||
-Dsystemduserunitdir=/usr/lib/systemd/user \
|
||||
-Dx11-support=false \
|
||||
. output
|
||||
meson compile -C output
|
||||
}
|
||||
|
|
@ -68,15 +67,6 @@ build() {
|
|||
package() {
|
||||
DESTDIR="$pkgdir" meson install --no-rebuild -C output
|
||||
|
||||
# install -Dm644 /dev/stdin usr/lib/sysusers.d/gdm.conf <<END
|
||||
#g gdm 120 -
|
||||
#u gdm 120 "Gnome Display Manager" /var/lib/gdm
|
||||
#END
|
||||
|
||||
#sed -i "s/pam_systemd\.so/pam_elogind.so/" "$pkgdir"/etc/pam.d/*
|
||||
|
||||
install -m755 -D "$srcdir/Xsession" "$pkgdir"/etc/gdm
|
||||
|
||||
install -Dm644 "$srcdir/gdm.sysusers" "$pkgdir"/usr/lib/sysusers.d/gdm.conf
|
||||
}
|
||||
|
||||
|
|
@ -86,10 +76,8 @@ systemd() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
3e4a320cc6a0b43d65122bacd2b99531695f20ec809a767b957d63a511e00da017a9a4abe815596c6ad1398c5d427418d5c51bf6162216f60fdae5e8095bd305 gdm-48.0.tar.xz
|
||||
aa302c33c9b31e823ab98ca80c330c3f7eaa10d05c402cf111d78a35fbec82ce90bff34c19b713b6e352428c31df91f04bd01b58cae8968e130a991c73382020 0001-DOWNSTREAM-use-bin-touch-instead-of-usr-bin-touch.patch
|
||||
bbe2e20276c07e636f86c4ad962de726463db722e4ea373b719507757ac50809a463e536d10b34cf3eacaad67c57002a8d4ccf37c2bd49ba77263d788e4d78a6 gdm-49.0.1.tar.xz
|
||||
66611d49fc4c9578415a7e554834edcb9de99396bd0ca511dcfd4fb256e8a1cd1fd5f10464f4668ffe04799d919bc22ddb58e8bf272017edba69a7951522e63d 0003-DOWNSTREAM-pam-rename-common-to-base.patch
|
||||
f836cf0acdf148f2ae09ac28251b5126ce597f08254c43b1ec77596f75e1a3229926116c13f98554625be763e8d28415b27bd679b0a5de9f86bdca7857054c82 Xsession
|
||||
9b6b1aba510267bfa366666dd1f2d3b22b0a8875313d72dbdbd568d79255e59b705a052889acff3b052a3dae38b87b3bc770a70604f64670f77a16c045c9d29c gcc15.patch
|
||||
499cee7844d3ffb355ed8771c1cf0726e1f4c57ecbd1e0d6b25c1a3f6e6c95ad3dd45e878498a818e6db8086dab90912210d96bc024da6734ab5c53cd907ca55 gdm.sysusers
|
||||
4cbaf87896c6d890b5bdbdf13ee31c81b3cdbcba44cd8a48606268f28202fd775361c9507a503d680c70ba49eff00b896935942daf8615f434b903ae0e76fe20 disable-userdb.patch
|
||||
cdac8a8d0563f050ed7b8f4d31ea085ae24550bd99ab57ed4f3469723aea2bdcdb92330b625a96e4e366a8c3334d3b7657e0fafe9b914df6f846ea2bd0be22ec gdm.sysusers
|
||||
"
|
||||
|
|
|
|||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/sh
|
||||
exec "$@"
|
||||
13
extra-repos/systemd/gdm/disable-userdb.patch
Normal file
13
extra-repos/systemd/gdm/disable-userdb.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/meson.build b/meson.build
|
||||
index 26d130b1a..3722f7ffd 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -136,7 +136,7 @@ if logind_provider == 'systemd'
|
||||
])
|
||||
systemd_x_server = systemd_multiseat_x.found()? systemd_multiseat_x.path() : '/lib/systemd/systemd-multi-seat-x'
|
||||
|
||||
- have_userdb = libsystemd_dep.version().version_compare('>= 257')
|
||||
+ have_userdb = false
|
||||
|
||||
# Our range is documented at https://systemd.io/UIDS-GIDS/
|
||||
greeter_uid_min = systemd_dep.get_variable('greeter_uid_min', default_value: '60578')
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
From 2fbc2ac50b9f143eb594e5f77a8051222ffbd2c9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Mon, 27 Jan 2025 14:01:23 +0100
|
||||
Subject: [PATCH] gdm-settings-utils: rename variable to fix build with gcc 15
|
||||
|
||||
In GNU23 C, bool is a keyword. Rename the variable to avoid syntax error.
|
||||
---
|
||||
common/gdm-settings-utils.c | 8 ++++----
|
||||
common/gdm-settings-utils.h | 2 +-
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/common/gdm-settings-utils.c b/common/gdm-settings-utils.c
|
||||
index 636be3a9e..da4c7aefb 100644
|
||||
--- a/common/gdm-settings-utils.c
|
||||
+++ b/common/gdm-settings-utils.c
|
||||
@@ -287,16 +287,16 @@ gdm_settings_parse_boolean_as_value (gboolean boolval)
|
||||
/* adapted from GKeyFile */
|
||||
gboolean
|
||||
gdm_settings_parse_value_as_boolean (const char *value,
|
||||
- gboolean *bool)
|
||||
+ gboolean *boolval)
|
||||
{
|
||||
g_return_val_if_fail (value != NULL, FALSE);
|
||||
- g_return_val_if_fail (bool != NULL, FALSE);
|
||||
+ g_return_val_if_fail (boolval != NULL, FALSE);
|
||||
|
||||
if (g_ascii_strcasecmp (value, "true") == 0 || strcmp (value, "1") == 0) {
|
||||
- *bool = TRUE;
|
||||
+ *boolval = TRUE;
|
||||
return TRUE;
|
||||
} else if (g_ascii_strcasecmp (value, "false") == 0 || strcmp (value, "0") == 0) {
|
||||
- *bool = FALSE;
|
||||
+ *boolval = FALSE;
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
diff --git a/common/gdm-settings-utils.h b/common/gdm-settings-utils.h
|
||||
index 4f2362ce7..734d625c7 100644
|
||||
--- a/common/gdm-settings-utils.h
|
||||
+++ b/common/gdm-settings-utils.h
|
||||
@@ -44,7 +44,7 @@ gboolean gdm_settings_parse_schemas (const char *fil
|
||||
GSList **list);
|
||||
|
||||
gboolean gdm_settings_parse_value_as_boolean (const char *value,
|
||||
- gboolean *bool);
|
||||
+ gboolean *boolval);
|
||||
gboolean gdm_settings_parse_value_as_integer (const char *value,
|
||||
int *intval);
|
||||
gboolean gdm_settings_parse_value_as_double (const char *value,
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
deluser gdm 2>/dev/null
|
||||
deluser gdm-greeter 2>/dev/null
|
||||
delgroup gdm 2>/dev/null
|
||||
|
||||
exit 0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
addgroup -S -g 32 gdm 2>/dev/null
|
||||
adduser -S -D -H -h /var/lib/gdm -s /sbin/nologin -G gdm -g gdm -u 32 gdm 2>/dev/null
|
||||
addgroup -S gdm 2>/dev/null
|
||||
adduser -S -D -H -h /var/lib/gdm -s /sbin/nologin -G gdm -g gdm gdm 2>/dev/null
|
||||
adduser -S -D -H -h /var/lib/gdm-greeter -s /sbin/nologin -G gdm -g gdm gdm-greeter 2>/dev/null
|
||||
|
||||
exit 0
|
||||
|
|
|
|||
|
|
@ -1 +1,3 @@
|
|||
u gdm 42 "GNOME Display Manager" /var/lib/gdm
|
||||
u gdm-greeter 43 "GNOME Display Manager" /var/lib/gdm-greeter
|
||||
m gdm-greeter gdm
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue