Fix backslashes in SHIBSP_PREFIX variable by manually creating it during the script...
[shibboleth/sp.git] / shibboleth.spec.in
index 25ab215..e716a24 100644 (file)
@@ -1,23 +1,20 @@
 Name:          shibboleth
-Summary:       Open source system to enable inter-institutional resource sharing
+Summary:       Open source system for attribute-based Web SSO
 Version:       @-VERSION-@
-Release:       2
+Release:       6
 #Copyright:    Internet2
 Group:         System Environment/Libraries
 License:       Apache style
 URL:           http://shibboleth.internet2.edu/
 Source0:       http://shibboleth.internet2.edu/downloads/%{name}-%{version}.tar.gz
 BuildRoot:     %{_tmppath}/%{name}-%{version}-root
-
-BuildRequires: openssl-devel, curl-devel >= 7.10.6
-BuildRequires: xerces%{?xercesver}-c-devel >= 2.6.1, xml-security-c-devel >= 1.3.1
+BuildRequires: openssl-devel
+BuildRequires: xerces%{?xercesver}-c-devel >= 2.8.0
+BuildRequires:  xml-security-c-devel >= 1.4.0
 BuildRequires: zlib-devel, opensaml-devel >= 2.0
-%if %{?_with_log4cpp:1}
-BuildRequires: log4cpp-devel >= 0.3.5
-%else
-BuildRequires: log4shib-devel
-%endif
-%{!?_without_odbc:BuildRequires: unixODBC-devel}
+%{?_with_log4cpp:BuildRequires:        log4cpp-devel >= 1.0}
+%{!?_with_log4cpp:BuildRequires: log4shib-devel}
+%{?_with_fastcgi:BuildRequires: fcgi-devel}
 %if "%{_vendor}" == "redhat"
 %{!?_without_builtinapache:BuildRequires: httpd-devel}
 %endif
@@ -52,66 +49,51 @@ education community.
 This package contains the headers and other necessary files to build
 applications that use the shibboleth library.
 
-%package selinux-policy-targeted
-Summary: SELinux policy targeted configuration for Shibboleth SP
-Group: System Environment/Base
-Requires: selinux-policy-targeted-sources
-
-%description selinux-policy-targeted
-Shibboleth, a project of Internet2/MACE, is developing architectures,
-policy structures, practical technologies, and an open source
-implementation to support inter-institutional sharing of web resources
-subject to access controls. In addition, Shibboleth will develop a
-policy framework that will allow inter-operation within the higher
-education community.
+%package docs
+Summary: Shibboleth API Documentation
+Group: Development/Libraries
+Requires: %{name} = %{version}
 
-This package contains the SELinux Policy (source) Configuration to
-enable the Shibboleth SP to integrate into Apache HTTPD in Red Hat /
-Fedora's Policy Targeted SELinux implementation.  It requires
-rebuilding your policy, so you must have the policy-targeted-source
-installed.
+%description docs
+Shibboleth Library API documentation generated by doxygen.
 
 %prep
 %setup -q
 
 %build
-%configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?shib_options}
-make
-#make -C selinux
+%configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{?shib_options}
+%{__make}
 
 %install
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-rm -rf _docs
-make install DESTDIR=$RPM_BUILD_ROOT
-make -C selinux install DESTDIR=$RPM_BUILD_ROOT
-mv $RPM_BUILD_ROOT/usr/doc/%{name} _docs
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+%{__make} install NOKEYGEN=1 DESTDIR=$RPM_BUILD_ROOT
 
 %if "%{_vendor}" == "suse"
-       sed -i "s/\/var\/log\/httpd/\/var\/log\/apache2/g" \
+       %{__sed} -i "s/\/var\/log\/httpd/\/var\/log\/apache2/g" \
                $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/native.logger
 %endif
 
-find $RPM_BUILD_ROOT/%{_libexecdir} -type f -or -type l | grep \.so |
-  sed -e "s|$RPM_BUILD_ROOT||" | sort > rpm.filelist
-
 %check || :
-make check
+%{__make} check
 
 %clean
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
 
 %post
