File gnome-settings-daemon.spec of Package gnome-settings-daemon.4809

#
# spec file for package gnome-settings-daemon
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#


# Allow to disable wayland components
%bcond_without wayland

# Smart-Card support was not available from version 3.7.3 to 3.9.5; allow to easily disable it
%bcond_without smartcard

# Wacom input support is not available on all platforms
%ifarch s390 s390x
%bcond_with wacom
%else
%bcond_without wacom
%endif

Name:           gnome-settings-daemon
Version:        3.20.1
Release:        0
Summary:        Settings daemon for the GNOME desktop
License:        GPL-2.0+
Group:          System/GUI/GNOME
Url:            http://www.gnome.org
Source:         http://download.gnome.org/sources/gnome-settings-daemon/3.20/%{name}-%{version}.tar.xz
# PATCH-FEATURE-SLE gnome-settings-daemon-revert-libinput-mandatory.patch fcrozat@suse.com -- ensure libinput is not mandatory
Patch20:        gnome-settings-daemon-revert-libinput-mandatory.patch
# PATCH-FEATURE-SLE gnome-settings-daemon-notify-idle-resumed.patch bnc#439018 bnc#708182 bgo#575467 hpj@suse.com -- notify user about auto suspend when returning from sleep
Patch21:        gnome-settings-daemon-notify-idle-resumed.patch
# PATCH-FIX-SLE gnome-settings-daemon-bnc873545-hide-warnings.patch bnc#873545 fezhang@suse.com -- hide the warnings when g-s-d cannot find colord running, which is expected on SLES
Patch22:        gnome-settings-daemon-bnc873545-hide-warnings.patch
# PATCH-FIX-SLE sle-configure-timeout-blank.patch bnc#869685 bgo#710904 cxiong@suse.com -- monitor off timeout is too short, extends it to 5 min
Patch24:        sle-configure-timeout-blank.patch
# PATCH-FIX-OPENSUSE gnome-settings-daemon-initial-keyboard.patch bsc#979051 boo#1009515 federico@suse.com -- Deal with the default keyboard being set from xkb instead of GNOME
Patch29:        gnome-settings-daemon-initial-keyboard.patch
# PATCH-FIX-OPENSUSE gnome-settings-daemon-bring-back-updates-plugin.patch bsc#991024 sckang@suse.com -- Add the updates plugin back
Patch31:        gnome-settings-daemon-bring-back-updates-plugin.patch
# PATCH-FEATURE-OPENSUSE gnome-settings-daemon-more-power-button-actions.patch bsc#996342 fezhang@suse.com -- Bring back the "shutdown" and "interactive" power button actions.
Patch32:        gnome-settings-daemon-more-power-button-actions.patch
# PATCH-FIX-UPSTREAM gnome-settings-daemon-shutdown-dialog-delay.patch bgo#774452 xwang@suse.com -- Shutdown dialog delay 1 to 2 seconds.
Patch33:        gnome-settings-daemon-shutdown-dialog-delay.patch
# PATCH-FIX-UPSTREAM gnome-settings-daemon-keybindings-become-unavaiable.patch bsc#1000599 bgo#758302 xwang@suse.com -- Some keybindings become unavailable.
Patch34:        gnome-settings-daemon-keybindings-become-unavaiable.patch
BuildRequires:  cups-devel
BuildRequires:  fdupes
BuildRequires:  gnome-common
%if !0%{?is_opensuse}
BuildRequires:  gnome-patch-translation
BuildRequires:  translation-update-upstream
%endif
BuildRequires:  intltool
BuildRequires:  update-desktop-files
BuildRequires:  xsltproc
# For directory ownership; it's fine to BuildRequire it since it's also a Requires
BuildRequires:  polkit
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(colord) >= 1.0.2
BuildRequires:  pkgconfig(fontconfig)
BuildRequires:  pkgconfig(gconf-2.0) >= 2.6.1
BuildRequires:  pkgconfig(geoclue-2.0) >= 2.1.2
BuildRequires:  pkgconfig(geocode-glib-1.0) >= 3.10.0
BuildRequires:  pkgconfig(glib-2.0) >= 2.37.7
BuildRequires:  pkgconfig(gnome-desktop-3.0) >= 3.11.1
BuildRequires:  pkgconfig(gsettings-desktop-schemas) >= 3.19.3
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.15.3
BuildRequires:  pkgconfig(gudev-1.0)
BuildRequires:  pkgconfig(gweather-3.0) >= 3.9.5
BuildRequires:  pkgconfig(kbproto)
BuildRequires:  pkgconfig(lcms2)
BuildRequires:  pkgconfig(libcanberra-gtk3)
BuildRequires:  pkgconfig(libgeoclue-2.0) >= 2.3.1
BuildRequires:  pkgconfig(libnm) >= 1.0
BuildRequires:  pkgconfig(libnotify) >= 0.7.3
BuildRequires:  pkgconfig(libpulse) >= 2.0
BuildRequires:  pkgconfig(libpulse-mainloop-glib) >= 2.0
BuildRequires:  pkgconfig(librsvg-2.0) >= 2.36.2
%if 0%{?suse_version} == 1315
BuildRequires:  pkgconfig(packagekit-glib2)
%endif
%if %{with wacom}
BuildRequires:  pkgconfig(libwacom) >= 0.7
BuildRequires:  pkgconfig(xorg-wacom)
%endif
BuildRequires:  pkgconfig(nss)
BuildRequires:  pkgconfig(pango) >= 1.20.0
BuildRequires:  pkgconfig(polkit-gobject-1) >= 0.103
%if !0%{?is_opensuse}
# For directory ownership. No longer needed in TW, since filesystem package
# now owns
BuildRequires:  pkgconfig(udev)
%endif
BuildRequires:  pkgconfig(upower-glib) >= 0.99.0
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xi)
BuildRequires:  pkgconfig(xkbfile)
BuildRequires:  pkgconfig(xtst)
%if %{with wayland}
BuildRequires:  pkgconfig(wayland-client)
%endif
Requires:       gsettings-desktop-schemas
# g-s-d uses the pkexec binary
Requires:       polkit
Recommends:     %{name}-lang
# For housekeeping plugin, that uses the nautilus dbus service
Recommends:     nautilus
%if 0%{?is_opensuse}
# g-s-d only support configurtion of libinput based pointer drivers now.
Recommends:     xf86-input-libinput
%endif
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires

