%define daemon_user pathfinderd Name: pathfinder Version: 1.0.0 Release: 0.3%{?dist} Summary: X.509 Path Discovery and Validation Group: Applications/Internet License: LGPLv2+ URL: http://code.google.com/p/pathfinder-pki/ Source0: http://pathfinder-pki.googlecode.com/files/pathfinder-%{version}-Source.tar.gz Source1: pathfinderd.init Source2: pathfinderd.ini Source3: wvtestrunner.pl Source4: wvstreams.supp Patch0: pathfinder-1.0.0-gcc44.patch Patch1: pathfinder-1.0.0-wvargs.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake, libwvstreams-devel >= 4.6-3, boost-devel, valgrind BuildRequires: openssl-devel, nss-devel, dbus-devel %description Pathfinder is designed to provide a mechanism for any program to perform RFC3280-compliant path validation of X.509 certificates, even when some of the intermediate certificates are not present on the local machine. It will automatically download any such certificates (and their CRLs) from the Internet as needed using the AIA and CRL distribution point extensions of the certificate it is processing. %package -n pathfinderd Summary: X.509 Path Discovery and Validation Server Group: System Environment/Daemons Requires(pre): shadow-utils Requires(post): /sbin/chkconfig Requires(preun): /sbin/chkconfig Requires(preun): /sbin/service %description -n pathfinderd This package includes the server daemon for the pathfinder. %package devel Summary: Development libraries for Pathfinder Group: Development/Libraries Requires: libwvstreams-devel >= 4.6-3, boost-devel %description devel This package includes development files for pathfinder. %package -n libpathfinder-openssl Summary: Pathfinder libraries based on OpenSSL Group: System Environment/Libraries %description -n libpathfinder-openssl This package includes the libraries linking to OpenSSL %package -n libpathfinder-openssl-devel Summary: Pathfinder development libraries based on OpenSSL Group: Development/Libraries Requires: pathfinder-devel, pkgconfig, openssl-devel Requires: libpathfinder-openssl = %{version} %description -n libpathfinder-openssl-devel This package includes the development libraries linking to OpenSSL %package -n libpathfinder-nss Summary: Pathfinder libraries based on NSS Group: System Environment/Libraries %description -n libpathfinder-nss This package includes the libraries linking to NSS. %package -n libpathfinder-nss-devel Summary: Pathfinder development libraries based on NSS Group: Development/Libraries Requires: pathfinder-devel, pkgconfig, nss-devel Requires: libpathfinder-nss = %{version} %description -n libpathfinder-nss-devel This package includes the development libraries linking to NSS. %prep %setup -q %patch0 -p1 -b .gcc44 %patch1 -p1 -b .wvargs %build %cmake . make VERBOSE=1 %{?_smp_mflags} %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT # Remove docs -- we repackage them later rm -rf $RPM_BUILD_ROOT%{_docdir} # Remove static libs rm -rf $RPM_BUILD_ROOT%{_libdir}/*.a # Create /etc/pki/pathfinderd/trusted-certs mkdir -p -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/pki/pathfinderd/trusted-certs # Install init file mkdir -p -m 0755 $RPM_BUILD_ROOT%{_initrddir} install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/pathfinderd # Install config file install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/ # Create an empty /etc/sysconfig/pathfinderd mkdir -p -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig touch -m 0644 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/pathfinderd echo "RUNUSER=\"%{daemon_user}\"" \ > $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/pathfinderd echo "RUNFLAGS=\"-c ini:%{_sysconfdir}/pathfinderd.ini -d\"" \ >> $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/pathfinderd mkdir -p -m 0755 $RPM_BUILD_ROOT%{_localstatedir}/run/pathfinderd %check # tests are failing on ppc %ifnarch ppc ppc64 # test suite depends on external files from wvstreams # we bundle them with this package install -m 0755 %{SOURCE3} . install -m 0644 %{SOURCE4} . export WVSTREAMS_SRC="`pwd`" make test %endif %clean rm -rf $RPM_BUILD_ROOT %pre -n pathfinderd getent group %{daemon_user} >/dev/null || groupadd -r %{daemon_user} getent passwd %{daemon_user} >/dev/null || \ useradd -r -g %{daemon_user} -d %{_localstatedir}/run/pathfinderd \ -s /sbin/nologin -c "Pathfinder daemon user" %{daemon_user} exit 0 %post -n pathfinderd /sbin/chkconfig --add pathfinderd || : exit 0 %preun -n pathfinderd if [ $1 = 0 ]; then /sbin/service pathfinderd stop >/dev/null 2>&1 || : /sbin/chkconfig --del pathfinderd || : fi exit 0 %post -n libpathfinder-openssl -p /sbin/ldconfig %postun -n libpathfinder-openssl -p /sbin/ldconfig %post -n libpathfinder-nss -p /sbin/ldconfig %postun -n libpathfinder-nss -p /sbin/ldconfig %files -n pathfinderd %defattr(-,root,root,-) %doc LICENSE AUTHORS README %config %dir %{_sysconfdir}/pki/pathfinderd %config(noreplace) %{_sysconfdir}/pathfinderd.ini %config(noreplace) %{_sysconfdir}/sysconfig/pathfinderd %config(noreplace) %{_sysconfdir}/dbus-1/system.d/pathfinderd.conf %{_initrddir}/pathfinderd %{_sbindir}/pathfinderd %{_bindir}/pathclient %{_bindir}/pathverify %{_mandir}/man3/pathclient.3* %{_mandir}/man3/pathverify.3* %{_mandir}/man8/pathfinderd.8* %dir %attr(-,%{daemon_user},%{daemon_user}) %{_localstatedir}/run/pathfinderd %files devel %defattr(-,root,root,-) %doc LICENSE %dir %{_includedir}/pathfinder-1 %{_includedir}/pathfinder-1/libpathfinder.h %files -n libpathfinder-openssl %defattr(-,root,root,-) %doc LICENSE %{_libdir}/libpathfinder-openssl-1.so.1* %files -n libpathfinder-openssl-devel %defattr(-,root,root,-) %doc LICENSE %{_libdir}/libpathfinder-openssl-1.so %{_libdir}/pkgconfig/pathfinder-openssl.pc %{_includedir}/pathfinder-1/libpathfinder-openssl.h %files -n libpathfinder-nss %defattr(-,root,root,-) %doc LICENSE %{_libdir}/libpathfinder-nss-1.so.1* %files -n libpathfinder-nss-devel %defattr(-,root,root,-) %doc LICENSE %{_libdir}/libpathfinder-nss-1.so %{_libdir}/pkgconfig/pathfinder-nss.pc %{_includedir}/pathfinder-1/libpathfinder-nss.h %changelog * Sat Jul 11 2009 Konstantin Ryabitsev - 1.0.0-0.3 - Do not run checks on ppc platforms (failing, upstream http://code.google.com/p/pathfinder-pki/issues/detail?id=21) * Sun Jun 28 2009 Konstantin Ryabitsev - 1.0.0-0.2 - Upstream 1.0.0 - Patch to work with gcc-4.4 * Fri Jul 25 2008 Konstantin Ryabitsev - 0.2.6-0.2 - Move trusted-certs dir into /etc/pki/pathfinder/trusted-certs * Thu Jul 24 2008 Konstantin Ryabitsev - 0.2.6-0.1 - Initial packaging.