File gnome-control-center.spec of Package gnome-control-center.10840

#
# spec file for package gnome-control-center
#
# Copyright (c) 2019 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, 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-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-NEEDS-REBASE gnome-control-center-system-proxy-configuration.patch federico@gnome.org -- Integrate openSUSE's network proxy configuration with GNOME's. Was: # PATCH-FEATURE-OPENSUSE
Patch14:        gnome-control-center-system-proxy-configuration.patch
# PATCH-FIX-SLE gcc-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- network: create private connections if the user if not authorized
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
# PATCH-FIX-OPENSUSE 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
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-fix-mobile-network-list.patch bsc#870795 sckang@suse.com -- network: Fix created mobile network not showing in the network list
Patch22:        gnome-control-center-fix-mobile-network-list.patch
# PATCH-FIX-SLE gnome-control-center-bsc1003069-default-to-private-credentials.patch bsc#1003069 hpj@suse.com -- Default to storing creds in encrypted keyring.
Patch23:        gnome-control-center-bsc1003069-default-to-private-credentials.patch
# PATCH-FIX-UPSTREAM gnome-control-center-fix-mobile-switch-button.patch bgo#690361, bsc#997832 sckang@suse.com -- network: Fix broken switch button in mobile network page
Patch24:        gnome-control-center-fix-mobile-switch-button.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.
Patch25:        gnome-control-center-more-power-button-actions.patch
# PATCH-FIX-UPSTREAM gnome-control-center-info-disc-size-for-btrfs.patch bsc#890385 bsc#1037234 bgo#708786 fezhang@suse.com -- info: Fix total disc size for btrfs subvolumes
Patch26:        gnome-control-center-info-disc-size-for-btrfs.patch
# PATCH-FIX-UPSTREAM gnome-control-center-remove-implicit-language-setting.patch bsc#1078968 qkzhu@suse.com -- user-accounts: remove implicit language setting when a new user navigating the user panel at the first time (commit a1066a2)
Patch27:        gnome-control-center-remove-implicit-language-setting.patch
# PATCH-FIX-UPSTREAM control-center-network-fix-ce-apply-button.patch glgo#GNOME/gnome-control-center!402 bsc#1040054 sckang@suse.com -- network: disable the "Apply" button until a change has been made
Patch28:        control-center-network-fix-ce-apply-button.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.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)
%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} == 1315 && 0%{?sle_version}
%patch100 -p1
%endif
%patch1 -p1
%patch15 -p1
%if %{with_cacert_patch}
%patch16 -p1
%endif
%patch17 -p1
%if ! 0%{?is_opensuse}
%patch18 -p1
%endif
#NEEDS-REBASE
#patch14 -p1
%patch19 -p1
%patch20 -p1
%if 0%{?suse_version} == 1315
%patch21 -p1
%endif
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -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