+%ifnos solaris2.8 solaris2.9 solaris2.10
 /sbin/ldconfig
+%endif
+
 
 # Plug the SP into Apache on a recognized system.
 APACHE_CONFIG="no"
-if [ -f $RPM_BUILD_ROOT/%{_libexecdir}/mod_shib_13.so ] ; then
+if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_13.so ] ; then
        APACHE_CONFIG="apache.config"
 fi
-if [ -f $RPM_BUILD_ROOT/%{_libexecdir}/mod_shib_20.so ] ; then
+if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_20.so ] ; then
        APACHE_CONFIG="apache2.config"
 fi
-if [ -f $RPM_BUILD_ROOT/%{_libexecdir}/mod_shib_22.so ] ; then
+if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_22.so ] ; then
        APACHE_CONFIG="apache22.config"
 fi
 if [ "$APACHE_CONFIG" != "no" ] ; then
@@ -125,11 +107,11 @@ if [ "$APACHE_CONFIG" != "no" ] ; then
        if [ "$APACHE_CONFD" != "no" ] ; then
                if [ ! -f $APACHE_CONFD/shib.conf ] ; then
 %if "%{_vendor}" == "suse"
-                   sed "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/packages\/%{name}/g" \
+                   %{__sed} "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/packages\/%{name}/g" \
                                %{_sysconfdir}/%{name}/$APACHE_CONFIG \
                                > $APACHE_CONFD/shib.conf
 %else
-                       sed "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/%{name}-@-VERSION-@/g" \
+                       %{__sed} "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/%{name}-@-VERSION-@/g" \
                            %{_sysconfdir}/%{name}/$APACHE_CONFIG \
                            > $APACHE_CONFD/shib.conf
 %endif
@@ -141,61 +123,72 @@ fi
 %if "%{_vendor}" == "redhat"
        if [ -d %{_sysconfdir}/init.d ] ; then
                if [ ! -f %{_sysconfdir}/init.d/shibd ] ; then
-                       cp -p %{_sysconfdir}/%{name}/shibd-%{_vendor} %{_sysconfdir}/init.d/shibd
-                       chmod 755 %{_sysconfdir}/init.d/shibd
+                       %{__cp} -p %{_sysconfdir}/%{name}/shibd-%{_vendor} %{_sysconfdir}/init.d/shibd
+                       %{__chmod} 755 %{_sysconfdir}/init.d/shibd
                        chkconfig --add shibd
                fi
        fi
 %endif
 
+# Key generation
+cd %{_sysconfdir}/%{name}
+sh ./keygen.sh -b
+
 %postun
+%ifnos solaris2.8 solaris2.9 solaris2.10
 /sbin/ldconfig
+%endif
 
 # delete the Apache configuration if we're being removed
 [ "$1" = 0 ] || exit 0
 [ -f %{_sysconfdir}/httpd/conf.d/shib.conf ] && \
-    rm -f %{_sysconfdir}/httpd/conf.d/shib.conf
+    %{__rm} -f %{_sysconfdir}/httpd/conf.d/shib.conf
 [ -f %{_sysconfdir}/apache2/conf.d/shib.conf ] && \
-    rm -f %{_sysconfdir}/apache2/conf.d/shib.conf
+    %{__rm} -f %{_sysconfdir}/apache2/conf.d/shib.conf
 
 # clear init.d state
 %if "%{_vendor}" == "redhat"
        chkconfig --del shibd
        [ -f %{_sysconfdir}/init.d/shibd ] && \
-           rm -f %{_sysconfdir}/init.d/shibd
+           %{__rm} -f %{_sysconfdir}/init.d/shibd
 %endif
 
-%triggerin selinux-policy-targeted -- %{name}
-restorecon %{_sbindir}/shibd
-
-%triggerin selinux-policy-targeted -- selinux-policy-targeted-sources
-cd %{_sysconfdir}/selinux/targeted/src/policy || exit 1
-make -W install
-make load
-restorecon %{_sbindir}/shibd
-
-%files -f rpm.filelist
+%files
 %defattr(-,root,root,-)
