gnome-control-center/gnome-control-center.spec

326 lines
13 KiB
RPMSpec

#
# spec file for package gnome-control-center
#
# 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 enable/disable ibus, as GNOME is rather strict on new versions.
%define with_ibus 1
# Wacom input support
%ifarch s390 s390x
%define with_wacom 0
%else
%define with_wacom 1
%endif
%define with_cacert_patch 0
Name: gnome-control-center
Version: 3.25.91
Release: 0
Summary: The GNOME Control Center
License: GPL-2.0+
Group: System/GUI/GNOME
Url: http://www.gnome.org
Source: https://download.gnome.org/sources/gnome-control-center/3.25/%{name}-%{version}.tar.xz
# PATCH-FEATURE-OPENSUSE gnome-control-center-allow-extra-tools-in-shell.patch fezhang@suse.com -- Add dconf-editor, gnome-tweak-tool, pkg-prefs, itweb-settings, tracker-preferences and Yast to g-c-c.
Patch0: gnome-control-center-allow-extra-tools-in-shell.patch
# PATCH-FEATURE-SLE gnome-control-center-add-alacarte-for-sle.patch badshah400@gmail.com -- Add back alacarte for SLE since they require it for their classic mode, on the other hand for TW and other openSUSE versions it should be enough that alacarte is still available from shell overview, just not in the g-c-c shell. This patch must be applied only if required and then immediately after gnome-control-center-allow-extra-tools-in-shell.patch
Patch100: gnome-control-center-add-alacarte-for-sle.patch
# PATCH-FIX-UPSTREAM gnome-control-center-probe-radius-server-cert.patch bnc#574266 glin@suse.com -- network: Probe the RADIUS server certificate
Patch16: gnome-control-center-probe-radius-server-cert.patch
# PATCH-FEATURE-OPENSUSE gnome-control-center-follow-polkit-permissions-for-tz.patch boo#904058 badshah400@gmail.com -- Follow polkit permissions for allowing/locking timezone setting changes
Patch17: gnome-control-center-follow-polkit-permissions-for-tz.patch
# PATCH-FIX-SLE gnome-control-center-890979-change-remote-passwd.patch bnc#890979 dliang@suse.com -- user: Enable remote user to change password in user panel
Patch18: gnome-control-center-890979-change-remote-passwd.patch
# PATCH-NEEDS-REBASE gnome-control-center-disable-error-message-for-NM.patch bsc#989801 sckang@suse.com -- network: Improve the check for whether NM or wicked is running was:PATCH-FIX-OPENSUSE
Patch20: gnome-control-center-disable-error-message-for-NM.patch
# PATCH-FIX-OPENSUSE gnome-control-center-info-never-use-gnome-software.patch bsc#999336 fezhang@suse.com -- info: Never search for gnome-software as an option when checking for updates on SLE and Leap 42.2, because we use gpk-update-viewer.
Patch21: gnome-control-center-info-never-use-gnome-software.patch
# PATCH-FIX-OPENSUSE gnome-control-center-more-power-button-actions.patch bsc#993381 fezhang@suse.com -- power: Bring back the "shutdown" and "interactive" power button actions.
Patch22: gnome-control-center-more-power-button-actions.patch
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: gnome-common
BuildRequires: intltool
BuildRequires: krb5-devel
%if !0%{?is_opensuse}
BuildRequires: translation-update-upstream
%endif
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(accountsservice) >= 0.6.39
BuildRequires: pkgconfig(cairo-gobject)
BuildRequires: pkgconfig(cheese)
BuildRequires: pkgconfig(cheese-gtk) >= 3.3.91
BuildRequires: pkgconfig(clutter-gtk-1.0)
BuildRequires: pkgconfig(colord) >= 0.1.34
BuildRequires: pkgconfig(colord-gtk) >= 0.1.24
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gconf-2.0)
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= 2.23.0
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glib-2.0) >= 2.53.0
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gnome-bluetooth-1.0) >= 3.18.2
BuildRequires: pkgconfig(gnome-desktop-3.0) >= 3.19.93
BuildRequires: pkgconfig(gnome-settings-daemon) >= 3.25.90
BuildRequires: pkgconfig(goa-1.0) >= 3.25.3
BuildRequires: pkgconfig(goa-backend-1.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(grilo-0.3) >= 0.2.12
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.21.4
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22.0
BuildRequires: pkgconfig(gudev-1.0)
%if %{with_ibus}
BuildRequires: pkgconfig(ibus-1.0) >= 1.5.2
%endif
BuildRequires: pkgconfig(libcanberra-gtk3)
BuildRequires: pkgconfig(libgtop-2.0)
BuildRequires: pkgconfig(libnm) >= 1.2
BuildRequires: pkgconfig(libnm-glib-vpn) >= 1.2
BuildRequires: pkgconfig(libnm-gtk) >= 1.2
BuildRequires: pkgconfig(libnma) >= 1.2
BuildRequires: pkgconfig(libpulse) >= 2.0
BuildRequires: pkgconfig(libpulse-mainloop-glib) >= 2.0
BuildRequires: pkgconfig(libsoup-2.4)
%if %{with_wacom}
BuildRequires: pkgconfig(libwacom) >= 0.7
%endif
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(mm-glib) >= 0.7
BuildRequires: pkgconfig(polkit-gobject-1) >= 0.103
BuildRequires: pkgconfig(pwquality) >= 1.2.2
BuildRequires: pkgconfig(smbclient)
BuildRequires: pkgconfig(upower-glib) >= 0.99.0
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(xi) >= 1.2
# needed for printers panel
Requires: gnome-menus
Requires: gnome-settings-daemon
# needed for universal access panel
Requires: gnome-themes-accessibility
Requires: gnome-version
Requires: iso-codes
# Needed for showing keyboard layout, boo#898096
Requires: libgnomekbd
Recommends: %{name}-lang
Recommends: %{name}-user-faces
# cups-pk-helper should only be recommended, rather than a hard Requires, see boo#904047
Recommends: cups-pk-helper
Recommends: dbus(com.intel.dleyna-server)
# the printers panel can use the dbus service
Recommends: system-config-printer-dbus-service
%if 0%{?is_opensuse}
%if %{with_cacert_patch}
Requires: NetworkManager(cacert-patch)
%endif
%endif
Provides: acme
Provides: fontilus
Provides: themus
Obsoletes: acme
Obsoletes: fontilus
Obsoletes: themus
Provides: control-center2 = 2.22.1
Obsoletes: control-center2 < 2.22.1
# gnome-control-center-branding was obsoleted with g-c-c 3.8.0 (after openSUSE 12.3)
Obsoletes: gnome-control-center-branding <= 12.3
Obsoletes: gnome-control-center-branding-openSUSE <= 12.3
Obsoletes: gnome-control-center-branding-upstream <= 12.3
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires
%description
The control center is GNOME's main interface for configuration of
various aspects of your desktop.
%package user-faces
Summary: Login Managers user avatars
Group: System/GUI/GNOME
%description user-faces
This package provides user avatars to be used by display managers
%package devel
Summary: Header files for the GNOME Control Center
Group: Development/Libraries/GNOME
Requires: %{name} = %{version}
Provides: control-center2-devel = 2.22.1
Obsoletes: control-center2-devel < 2.22.1
%description devel
The control center is GNOME's main interface for configuration of
various aspects of your desktop.
%package color
Summary: Configuration panel for color management
Group: System/GUI/GNOME
Requires: %{name} = %{version}
# The color panel requires colord to be present for the glib schema
Requires: colord
# The color panel interacts with binaries from gnome-color-manager
Requires: gnome-color-manager
Supplements: %{name}
%description color
This package provides the color management configuration panel for
GNOME control center.
%package goa
Summary: Configuration panel for online accounts
Group: System/GUI/GNOME
Requires: %{name} = %{version}
# The online accounts panel interacts with binaries and icons from gnome-online-accounts
Requires: gnome-online-accounts
Supplements: packageand(%{name}:gnome-online-accounts)
%description goa
This package provides the online accounts onfiguration panel for
GNOME control center.
%lang_package
%prep
%setup -q
%if !0%{?is_opensuse}
translation-update-upstream
%endif
%patch0 -p1
# PATCH100 ONLY NEEDED FOR SLES AND TO BE APPLIED IMMEDIATELY AFTER PATCH0
%if 0%{?suse_version} == 1500 && 0%{?sle_version}
%patch100 -p1
%endif
%if %{with_cacert_patch}
%patch16 -p1
%endif
%patch17 -p1
%if ! 0%{?is_opensuse}
%patch18 -p1
%endif
# Needs rebase, again...
#patch20 -p1
%if 0%{?suse_version} == 1500
%patch21 -p1
%patch22 -p1
%endif
%build
ACLOCAL_FLAGS="-I libgd" NOCONFIGURE=1 gnome-autogen.sh
%configure --with-pic\
--disable-static\
--disable-maintainer-mode\
%if %{with_ibus}
--enable-ibus
%else
--disable-ibus
%endif
pushd panels/common
make gsd-common-enums.h
popd
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
# We do not package gnome-control-center.rules (bnc#804966)
rm %{buildroot}%{_datadir}/polkit-1/rules.d/gnome-control-center.rules
%find_lang %{name}-2.0 %{?no_lang_C}
%find_lang %{name}-2.0-timezones %{name}-2.0.lang
%suse_update_desktop_file gnome-control-center
# capplets
%suse_update_desktop_file -n gnome-background-panel X-SuSE-ControlCenter-LookAndFeel
%suse_update_desktop_file -n gnome-bluetooth-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-color-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-datetime-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-display-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-info-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file -n gnome-keyboard-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-mouse-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-network-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-notifications-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file -n gnome-online-accounts-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file -n gnome-power-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-printers-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-privacy-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file -n gnome-region-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file -n gnome-search-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file -n gnome-sharing-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file -n gnome-sound-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file -n gnome-universal-access-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file -n gnome-user-accounts-panel X-SuSE-ControlCenter-Personal
%if %{with_wacom}
%suse_update_desktop_file -n gnome-wacom-panel X-SuSE-ControlCenter-Hardware
%endif
%fdupes %{buildroot}
%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README
%{_bindir}/*
%{_datadir}/appdata/gnome-control-center.appdata.xml
%exclude %{_datadir}/applications/gnome-color-panel.desktop
%exclude %{_datadir}/applications/gnome-online-accounts-panel.desktop
%{_datadir}/applications/*.desktop
%{_datadir}/bash-completion/completions/gnome-control-center
%{_datadir}/dbus-1/services/org.gnome.ControlCenter.service
%{_datadir}/dbus-1/services/org.gnome.ControlCenter.SearchProvider.service
%{_datadir}/gnome-control-center/
%dir %{_datadir}/gnome-shell/
%dir %{_datadir}/gnome-shell/search-providers/
%{_datadir}/gnome-shell/search-providers/gnome-control-center-search-provider.ini
%{_datadir}/icons/hicolor/*/*/*.png
%{_datadir}/icons/hicolor/*/*/*.svg
%{_datadir}/polkit-1/actions/org.gnome.controlcenter.datetime.policy
%{_datadir}/polkit-1/actions/org.gnome.controlcenter.remote-login-helper.policy
%{_datadir}/polkit-1/actions/org.gnome.controlcenter.user-accounts.policy
# We do not package gnome-control-center.rules
#{_datadir}/polkit-1/rules.d/gnome-control-center.rules
%dir %{_datadir}/sounds/gnome
%dir %{_datadir}/sounds/gnome/default
%dir %{_datadir}/sounds/gnome/default/alerts
%{_datadir}/sounds/gnome/default/alerts/*.ogg
%{_libexecdir}/cc-remote-login-helper
%{_libexecdir}/gnome-control-center-search-provider
%{_mandir}/man1/gnome-control-center.1%{?ext_man}
%files lang -f %{name}-2.0.lang
%files user-faces
%defattr (-, root, root)
%{_datadir}/pixmaps/faces/
%files color
%defattr(-,root,root)
%{_datadir}/applications/gnome-color-panel.desktop
%files goa
%defattr(-,root,root)
%{_datadir}/applications/gnome-online-accounts-panel.desktop
%files devel
%defattr (-, root, root)
%{_datadir}/pkgconfig/gnome-keybindings.pc
%{_datadir}/gettext/its/gnome-keybindings.its
%{_datadir}/gettext/its/gnome-keybindings.loc
%changelog