Name: shibboleth
-Summary: Open source system to enable inter-institutional resource sharing
+Summary: Open source system for attribute-based Web SSO
Version: @-VERSION-@
-Release: 6
+Release: 2
#Copyright: Internet2
Group: System Environment/Libraries
License: Apache style
Source0: http://shibboleth.internet2.edu/downloads/%{name}-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: openssl-devel
-BuildRequires: xerces%{?xercesver}-c-devel >= 2.8.0
+%if 0%{?suse_version} > 1030
+BuildRequires: libXerces-c-devel >= 2.8.0
+%else
+BuildRequires: xerces%{?xercesver}-c-devel >= 2.8.0
+%endif
BuildRequires: xml-security-c-devel >= 1.4.0
-BuildRequires: zlib-devel, opensaml-devel >= 2.0
+BuildRequires: zlib-devel, opensaml-devel >= 2.2
%{?_with_log4cpp:BuildRequires: log4cpp-devel >= 1.0}
%{!?_with_log4cpp:BuildRequires: log4shib-devel}
%{?_with_fastcgi:BuildRequires: fcgi-devel}
Summary: Shibboleth development Headers
Group: Development/Libraries
Requires: %{name} = %{version}
+Requires: opensaml-devel >= 2.2
%description devel
Shibboleth, a project of Internet2/MACE, is developing architectures,
%setup -q
%build
-%configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{?shib_options}
+%configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{?_with_memcached} %{?shib_options}
%{__make}
%install
$RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/native.logger
%endif
-%check || :
-%{__make} check
-
-%clean
-[ "$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.
+touch rpm.filelist
APACHE_CONFIG="no"
if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_13.so ] ; then
- APACHE_CONFIG="apache.config"
+ APACHE_CONFIG="apache.config"
fi
if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_20.so ] ; then
- APACHE_CONFIG="apache2.config"
+ APACHE_CONFIG="apache2.config"
fi
if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_22.so ] ; then
- APACHE_CONFIG="apache22.config"
+ APACHE_CONFIG="apache22.config"
fi
+%{?_without_builtinapache:APACHE_CONFIG="no"}
if [ "$APACHE_CONFIG" != "no" ] ; then
- APACHE_CONFD="no"
- if [ -d %{_sysconfdir}/httpd/conf.d ] ; then
- APACHE_CONFD="%{_sysconfdir}/httpd/conf.d"
- fi
- if [ -d %{_sysconfdir}/apache2/conf.d ] ; then
- APACHE_CONFD="%{_sysconfdir}/apache2/conf.d"
- fi
- if [ "$APACHE_CONFD" != "no" ] ; then
- if [ ! -f $APACHE_CONFD/shib.conf ] ; then
+ APACHE_CONFD="no"
+ if [ -d %{_sysconfdir}/httpd/conf.d ] ; then
+ APACHE_CONFD="%{_sysconfdir}/httpd/conf.d"
+ fi
+ if [ -d %{_sysconfdir}/apache2/conf.d ] ; then
+ APACHE_CONFD="%{_sysconfdir}/apache2/conf.d"
+ fi
+ if [ "$APACHE_CONFD" != "no" ] ; then
+ %{__mkdir} -p $RPM_BUILD_ROOT$APACHE_CONFD
%if "%{_vendor}" == "suse"
- %{__sed} "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/packages\/%{name}/g" \
- %{_sysconfdir}/%{name}/$APACHE_CONFIG \
- > $APACHE_CONFD/shib.conf
+ %{__sed} "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/packages\/%{name}/g" \
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$APACHE_CONFIG \
+ > $RPM_BUILD_ROOT$APACHE_CONFD/shib.conf
%else
- %{__sed} "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/%{name}-@-VERSION-@/g" \
- %{_sysconfdir}/%{name}/$APACHE_CONFIG \
- > $APACHE_CONFD/shib.conf
+ %{__sed} "s/\/usr\/doc\/%{name}/\/usr\/share\/doc\/%{name}-@-VERSION-@/g" \
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$APACHE_CONFIG \
+ > $RPM_BUILD_ROOT$APACHE_CONFD/shib.conf
%endif
- fi
- fi
+ echo "%config $APACHE_CONFD/shib.conf" > rpm.filelist
+ fi
fi
-# Install the shibd init.d scripts and service
%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
- chkconfig --add shibd
- fi
- fi
+ # %{_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
+%endif
+
+%check
+%{__make} check
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+
+%post
+%ifnos solaris2.8 solaris2.9 solaris2.10
+/sbin/ldconfig
+%endif
+
+%if "%{_vendor}" == "redhat"
+ # This adds the proper /etc/rc*.d links for the script
+ /sbin/chkconfig --add shibd
%endif
# Key generation
cd %{_sysconfdir}/%{name}
sh ./keygen.sh -b
+%preun
+%if "%{_vendor}" == "redhat"
+ if [ "$1" = 0 ] ; then
+ /sbin/service shibd stop >/dev/null 2>&1
+ /sbin/chkconfig --del shibd
+ fi
+%endif
+
%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
-[ -f %{_sysconfdir}/apache2/conf.d/shib.conf ] && \
- %{__rm} -f %{_sysconfdir}/apache2/conf.d/shib.conf
+%if "%{_vendor}" == "redhat"
+ if [ "$1" -ge "1" ] ; then
+ #/sbin/service shibd condrestart >/dev/null 2>&1 || :
+ /etc/init.d/shibd status 1>/dev/null && /etc/init.d/shibd start 1>/dev/null
+ fi
+%endif
-# clear init.d state
+%posttrans
+# ugly hack if init script got removed during %postun by upgraded (buggy/2.1) package
%if "%{_vendor}" == "redhat"
- chkconfig --del shibd
- [ -f %{_sysconfdir}/init.d/shibd ] && \
- %{__rm} -f %{_sysconfdir}/init.d/shibd
+ if [ ! -f %{_initrddir}/shibd ] ; then
+ if [ -f %{_sysconfdir}/%{name}/shibd-%{_vendor} ] ; then
+ %{__cp} -p %{_sysconfdir}/%{name}/shibd-%{_vendor} %{_initrddir}/shibd
+ %{__chmod} 755 %{_initrddir}/shibd
+ fi
+ fi
%endif
-%files
+%files -f rpm.filelist
%defattr(-,root,root,-)
%{_sbindir}/shibd
%{_bindir}/mdquery
%config(noreplace) %{_sysconfdir}/%{name}/*.xml
%config(noreplace) %{_sysconfdir}/%{name}/*.html
%config(noreplace) %{_sysconfdir}/%{name}/*.logger
+%if "%{_vendor}" == "redhat"
+%attr(755, root, root) %{_initrddir}/shibd
+%endif
%{_sysconfdir}/%{name}/*.dist
%{_sysconfdir}/%{name}/apache*.config
%{_sysconfdir}/%{name}/shibd-redhat
%{_sysconfdir}/%{name}/shibd-debian
%{_sysconfdir}/%{name}/shibd-osx.plist
-%{_sysconfdir}/%{name}/keygen.sh
+%attr(755, root, root) %{_sysconfdir}/%{name}/keygen.sh
+%attr(755, root, root) %{_sysconfdir}/%{name}/metagen.sh
%{_sysconfdir}/%{name}/*.xsl
%docdir %{_datadir}/doc/%{name}
%{_datadir}/doc/%{name}/CREDITS.txt
%{_datadir}/doc/%{name}/FASTCGI.LICENSE
-%{_datadir}/doc/%{name}/INSTALL.txt
%{_datadir}/doc/%{name}/LICENSE.txt
%{_datadir}/doc/%{name}/LOG4CPP.LICENSE
%{_datadir}/doc/%{name}/logo.jpg
%{_datadir}/doc/%{name}/OPENSSL.LICENSE
%{_datadir}/doc/%{name}/README.txt
%{_datadir}/doc/%{name}/RELEASE.txt
-%exclude %{_datadir}/doc/%{name}/INSTALL-WIN32.txt
%files devel
%defattr(-,root,root,-)
%doc %{_datadir}/doc/%{name}/api
%changelog
+* Tue Jun 23 2009 Scott Cantor <cantor.2@osu.edu> - 2.2-2
+- Reverse without_builtinapache macro test
+- Fix init script handling on Red Hat to handle upgrades
+
+* Wed Dec 3 2008 Scott Cantor <cantor.2@osu.edu> - 2.2-1
+- Bump minor version.
+- Make keygen.sh executable.
+- Fixing SUSE Xerces dependency name.
+- Optionally package shib.conf.
+
+* Tue Jun 10 2008 Scott Cantor <cantor.2@osu.edu> - 2.1-1
+- Change shib.conf handling to treat as config file.
+
+* 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.