Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gdm for openSUSE:Factory checked in 
at 2025-09-25 18:43:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdm (Old)
 and      /work/SRC/openSUSE:Factory/.gdm.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gdm"

Thu Sep 25 18:43:55 2025 rev:290 rq:1306955 version:49.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/gdm/gdm.changes  2025-09-24 15:22:58.965067781 
+0200
+++ /work/SRC/openSUSE:Factory/.gdm.new.11973/gdm.changes       2025-09-25 
18:44:19.967753934 +0200
@@ -1,0 +2,6 @@
+Tue Sep 23 08:52:11 UTC 2025 - Yifan Jiang <[email protected]>
+
+- Add gdm-service-keytable.patch: set KEYMAP to XkbLayout for GNOME
+  when using gdm-systemd instead of xdm (bsc#1248831, bsc#1250366).
+
+-------------------------------------------------------------------

New:
----
  gdm-service-keytable.patch
  keytable.in

----------(New B)----------
  New:
- Add gdm-service-keytable.patch: set KEYMAP to XkbLayout for GNOME
  when using gdm-systemd instead of xdm (bsc#1248831, bsc#1250366).
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gdm.spec ++++++
--- /var/tmp/diff_new_pack.mGKCp0/_old  2025-09-25 18:44:21.039798804 +0200
+++ /var/tmp/diff_new_pack.mGKCp0/_new  2025-09-25 18:44:21.043798972 +0200
@@ -57,6 +57,7 @@
 Source15:       gdm-smartcard-sle.pamd
 # Configuration for pulseaudio
 Source20:       default.pa
+Source21:       keytable.in
 # PATCH-FIX-OPENSUSE  gdm-sysconfig-settings.patch bnc432360 bsc#919723 
[email protected] -- Read autologin options from /etc/sysconfig/displaymanager; 
note that accountsservice has a similar patch (accountsservice-sysconfig.patch)
 Patch1:         gdm-sysconfig-settings.patch
 # PATCH-FIX-OPENSUSE gdm-suse-xsession.patch [email protected] -- Use the 
/etc/X11/xdm/* scripts
@@ -69,6 +70,8 @@
 Patch6:         gdm-initial-setup-hardening.patch
 # PATCH-FIX-UPSTREAM gdm-plymouth-quit-wait.patch bsc#1243439 [email protected] 
-- Disable plymouth-quit-wait.service
 Patch9:         gdm-plymouth-quit-wait.patch
+# PATCH-FIX-OPENSUSE gdm-service-keytable.patch bsc#1248831 bsc#1250366 
[email protected] -- 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 
[email protected] -- Disable gnome-initial-setup runs before gdm, g-i-s will only 
serve for CJK people to choose the input-method after login.
@@ -344,6 +347,8 @@
 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
 
@@ -482,6 +487,7 @@
 
 %files systemd
 %{_unitdir}/gdm.service
+%{_libexecdir}/gdm/keytable
 
 %files -n gdmflexiserver
 %{_bindir}/gdmflexiserver

++++++ gdm-service-keytable.patch ++++++
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

++++++ keytable.in ++++++
#! /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

Reply via email to