-%doc _docs/CREDITS.txt _docs/LICENSE.txt _docs/NOTICE.txt _docs/README.txt _docs/RELEASE.txt
-%doc _docs/logo.jpg _docs/main.css
 %{_sbindir}/shibd
-%{_sbindir}/siterefresh
-%{_bindir}/samlquery
+%{_bindir}/mdquery
+%{_bindir}/resolvertest
 %{_libdir}/libshibsp.so.*
 %{_libdir}/libshibsp-lite.so.*
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*
+%exclude %{_libdir}/%{name}/*.la
 %dir %{_localstatedir}/log/%{name}
+%dir %{_localstatedir}/run/%{name}
 %dir %{_datadir}/xml/%{name}
-%{_datadir}/xml/%{name}
+%{_datadir}/xml/%{name}/*
 %dir %{_sysconfdir}/%{name}
 %config(noreplace) %{_sysconfdir}/%{name}/*.xml
 %config(noreplace) %{_sysconfdir}/%{name}/*.html
 %config(noreplace) %{_sysconfdir}/%{name}/*.logger
-%config %{_sysconfdir}/%{name}/sp-example.crt
-%config %{_sysconfdir}/%{name}/sp-example.key
 %{_sysconfdir}/%{name}/*.dist
 %{_sysconfdir}/%{name}/apache*.config
-%{_sysconfdir}/%{name}/shibd
-%exclude %{_libexecdir}/*.la
+%{_sysconfdir}/%{name}/shibd-redhat
+%{_sysconfdir}/%{name}/shibd-debian
+%{_sysconfdir}/%{name}/shibd-osx.plist
+%{_sysconfdir}/%{name}/keygen.sh
+%{_sysconfdir}/%{name}/*.xsl
+%docdir %{_datadir}/doc/%{name}
+%{_datadir}/doc/%{name}/CREDITS.txt
+%{_datadir}/doc/%{name}/FASTCGI.LICENSE
+%{_datadir}/doc/%{name}/LICENSE.txt
+%{_datadir}/doc/%{name}/LOG4CPP.LICENSE
+%{_datadir}/doc/%{name}/logo.jpg
+%{_datadir}/doc/%{name}/main.css
+%{_datadir}/doc/%{name}/NOTICE.txt
+%{_datadir}/doc/%{name}/OPENSSL.LICENSE
+%{_datadir}/doc/%{name}/README.txt
+%{_datadir}/doc/%{name}/RELEASE.txt
 
 %files devel
 %defattr(-,root,root,-)
@@ -203,17 +196,29 @@ restorecon %{_sbindir}/shibd
 %{_libdir}/libshibsp.so
 %{_libdir}/libshibsp-lite.so
 
-%files selinux-policy-targeted
-%defattr(-,root,root,-)
-%{_sysconfdir}/selinux/targeted/src/policy/file_contexts/program/*.fc
-%{_sysconfdir}/selinux/targeted/src/policy/domains/program/*.te
+%files docs
+%defattr(644,root,root,755)
+%doc %{_datadir}/doc/%{name}/api
 
 %changelog
+* Mon Mar 17 2008  Scott Cantor  <cantor.2@osu.edu>  - 2.0-6
+- Official release.
+
+* Fri Jan 18 2008  Scott Cantor  <cantor.2@osu.edu>  - 2.0-5
+- Release candidate 1.
+
+* Sun Oct 21 2007 Scott Cantor  <cantor.2@osu.edu>  - 2.0-4
+- libexec -> lib/shibboleth changes
+- Added doc subpackage
+
+* Thu Aug 16 2007 Scott Cantor  <cantor.2@osu.edu>  - 2.0-3
+- First public beta.
+
 * Fri Jul 13 2007 Scott Cantor <cantor.2@osu.edu>  - 2.0-2
-- Second alpha release
+- Second alpha release.
 
 * Sun Jun 10 2007 Scott Cantor <cantor.2@osu.edu>  - 2.0-1
-- First alpha release
+- First alpha release.
 
 * Mon Oct 2 2006 Scott Cantor  <cantor.2@osu.edu>  - 1.3-11
 - Applied fix for secadv 20061002