File mate-session-manager.spec of Package mate-session-manager
#
# spec file for package mate-session-manager
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _version 1.28
Name: mate-session-manager
Version: 1.28.0
Release: 0
Summary: MATE Session Manager
License: GPL-2.0-or-later
Group: System/GUI/Other
URL: https://mate-desktop.org/
Source: https://pub.mate-desktop.org/releases/%{_version}/%{name}-%{version}.tar.xz
# Not an upstream file. Only proposes upstream packages:
Source1: mate-session-manager-upstream-mate_defaults.conf
# Some documentation for people writing branding packages, shipped in the branding-upstream package.
Source2: README.Gsettings-overrides
# xinitrc.d/ script that add /usr/share/mate and /usr/local/share to XDG_DATA_DIRS
Source3: 55mate-session_materc.sh
# xinitrc.d/ script that finalizes everything before the MATE session starts (such as
# preparing to load the canberra-gtk-module and applying a clutter tweak).
Source4: 99mate-environment.sh
# PATCH-FIX-OPENSUSE mate-session-manager-qt-5.7-styleoverride.patch sor.alexei@meowr.ru -- On Qt 5.7+ use Gtk2 Platform Theme.
Patch0: mate-session-manager-qt-5.7-styleoverride.patch
BuildRequires: hicolor-icon-theme
BuildRequires: mate-common >= %{_version}
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glesv2)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xtrans)
Requires: %{name}-branding >= %{_version}
Requires: %{name}-gschemas >= %{version}
# Make native styling in Qt5 happen.
Requires: libqt5-qtstyleplugins-platformtheme-gtk2
Requires(post): update-alternatives
Requires(postun): update-alternatives
Recommends: %{name}-lang
%glib2_gsettings_schema_requires
%description
This package contains a session that can be started from a display
manager such as LightDM. It will load all necessary applications
for a full-featured user session.
%lang_package
%package branding-upstream
Summary: Upstream definitions of default settings and applications
Requires: %{name} = %{version}
Supplements: (%{name} and branding-upstream)
Conflicts: %{name}-branding
Provides: %{name}-branding = %{version}
BuildArch: noarch
#BRAND: The /etc/mate_defaults.conf allows to define arbitrary
#BRAND: applications as preferred defaults.
#BRAND: A /usr/share/glib-2.0/schemas/$NAME.gschema.override file can
#BRAND: be used to override the default value for GSettings keys. See
#BRAND: README.Gsettings-overrides for more details. The branding
#BRAND: package should then have proper Requires for features changed
#BRAND: with such an override file.
%description -n mate-session-manager-branding-upstream
This package provides upstream defaults for settings stored with
GSettings and applications used by the MIME system.
%package gschemas
Summary: MATE Session Manager GSchemas
%glib2_gsettings_schema_requires
BuildArch: noarch
%description gschemas
This package provides the GSettings schemas for
MATE Session Manager.
%prep
%autosetup -p1
cp -a %{SOURCE2} .
cp -a %{SOURCE1} mate_defaults.conf
cp -a %{SOURCE3} .
cp -a %{SOURCE4} .
%build
NOCONFIGURE=1 mate-autogen
%configure \
--disable-static \
--enable-ipv6 \
--with-default-wm=marco \
--enable-qt57-theme-support \
--with-systemd=yes
%make_build
%install
%make_install
install -Dpm 0644 mate_defaults.conf \
%{buildroot}%{_sysconfdir}/mate_defaults.conf
install -Dpm 0755 55mate-session_materc.sh \
%{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/55mate-session_materc.sh
install -Dpm 0755 99mate-environment.sh \
%{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/99mate-environment.sh
mkdir -p %{buildroot}%{_sysconfdir}/alternatives/
touch %{buildroot}%{_sysconfdir}/alternatives/default-xsession.desktop
ln -s %{_sysconfdir}/alternatives/default-xsession.desktop \
%{buildroot}%{_datadir}/xsessions/default.desktop
%find_lang %{name} %{?no_lang_C}
%suse_update_desktop_file mate-session-properties
%suse_update_desktop_file %{buildroot}%{_datadir}/xsessions/mate.desktop
%post
%{_sbindir}/update-alternatives --install %{_datadir}/xsessions/default.desktop \
default-xsession.desktop %{_datadir}/xsessions/mate.desktop 20
%postun
if [ ! -f %{_datadir}/xsessions/mate.desktop ]; then
%{_sbindir}/update-alternatives --remove default-xsession.desktop \
%{_datadir}/xsessions/mate.desktop
fi
%files
%license COPYING
%doc NEWS README
%ghost %{_sysconfdir}/alternatives/default-xsession.desktop
%dir %{_sysconfdir}/X11/xinit
%dir %{_sysconfdir}/X11/xinit/xinitrc.d
%config %{_sysconfdir}/X11/xinit/xinitrc.d/55mate-session_materc.sh
%config %{_sysconfdir}/X11/xinit/xinitrc.d/99mate-environment.sh
%{_bindir}/mate-*
%{_datadir}/%{name}/
%{_datadir}/xsessions/*.desktop
%{_datadir}/applications/mate-session-properties.desktop
%{_datadir}/icons/hicolor/*/apps/mate-session-properties.*
%{_mandir}/man?/mate-*.?%{?ext_man}
%{_libexecdir}/mate-*
%files lang -f %{name}.lang
%files branding-upstream
%doc README.Gsettings-overrides
%config(noreplace) %{_sysconfdir}/mate_defaults.conf
%files gschemas
%{_datadir}/glib-2.0/schemas/*.xml
%changelog