diff --git a/ibus.spec b/ibus.spec index 927a835..72f77cc 100644 --- a/ibus.spec +++ b/ibus.spec @@ -30,6 +30,7 @@ %bcond_with gtk4 %endif +%global ibus_xinit_condition %ibus_panel_condition # FIXME: How to write a condition with multiple lines %global ibus_panel_condition (%pcd1 or %pcd2 or %pcd3) %global pcd1 budgie-desktop or cinnamon or deepin-desktop or i3 @@ -75,7 +76,7 @@ Patch0: %{name}-HEAD.patch Patch1: %{name}-2267615-wayland-init-keymap.patch # Under testing #1349148 #1385349 #1350291 #1406699 #1432252 #1601577 Patch2: %{name}-1385349-segv-bus-proxy.patch -%if %{without xinit} +%if 0%{?rhel} > 8 # Use mutter window manager in RHEL CI Patch100: %{name}-xx-desktop-testing-mutter.patch # Disable to run setxkbmap @@ -127,14 +128,16 @@ BuildRequires: xorg-x11-server-Xvfb BuildRequires: libX11 BuildRequires: mutter - Requires: %{name}-libs%{?_isa} = %{version}-%{release} %if %{with gtk2} Requires: (%{name}-gtk2%{?_isa} = %{version}-%{release} if gtk2) %endif Requires: %{name}-gtk3%{?_isa} = %{version}-%{release} Requires: %{name}-setup = %{version}-%{release} -Requires: (%{name}-panel%{?_isa} = %{version}-%{release} if %ibus_panel_condition) +Requires: (%{name}-panel%{?_isa} = %{version}-%{release} if %ibus_panel_condition) +%if %{with xinit} +Requires: (%{name}-xinit = %{version}-%{release} if %ibus_xinit_condition) +%endif Requires: iso-codes Requires: dconf @@ -144,15 +147,6 @@ Requires: dconf Requires: python3-gobject # https://bugzilla.redhat.com/show_bug.cgi?id=1161871 %{?__python3:Requires: %{__python3}} -%if %{with xinit} -# Owner of %%{_sysconfdir}/X11/xinit -Requires: xorg-x11-xinit -Requires: setxkbmap -%endif -%if (0%{?fedora} > 29 || 0%{?rhel} > 8) -%else -Requires: dbus-x11 -%endif Requires: desktop-file-utils Requires(post): desktop-file-utils @@ -275,8 +269,9 @@ This package contains IBus IM module for Wayland Summary: IBus Panel icon Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} -%if %{without xinit} -# ibus-xinit is not available in RHEL +%if %{with xinit} +# setxkbmap can change XKB options for Xorg desktop sessions +Requires: setxkbmap %endif BuildRequires: libdbusmenu-gtk3-devel @@ -286,16 +281,18 @@ in non-GNOME desktop sessions likes XFCE or Plasma because gnome-shell shows the IBus Icon. This package depends on libdbusmenu-gtk3 for Wayland desktop sessions. -%if %{without xinit} %package xinit Summary: IBus Xinit Requires: %{name} = %{version}-%{release} +%if %{with xinit} +# Owner of %%{_sysconfdir}/X11/xinit +Requires: xorg-x11-xinit +%endif BuildArch: noarch %description xinit This package includes xinit scripts to set environment variables of IBus for Xorg desktop sessions and this is not needed by Wayland desktop sessions. -%endif %package devel Summary: Development tools for ibus @@ -505,6 +502,8 @@ dconf update || : %{_datadir}/applications/org.freedesktop.IBus.Panel.Extension.Gtk3.desktop %{_datadir}/bash-completion/completions/ibus.bash %{_datadir}/dbus-1/services/*.service +%dir %{_datadir}/GConf +%dir %{_datadir}/GConf/gsettings %{_datadir}/GConf/gsettings/* %{_datadir}/glib-2.0/schemas/*.xml %{_datadir}/ibus/component @@ -517,9 +516,6 @@ dconf update || : %{_datadir}/man/man7/ibus-emoji.7.gz %{_datadir}/man/man5/00-upstream-settings.5.gz %{_datadir}/man/man5/ibus.5.gz -%if %{with xinit} -%{_datadir}/man/man5/ibus.conf.5.gz -%endif %{_libexecdir}/ibus-engine-simple %{_libexecdir}/ibus-dconf %{_libexecdir}/ibus-portal @@ -530,17 +526,11 @@ dconf update || : %{_sysconfdir}/dconf/profile/ibus %dir %{_sysconfdir}/xdg/Xwayland-session.d %{_sysconfdir}/xdg/Xwayland-session.d/10-ibus-x11 +%dir %{_prefix}/lib/systemd/user/gnome-session.target.wants %{_prefix}/lib/systemd/user/gnome-session.target.wants/*.service %{_prefix}/lib/systemd/user/org.freedesktop.IBus.session.*.service %python3_sitearch/gi/overrides/__pycache__/*.py* %python3_sitearch/gi/overrides/IBus.py -%if %{with xinit} -# ibus owns xinput.d because gnome does not like to depend on imsettings. -%dir %{_sysconfdir}/X11/xinit/xinput.d -# Do not use %%config(noreplace) to always get the new keywords in _xinputconf -# For user customization, $HOME/.xinputrc can be used instead. -%config %{_xinputconf} -%endif %verify(not mtime) %dir %pkgcache %verify(not mtime) %dir %pkgcache/bus # 'ibus write-cache --system' updates the system cache. @@ -561,6 +551,7 @@ dconf update || : %if %{with gtk4} %files gtk4 +%dir %{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules %{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules/libim-ibus.so %endif @@ -594,14 +585,16 @@ dconf update || : %{_datadir}/applications/org.freedesktop.IBus.Panel.Wayland.Gtk3.desktop %{_libexecdir}/ibus-ui-gtk3 -%if %{without xinit} %files xinit %{_datadir}/man/man5/ibus.conf.5.gz +%if %{without xinit} # ibus owns xinit directory without xorg-x11-xinit package %dir %{_sysconfdir}/X11/xinit %dir %{_sysconfdir}/X11/xinit/xinput.d -%config %{_xinputconf} %endif +# Do not use %%config(noreplace) to always get the new keywords in _xinputconf +# For user customization, $HOME/.xinputrc can be used instead. +%config %{_xinputconf} %files devel %{_libdir}/ibus @@ -636,6 +629,10 @@ dconf update || : %changelog * Thu Jul 18 2024 Takao Fujiwara - 1.5.30-9 - Fix OpenScanHub issues +- Resolves #2297735 Move ibus.conf to ibus-xinit sub package +- Resolves #2297147 Add directory datadir/GConf/gsettings +- Add directory %%{_prefix}/lib/systemd/user/gnome-session.target.wants +- Add directory %%{_libdir}/gtk-4.0/%{gtk4_binary_version}/immodules * Sat Jul 13 2024 Takao Fujiwara - 1.5.30-8 - adobe-source-code-pro-fonts is no longer available in CI