1 Commits

Author SHA256 Message Date
98b9a89e6a Import openSUSE:Leap:16.0 modifications 2025-08-12 11:56:52 +02:00
7 changed files with 20 additions and 150 deletions

View File

@@ -9,7 +9,7 @@ auth [success=ok default=1] pam_gdm.so
auth optional pam_gnome_keyring.so
account substack common-account
account include postlogin-account
account include common-account
password required pam_deny.so

View File

@@ -1,13 +0,0 @@
diff --git a/data/meson.build b/data/meson.build
index de8edd6..7a24d30 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -158,7 +158,7 @@ service_config.set('sbindir', gdm_prefix / get_option('sbindir'))
service_config.set('GDM_INITIAL_VT', get_option('initial-vt'))
service_config.set('LANG_CONFIG_FILE', lang_config_file)
if plymouth_dep.found()
- service_config.set('PLYMOUTH_QUIT_SERVICE', 'plymouth-quit.service')
+ service_config.set('PLYMOUTH_QUIT_SERVICE', 'plymouth-quit.service plymouth-quit-wait.service')
else
service_config.set('PLYMOUTH_QUIT_SERVICE', '')
endif

2
gdm-rpmlintrc Normal file
View File

@@ -0,0 +1,2 @@
setBadness('polkit-file-unauthorized', 100)
setBadness('dbus-file-digest-mismatch', 100)

View File

@@ -1,12 +0,0 @@
Index: gdm-48.0/data/gdm.service.in
===================================================================
--- gdm-48.0.orig/data/gdm.service.in
+++ gdm-48.0/data/gdm.service.in
@@ -20,6 +20,7 @@ After=rc-local.service plymouth-start.se
OnFailure=plymouth-quit.service
[Service]
+ExecStartPre=-/usr/libexec/gdm/keytable
ExecStart=${sbindir}/gdm
KillMode=mixed
Restart=always

View File