%description
gnome-settings-daemon provides a daemon run by all GNOME sessions to
provide live access to configuration settings and the changes done to
them as well as basic services like a clipboard manager, controlling
the startup of the screensaver, etc.

This module was previously part of GNOME Control Center, but has been
splitted from it for a more general use.

%package devel
Summary:        Development package for the GNOME settings daemon
Group:          Development/Languages/C and C++
Requires:       %{name} = %{version}

%description devel
gnome-settings-daemon provides a daemon run by all GNOME sessions to
provide live access to configuration settings and the changes done to
them as well as basic services like a clipboard manager, controlling
the startup of the screensaver, etc.

This package includes header files used for client applications to
contact the settings daemon via its DBus interface.

%lang_package
%prep
%setup -q
%if !0%{?is_opensuse}
translation-update-upstream
gnome-patch-translation-prepare
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch24 -p0
%endif
%patch29 -p1
%if 0%{?suse_version} == 1315
%patch31 -p1
%endif
%patch32 -p1
%patch33 -p1
%patch34 -p1

%build
%if 0%{?suse_version} == 1315
autoreconf -f -i
%endif
%configure\
%if %{with wayland}
        --enable-wayland \
%else
        --disable-wayland \
%endif
        --enable-alsa \
        --disable-static \
        --libexecdir=%{_libexecdir}/gnome-settings-daemon-3.0 \
        %{nil}
# work around a racing condition in plugins/common, which does not always build properly using parallel build
(cd plugins/common; make -j 1 gsd-common-enums.h)
make %{?jobs:-j%jobs} V=1

%install
%makeinstall
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
%suse_update_desktop_file gnome-settings-daemon
%find_lang %{name} %{?no_lang_C}
%fdupes %{buildroot}

%clean
rm -rf %{buildroot}

%post
%glib2_gsettings_schema_post
%icon_theme_cache_post

%postun
%glib2_gsettings_schema_postun
%icon_theme_cache_postun

