Fix version macros
[shibboleth/cpp-sp.git] / shibboleth.spec.in
index 2390356..065376f 100644 (file)
@@ -6,23 +6,23 @@ Group:                Productivity/Networking/Security
 Vendor:                Shibboleth Consortium
 License:       Apache 2.0
 URL:           http://shibboleth.net/
-Source:                %{name}-sp-%{version}.tar.gz
+Source:                %{name}-sp-%{version}.tar.bz2
 BuildRoot:     %{_tmppath}/%{name}-sp-%{version}-root
 Obsoletes:     shibboleth-sp = 2.5.0
 Requires:      openssl
-%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
 PreReq:                xmltooling-schemas%{?_isa} >= 1.5.0, opensaml-schemas%{?_isa} >= 2.5.0
 %else
-PreReq:         xmltooling-schemas >= 1.5.0, opensaml-schemas >= 2.5.0
+PreReq:                xmltooling-schemas >= 1.5.0, opensaml-schemas >= 2.5.0
 %endif
 %if 0%{?suse_version} > 1030 && 0%{?suse_version} < 1130
 PreReq:                %{insserv_prereq} %{fillup_prereq}
-BuildRequires:  libXerces-c-devel >= 2.8.0
+BuildRequires: libxerces-c-devel >= 3.1
 %else
 %if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
-BuildRequires:  xerces-c-devel >= 2.8.0
+BuildRequires: xerces-c-devel >= 3.1
 %else
-BuildRequires:  libxerces-c-devel >= 2.8.0
+BuildRequires: libxerces-c-devel >= 3.1
 %endif
 %endif
 BuildRequires: libxml-security-c-devel >= 1.4.0
