Remove ws-trust federation schema from makefile since it is removed for DFSG reasons
[shibboleth/sp.git] / shibboleth.spec.in
index b6f89d8..5888fbb 100644 (file)
@@ -1,35 +1,32 @@
-Name:          @PACKAGE@
+Name:          @PACKAGE_NAME@
 Version:       @PACKAGE_VERSION@
 Release:       1
 Summary:    Open source system for attribute-based Web SSO
-Group:         System Environment/Libraries
+Group:         Productivity/Networking/Security
 Vendor:     Internet2
 License:       Apache 2.0
 URL:           http://shibboleth.internet2.edu/
 Source:     %{name}-sp-%{version}.tar.gz
 BuildRoot:     %{_tmppath}/%{name}-%{version}-root
-%if 0%{?suse_version} > 1030
+PreReq:     openssl, xmltooling-schemas, opensaml-schemas
+%if 0%{?suse_version} > 1030 && 0%{?suse_version} < 1130
+PreReq:         %{insserv_prereq}
 BuildRequires:  libXerces-c-devel >= 2.8.0
+%else
+BuildRequires:  libxerces-c-devel >= 2.8.0
+%endif
 BuildRequires:  libxml-security-c-devel >= 1.4.0
-BuildRequires:  libxmltooling-devel >= 1.2
-BuildRequires:  libsaml-devel >= 2.2
+BuildRequires:  libxmltooling-devel >= 1.4
+BuildRequires:  libsaml-devel >= 2.4
 %{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
 %{!?_with_log4cpp:BuildRequires: liblog4shib-devel}
-%else
-BuildRequires:  xerces%{?xercesver}-c-devel >= 2.8.0
-BuildRequires:  xml-security-c-devel >= 1.4.0
-BuildRequires:  xmltooling-devel >= 1.2
-BuildRequires:  opensaml-devel >= 2.2
-%{?_with_log4cpp:BuildRequires: log4cpp-devel >= 1.0}
-%{!?_with_log4cpp:BuildRequires: log4shib-devel}
-%endif
-BuildRequires:  gcc-c++
+BuildRequires:  gcc-c++, zlib-devel
 %{!?_without_doxygen:BuildRequires: doxygen}
 %{!?_without_odbc:BuildRequires:unixODBC-devel}
-BuildRequires:  zlib-devel
 %{?_with_fastcgi:BuildRequires: fcgi-devel}
 %if "%{_vendor}" == "redhat"
 %{!?_without_builtinapache:BuildRequires: httpd-devel}
+BuildRequires: redhat-rpm-config
 %endif
 %if "%{_vendor}" == "suse"
 %{!?_without_builtinapache:BuildRequires: apache2-devel}
@@ -50,24 +47,19 @@ This package contains the Shibboleth Service Provider runtime libraries
 and Apache module(s).
 
 %package devel
-Summary: Shibboleth development Headers
-Group: Development/Libraries
-Requires: %{name} = %{version}
-%if 0%{?suse_version} > 1030
-Requires: libXerces-c-devel >= 2.8.0
-Requires: libxml-security-c-devel >= 1.4.0
-Requires: libxmltooling-devel >= 1.2
-Requires: libsaml-devel >= 2.2
-%{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
-%{!?_with_log4cpp:Requires: liblog4shib-devel}
+Summary:       Shibboleth development Headers
+Group:         Development/Libraries/C and C++
+Requires:      %{name} = %{version}-%{release}
+%if 0%{?suse_version} > 1030 && 0%{?suse_version} < 1130
+Requires:      libXerces-c-devel >= 2.8.0
 %else
-Requires: xerces%{?xercesver}-c-devel >= 2.8.0
-Requires: xml-security-c-devel >= 1.4.0
-Requires: xmltooling-devel >= 1.2
-Requires: opensaml-devel >= 2.2
-%{?_with_log4cpp:Requires: log4cpp-devel >= 1.0}
-%{!?_with_log4cpp:Requires: log4shib-devel}
+Requires:      libxerces-c-devel >= 2.8.0
 %endif
+Requires:      libxml-security-c-devel >= 1.4.0
+Requires:      libxmltooling-devel >= 1.4
+Requires:      libsaml-devel >= 2.4
+%{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:Requires: liblog4shib-devel}
 
 %description devel
 Shibboleth is a Web Single Sign-On implementations based on OpenSAML
@@ -76,7 +68,6 @@ exchange of rich attributes subject to privacy controls.
 
 This package includes files needed for development with Shibboleth.
 
-
 %prep
 %setup -q
 
@@ -122,9 +113,12 @@ fi
 
 %if "%{_vendor}" == "redhat" || "%{_vendor}" == "suse"
        # %{_initddir} not yet in RHEL5, use deprecated %{_initrddir}
-       mkdir -p $RPM_BUILD_ROOT%{_initrddir}
-       %{__cp} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/shibd-%{_vendor} $RPM_BUILD_ROOT%{_initrddir}/shibd
-       %{__chmod} 755 $RPM_BUILD_ROOT%{_initrddir}/shibd
+       install -d -m 0755 $RPM_BUILD_ROOT%{_initrddir}
+       install -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/shibd-%{_vendor} $RPM_BUILD_ROOT%{_initrddir}/shibd
+%if "%{_vendor}" == "suse"
+       install -d -m 0755 $RPM_BUILD_ROOT/%{_sbindir}
+       %{__ln_s} -f %{_initrddir}/shibd $RPM_BUILD_ROOT%{_sbindir}/rcshibd
+%endif
 %endif
 
 %check
@@ -149,17 +143,13 @@ sh ./keygen.sh -b
     if [ "$1" -gt "1" ] ; then
         /etc/init.d/shibd status 1>/dev/null && /etc/init.d/shibd restart 1>/dev/null
         %{!?_without_builtinapache:/etc/init.d/httpd status 1>/dev/null && /etc/init.d/httpd restart 1>/dev/null}
+        exit 0
     fi
 %endif
 %if "%{_vendor}" == "suse"
     # This adds the proper /etc/rc*.d links for the script
-    /sbin/chkconfig --add shibd
-    cd /usr/sbin && ln -s /etc/init.d/shibd rcshibd
-    # On upgrade, restart components if they're already running.
-    if [ "$1" -gt "1" ] ; then
-        /etc/init.d/shibd status 1>/dev/null && /etc/init.d/shibd restart 1>/dev/null
-        %{!?_without_builtinapache:/etc/init.d/apache2 status 1>/dev/null && /etc/init.d/apache2 restart 1>/dev/null}
-    fi
+    cd /
+    %insserv_force_if_yast shibd
 %endif
 
 %preun
@@ -167,18 +157,26 @@ sh ./keygen.sh -b
        if [ "$1" = 0 ] ; then
                /sbin/service shibd stop >/dev/null 2>&1
                /sbin/chkconfig --del shibd
+        %{!?_without_builtinapache:/etc/init.d/httpd status 1>/dev/null && /etc/init.d/httpd restart 1>/dev/null}
        fi
 %endif
 %if "%{_vendor}" == "suse"
+    %stop_on_removal shibd
     if [ "$1" = 0 ] ; then
-        /sbin/service shibd stop >/dev/null 2>&1
-        /sbin/chkconfig --del shibd
-        cd /usr/sbin && %{__rm} -f rcshibd
+        %{!?_without_builtinapache:/etc/init.d/apache2 status 1>/dev/null && /etc/init.d/apache2 restart 1>/dev/null}
     fi
 %endif
+exit 0
 
+%postun
 %ifnos solaris2.8 solaris2.9 solaris2.10
-%postun -p /sbin/ldconfig
+/sbin/ldconfig
+%endif
+%if "%{_vendor}" == "suse"
+cd /
+%restart_on_update shibd
+%{!?_without_builtinapache:%restart_on_update apache2}
+%{insserv_cleanup}
 %endif
 
 %posttrans
@@ -212,7 +210,10 @@ sh ./keygen.sh -b
 %config(noreplace) %{_sysconfdir}/%{name}/*.html
 %config(noreplace) %{_sysconfdir}/%{name}/*.logger
 %if "%{_vendor}" == "redhat" || "%{_vendor}" == "suse"
-%attr(755, root, root) %{_initrddir}/shibd
+%config %{_initrddir}/shibd
+%endif
+%if "%{_vendor}" == "suse"
+%{_sbindir}/rcshibd
 %endif
 %{_sysconfdir}/%{name}/*.dist
 %{_sysconfdir}/%{name}/apache*.config
@@ -231,6 +232,17 @@ sh ./keygen.sh -b
 %doc %{pkgdocdir}/api
 
 %changelog
+* Fri Dec 25 2009  Scott Cantor  <cantor.2@osu.edu>  - 2.4-1
+- Update dependencies.
+
+* Mon Nov 23 2009 Scott Cantor  <cantor.2@osu.edu>  - 2.3.1-1
+- Reset revision for 2.3.1 release
+
+* Wed Aug 19 2009 Scott Cantor  <cantor.2@osu.edu>  - 2.2.1-2
+- SuSE init script changes
+- Restart Apache on removal, not just upgrade
+- Fix scriptlet exit values when Apache is stopped
+
 * Mon Aug 10 2009 Scott Cantor  <cantor.2@osu.edu>  - 2.2.1-1
 - Doc handling changes
 - SuSE init script