File PolicyKit.spec of Package PolicyKit

#
# spec file for package PolicyKit (Version 0.6)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild

Name:           PolicyKit
%define         build_doc 0
BuildRequires:  dbus-1-glib-devel fdupes glib2-devel pkg-config
BuildRequires:  libexpat-devel pam-devel
%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/hal
License:        GPL v2 only
Group:          System/Libraries
Version:        0.6
Release:        1.1
AutoReqProv:    on
Summary:        PolicyKit
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if %build_doc
Requires:       PolicyKit = %{version}
%else
Requires:       ConsoleKit
%endif
Source:         PolicyKit-%{version}.tar.bz2

%description
PolicyKit is a toolkit for defining and handling the policy that allows
unprivileged processes to speak to privileged processes.



Authors:
--------
    David Zeuthen <davidz@redhat.com>

%if !%build_doc
%package -n PolicyKit-devel
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.



Authors:
--------
    David Zeuthen <davidz@redhat.com>

%endif
%prep
%setup -q -n PolicyKit-%{version}

%build
autoreconf -fi
%configure \
	--libexecdir=%{_libexecdir}/PolicyKit \
%if %build_doc
	--docdir=%{_datadir}/doc/packages/PolicyKit \
        --enable-man-pages \
	--enable-docbook-docs \
%endif
	--with-os-type=suse
make

%install
%makeinstall
%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
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
chmod 0755 $RPM_BUILD_ROOT%{_libexecdir}/PolicyKit/polkit-grant-helper
%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/%{_libexecdir}
rm -rf $RPM_BUILD_ROOT/%{_datadir}/PolicyKit
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

%clean
rm -rf $RPM_BUILD_ROOT
%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
%verifyscript
%verify_permissions -e %{_libexecdir}/polkit-grant-helper
%verify_permissions -e %{_libexecdir}/polkit-grant-helper-pam

%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
%config(noreplace) %{_sysconfdir}/PolicyKit/PolicyKit.conf
%config(noreplace) %{_sysconfdir}/pam.d/polkit
%dir %{_libexecdir}/PolicyKit
%verify(not mode) %attr(0755,root,polkituser) %{_libexecdir}/PolicyKit/polkit-grant-helper
%verify(not mode) %attr(0755,root,root) %{_libexecdir}/PolicyKit/polkit-grant-helper-pam
%attr(0775,polkituser,polkituser) %dir %{_localstatedir}/run/PolicyKit
%attr(0775,polkituser,polkituser) %dir %{_localstatedir}/lib/PolicyKit
%dir %{_datadir}/PolicyKit
%dir %{_datadir}/PolicyKit/policy
%{_datadir}/PolicyKit/config.dtd

%files -n PolicyKit-devel
%defattr(-,root,root)
%{_libdir}/lib*.so
%{_libdir}/pkgconfig/*
%{_includedir}/*
%endif
%changelog
* Wed Oct 17 2007 dkukawka@suse.de
- updated to v0.6:
  - This is the fourth release of PolicyKit. There are no major
    changes since 0.5 expect
    a) better handling of unknown XML tags in the config and policy
    files (we simply ignore unknown sub-trees) to make it easier to
    add features in the future;
    b) native support for more distributions; and
    c) the addition of a <allow_any> tag to the .policy files.
- removed all previous patches
- moved man pages to -doc package due to dependency to xsltproc
* Sat Aug 11 2007 aj@suse.de
- Make separate spec file for PolicyKit-doc so that PolicyKit does
  not require TeX for building.
* Sat Aug 11 2007 meissner@suse.de
- binaries are packed with permissions in "secure" mode.
- run fdupes
- require dbus-1-devel in -devel too
* Fri Aug 10 2007 coolo@suse.de
- remove Permissions script - went to permissions
* Fri Aug  3 2007 dkukawka@suse.de
- added already upstream send patches:
  - polkit-allow-DBus_v0.61.diff: allow build against same DBus
    versions as HAL
  - polkit-fix-code_docu.diff
  - polkit-fix-compilerWarning.diff
  - polkit-fix-struct_naming.diff
  - polkit-fix-uid_t-compilerwarning.diff
* Tue Jul 31 2007 kay.sievers@suse.de
- update to git HEAD
  move PAM stack usage to very tiny separate setuid root helper
  add waitpid() to get SIGCHLD in error path handling
* Sun Jul 29 2007 kay.sievers@suse.de
- add /etc/permissions.d/PolicyKit and enable setguid for helper
* Sun Jul 29 2007 kay.sievers@suse.de
- configure --with-os-type=suse
- install helper binaries in %%{_libexecdir}/PolicyKit/
* Fri Jul 27 2007 kay.sievers@suse.de
- update to version 0.4
  complete rewrite, not a daemon anymore
- BETA checkin to prepare HAL and resmgr update
  "chmod 2775 /usr/lib(64)/polkit-grant-helper"
  is needed for now, until /etc/permissions.secure is updated
* Thu Mar  8 2007 lrupp@suse.de
- remove obsolete %%pre section
* Wed Mar  7 2007 sbrabec@suse.cz
- Created -devel and -doc subpackage (#248813).
* Fri Mar  2 2007 ro@suse.de
- do not rebuild docu, remove xmlto from build requires
  (causes extreme build dependencies)
* Mon Nov 27 2006 dmueller@suse.de
- install documentation in %%_docdir, not somewhere else
* Tue Nov 14 2006 lnussel@suse.de
- also restart resmgr after PolicyKit restart in order to restore
  desktop-console settings (#220265)
* Sun Nov 12 2006 dkukawka@suse.de
- fixed bugs:
  - b.n.c #216805: added policykitd to runlevel 2
* Thu Oct 26 2006 lnussel@suse.de
- fix pam config by telling configure that we are on suse (#203526)
* Wed Oct 25 2006 thoenig@suse.de
- Add patch: PolicyKit-dbus-reconnect-thoenig-01.patch: Make
  PolicyKit survive D-Bus restarts (b.n.c #214905)
* Wed Sep  6 2006 lnussel@suse.de
- use resmgr for login tracking
* Mon Sep  4 2006 seife@suse.de
- fix init script to at least not throw up on syntax errors.
* Tue Aug 22 2006 dkukawka@suse.de
- updated to current git HEAD (git20060822)
  - updated rc file
- removed upstream gone patches:
  - PolicyKit-fix-compiler_warnings.diff
  - fix to get 'make distcheck' running
* Wed Aug  9 2006 thoenig@suse.de
- BuildRequires (hal): replace dbus-1-devel by dbus-1-glib-devel
- BuildRequires (hal-devel): add dbus-1-glib-devel
* Thu Aug  3 2006 dkukawka@suse.de
- added a startscript for polkitd
* Tue Jul 25 2006 dkukawka@suse.de
- initial version
openSUSE Build Service is sponsored by