-
+#
# Conditional build:
-%bcond_without apidocs # build without apidocs
+%bcond_without apidocs # build without apidocs
+%bcond_without systemd # use systemd for session tracking instead of ConsoleKit (fallback to ConsoleKit on runtime)
Summary: A framework for defining policy for system-wide components
Summary(pl.UTF-8): Szkielet do definiowania polityki dla komponentów systemowych
Name: polkit
-Version: 0.94
+Version: 0.112
Release: 2
License: LGPL v2+
Group: Libraries
-Source0: http://hal.freedesktop.org/releases/%{name}-%{version}.tar.gz
-# Source0-md5: 5abc9f858e7b614ef41161db36d53915
-URL: http://people.freedesktop.org/~david/polkit-spec.html
+Source0: http://www.freedesktop.org/software/polkit/releases/%{name}-%{version}.tar.gz
+# Source0-md5: b0f2fa00a55f47c6a5d88e9b73f80127
+Patch0: systemd-fallback.patch
+URL: http://www.freedesktop.org/wiki/Software/polkit
BuildRequires: autoconf >= 2.60
BuildRequires: automake >= 1:1.7
-BuildRequires: eggdbus-devel >= 0.5
+BuildRequires: docbook-dtd412-xml
+BuildRequires: docbook-style-xsl
BuildRequires: expat-devel >= 1:1.95.8
BuildRequires: gettext-devel
-BuildRequires: gir-repository-devel
-BuildRequires: glib2-devel >= 1:2.21.4
-BuildRequires: gobject-introspection-devel
+BuildRequires: glib2-devel >= 1:2.32.0
+BuildRequires: glibc-misc
+BuildRequires: gobject-introspection-devel >= 0.6.2
%{?with_apidocs:BuildRequires: gtk-doc >= 1.3}
+BuildRequires: gtk-doc-automake >= 1.3
BuildRequires: intltool >= 0.40.0
+BuildRequires: js185-devel
BuildRequires: libtool
+BuildRequires: libxslt-progs
BuildRequires: pam-devel >= 0.80
BuildRequires: pkgconfig
+BuildRequires: python-modules
+BuildRequires: rpmbuild(macros) >= 1.647
+%{?with_systemd:BuildRequires: systemd-devel}
Requires: %{name}-libs = %{version}-%{release}
+%if %{without systemd}
Requires: ConsoleKit >= 0.4.1
+%else
+Requires: systemd-units >= 38
+%endif
Requires: dbus >= 1.1.2-5
+Obsoletes: PolicyKit
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
PolicyKit is a framework for defining policy for system-wide
-components and for desktop pieces to configure it. It is used by HAL.
+components and for desktop pieces to configure it.
%description -l pl.UTF-8
PolicyKit to szkielet do definiowania polityki dla komponentów
-systemowych oraz składników pulpitu do konfigurowania ich. Jest
-używany przez HAL-a.
+systemowych oraz składników pulpitu do konfigurowania ich.
%package apidocs
Summary: PolicyKit API documentation
Summary(pl.UTF-8): Dokumentacja API PolicyKit
Group: Documentation
Requires: gtk-doc-common
+Obsoletes: PolicyKit-apidocs
%description apidocs
PolicyKit API documentation.
Summary(pl.UTF-8): Biblioteki PolicyKit
Group: Libraries
Requires: dbus-libs >= 1.1.2-5
-Requires: glib2 >= 1:2.18.0
-Conflicts: PolicyKit < 0.1-0.20061203.6
+Requires: glib2 >= 1:2.32.0
+Requires: gobject-introspection
+Obsoletes: PolicyKit-libs
%description libs
PolicyKit libraries.
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
Requires: expat-devel >= 1:1.95.8
-Requires: glib2-devel >= 1:2.18.0
+Requires: glib2-devel >= 1:2.32.0
+Obsoletes: PolicyKit-devel
%description devel
Header files for PolicyKit.
Summary(pl.UTF-8): Statyczne biblioteki PolicyKit
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
+Obsoletes: PolicyKit-static
%description static
Static PolicyKit libraries.
%prep
%setup -q
+%{?with_systemd:%patch0 -p1}
%build
+%{?with_apidocs:%{__gtkdocize}}
%{__intltoolize}
%{__libtoolize}
%{__aclocal}
%{__autoheader}
%{__automake}
%configure \
- --%{!?with_apidocs:dis}%{?with_apidocs:en}able-gtk-doc \
+ %{__enable_disable apidocs gtk-doc} \
+ --disable-silent-rules \
+ %{__enable_disable systemd libsystemd-login} \
--with-html-dir=%{_gtkdocdir} \
--with-pam-include=system-auth \
- --with-pam-module-dir=/%{_lib}/security
-%{__make}
+ --with-pam-module-dir=/%{_lib}/security \
+ --with-polkitd-user=polkitd
+
+%{__make} -j1
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-rm -f $RPM_BUILD_ROOT%{_libdir}/polkit-1/extensions/*.{la,a}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
%find_lang polkit-1
%clean
rm -rf $RPM_BUILD_ROOT
+%pre
+%groupadd -g 283 polkitd
+%useradd -u 283 -s /bin/false -c "polkitd pseudo user" -g polkitd polkitd
+%addusertogroup polkitd proc
+
+%postun
+if [ "$1" = "0" ]; then
+ %userremove polkitd
+ %groupremove polkitd
+fi
+
+%{?with_systemd:%systemd_reload}
+
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files -f polkit-1.lang
%defattr(644,root,root,755)
-%doc AUTHORS README
+%doc AUTHORS NEWS README
%attr(755,root,root) %{_bindir}/pkaction
%attr(755,root,root) %{_bindir}/pkcheck
%attr(4755,root,root) %{_bindir}/pkexec
-%attr(4755,root,root) %{_libexecdir}/polkit-agent-helper-1
-%attr(755,root,root) %{_libexecdir}/polkitd
-%dir %{_libdir}/polkit-1
-%dir %{_libdir}/polkit-1/extensions
-%attr(755,root,root) %{_libdir}/polkit-1/extensions/libnullbackend.so
-%attr(755,root,root) %{_libdir}/polkit-1/extensions/libpkexec-action-lookup.so
+%attr(755,root,root) %{_bindir}/pkttyagent
+%attr(755,root,root) %{_bindir}/pk-example-frobnicate
+%dir %{_prefix}/lib/polkit-1
+%attr(4755,root,root) %{_prefix}/lib/polkit-1/polkit-agent-helper-1
+%attr(755,root,root) %{_prefix}/lib/polkit-1/polkitd
%dir %{_sysconfdir}/polkit-1
-%dir %{_sysconfdir}/polkit-1/localauthority.conf.d
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/polkit-1/localauthority.conf.d/*.conf
-%dir %{_sysconfdir}/polkit-1/nullbackend.conf.d
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/polkit-1/nullbackend.conf.d/*.conf
+%attr(700,polkitd,root) %dir %{_sysconfdir}/polkit-1/rules.d
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/polkit-1/rules.d/50-default.rules
/etc/dbus-1/system.d/org.freedesktop.PolicyKit1.conf
/etc/pam.d/polkit-1
-%{_datadir}/polkit-1
+%dir %{_datadir}/polkit-1
+%{_datadir}/polkit-1/actions
+%attr(700,polkitd,root) %dir %{_datadir}/polkit-1/rules.d
%{_datadir}/dbus-1/system-services/org.freedesktop.PolicyKit1.service
-%attr(700,root,root) %dir /var/lib/polkit-1
+%{?with_systemd:%{systemdunitdir}/polkit.service}
%{_mandir}/man1/pkaction.1*
%{_mandir}/man1/pkcheck.1*
%{_mandir}/man1/pkexec.1*
-%{_mandir}/man8/pklocalauthority.8*
+%{_mandir}/man1/pkttyagent.1*
%{_mandir}/man8/polkit.8*
%{_mandir}/man8/polkitd.8*
%doc COPYING
%attr(755,root,root) %{_libdir}/libpolkit-agent-1.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libpolkit-agent-1.so.0
-%attr(755,root,root) %{_libdir}/libpolkit-backend-1.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpolkit-backend-1.so.0
%attr(755,root,root) %{_libdir}/libpolkit-gobject-1.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libpolkit-gobject-1.so.0
-%{_libdir}/girepository-1.0/*.typelib
+%{_libdir}/girepository-1.0/Polkit-1.0.typelib
+%{_libdir}/girepository-1.0/PolkitAgent-1.0.typelib
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/pk-example-frobnicate
%attr(755,root,root) %{_libdir}/libpolkit-agent-1.so
-%attr(755,root,root) %{_libdir}/libpolkit-backend-1.so
%attr(755,root,root) %{_libdir}/libpolkit-gobject-1.so
-%{_libdir}/libpolkit-agent-1.la
-%{_libdir}/libpolkit-backend-1.la
-%{_libdir}/libpolkit-gobject-1.la
%{_includedir}/polkit-1
%{_pkgconfigdir}/polkit-agent-1.pc
-%{_pkgconfigdir}/polkit-backend-1.pc
%{_pkgconfigdir}/polkit-gobject-1.pc
-%{_datadir}/gir-1.0/*.gir
+%{_datadir}/gir-1.0/Polkit-1.0.gir
+%{_datadir}/gir-1.0/PolkitAgent-1.0.gir
%files static
%defattr(644,root,root,755)
%{_libdir}/libpolkit-agent-1.a
-%{_libdir}/libpolkit-backend-1.a
%{_libdir}/libpolkit-gobject-1.a