From 4534b0727bdf875ea02e8c4bbab895f6957dd300 Mon Sep 17 00:00:00 2001 From: Akira TAGOH Date: Oct 04 2022 08:26:23 +0000 Subject: Disable GNOME support except setting QT_IM_MODULE and XMODIFIERS in xinput.sh Resolves: rhbz#2131673 Drop imsettings-systemd sub-package. --- diff --git a/imsettings-disable-gnome.patch b/imsettings-disable-gnome.patch new file mode 100644 index 0000000..6cd04b8 --- /dev/null +++ b/imsettings-disable-gnome.patch @@ -0,0 +1,88 @@ +diff --git a/data/imsettings-functions.in b/data/imsettings-functions.in +index fead468..601e2d0 100644 +--- a/data/imsettings-functions.in ++++ b/data/imsettings-functions.in +@@ -289,5 +289,7 @@ function print_info() { + log "XMODIFIERS: $XMODIFIERS" + log "IMSETTINGS_MODULE: $IMSETTINGS_MODULE" + log "IMSETTINGS_INTEGRATE_DESKTOP: $IMSETTINGS_INTEGRATE_DESKTOP" ++ log "IMSETTINGS_DISABLE_SYS_XINPUTRC: $IMSETTINGS_DISABLE_SYS_XINPUTRC" ++ log "IMSETTINGS_DISABLE_USER_XINPUTRC: $IMSETTINGS_DISABLE_USER_XINPUTRC" + log "" + } +diff --git a/data/imsettings-target-checker.sh.in b/data/imsettings-target-checker.sh.in +index 9f734f6..6441c1f 100755 +--- a/data/imsettings-target-checker.sh.in ++++ b/data/imsettings-target-checker.sh.in +@@ -77,20 +77,9 @@ gsettings_get_bool() { + + case $(get_desktop|tr '[A-Z]' '[a-z]') in + *gnome|gnome*) +- dbus_send 'org.gnome.Shell' '/' 'org.freedesktop.DBus.Peer.Ping' +- if [ $? = 0 ]; then +- if gsettings_get_bool org.gnome.settings-daemon.plugins.keyboard active; then +- log "org.gnome.settings-daemon.plugins.keyboard.active is true. imsettings is going to be disabled." +- exit 0 +- elif [ -f /etc/xdg/autostart/org.gnome.SettingsDaemon.Keyboard.desktop ]; then +- log "org.gnome.SettingsDaemon.Keyboard.desktop exists. imsettings is going to be disabled." +- exit 0 +- else +- exit 1 +- fi +- else +- exit 1 +- fi ++ # stop supporting GNOME anyway ++ log "** GNOME isn't supported at all" ++ exit 0 + ;; + cinnamon*) + dbus_send 'org.Cinnamon' '/' 'org.freedesktop.DBus.Peer.Ping' +diff --git a/data/xinput.sh.in.in b/data/xinput.sh.in.in +index 397fc15..da781c7 100755 +--- a/data/xinput.sh.in.in ++++ b/data/xinput.sh.in.in +@@ -13,7 +13,8 @@ + + . @libexecdir[@]/imsettings-functions + +-CONFIGDIR="${XDG_CONFIG_HOME:-$HOME/.config}/imsettings" ++XCONFIGDIR="${XDG_CONFIG_HOME:-$HOME/.config}" ++CONFIGDIR="$XCONFIGDIR/imsettings" + USER_XINPUTRC="$CONFIGDIR/xinputrc" + SYS_XINPUTRC="@XINPUTRC_PATH@/xinputrc" + READ_XINPUTRC="N/A" +@@ -43,6 +44,11 @@ unset AUXILIARY_PROGRAM AUXILIARY_ARGS GTK_IM_MODULE ICON IMSETTINGS_IGNORE_ME L + + if ! is_desktop_supported; then + IMSETTINGS_DISABLE_SYS_XINPUTRC=yes ++ if [ "x$(get_desktop)" = "xGNOME" ]; then ++ # We don't support GNOME but GNOME Xorg seems still needing QT_IM_MODULE and XMODIFIERS ++ GNOME_IMSETTINGS_DISABLE_SYS_XINPUTRC=yes ++ IMSETTINGS_DISABLE_SYS_XINPUTRC=no ++ fi + fi + + # migrate old configuration file +@@ -50,6 +56,9 @@ fi + [ -f "$HOME/.xinputrc" ] && mv $HOME/.xinputrc $CONFIGDIR/xinputrc + [ -f "$HOME/.xinputrc.bak" ] && mv $HOME/.xinputrc.bak $CONFIGDIR/xinputrc.bak + ++# remove systemd environment files ++rm -f $XCONFIGDIR/environment.d/imsettings*.conf || : ++ + if [ -r "$USER_XINPUTRC" -a "x$IMSETTINGS_DISABLE_USER_XINPUTRC" = "xno" ]; then + source "$USER_XINPUTRC" + READ_XINPUTRC=$USER_XINPUTRC +@@ -71,6 +80,11 @@ IMSETTINGS_MODULE=${SHORT_DESC:-${XIM}} + [ -z "$IMSETTINGS_MODULE" ] && IMSETTINGS_MODULE="none" + export IMSETTINGS_MODULE + ++if [ "x$GNOME_IMSETTINGS_DISABLE_SYS_XINPUTRC" = "xyes" ]; then ++ unset GTK_IM_MODULE ++ IMSETTINGS_DISABLE_SYS_XINPUTRC=yes ++fi ++ + ## + log_init + setup_gtk_immodule diff --git a/imsettings-force-enable-for-cinnamon.patch b/imsettings-force-enable-for-cinnamon.patch index 74dfdc1..98bef94 100644 --- a/imsettings-force-enable-for-cinnamon.patch +++ b/imsettings-force-enable-for-cinnamon.patch @@ -1,9 +1,9 @@ -diff -pruN imsettings-1.6.6.orig/data/imsettings-target-checker.sh.in imsettings-1.6.6/data/imsettings-target-checker.sh.in ---- imsettings-1.6.6.orig/data/imsettings-target-checker.sh.in 2013-10-10 20:15:29.000000000 +0900 -+++ imsettings-1.6.6/data/imsettings-target-checker.sh.in 2013-10-10 20:44:39.000000000 +0900 -@@ -89,19 +89,6 @@ case $(get_desktop) in - exit 1 - fi +diff -pruN imsettings-1.8.3.orig/data/imsettings-target-checker.sh.in imsettings-1.8.3/data/imsettings-target-checker.sh.in +--- imsettings-1.8.3.orig/data/imsettings-target-checker.sh.in 2022-10-03 20:17:48.034832740 +0900 ++++ imsettings-1.8.3/data/imsettings-target-checker.sh.in 2022-10-03 20:18:29.157906544 +0900 +@@ -81,19 +81,6 @@ case $(get_desktop|tr '[A-Z]' '[a-z]') i + log "** GNOME isn't supported at all" + exit 0 ;; - cinnamon*) - dbus_send 'org.Cinnamon' '/' 'org.freedesktop.DBus.Peer.Ping' diff --git a/imsettings.spec b/imsettings.spec index 42d2c8d..4956d2d 100644 --- a/imsettings.spec +++ b/imsettings.spec @@ -1,6 +1,6 @@ Name: imsettings Version: 1.8.3 -Release: 5%{?dist} +Release: 6%{?dist} License: LGPLv2+ URL: https://gitlab.com/tagoh/%{name}/ BuildRequires: desktop-file-utils @@ -20,12 +20,13 @@ Patch0: %{name}-constraint-of-language.patch Patch1: %{name}-disable-xim.patch ## Fedora specific: Enable xcompose for certain languages Patch2: %{name}-xinput-xcompose.patch -## Fedora specific: Force enable the IM management on imsettings for Cinnamon -Patch3: %{name}-force-enable-for-cinnamon.patch %if 0%{?rhel} Patch4: %{name}-glib.patch %endif Patch5: %{name}-fix-infinite-loop-of-restarting.patch +Patch6: %{name}-disable-gnome.patch +## Fedora specific: Force enable the IM management on imsettings for Cinnamon +Patch7: %{name}-force-enable-for-cinnamon.patch Summary: Delivery framework for general Input Method configuration Requires: xorg-x11-xinit >= 1.0.2-22.fc8 @@ -77,6 +78,8 @@ Requires: dconf Provides: imsettings-desktop-module%{?_isa} = %{version}-%{release} Provides: %{name}-gnome = %{version}-%{release} Obsoletes: %{name}-gnome < 1.5.1-3 +Provides: %{name}-systemd = %{version}-%{release} +Obsoletes: %{name}-systemd < 1.8.3-6 %description gsettings IMSettings is a framework that delivers Input Method @@ -185,20 +188,6 @@ or the desktop. This package contains a module to get this working on Cinnamon. %endif -%package systemd -Summary: Generic support for imsettings by systemd -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: im-chooser -Provides: imsettings-desktop-module%{?_isa} = %{version}-%{release} - -%description systemd -IMSettings is a framework that delivers Input Method -settings and applies the changes so they take effect -immediately without any need to restart applications -or the desktop. - -This package contains a module to support basic functionality for imsettings by systemd. - %prep %autosetup -p1 autoreconf -i @@ -223,7 +212,7 @@ chmod 0755 $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinitrc.d/50-xinput.sh # clean up the unnecessary files rm -f $RPM_BUILD_ROOT%{_libdir}/*.la rm -f $RPM_BUILD_ROOT%{_libdir}/imsettings/*.la -rm -f $RPM_BUILD_ROOT%{_libdir}/imsettings/libimsettings-{gconf,mateconf}.so +rm -f $RPM_BUILD_ROOT%{_libdir}/imsettings/libimsettings-{gconf,mateconf,systemd-gtk,systemd-qt}.so %if 0%{?rhel} rm -f $RPM_BUILD_ROOT%{_libdir}/imsettings/libimsettings-{lxde,xfce,xim,cinnamon-gsettings}.so %endif @@ -326,13 +315,12 @@ fi %{_libdir}/imsettings/libimsettings-cinnamon-gsettings.so %endif -%files systemd -%license COPYING -%doc AUTHORS ChangeLog NEWS README -%{_libdir}/imsettings/libimsettings-systemd-gtk.so -%{_libdir}/imsettings/libimsettings-systemd-qt.so - %changelog +* Mon Oct 3 2022 Akira TAGOH - 1.8.3-6 +- Disable GNOME support except setting QT_IM_MODULE and XMODIFIERS in xinput.sh + Resolves: rhbz#2131673 +- Drop imsettings-systemd sub-package. + * Tue Aug 9 2022 Akira TAGOH - 1.8.3-5 - Fix the infinite loop of the process restarting. Resolves: rhbz#2110111 diff --git a/sources b/sources index f37bcd4..b044acc 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (imsettings-1.8.2.tar.bz2) = 600315a20fd61eaa77a0add1e587861ad3ce70175d87639e43105d804cec59bfbc0219f2177c4d9e07d337231eb85514cbfd8af614a113b688ead372075b9ff4 SHA512 (imsettings-1.8.3.tar.bz2) = 58ebdf9abbff701ce5f069d6b39707d173a68f28f9bac3b5afd40ed6681fa1b816a2d642f2d70efaacb5b1e1017d264f5ef03ede57e56ad12bdf45698b65b723