-# TODO:
-# - polkit user/group
+# TODO: package bash-completion in proper way
+# nothing owns %{_datadir}/dbus-1/interfaces dir
Summary: A framework for defining policy for system-wide components
Summary(pl.UTF-8): Szkielet do definiowania polityki dla komponentów systemowych
Name: PolicyKit
-Version: 0.3
-Release: 1
-License: GPL v2
+Version: 0.7
+Release: 2
+License: MIT
Group: Libraries
-Source0: http://people.freedesktop.org/~david/dist/%{name}-%{version}.tar.gz
-# Source0-md5: 8d61312abb40227a8487433872063ccf
+Source0: http://hal.freedesktop.org/releases/%{name}-%{version}.tar.gz
+# Source0-md5: 99e0cc588310656fa25f8f66a411c71f
+Patch0: %{name}-xfs.patch
URL: http://people.freedesktop.org/~david/polkit-spec.html
BuildRequires: autoconf >= 2.60
-BuildRequires: automake
+BuildRequires: automake >= 1:1.7
BuildRequires: dbus-devel >= 1.0
-BuildRequires: expat-devel >= 1.95.8
+BuildRequires: dbus-glib-devel >= 0.73
+BuildRequires: expat-devel >= 1:1.95.8
BuildRequires: glib2-devel >= 1:2.6.0
BuildRequires: gtk-doc >= 1.3
+BuildRequires: libselinux-devel >= 1.30
BuildRequires: libtool
BuildRequires: pam-devel >= 0.80
BuildRequires: pkgconfig
BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: xmlto
-Requires(post,preun): /sbin/chkconfig
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/lib/rpm/user_group.sh
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Requires(pre): /usr/sbin/usermod
+Requires(triggerpostun): /sbin/chkconfig
Requires: %{name}-libs = %{version}-%{release}
-Requires: dbus-libs >= 0.60
-Requires: glib2 >= 1:2.6.0
-Requires: rc-scripts
+Requires: ConsoleKit >= 0.2.1
+Provides: group(polkituser)
+Provides: user(polkituser)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _libexecdir %{_libdir}/%{name}
+
%description
PolicyKit is a framework for defining policy for system-wide
components and for desktop pieces to configure it. It is used by HAL.
%package libs
Summary: PolicyKit libraries
Summary(pl.UTF-8): Biblioteki PolicyKit
-License: AFL v2.1 or GPL v2
Group: Libraries
+Requires: dbus-libs >= 1.0
+Requires: glib2 >= 1:2.6.0
Conflicts: PolicyKit < 0.1-0.20061203.6
%description libs
%package devel
Summary: Header files for PolicyKit
Summary(pl.UTF-8): Pliki nagłówkowe PolicyKit
-License: AFL v2.1 or GPL v2
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
+Requires: expat-devel >= 1:1.95.8
+# polkit-grant
+#Requires: glib2-devel >= 1:2.6.0
+# polkit-dbus and polkit-grant
+#Requires: dbus-devel >= 1.0
+# polkit-dbus
+#Requires: libselinux-devel >= 1.30
%description devel
Header files for PolicyKit.
%package static
Summary: Static PolicyKit libraries
Summary(pl.UTF-8): Statyczne biblioteki PolicyKit
-License: AFL v2.1 or GPL v2
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%prep
%setup -q
+%patch0 -p0
%build
%{__libtoolize}
%{__automake}
%configure \
--with-html-dir=%{_gtkdocdir} \
+ --with-pam-include=system-auth \
--with-pam-module-dir=/%{_lib}/security
%{__make} -j1
%clean
rm -rf $RPM_BUILD_ROOT
-%triggerpostun -- PolicyKit < 0.3
+%triggerun -- PolicyKit < 0.3
%service -q PolicyKit stop
/sbin/chkconfig --del PolicyKit
+%pre
+%groupadd -g 220 polkituser
+%useradd -u 220 -d %{_datadir}/empty -c "PolicyKit User" -g polkituser polkituser
+
+%post
+umask 022
+touch /var/lib/misc/PolicyKit.reload
+chown root:polkituser /var/lib/misc/PolicyKit.reload
+chmod 664 /var/lib/misc/PolicyKit.reload
+
+%postun
+if [ "$1" = "0" ]; then
+ %userremove polkituser
+ %groupremove polkituser
+fi
+
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc AUTHORS README doc/TODO
-%attr(755,root,root) %{_bindir}/polkit-*
-%dir %{_libdir}/PolicyKit
-%dir %{_libdir}/PolicyKit/modules
-%attr(755,root,root) %{_libdir}/PolicyKit/modules/polkit*.so
-#%attr(2755,root,polkit) %{_libdir}/polkit-grant-helper
-%attr(755,root,root) %{_libdir}/polkit-grant-helper
-%{_sysconfdir}/PolicyKit
+%attr(755,root,root) %{_bindir}/polkit-action
+%attr(755,root,root) %{_bindir}/polkit-auth
+%attr(755,root,root) %{_bindir}/polkit-config-file-validate
+%attr(755,root,root) %{_bindir}/polkit-policy-file-validate
+%dir %{_libexecdir}
+%attr(2755,root,polkituser) %{_libexecdir}/polkit-explicit-grant-helper
+%attr(2755,root,polkituser) %{_libexecdir}/polkit-grant-helper
+%attr(4754,root,polkituser) %{_libexecdir}/polkit-grant-helper-pam
+%attr(2755,root,polkituser) %{_libexecdir}/polkit-read-auth-helper
+%attr(2755,root,polkituser) %{_libexecdir}/polkit-revoke-helper
+%attr(2755,root,polkituser) %{_libexecdir}/polkit-set-default-helper
+%attr(755,root,root) %{_libexecdir}/polkitd
+%dir %{_sysconfdir}/PolicyKit
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/PolicyKit/PolicyKit.conf
+/etc/dbus-1/system.d/org.freedesktop.PolicyKit.conf
/etc/pam.d/polkit
-#%attr(775,polkit,polkit) /var/lib/PolicyKit
-#%attr(775,polkit,polkit) /var/run/PolicyKit
-%{_mandir}/man1/*
-%{_mandir}/man8/*
+%{_datadir}/PolicyKit
+%{_datadir}/dbus-1/interfaces/org.freedesktop.PolicyKit.AuthenticationAgent.xml
+%{_datadir}/dbus-1/system-services/org.freedesktop.PolicyKit.service
+%attr(664,root,polkituser) %ghost /var/lib/misc/PolicyKit.reload
+%attr(770,root,polkituser) /var/lib/PolicyKit
+%attr(775,root,polkituser) /var/lib/PolicyKit-public
+%attr(770,root,polkituser) /var/run/PolicyKit
+%{_mandir}/man1/polkit-action.1*
+%{_mandir}/man1/polkit-auth.1*
+%{_mandir}/man1/polkit-config-file-validate.1*
+%{_mandir}/man1/polkit-policy-file-validate.1*
+%{_mandir}/man5/PolicyKit.conf.5*
+%{_mandir}/man8/PolicyKit.8*
%files apidocs
%defattr(644,root,root,755)
%{_gtkdocdir}/polkit
-%{_gtkdocdir}/polkit-dbus
-%{_gtkdocdir}/polkit-grant
%files libs
%defattr(644,root,root,755)
# notes which license applies to which package part, AFL text (and GPL text copy)
%doc COPYING
%attr(755,root,root) %{_libdir}/libpolkit.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpolkit.so.2
%attr(755,root,root) %{_libdir}/libpolkit-dbus.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpolkit-dbus.so.2
%attr(755,root,root) %{_libdir}/libpolkit-grant.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpolkit-grant.so.2
%files devel
%defattr(644,root,root,755)
%{_pkgconfigdir}/polkit.pc
%{_pkgconfigdir}/polkit-dbus.pc
%{_pkgconfigdir}/polkit-grant.pc
-%{_gtkdocdir}/polkit
%files static
%defattr(644,root,root,755)