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

335 lines
14 KiB
RPMSpec
Raw Normal View History

#
# spec file for package gnome-control-center
#
# Copyright (c) 2016 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 1
Name: gnome-control-center
Version: 3.20.1
Release: 0
Summary: The GNOME Control Center
License: GPL-2.0+
Group: System/GUI/GNOME
Url: http://www.gnome.org
Source: http://download.gnome.org/sources/gnome-control-center/3.20/%{name}-%{version}.tar.xz
# PATCH-FEATURE-OPENSUSE gnome-control-center-allow-extra-tools-in-shell.patch fezhang@suse.com -- Add dconf-editor, pkg-prefs, gnome-tweak-tool and tracker-preferences to gnome-control-center-allow-yast-in-shell.patch so that they can launch from g-c-c shell like YaST does. Also change the patch with a more generic name.
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-FEATURE-OPENSUSE gnome-control-center-hide-firewall-zone-entry.patch bnc#894394 fezhang@suse.com -- network: hide the firewall zone entry for firewalld, which is not used in opensuse
Patch1: gnome-control-center-hide-firewall-zone-entry.patch
# PATCH-FEATURE-OPENSUSE gnome-control-center-allow-yast-in-shell.patch vuntz@opensuse.org -- Allow the launch of the yast shell from the g-c-c shell; it's quite ugly, but on the other hand, we don't want to change the behavior of the shell except for yast...
Patch14: gnome-control-center-system-proxy-configuration.patch
# PATCH-NEEDS-REBASE gcc-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- network: create private connections if the user if not authorized (WAS: PATCH-FIX-UPSTREAM)
Patch15: gcc-private-connection.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-FIX-UPSTREAM gnome-control-center-touchpad-wayland-cap.patch bgo#765879 zaitor@opensuse.org -- mouse: Make touchpad capability checking on wayland work as intended
Patch19: gnome-control-center-touchpad-wayland-cap.patch
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: gnome-common
BuildRequires: intltool
BuildRequires: krb5-devel
BuildRequires: translation-update-upstream
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.44.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.19.1
BuildRequires: pkgconfig(goa-1.0) >= 3.15.1
BuildRequires: pkgconfig(goa-backend-1.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(grilo-0.3)
BuildRequires: pkgconfig(gsettings-desktop-schemas) >= 3.19.3
BuildRequires: pkgconfig(gtk+-3.0) >= 3.20.3
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-glib) >= 0.9.8
BuildRequires: pkgconfig(libnm-glib-vpn) >= 0.9.8
BuildRequires: pkgconfig(libnm-gtk) >= 0.9.8
BuildRequires: pkgconfig(libpulse) >= 2.0
BuildRequires: pkgconfig(libpulse-mainloop-glib) >= 2.0
BuildRequires: pkgconfig(libsoup-2.4)
BuildRequires: pkgconfig(libsystemd-login)
%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 glxinfo, used by System info panel
Requires: Mesa-demo-x
# 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 %{with_cacert_patch}
Requires: NetworkManager(cacert-patch)
%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
translation-update-upstream
%patch0 -p1
# PATCH100 ONLY NEEDED FOR SLES AND TO BE APPLIED IMMEDIATELY AFTER PATCH0
%if 0%{?suse_version} == 1315 && 0%{?sle_version}
%patch100 -p1
%endif
%patch1 -p1
# PATCH-NEEDS-REBASE - and g-c-c code seems to be moving in "our" direction see bgo#751378
#patch15 -p1
%if %{with_cacert_patch}
%patch16 -p1
%endif
%patch17 -p1
%if ! 0%{?is_opensuse}
%patch18 -p1
%endif
#NEEDS-REBASE
#patch14 -p1
%patch19 -p1
%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} V=1
%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}
%clean
rm -rf %{buildroot}
%post
%glib2_gsettings_schema_post
%desktop_database_post
%icon_theme_cache_post
%postun
%glib2_gsettings_schema_postun
%desktop_database_postun
%icon_theme_cache_postun
%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
%changelog