Blame SPECS/mod_revocator.spec

3515f1
%{!?_httpd_apxs:       %{expand: %%global _httpd_apxs       %%{_sbindir}/apxs}}
3515f1
%{!?_httpd_confdir:    %{expand: %%global _httpd_confdir    %%{_sysconfdir}/httpd/conf.d}}
3515f1
# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4
3515f1
%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}}
3515f1
3515f1
Name: mod_revocator
3515f1
Version: 1.0.3
62d9ef
Release: 21%{?dist}
3515f1
Summary: CRL retrieval module for the Apache HTTP server
3515f1
Group: System Environment/Daemons
3515f1
License: ASL 2.0
62d9ef
URL: https://fedorahosted.org/mod_revocator/
3515f1
Source: http://directory.fedoraproject.org/sources/%{name}-%{version}.tar.gz
3515f1
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
3515f1
BuildRequires: nspr-devel >= 4.6, nss-devel >= 3.11.9
3515f1
BuildRequires: nss-pkcs11-devel >= 3.11
3515f1
BuildRequires: nss-pkcs11-devel-static
3515f1
BuildRequires: httpd-devel >= 0:2.0.52, apr-devel, apr-util-devel
3515f1
BuildRequires: pkgconfig, autoconf, automake, libtool
3515f1
BuildRequires: openldap-devel >= 2.2.29
3515f1
Requires: mod_nss >= 1.0.8
3515f1
Patch1: mod_revocator-libpath.patch
3515f1
Patch2: mod_revocator-kill.patch
3515f1
Patch3: mod_revocator-segfault-fix.patch
3515f1
Patch4: mod_revocator-32-bit-semaphore-fix.patch
3515f1
Patch5: mod_revocator-array-size.patch
3515f1
Patch6: mod_revocator-waitpid.patch
3515f1
Patch7: mod_revocator-man.patch
62d9ef
# Clean up semaphore on shutdown
62d9ef
Patch8: mod_revocator-clean-semaphore.patch
3515f1
3515f1
%description
3515f1
The mod_revocator module retrieves and installs remote
3515f1
Certificate Revocate Lists (CRLs) into an Apache web server. 
3515f1
3515f1
%prep
3515f1
%setup -q
3515f1
%patch1 -p1
3515f1
%patch2 -p1
3515f1
%patch3 -p1
3515f1
%patch4 -p1
3515f1
%patch5 -p1
3515f1
%patch6 -p1
3515f1
%patch7 -p1
62d9ef
%patch8 -p1
3515f1
3515f1
%build
3515f1
autoreconf -fvi
3515f1
3515f1
# Needed for ppc64, automake can't be run here
3515f1
for file in %{_datadir}/automake-*/config.{guess,sub}
3515f1
do
3515f1
    cp -f $file .
3515f1
done
3515f1
3515f1
CFLAGS="$RPM_OPT_FLAGS"
3515f1
export CFLAGS
3515f1
3515f1
NSPR_INCLUDE_DIR=`/usr/bin/pkg-config --variable=includedir nspr`
3515f1
NSPR_LIB_DIR=`/usr/bin/pkg-config --variable=libdir nspr`
3515f1
3515f1
NSS_INCLUDE_DIR=`/usr/bin/pkg-config --variable=includedir nss`
3515f1
NSS_LIB_DIR=`/usr/bin/pkg-config --variable=libdir nss`
3515f1
3515f1
NSS_BIN=`/usr/bin/pkg-config --variable=exec_prefix nss`
3515f1
3515f1
%configure \
3515f1
    --with-nss-lib=$NSS_LIB_DIR \
3515f1
    --with-nss-inc=$NSS_INCLUDE_DIR \
3515f1
    --with-nspr-lib=$NSPR_LIB_DIR \
3515f1
    --with-nspr-inc=$NSPR_INCLUDE_DIR \
3515f1
    --with-apr-config --enable-openldap \
3515f1
    --with-apxs=%{_httpd_apxs}
3515f1
3515f1
make %{?_smp_flags} all
3515f1
3515f1
%install
3515f1
# The install target of the Makefile isn't used because that uses apxs
3515f1
# which tries to enable the module in the build host httpd instead of in
3515f1
# the build root.
3515f1
rm -rf $RPM_BUILD_ROOT
3515f1
3515f1
mkdir -p $RPM_BUILD_ROOT%{_httpd_confdir} $RPM_BUILD_ROOT%{_httpd_modconfdir} \
3515f1
       $RPM_BUILD_ROOT%{_libdir}/httpd/modules $RPM_BUILD_ROOT%{_bindir}      \
3515f1
       $RPM_BUILD_ROOT%{_libexecdir} $RPM_BUILD_ROOT%{_sbindir}               \
3515f1
       $RPM_BUILD_ROOT%{_mandir}/man8