@@ -1,43 +1,8 @@
-------------------------------------------------------------------
Tue Sep 23 08:52:11 UTC 2025 - Yifan Jiang <yfjiang@suse.com>
Thu Jul 31 08:19:39 UTC 2025 - Max Lin <mlin@suse.com>
- Add gdm-service-keytable.patch: set KEYMAP to XkbLayout for GNOME
when using gdm-systemd instead of xdm (bsc#1248831, bsc#1250366).
-------------------------------------------------------------------
Thu Sep 11 10:57:19 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Create /run/gdm in case it would not exist yet; this could
potentially happen on offline upgrades.
-------------------------------------------------------------------
Mon Sep 1 11:02:31 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Move migration marker from /var/tmp to /run/gdm (boo#1249017).
-------------------------------------------------------------------
Fri Aug 29 10:18:55 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Fix syntax error in gdm's %pre script.
-------------------------------------------------------------------
Tue Aug 6 06:55:48 UTC 2025 - Xiaoguang Wang <xiaoguang.wang@suse.com>
- Add gdm-plymouth-quit-wait.patch: Disable plymouth-quit-wait.service
(bsc#1243439).
-------------------------------------------------------------------
Tue Aug 5 07:10:40 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Ensure migration to gdm.service also happens during upgrade when
gdm is installed first and we thus lose the updte-alternative
link which would be part of tgdm-xdm-integration (boo#1247418).
-------------------------------------------------------------------
Wed Jul 16 14:53:57 UTC 2025 - Fabian Vogt <fvogt@suse.com>
- gdm-fingerprint.pamd: Fix inclusion of common-account instead
of postlogin-account
- Create a migrate_to_gdm hook at the pre stage, bsc#1247418
- Add gdm-rpmlintrc in order to rebuild gdm in Leap 16.0, bsc#1247418
-------------------------------------------------------------------
Wed Jun 18 09:43:19 UTC 2025 - Valentin Lefebvre <valentin.lefebvre@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package gdm
#
# Copyright (c) 2025 SUSE LLC and contributors
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -57,7 +57,7 @@ Source14: gdm-fingerprint-sle.pamd
Source15: gdm-smartcard-sle.pamd
# Configuration for pulseaudio
Source20: default.pa
Source21: keytable.in
Source99: gdm-rpmlintrc
# WARNING: do not remove/significantly change patch0 without updating the relevant patch in accountsservice too
# PATCH-FIX-OPENSUSE gdm-s390-not-require-g-s-d_wacom.patch bsc#1129412 yfjiang@suse.com -- Remove the runtime requirement of g-s-d Wacom plugin
Patch0: gdm-s390-not-require-g-s-d_wacom.patch
@@ -75,10 +75,6 @@ Patch6: gdm-initial-setup-hardening.patch
Patch7: gdm-settings-utils_rename-variable.patch
# PATCH-FIX-UPSTREAM gdm-fix-wrong-path-gdm-config.patch bsc#1232669, glgo#GNOME/gdm!282 alynx.zhou@suse.com -- Add missing slash when gdm-config building dconf database path
Patch8: gdm-fix-wrong-path-gdm-config.patch
# PATCH-FIX-UPSTREAM gdm-plymouth-quit-wait.patch bsc#1243439 xwang@suse.com -- Disable plymouth-quit-wait.service
Patch9: gdm-plymouth-quit-wait.patch
# PATCH-FIX-OPENSUSE gdm-service-keytable.patch bsc#1248831 bsc#1250366 yfjiang@suse.com -- set KEYMAP to XkbLayout for GNOME
Patch10: gdm-service-keytable.patch
### NOTE: Keep please SLE-only patches at bottom (starting on 1000).
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
@@ -131,7 +127,7 @@ Requires: gnome-shell
# xdm package ships systemd display-manager service and other common scripts
# between display managers (bsc#1084655)
Requires: (gdm-xdm-integration or gdm-systemd)
%if !0%{?is_opensuse}
%if !0%{?is_opensuse} || 0%{?suse_version} <= 1600
Suggests: gdm-systemd
%else
Suggests: gdm-xdm-integration
@@ -287,7 +283,7 @@ running display manager.
%endif
-Dudev-dir=%{_udevrulesdir} \
-Dwayland-support=true \
%if !0%{?is_opensuse}
%if !0%{?is_opensuse} || 0%{?suse_version} <= 1600
-Dx11-support=false \
%endif
%nil
@@ -344,7 +340,7 @@ ln -s ../sbin/gdm %{buildroot}%{_bindir}/gdm
mkdir -p %{buildroot}%{_tmpfilesdir}
install -m 644 %{SOURCE9} %{buildroot}%{_tmpfilesdir}/gdm.conf
%if !0%{?is_opensuse}
%if !0%{?is_opensuse} || 0%{?suse_version} <= 1600
sed -e '#/var/lib/gdm/\.pulse#d' -i %{buildroot}%{_tmpfilesdir}/gdm.conf
%endif
@@ -354,12 +350,10 @@ install -m 644 %{SOURCE10} %{buildroot}%{_prefix}/lib/systemd/logind.conf.d/rese
mkdir -p %{buildroot}%{_sysusersdir}
install -m 644 %{SOURCE11} %{buildroot}%{_sysusersdir}/gdm.conf
%if 0%{?is_opensuse}
%if 0%{?is_opensuse} && 0%{?suse_version} > 1600
install -D -m 644 %{SOURCE20} %{buildroot}%{_prefix}/share/factory/var/lib/gdm/.pulse/default.pa
%endif
install -m 755 %{SOURCE21} %{buildroot}%{_libexecdir}/gdm/keytable
%find_lang %{name} %{?no_lang_C}
%fdupes -s %{buildroot}%{_datadir}/help
@@ -367,11 +361,10 @@ install -m 755 %{SOURCE21} %{buildroot}%{_libexecdir}/gdm/keytable
%meson_test
%pre -f gdm.pre
if [ $1 -gt 1 ]; then
if [ "$(systemctl is-enabled display-manager-legacy)" = "enabled" -a -x /usr/sbin/update-alternatives ]; then
if [ "$(systemctl is-enabled display-manager-legacy)" = "enabled" ]; then
if [ -x /usr/sbin/update-alternatives ]; then
if [ "$(update-alternatives --query default-displaymanager | awk '/Value:/ {print $2}')" = "/usr/lib/X11/displaymanagers/gdm" ]; then
mkdir -p /run/gdm
touch /run/gdm/migrate_to_gdm
touch /var/tmp/migrate_to_gdm
fi
fi
fi
@@ -411,11 +404,11 @@ if [ "$(systemctl is-enabled display-manager-legacy)" = "enabled" ]; then
# display-manager is currently 'legacy mode' - if migration has already occured
# the above command would return 'disabled'
if [ -x /usr/sbin/update-alternatives ]; then
if [ "$(update-alternatives --query default-displaymanager | awk '/Value:/ {print $2}')" = "/usr/lib/X11/displaymanagers/gdm" ] || [ -f /run/gdm/migrate_to_gdm ]; then
if [ "$(update-alternatives --query default-displaymanager | awk '/Value:/ {print $2}')" = "/usr/lib/X11/displaymanagers/gdm" ] || [ -f /var/tmp/migrate_to_gdm ]; then
# the display-manager started by xdm is currently gdm - let's switch to the native service
# this only force-enables gdm whenever xdm was enabled AND it was uses as wrapper to start gdm
systemctl enable --force gdm.service
unlink /run/gdm/migrate_to_gdm || :
unlink /var/tmp/migrate_to_gdm
fi
fi
fi
@@ -434,7 +427,7 @@ fi
%dir %{_datadir}/dconf
%dir %{_datadir}/dconf/profile
%{_datadir}/dconf/profile/gdm
%if 0%{?is_opensuse}
%if 0%{?is_opensuse} && 0%{?suse_version} > 1600
%dir %{_datadir}/factory/var
%dir %{_datadir}/factory/var/lib
%{_datadir}/factory/var/lib/gdm
@@ -446,7 +439,7 @@ fi
%{_libexecdir}/gdm/gdm-*
%{_libexecdir}/gdm/gdmflexiserver
%ghost %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm
%if 0%{?is_opensuse}
%if 0%{?is_opensuse} && 0%{?suse_version} > 1600
%attr(0700, gdm, gdm) %ghost %dir %{_localstatedir}/lib/gdm/.pulse
%attr(0600, gdm, gdm) %ghost %{_localstatedir}/lib/gdm/.pulse/default.pa
%endif
@@ -462,7 +455,7 @@ fi
%_config_norepl %{_pam_vendordir}/gdm-password
%_config_norepl %{_pam_vendordir}/gdm-launch-environment
%{_datadir}/dbus-1/system.d/gdm.conf
%if 0%{?is_opensuse}
%if 0%{?is_opensuse} && 0%{?suse_version} > 1600
%{_udevrulesdir}/61-gdm.rules
%endif
%{_datadir}/polkit-1/rules.d/20-gdm.rules
@@ -501,7 +494,6 @@ fi
%files systemd
%{_unitdir}/gdm.service
%{_libexecdir}/gdm/keytable
%files -n gdmflexiserver
%{_bindir}/gdmflexiserver

View File

@@ -1,64 +0,0 @@
#! /bin/bash
if [ $UID -ne 0 ]; then
echo "You need to be root to run this program"
exit 0
fi
vconsole_conf_file=/etc/vconsole.conf
previous_x11conf_file=/etc/X11/xorg.conf.d/90-keytable.conf
systemd_x11conf_file=/etc/X11/xorg.conf.d/00-keyboard.conf
keyboard_map_systemd=/usr/share/systemd/kbd-model-map
function setkeyboard {
echo "Command: localectl set-keymap $1 $2"
# xorg.conf.d snippet is only written if a valid snippet is already
# available, so create an us sample if neccessary
if [ ! -f $systemd_x11conf_file ]; then
localectl set-x11-keymap us
fi
# check systemd mapping
NEWKEYMAP=$(echo "$1" | sed "s/ $//" )
opts=$(grep -P "^$NEWKEYMAP\t" "$keyboard_map_systemd" | sed -re "s/[^\t]*//" -e "s/[\t]+/ /g" )
if [ -z "$opts" ]; then
echo "W: Cannot find mapping for $NEWKEYMAP in $keyboard_map_systemd"
echo "W: This will result in an 'us' X keyboard layout as default"
else
echo "I: Using systemd $keyboard_map_systemd mapping"
fi
localectl set-keymap $1 $2
if [ -f $systemd_x11conf_file ]; then
if [ -f $previous_x11conf_file ]; then
if [ $systemd_x11conf_file -nt $previous_x11conf_file ]; then
rm -f $previous_x11conf_file
fi
fi
exit 0
else
echo "$systemd_x11conf_file has not been created!"
fi
}
if [ -f $vconsole_conf_file ]; then
echo "$vconsole_conf_file available"
. $vconsole_conf_file
if [ ! -z $KEYMAP ]; then
if [ -z $XKBLAYOUT ]; then
echo "KEYMAP: $KEYMAP"
setkeyboard $KEYMAP $KEYMAP_TOGGLE
else
echo "XKBLAYOUT: $XKBLAYOUT"
echo "XKBLAYOUT is already set. Better don't touch X11 keyboard configuration."
exit 0
fi
else
echo "KEYMAP not set"
fi
else
echo "$vconsole_conf_file not available"
fi
echo "Keyboard layout could not be set"
exit 1