@@ -30,10 +30,13 @@ BuildRequires:      libxmltooling-devel >= 1.5.0
 BuildRequires: libsaml-devel >= 2.5.0
 %{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
 %{!?_with_log4cpp:BuildRequires: liblog4shib-devel >= 1.0.4}
-%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
 Requires:      libcurl-openssl%{?_isa} >= 7.21.7
 BuildRequires: chrpath
 %endif
+%if 0%{?suse_version} > 1300
+BuildRequires: libtool
+%endif
 BuildRequires:  gcc-c++, zlib-devel, boost-devel >= 1.32.0
 %{!?_without_gssapi:BuildRequires: krb5-devel}
 %{!?_without_doxygen:BuildRequires: doxygen}
@@ -43,8 +46,8 @@ BuildRequires:  gcc-c++, zlib-devel, boost-devel >= 1.32.0
 BuildRequires: libmemcached-devel
 %endif
 %{?_with_memcached:BuildRequires: libmemcached-devel}
-%if "%{_vendor}" == "redhat"
-%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
 %{!?_without_builtinapache:BuildRequires: httpd-devel%{?_isa}}
 %else
 %{!?_without_builtinapache:BuildRequires: httpd-devel}
@@ -79,14 +82,10 @@ Summary:    Shibboleth Development Headers
 Group:         Development/Libraries/C and C++
 Requires:      %{name} = %{version}-%{release}
 Obsoletes:     shibboleth-sp-devel = 2.5.0
-%if 0%{?suse_version} > 1030 && 0%{?suse_version} < 1130
-Requires:       libXerces-c-devel >= 2.8.0
-%else
 %if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
-Requires:  xerces-c-devel >= 2.8.0
+Requires:      xerces-c-devel >= 3.1
 %else
-Requires:       libxerces-c-devel >= 2.8.0
-%endif
+Requires:      libxerces-c-devel >= 3.1
 %endif
 Requires:      libxml-security-c-devel >= 1.4.0
 Requires:      libxmltooling-devel >= 1.5.0
@@ -153,7 +152,7 @@ fi
 
 # Establish location of sysconfig file, if any.
 SYSCONFIG_SHIBD="no"
-%if "%{_vendor}" == "redhat"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
        %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
        echo "%config(noreplace) %{_sysconfdir}/sysconfig/shibd" >> rpm.filelist
        SYSCONFIG_SHIBD="$RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/shibd"
@@ -171,7 +170,7 @@ if [ "$SYSCONFIG_SHIBD" != "no" ] ; then
 # User account for shibd
 SHIBD_USER=%{runuser}
 EOF
-       %if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600
+       %if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
                cat >> $SYSCONFIG_SHIBD <<EOF
 
 # Override OS-supplied libcurl
@@ -184,7 +183,7 @@ EOF
        %endif
 fi
 
-%if "%{_vendor}" == "redhat" || "%{_vendor}" == "suse"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon" || "%{_vendor}" == "suse"
        # %{_initddir} not yet in RHEL5, use deprecated %{_initrddir}
        install -d -m 0755 $RPM_BUILD_ROOT%{_initrddir}
        install -m 0755 $RPM_BUILD_ROOT%{_sysconfdir}/shibboleth/shibd-%{_vendor} $RPM_BUILD_ROOT%{_initrddir}/shibd
@@ -222,7 +221,7 @@ fi
 # Fix ownership of log files (even on new installs, if they're left from an older one).
 %{__chown} %{runuser}:%{runuser} %{_localstatedir}/log/shibboleth/* 2>/dev/null || :
 
-%if "%{_vendor}" == "redhat"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
        if [ "$1" -gt "1" ] ; then
                # On Red Hat with shib.conf installed, clean up old Alias commands
                # by pointing them at new version-independent /usr/share/share tree.
@@ -255,17 +254,17 @@ fi
 
 %preun
 # On final removal, stop shibd and remove service, restart Apache if running.
-%if "%{_vendor}" == "redhat"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
        if [ "$1" -eq 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}
+               %{!?_without_builtinapache:/sbin/service httpd status 1>/dev/null && /sbin/service httpd restart 1>/dev/null}
        fi
 %endif
 %if "%{_vendor}" == "suse"
        %stop_on_removal shibd
        if [ "$1" -eq 0 ] ; then
-               %{!?_without_builtinapache:/etc/init.d/apache2 status 1>/dev/null && /etc/init.d/apache2 restart 1>/dev/null}
+               %{!?_without_builtinapache:/sbin/service apache2 status 1>/dev/null && /sbin/service apache2 restart 1>/dev/null}
        fi
 %endif
 exit 0
@@ -274,11 +273,11 @@ exit 0
 %ifnos solaris2.8 solaris2.9 solaris2.10 solaris2.11
 /sbin/ldconfig
 %endif
-%if "%{_vendor}" == "redhat"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
        # On upgrade, restart components if they're already running.
        if [ "$1" -ge "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}
+               /sbin/service shibd status 1>/dev/null && /sbin/service shibd restart 1>/dev/null
+               %{!?_without_builtinapache:/sbin/service httpd status 1>/dev/null && /sbin/service httpd restart 1>/dev/null}
                exit 0
        fi
 %endif
@@ -291,7 +290,7 @@ exit 0
 
 %posttrans
 # ugly hack if init script got removed during %postun by upgraded (buggy/2.1) package
-%if "%{_vendor}" == "redhat"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
        if [ ! -f %{_initrddir}/shibd ] ; then
                if [ -f %{_sysconfdir}/shibboleth/shibd-%{_vendor} ] ; then
                        %{__cp} -p %{_sysconfdir}/shibboleth/shibd-%{_vendor} %{_initrddir}/shibd
@@ -311,7 +310,19 @@ fi
 %dir %{_libdir}/shibboleth
 %{_libdir}/shibboleth/*
 %attr(0750,%{runuser},%{runuser}) %dir %{_localstatedir}/log/shibboleth
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon" || "%{_vendor}" == "suse"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
+%attr(0750,apache,apache) %dir %{_localstatedir}/log/shibboleth-www
+%endif
+%if "%{_vendor}" == "suse"
+%attr(0750,wwwrun,www) %dir %{_localstatedir}/log/shibboleth-www
+%endif
+%else
+%attr(0750,-,-) %dir %{_localstatedir}/log/shibboleth-www
+%endif
+%if 0%{?suse_version} < 1300
 %attr(0755,%{runuser},%{runuser}) %dir %{_localstatedir}/run/shibboleth
+%endif
 %attr(0755,%{runuser},%{runuser}) %dir %{_localstatedir}/cache/shibboleth
 %dir %{_datadir}/xml/shibboleth
 %{_datadir}/xml/shibboleth/*
@@ -321,7 +332,7 @@ fi
 %config(noreplace) %{_sysconfdir}/shibboleth/*.xml
 %config(noreplace) %{_sysconfdir}/shibboleth/*.html
 %config(noreplace) %{_sysconfdir}/shibboleth/*.logger
-%if "%{_vendor}" == "redhat" || "%{_vendor}" == "suse"
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon" || "%{_vendor}" == "suse"
 %config %{_initrddir}/shibd
 %endif
 %if "%{_vendor}" == "suse"
@@ -344,6 +355,16 @@ fi
 %doc %{pkgdocdir}/api
 
 %changelog
+* Mon Mar 9 2015 Scott Cantor <cantor.2@osu.edu> - 2.5.4-1
+- Add Amazon VM support
+- Add a separate native logging directory
+- Remove hard-coded init.d usage
+- Switch to bz2 sources to prevent future issues with SuSE
+
+* Mon Nov 17 2014 Scott Cantor <cantor.2@osu.edu> - 2.5.3-2
+- Add libtool dep for OpenSUSE 13
+- Remove /var/run/shibboleth for OpenSUSE 13
+
 * Tue May 13 2014 Ian Young <ian@iay.org.uk> - 2.5.3-1.2
 - Update package dependencies for RHEL/CentOS 7
 - Fix bogus dates in changelog