Fix backslashes in SHIBSP_PREFIX variable by manually creating it during the script...
[shibboleth/sp.git] / shibboleth.spec.in
index 3f0b312..e716a24 100644 (file)
@@ -1,28 +1,25 @@
 Name:          shibboleth
 Name:          shibboleth
-Summary:       Open source system to enable inter-institutional resource sharing
+Summary:       Open source system for attribute-based Web SSO
 Version:       @-VERSION-@
 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
 #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: zlib-devel, unixODBC-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}
+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
+%{?_with_log4cpp:BuildRequires:        log4cpp-devel >= 1.0}
+%{!?_with_log4cpp:BuildRequires: log4shib-devel}
+%{?_with_fastcgi:BuildRequires: fcgi-devel}
 %if "%{_vendor}" == "redhat"
 %if "%{_vendor}" == "redhat"
-BuildRequires: httpd-devel
+%{!?_without_builtinapache:BuildRequires: httpd-devel}
 %endif
 %if "%{_vendor}" == "suse"
 %endif
 %if "%{_vendor}" == "suse"
-BuildRequires: apache2-devel
+%{!?_without_builtinapache:BuildRequires: apache2-devel}
 %endif
 
 
 %endif
 
 
@@ -52,66 +49,51 @@ education community.
 This package contains the headers and other necessary files to build
 applications that use the shibboleth library.
 
 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
 
 %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
 
 %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"
 
 %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
 
                $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 || :
 %check || :
-make check
+%{__make} check
 
 %clean
 
 %clean
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
 
 %post
 
 %post
+%ifnos solaris2.8 solaris2.9 solaris2.10
 /sbin/ldconfig
 /sbin/ldconfig
+%endif
+
 
 # Plug the SP into Apache on a recognized system.
 APACHE_CONFIG="no"
 
 # 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
        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
        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
        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"
        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
                                %{_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
                            %{_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
 %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
 
                        chkconfig --add shibd
                fi
        fi
 %endif
 
+# Key generation
+cd %{_sysconfdir}/%{name}
+sh ./keygen.sh -b
+
 %postun
 %postun
+%ifnos solaris2.8 solaris2.9 solaris2.10
 /sbin/ldconfig
 /sbin/ldconfig
+%endif
 
 # delete the Apache configuration if we're being removed
 [ "$1" = 0 ] || exit 0
 [ -f %{_sysconfdir}/httpd/conf.d/shib.conf ] && \
 
 # 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 ] && \
 [ -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 ] && \
 
 # 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
 
 %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,-)
 %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}/shibd
-%{_sbindir}/siterefresh
-%{_bindir}/samlquery
+%{_bindir}/mdquery
+%{_bindir}/resolvertest
 %{_libdir}/libshibsp.so.*
 %{_libdir}/libshibsp-lite.so.*
 %{_libdir}/libshibsp.so.*
 %{_libdir}/libshibsp-lite.so.*
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*
+%exclude %{_libdir}/%{name}/*.la
 %dir %{_localstatedir}/log/%{name}
 %dir %{_localstatedir}/log/%{name}
+%dir %{_localstatedir}/run/%{name}
 %dir %{_datadir}/xml/%{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
 %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}/*.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,-)
 
 %files devel
 %defattr(-,root,root,-)
@@ -203,17 +196,29 @@ restorecon %{_sbindir}/shibd
 %{_libdir}/libshibsp.so
 %{_libdir}/libshibsp-lite.so
 
 %{_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
 
 %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
 * 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
 
 * 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
 
 * Mon Oct 2 2006 Scott Cantor  <cantor.2@osu.edu>  - 1.3-11
 - Applied fix for secadv 20061002