File PolicyKit-doc.spec of Package PolicyKit
#
# spec file for package PolicyKit-doc
#
# Copyright (c) 2011 SUSE LINUX Products 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/
#
%if 0%{?suse_version} > 1100
%bcond_without selinux
%else
%bcond_with selinux
%endif
Name: PolicyKit-doc
%define build_doc 1
BuildRequires: dbus-1-glib-devel fdupes glib2-devel intltool pkg-config
BuildRequires: libexpat-devel pam-devel
%if %{with selinux}
BuildRequires: libselinux-devel
%endif
%if %build_doc
BuildRequires: gtk-doc xmlto
%endif
%if !%build_doc
PreReq: permissions /usr/sbin/groupadd /usr/sbin/useradd
%endif
Url: http://www.freedesktop.org/wiki/Software/PolicyKit
License: MIT License (or similar)
Group: System/Libraries
Version: 0.9
Release: 28
Summary: Authorization Toolkit
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %build_doc
Requires: PolicyKit = %{version}
%else
Requires: ConsoleKit
Requires: dbus-1
Suggests: PolicyKit-doc
%endif
Source: PolicyKit-%{version}.tar.bz2
Source2: baselibs.conf
Source3: 50_PolicyKit
Source4: PolicyKit.conf
Patch0: pedantic-headers.diff
Patch1: PolicyKit-0.9-pidconstraint.diff
Patch2: PolicyKit-0.9-unset-dbus-error-if-caller-has-no-ConsoleKit-session.diff
Patch3: PolicyKit-0.9-unset-dbus-error-if-AuthenticationAgent-is-not-availa.diff
Patch4: PolicyKit-0.9-allow-root-to-obtain-privileges.diff
Patch5: PolicyKit-0.9-dbuspolicy.diff
Patch6: PolicyKit-0.9-polkit_context_is_caller_authorized.diff
Patch7: PolicyKit-0.9-fix-memory-leaks.diff
Patch8: PolicyKit-0.9-NULLwarning.diff
%description
PolicyKit is a toolkit for defining and handling authorizations. It is
used for allowing unprivileged processes to speak to privileged
processes.
%if !%build_doc
%package -n PolicyKit-devel
License: MIT License (or similar)
Summary: Development files for PolicyKit
Group: Development/Libraries/Other
Requires: %{name} = %{version} dbus-1-glib-devel glib2-devel dbus-1-devel
%description -n PolicyKit-devel
This package contains the development files for PolicyKit.
PolicyKit is a toolkit for defining and handling authorizations. It is
used for allowing unprivileged processes to speak to privileged
processes.
%endif
%prep
%setup -q -n PolicyKit-%{version}
%patch0
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%build
%configure \
--disable-static \
--with-pic \
--libexecdir=%{_prefix}/lib/PolicyKit \
%if %build_doc
--docdir=%{_datadir}/doc/packages/PolicyKit \
--enable-man-pages \
--enable-docbook-docs \
%endif
%if %{with selinux}
--enable-selinux \
%endif
--with-os-type=suse
make %{?_smp_mflags}
%install
%makeinstall
%if !%build_doc
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/tmpdirs.d/
mkdir -p $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/
install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/tmpdirs.d/
install -m 644 %{SOURCE4} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/
%endif
%if %build_doc
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/doc/packages/PolicyKit
install -m 644 {README,AUTHORS,ChangeLog,COPYING,NEWS} $RPM_BUILD_ROOT/%{_datadir}/doc/packages/PolicyKit
%endif
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
%fdupes -s $RPM_BUILD_ROOT
%if %build_doc
rm -rf $RPM_BUILD_ROOT/%{_bindir}
rm -rf $RPM_BUILD_ROOT/%{_libdir}
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/PolicyKit
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/dbus-1
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/profile.d
rm -rf $RPM_BUILD_ROOT/%{_prefix}/lib
rm -rf $RPM_BUILD_ROOT/%{_datadir}/PolicyKit
rm -rf $RPM_BUILD_ROOT/%{_datadir}/dbus-1
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/pam.d/polkit
rm -rf $RPM_BUILD_ROOT/%{_includedir}
rm -rf $RPM_BUILD_ROOT/%{_localstatedir}
%else
rm -rf $RPM_BUILD_ROOT%{_datadir}/gtk-doc
%endif
%if !%build_doc
%pre
if
getent group polkituser >/dev/null
then
: OK group polkituser already present
else
/usr/sbin/groupadd -o -r polkituser 2>/dev/null || :
fi
if
getent passwd polkituser >/dev/null
then
: OK user polkituser already present
else
/usr/sbin/useradd -r -g polkituser -c "PolicyKit" -d /var/run/PolicyKit -o polkituser 2>/dev/null || :
fi
%post
/sbin/ldconfig
%run_permissions
# if we got installed after polkit-default-privs we need to run it
if [ -x /sbin/set_polkit_default_privs ]; then
/sbin/set_polkit_default_privs
fi
%verifyscript
%verify_permissions -e %{_prefix}/lib/PolicyKit/polkit-grant-helper
%verify_permissions -e %{_prefix}/lib/PolicyKit/polkit-grant-helper-pam
%verify_permissions -e %{_prefix}/lib/PolicyKit/polkit-set-default-helper
%verify_permissions -e %{_prefix}/lib/PolicyKit/polkit-read-auth-helper
%verify_permissions -e %{_prefix}/lib/PolicyKit/polkit-revoke-helper
%verify_permissions -e %{_prefix}/lib/PolicyKit/polkit-explicit-grant-helper
%verify_permissions -e %{_prefix}/lib/PolicyKit/polkit-resolve-exe-helper
%postun
/sbin/ldconfig
%endif
%if %build_doc
%files
%defattr(-,root,root)
%doc %dir %{_datadir}/doc/packages/PolicyKit/
%doc %{_datadir}/doc/packages/PolicyKit/*
%dir %{_datadir}/gtk-doc/html/polkit
%{_datadir}/gtk-doc/html/polkit/*
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man8/*
%else
%files
%defattr(-,root,root)
%{_bindir}/*
%{_libdir}/lib*.so.*
%dir %{_sysconfdir}/PolicyKit
%{_sysconfdir}/tmpdirs.d/50_PolicyKit
/usr/lib/tmpfiles.d/PolicyKit.conf
%config(noreplace) %{_sysconfdir}/PolicyKit/PolicyKit.conf
%config(noreplace) %{_sysconfdir}/pam.d/polkit
%dir %{_prefix}/lib/PolicyKit
%verify(not mode) %attr(4755,polkituser,root) %{_prefix}/lib/PolicyKit/polkit-set-default-helper
%verify(not mode) %attr(2755,root,polkituser) %{_prefix}/lib/PolicyKit/polkit-read-auth-helper
%verify(not mode) %attr(2755,root,polkituser) %{_prefix}/lib/PolicyKit/polkit-revoke-helper
%verify(not mode) %attr(2755,root,polkituser) %{_prefix}/lib/PolicyKit/polkit-explicit-grant-helper
%verify(not mode) %attr(2755,root,polkituser) %{_prefix}/lib/PolicyKit/polkit-grant-helper
%verify(not mode) %attr(4750,root,polkituser) %{_prefix}/lib/PolicyKit/polkit-grant-helper-pam
%verify(not mode) %attr(0755,root,polkituser) %{_prefix}/lib/PolicyKit/polkit-resolve-exe-helper
%attr(0770,polkituser,polkituser) %dir %ghost %{_localstatedir}/run/PolicyKit
%attr(0770,polkituser,polkituser) %dir %{_localstatedir}/lib/PolicyKit
%attr(0775,polkituser,polkituser) %dir %{_localstatedir}/lib/PolicyKit-public
%attr(0664,polkituser,polkituser) %{_localstatedir}/lib/misc/PolicyKit.reload
%dir %{_datadir}/PolicyKit
%dir %{_datadir}/PolicyKit/policy
%{_datadir}/PolicyKit/policy/org.freedesktop.policykit.policy
%{_datadir}/PolicyKit/config.dtd
%{_datadir}/dbus-1/system-services/org.freedesktop.PolicyKit.service
%config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.PolicyKit.conf
%{_prefix}/lib/PolicyKit/polkitd
%config %attr(644,root,root) %{_sysconfdir}/profile.d/polkit-bash-completion.sh
%files -n PolicyKit-devel
%defattr(-,root,root)
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*
%{_includedir}/*
%{_datadir}/dbus-1/interfaces/org.freedesktop.PolicyKit.AuthenticationAgent.xml
%endif
%changelog