3515f1
3515f1
%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}"
3515f1
# httpd >= 2.4.x
3515f1
sed -n /^LoadModule/p revocator.conf > 11-revocator.conf
3515f1
sed -i /^LoadModule/d revocator.conf
3515f1
install -m 644 11-revocator.conf $RPM_BUILD_ROOT%{_httpd_modconfdir}/11-revocator.conf
3515f1
%endif
3515f1
install -m 644 revocator.conf $RPM_BUILD_ROOT%{_httpd_confdir}/revocator.conf
3515f1
install -m 755 .libs/libmodrev.so $RPM_BUILD_ROOT%{_libdir}/httpd/modules/mod_rev.so
3515f1
install -m 644 ldapget.8 $RPM_BUILD_ROOT%{_mandir}/man8/
3515f1
install -m 644 crlhelper.8 $RPM_BUILD_ROOT%{_mandir}/man8/
3515f1
# Ugh, manually create the ldconfig symbolic links
3515f1
version=`grep -v '^\#' ./libtool-version`
3515f1
current=`echo $version | cut -d: -f1`
3515f1
revision=`echo $version | cut -d: -f2`
3515f1
age=`echo $version | cut -d: -f3`
3515f1
install -m  755 .libs/librevocation.so.$current.$revision.$age $RPM_BUILD_ROOT%{_libdir}/
3515f1
# install missing symlink (was giving no-ldconfig-symlink rpmlint errors)
3515f1
ldconfig -n $RPM_BUILD_ROOT%{_libdir}
3515f1
(cd $RPM_BUILD_ROOT%{_libdir} && ln -s librevocation.so.$current.$revision.$age librevocation.so.0)
3515f1
(cd $RPM_BUILD_ROOT%{_libdir} && ln -s librevocation.so.$current.$revision.$age  librevocation.so)
3515f1
install -m 755 ldapget $RPM_BUILD_ROOT%{_sbindir}/
3515f1
install -m 755 crlhelper $RPM_BUILD_ROOT%{_libexecdir}/
3515f1
# Provide compatibility links to prevent disruption of customized deployments.
3515f1
#
3515f1
#     NOTE:  These links may be deprecated in a future release
3515f1
#            of 'mod_revocator'.
3515f1
#
3515f1
ln -s %{_sbindir}/ldapget $RPM_BUILD_ROOT%{_bindir}/ldapget
3515f1
ln -s %{_libexecdir}/crlhelper $RPM_BUILD_ROOT%{_bindir}/crlhelper
3515f1
3515f1
%clean
3515f1
rm -rf $RPM_BUILD_ROOT
3515f1
3515f1
%post -p /sbin/ldconfig
3515f1
3515f1
%postun -p /sbin/ldconfig
3515f1
3515f1
%files
3515f1
%defattr(-,root,root,-)
3515f1
%doc README LICENSE docs/mod_revocator.html
3515f1
%{_mandir}/man8/*
3515f1
%config(noreplace) %{_httpd_confdir}/*.conf
3515f1
%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}"
3515f1
%config(noreplace) %{_httpd_modconfdir}/*.conf
3515f1
%endif
3515f1
%{_libdir}/httpd/modules/mod_rev.so
3515f1
# rpmlint will complain that librevocation.so is a shared library but this
3515f1
# must be ignored because this file is loaded directly by name by the Apache
3515f1
# module.
3515f1
%{_libdir}/librevocation.*so*
3515f1
%{_sbindir}/ldapget
3515f1
%{_libexecdir}/crlhelper
3515f1
%{_bindir}/ldapget
3515f1
%{_bindir}/crlhelper
3515f1
3515f1
%changelog
62d9ef
* Tue Aug  9 2016 Rob Crittenden <rcritten@redhat.com> - 1.0.3-21
62d9ef
- Respin to fix segfault in cleanup call. (#1326840)
62d9ef
62d9ef
* Mon Aug  8 2016 Rob Crittenden <rcritten@redhat.com> - 1.0.3-20
62d9ef
- Clean up semaphore in crlhelper on shutdown (#1326840)
62d9ef
- Update URL to https://fedorahosted.org/mod_revocator/
62d9ef
69dc2e
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 1.0.3-19
69dc2e
- Mass rebuild 2014-01-24
69dc2e
69dc2e
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 1.0.3-18
69dc2e
- Mass rebuild 2013-12-27
69dc2e
3515f1
* Tue Jul  9 2013 Matthew Harmsen <mharmsen@redhat.com> - 1.0.3-17
3515f1
- Add the following explanation to the 'Brewtap results' textbox in rpmdiff:
3515f1
  The '/etc/httpd/conf.d/revocator.conf' file does not require a man page
3515f1
  because its parameters are sufficiently documented within the
3515f1
  configuration file itself.
3515f1
  The '/etc/httpd/conf.modules.d/11-revocator.conf' file does not require
3515f1
  a man page because the file merely contains the line
3515f1
  'LoadModule rev_module modules/mod_rev.so' to support httpd
3515f1
  loading of Dynamic Shared Objects ('/etc/httpd/conf/httpd.conf').
3515f1
3515f1
* Wed Jul  3 2013 Matthew Harmsen <mharmsen@redhat.com> - 1.0.3-16
3515f1
- Bugzilla Bug #948875 - Man page scan results for mod_revocator
3515f1
- Moved 'ldapget' from %%bindir to %%sbindir (provided compatibility link)
3515f1
- Moved 'crlhelper' from %%bindir to %%libexecdir (provided compatibility link)
3515f1
3515f1
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-15
3515f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
3515f1
3515f1
* Mon Oct  8 2012 Matthew Harmsen <mharmsen@redhat.com> - 1.0.3-14
3515f1
- Bugzilla Bug #861999 - mod_revocator exec CLR URIs fail to load: unable to
3515f1
  load Revocation module, NSS error -8187 - stephen.capstick64@gmail.com
3515f1
  (mod_revocator-waitpid.patch)
3515f1
3515f1
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-13
3515f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
3515f1
3515f1
* Mon Apr 23 2012 Joe Orton <jorton@redhat.com> - 1.0.3-12
3515f1
- use 11- prefix for config file w/2.4
3515f1
3515f1
* Wed Apr 18 2012 Joe Orton <jorton@redhat.com> - 1.0.3-11
3515f1
- fix deps, packaging for 2.4 (#803074)
3515f1
3515f1
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-10
3515f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
3515f1
3515f1
* Thu Oct 27 2011 Matthew Harmsen <mharmsen@redhat.com> - 1.0.3-9
3515f1
- Bugzilla Bug #716874 - httpd (32 bit) failed to start if mod_revocator
3515f1
  (32 bit) is installed on ppc64
3515f1
3515f1
* Fri Oct 21 2011 Matthew Harmsen <mharmsen@redhat.com> - 1.0.3-7
3515f1
- Bugzilla Bug #716355 - mod_revocator does not shut down httpd server if
3515f1
  expired CRL is fetched
3515f1
- Bugzilla Bug #716361 - mod_revocator does not bring down httpd server if
3515f1
  CRLUpdate fails
3515f1
3515f1
* Tue Oct 11 2011 Matthew Harmsen <mharmsen@redhat.com> - 1.0.3-6
3515f1
- Bugzilla Bug #737556 - CRLS are not downloaded when mod_revocator module
3515f1
  is loaded successfully. And no error was thrown in httpd error_log -
3515f1
  mharmsen
3515f1
- Add 'autoreconf -fvi' to build section - mharmsen
3515f1
- Fix shutting down Apache if CRLUpdateCritical is on and a CRL
3515f1
  is not available at startup (#654378) - rcritten@redhat.com
3515f1
- Updated mod_revocator-kill patch. The ownership of the semaphore used to
3515f1
  control access to crlhelper was not always changed to the Apache user
3515f1
  (#648546) - rcritten@redhat.com
3515f1
- Actually apply the patch (#648546) - rcritten@redhat.com
3515f1
- Fix killing the web server if updatecritical is set (#648546) -
3515f1
  rcritten@redhat.com
3515f1
3515f1
* Mon Mar  7 2011 Rob Crittenden <rcritten@redhat.com> - 1.0.3-4
3515f1
- Use correct package name, nss-pkcs11-devel-static (#640293)
3515f1
3515f1
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-3
3515f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
3515f1
3515f1
* Tue Oct  5 2010 Rob Crittenden <rcritten@redhat.com> - 1.0.3-2
3515f1
- Add BuildRequires: nss-pkcs11-static (#640293)
3515f1
3515f1
* Wed Apr 14 2010 Rob Crittenden <rcritten@redhat.com> - 1.0.3-1
3515f1
- Update to upstream 1.0.3
3515f1
3515f1
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-8
3515f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
3515f1
3515f1
* Wed Mar 04 2009 Robert Scheck <robert@fedoraproject.org> - 1.0.2-7
3515f1
- Solve the ppc64-redhat-linux-gnu configure target error
3515f1
3515f1
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-6
3515f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
3515f1
3515f1
* Mon Aug 11 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.0.2-5
3515f1
- fix license tag
3515f1
3515f1
* Mon Feb 25 2008 Rob Crittenden <rcritten@redhat.com> 1.0.2-4
3515f1
- The nss package changed the location of the NSS shared libraries to /lib from
3515f1
  /usr/lib. Static libraries remained in /usr/lib. They then updated their
3515f1
  devel package to put symlinks back from /lib to /usr. Respin to pick that up.
3515f1
  BZ 434395.
3515f1
3515f1
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.0.2-3
3515f1
- Autorebuild for GCC 4.3
3515f1
3515f1
* Wed Dec  5 2007 Rob Crittenden <rcritten@redhat.com> 1.0.2-2
3515f1
- Respin to pick up new openldap
3515f1
3515f1
* Mon Oct 16 2006 Rob Crittenden <rcritten@redhat.com> 1.0.2-1
3515f1
- Initial build