Marcus Meissner
2b176576d5
- Use gettext as fallback to get potential distro translations for polkit actions. Similar mechnism as used for desktop file translations. That way it's possible to use weblate to add additional translations that are not provided by upstream (polkit-gettext.patch). OBS-URL: https://build.opensuse.org/request/show/503447 OBS-URL: https://build.opensuse.org/package/show/Base:System/polkit?expand=0&rev=113
263 lines
8.1 KiB
RPMSpec
263 lines
8.1 KiB
RPMSpec
#
|
|
# spec file for package polkit
|
|
#
|
|
# 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/
|
|
#
|
|
|
|
|
|
%define with_systemd 1
|
|
|
|
Name: polkit
|
|
Summary: PolicyKit Authorization Framework
|
|
License: LGPL-2.1+
|
|
Group: System/Libraries
|
|
Version: 0.113
|
|
Release: 0
|
|
Url: http://www.freedesktop.org/wiki/Software/polkit/
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
Source0: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz
|
|
Source1: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz.sign
|
|
Source2: %name.keyring
|
|
Source99: baselibs.conf
|
|
# PATCH-FIX-OPENSUSE polkit-no-wheel-group.patch vuntz@opensuse.org -- In openSUSE, there's no special meaning for the wheel group, so we shouldn't allow it to be admin
|
|
Patch0: polkit-no-wheel-group.patch
|
|
# PATCH-FIX-UPSTREAM polkit-no-systemd.patch bnc#782395 fdo#55377 vuntz@opensuse.org -- Do not reference non-existing polkit.service file for systemd (only applied if not built with systemd support)
|
|
Patch1: polkit-no-systemd.patch
|
|
# PATCH-REVERT-UPSTREAM polkit-revert-session-magic.patch various bugs meissner -- systemd session magic was not updating the user seats correctly
|
|
Patch2: polkit-revert-session-magic.patch
|
|
# PATCH-FIX-OPENSUSE polkit-gettext.patch lnussel@suse.de -- allow fallback to gettext for polkit action translations
|
|
Patch3: polkit-gettext.patch
|
|
# needed for patch1
|
|
BuildRequires: autoconf
|
|
# needed for patch1
|
|
BuildRequires: automake
|
|
BuildRequires: glib2-devel >= 2.30.0
|
|
BuildRequires: gobject-introspection-devel >= 0.6.2
|
|
BuildRequires: gtk-doc
|
|
# gtk-doc drags indirectyly ruby in for one of the helpers. This in turn causes a build cycle.
|
|
#!BuildIgnore: ruby
|
|
BuildRequires: intltool
|
|
BuildRequires: libexpat-devel
|
|
# needed for patch1 and patch3
|
|
BuildRequires: libtool
|
|
BuildRequires: pam-devel
|
|
%if 0%{?with_systemd}
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: pkgconfig(libsystemd)
|
|
BuildRequires: pkgconfig(systemd)
|
|
%endif
|
|
%if 0%{?suse_version} >= 1310
|
|
BuildRequires: pkgconfig(mozjs-17.0)
|
|
%else
|
|
BuildRequires: pkgconfig(mozjs185)
|
|
%endif
|
|
PreReq: permissions pwdutils
|
|
%if ! %{with_systemd}
|
|
Requires: ConsoleKit
|
|
%endif
|
|
Requires: dbus-1
|
|
Requires: libpolkit0 = %{version}-%{release}
|
|
%if %{with_systemd}
|
|
%systemd_requires
|
|
%endif
|
|
|
|
# Upstream First - Policy:
|
|
# Never add any patches to this package without the upstream commit id
|
|
# in the patch. Any patches added here without a very good reason to make
|
|
# an exception will be silently removed with the next version update.
|
|
|
|
%description
|
|
PolicyKit is a toolkit for defining and handling authorizations.
|
|
It is used for allowing unprivileged processes to speak to privileged
|
|
processes.
|
|
|
|
%package devel
|
|
Summary: Development files for PolicyKit
|
|
Group: Development/Libraries/C and C++
|
|
Requires: %name = %{version}-%{release}
|
|
Requires: libpolkit0 = %{version}
|
|
Requires: pkgconfig
|
|
Requires: typelib-1_0-Polkit-1_0 = %{version}
|
|
|
|
%description devel
|
|
Development files for PolicyKit Authorization Framework.
|
|
|
|
%package doc
|
|
Summary: Development documentation for PolicyKit
|
|
Group: Development/Libraries/C and C++
|
|
%if 0%{?suse_version} >= 1120
|
|
BuildArch: noarch
|
|
%endif
|
|
|
|
%description doc
|
|
Development documentation for PolicyKit Authorization Framework.
|
|
|
|
%package -n libpolkit0
|
|
Summary: PolicyKit Authorization Framework -- Libraries
|
|
Group: System/Libraries
|
|
Requires: %{name} >= %{version}
|
|
|
|
%description -n libpolkit0
|
|
PolicyKit is a toolkit for defining and handling authorizations.
|
|
It is used for allowing unprivileged processes to speak to privileged
|
|
processes.
|
|
|
|
This package contains the libraries only.
|
|
|
|
%package -n typelib-1_0-Polkit-1_0
|
|
Summary: PolicyKit Authorization Framework -- Introspection bindings
|
|
Group: System/Libraries
|
|
|
|
%description -n typelib-1_0-Polkit-1_0
|
|
PolicyKit is a toolkit for defining and handling authorizations.
|
|
It is used for allowing unprivileged processes to speak to privileged
|
|
processes.
|
|
|
|
This package provides the GObject Introspection bindings for PolicyKit.
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch0 -p1
|
|
%if !(0%{?with_systemd})
|
|
%patch1 -p1
|
|
%endif
|
|
%patch2 -p1 -R
|
|
%patch3 -p1
|
|
|
|
%build
|
|
export V=1
|
|
# needed for patch1
|
|
autoreconf -fi
|
|
export SUID_CFLAGS="-fPIE"
|
|
export SUID_LDFLAGS="-z now -pie"
|
|
%configure \
|
|
--with-os-type=suse \
|
|
--enable-gtk-doc \
|
|
--with-pic \
|
|
--disable-static \
|
|
--enable-introspection \
|
|
--enable-examples \
|
|
%if 0%{?with_systemd}
|
|
--enable-libsystemd-login \
|
|
%else
|
|
--disable-libsystemd-login \
|
|
%endif
|
|
--libexecdir=%{_libexecdir}/polkit-1
|
|
make %{?_smp_mflags}
|
|
|
|
%install
|
|
%make_install
|
|
rm $RPM_BUILD_ROOT%{_libdir}/*.la
|
|
# create $HOME for polkit user
|
|
install -d %{buildroot}%{_localstatedir}/lib/polkit
|
|
%find_lang polkit-1
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%pre
|
|
getent group polkitd > /dev/null || groupadd -r polkitd
|
|
getent passwd polkitd > /dev/null || useradd -r -g polkitd -d %{_localstatedir}/lib/polkit -s /sbin/nologin -c "User for polkitd" polkitd
|
|
%if %{with_systemd}
|
|
%service_add_pre polkit.service
|
|
%endif
|
|
exit 0
|
|
|
|
%if %{with_systemd}
|
|
%preun
|
|
%service_del_preun polkit.service
|
|
|
|
%postun
|
|
%service_del_postun polkit.service
|
|
%endif
|
|
|
|
%post
|
|
%set_permissions %{_bindir}/pkexec
|
|
%set_permissions %{_prefix}/lib/polkit-1/polkit-agent-helper-1
|
|
%if %{with_systemd}
|
|
%service_add_post polkit.service
|
|
%endif
|
|
|
|
%verifyscript
|
|
%verify_permissions -e %{_bindir}/pkexec
|
|
%verify_permissions -e %{_prefix}/lib/polkit-1/polkit-agent-helper-1
|
|
|
|
%post -n libpolkit0 -p /sbin/ldconfig
|
|
|
|
%postun -n libpolkit0 -p /sbin/ldconfig
|
|
|
|
%files -n libpolkit0
|
|
%defattr(-,root,root,-)
|
|
%{_libdir}/libpolkit-agent-1.so.*
|
|
%{_libdir}/libpolkit-gobject-1.so.*
|
|
|
|
%files -n typelib-1_0-Polkit-1_0
|
|
%defattr(-,root,root,-)
|
|
%{_libdir}/girepository-1.0/Polkit-1.0.typelib
|
|
%{_libdir}/girepository-1.0/PolkitAgent-1.0.typelib
|
|
|
|
%files -f polkit-1.lang
|
|
%defattr(-,root,root,-)
|
|
%doc COPYING
|
|
%{_mandir}/man1/pkexec.1%{?ext_man}
|
|
%{_mandir}/man1/pkaction.1%{?ext_man}
|
|
%{_mandir}/man1/pkcheck.1%{?ext_man}
|
|
%{_mandir}/man1/pkttyagent.1%{?ext_man}
|
|
%{_mandir}/man8/polkitd.8%{?ext_man}
|
|
%{_mandir}/man8/polkit.8%{?ext_man}
|
|
%dir %{_datadir}/dbus-1
|
|
%dir %{_datadir}/dbus-1/system-services
|
|
%{_datadir}/dbus-1/system-services/org.freedesktop.PolicyKit1.service
|
|
%dir %{_datadir}/polkit-1
|
|
%dir %{_datadir}/polkit-1/actions
|
|
%{_datadir}/polkit-1/actions/org.freedesktop.policykit.policy
|
|
%attr(0700,polkitd,root) %dir %{_datadir}/polkit-1/rules.d
|
|
%dir %{_sysconfdir}/dbus-1
|
|
%dir %{_sysconfdir}/dbus-1/system.d
|
|
%config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.PolicyKit1.conf
|
|
%config %{_sysconfdir}/pam.d/polkit-1
|
|
%dir %{_sysconfdir}/polkit-1
|
|
%attr(0700,polkitd,root) %dir %{_sysconfdir}/polkit-1/rules.d
|
|
%config %{_sysconfdir}/polkit-1/rules.d/50-default.rules
|
|
%{_bindir}/pkaction
|
|
%{_bindir}/pkcheck
|
|
%verify(not mode) %attr(4755,root,root) %{_bindir}/pkexec
|
|
%{_bindir}/pkttyagent
|
|
%dir %{_libexecdir}/polkit-1
|
|
%{_libexecdir}/polkit-1/polkitd
|
|
%verify(not mode) %attr(4755,root,root) %{_prefix}/lib/polkit-1/polkit-agent-helper-1
|
|
# $HOME for polkit user
|
|
%dir %{_localstatedir}/lib/polkit
|
|
%if %{with_systemd}
|
|
%{_unitdir}/polkit.service
|
|
%endif
|
|
|
|
%files devel
|
|
%defattr(-,root,root,-)
|
|
%{_libdir}/libpolkit-agent-1.so
|
|
%{_libdir}/libpolkit-gobject-1.so
|
|
%{_libdir}/pkgconfig/polkit-agent-1.pc
|
|
%{_libdir}/pkgconfig/polkit-gobject-1.pc
|
|
%{_includedir}/polkit-1/
|
|
%{_bindir}/pk-example-frobnicate
|
|
%{_datadir}/gir-1.0/*.gir
|
|
%{_datadir}/polkit-1/actions/org.freedesktop.policykit.examples.pkexec.policy
|
|
|
|
%files doc
|
|
%defattr(-,root,root,-)
|
|
%doc NEWS
|
|
%doc %{_datadir}/gtk-doc/html/polkit-1/
|
|
|
|
%changelog
|