%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS
%{_datadir}/gnome-settings-daemon/
%if !0%{?is_opensuse}
%{_datadir}/gnome-settings-daemon-3.0/
%endif
%dir %{_libexecdir}/gnome-settings-daemon-3.0/
%{_libexecdir}/gnome-settings-daemon-3.0/gnome-settings-daemon
%{_libexecdir}/gnome-settings-daemon-3.0/gnome-settings-daemon-localeexec
%{_libexecdir}/gnome-settings-daemon-3.0/gsd-backlight-helper
%{_libexecdir}/gnome-settings-daemon-3.0/gsd-locate-pointer
%{_libexecdir}/gnome-settings-daemon-3.0/gsd-printer
%{_libexecdir}/gnome-settings-daemon-3.0/gsd-test-*
# From patch2
#%%{_libexecdir}/novell-sysconfig-proxy-helper
%dir %{_libdir}/gnome-settings-daemon-3.0/
%{_libdir}/gnome-settings-daemon-3.0/libgsd.so
%{_libdir}/gnome-settings-daemon-3.0/*.gnome-settings-plugin
# Explicitly list all the plugins so we know we don't lose any
%{_libdir}/gnome-settings-daemon-3.0/liba11y-keyboard.so
%{_libdir}/gnome-settings-daemon-3.0/liba11y-settings.so
%{_libdir}/gnome-settings-daemon-3.0/libclipboard.so
%{_libdir}/gnome-settings-daemon-3.0/libcolor.so
%{_libdir}/gnome-settings-daemon-3.0/libdatetime.so
%{_libdir}/gnome-settings-daemon-3.0/libhousekeeping.so
%{_libdir}/gnome-settings-daemon-3.0/libkeyboard.so
%{_libdir}/gnome-settings-daemon-3.0/libmedia-keys.so
%{_libdir}/gnome-settings-daemon-3.0/libmouse.so
%{_libdir}/gnome-settings-daemon-3.0/liborientation.so
%{_libdir}/gnome-settings-daemon-3.0/libpower.so
%{_libdir}/gnome-settings-daemon-3.0/libprint-notifications.so
%{_libdir}/gnome-settings-daemon-3.0/librfkill.so
%{_libdir}/gnome-settings-daemon-3.0/libscreensaver-proxy.so
%{_libdir}/gnome-settings-daemon-3.0/libsharing.so
%if %{with smartcard}
%{_libdir}/gnome-settings-daemon-3.0/libsmartcard.so
%endif
%{_libdir}/gnome-settings-daemon-3.0/libsound.so
%if 0%{?suse_version} == 1315
%{_libdir}/gnome-settings-daemon-3.0/libupdates.so
%endif
%{_libdir}/gnome-settings-daemon-3.0/libxrandr.so
%{_libdir}/gnome-settings-daemon-3.0/libxsettings.so
%{_sysconfdir}/xdg/autostart/gnome-settings-daemon.desktop
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.enums.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.peripherals.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.peripherals.wacom.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.color.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.datetime.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.housekeeping.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.keyboard.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.media-keys.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.orientation.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.power.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.print-notifications.gschema.xml
# From patch2
#%%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.proxy.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.sharing.gschema.xml
%if 0%{?suse_version} == 1315
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.updates.gschema.xml
%{_datadir}/polkit-1/actions/org.gnome.settings-daemon.plugins.update.policy
%{_libexecdir}/gnome-settings-daemon-3.0/pk-clear-offline-update
%endif
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.xrandr.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.settings-daemon.plugins.xsettings.gschema.xml
%{_datadir}/icons/hicolor/*/apps/gsd-xrandr.*
%{_datadir}/polkit-1/actions/org.gnome.settings-daemon.plugins.power.policy
%{_mandir}/man1/gnome-settings-daemon.1%{?ext_man}
# Own the directory since we can't depend on gconf providing them
%dir %{_datadir}/GConf
%dir %{_datadir}/GConf/gsettings
%{_datadir}/GConf/gsettings/gnome-settings-daemon.convert
%if %{with wacom}
%{_datadir}/polkit-1/actions/org.gnome.settings-daemon.plugins.wacom.policy
%{_libexecdir}/gnome-settings-daemon-3.0/gsd-list-wacom
%{_libexecdir}/gnome-settings-daemon-3.0/gsd-wacom-led-helper
%{_libexecdir}/gnome-settings-daemon-3.0/gsd-wacom-oled-helper
%{_libdir}/gnome-settings-daemon-3.0/libgsdwacom.so
%endif
%{_udevrulesdir}/61-gnome-settings-daemon-rfkill.rules

%files lang -f %{name}.lang

%files devel
%defattr (-, root, root)
%{_includedir}/gnome-settings-daemon-3.0/
%{_libdir}/pkgconfig/gnome-settings-daemon.pc

%changelog