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
openSUSE Build Service is sponsored by