--- /dev/null
+#!/bin/bash
+#
+# shibd Shibboleth Service Provider Daemon
+#
+# chkconfig: - 80 20
+# description: Shibboleth 2 Service Provider Daemon
+# processname: shibd
+# pidfile: @-PKGRUNDIR-@/shibd.pid
+# config: @-PKGSYSCONFDIR-@/shibboleth2.xml
+
+### BEGIN INIT INFO
+# Provides: shibd
+# Required-Start: $local_fs $remote_fs $network
+# Should-Start: $time
+# Should-Stop: $time
+# Required-Stop: $local_fs $remote_fs $network
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Shibboleth 2 Service Provider Daemon
+# Description: Starts the separate daemon used by the Shibboleth Apache module to manage state and SAML interactions.
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+shibd="@-PREFIX-@/sbin/shibd"
+SHIBD_USER=root
+prog=shibd
+pidfile=@-PKGRUNDIR-@/shibd.pid
+lockfile=/var/lock/subsys/$prog
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+start() {
+ echo -n $"Starting $prog: "
+ if [ -f $lockfile ] ; then
+ if [ -f $pidfile ]; then
+ read kpid < $pidfile
+ if checkpid $kpid 2>&1; then
+ echo "process already running"
+ return 1;
+ else
+ echo "lock file found but no process running for pid $kpid, continuing"
+ fi
+ fi
+ fi
+
+ # Make sure package run directory exists.
+ [ -d @-PKGRUNDIR-@ ] || mkdir @-PKGRUNDIR-@
+
+ export SHIBD_PID=$pidfile
+ touch $pidfile
+ chown $SHIBD_USER:$SHIBD_USER $pidfile
+
+ # Handle transition from root to non-root packages.
+ chown -R $SHIBD_USER:$SHIBD_USER @-PKGRUNDIR-@ 2>/dev/null || :
+ daemon --user $SHIBD_USER $shibd -p $pidfile -f -w 30
+
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && touch $lockfile
+ return $RETVAL
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc shibd
+
+ RETVAL=$?
+ echo
+ [ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile
+ return $RETVAL
+}
+
+restart() {
+ stop
+ sleep 5
+ start
+}
+
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ # run checks to determine if the service is running or use generic status
+ status $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+
+exit $?
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
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
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}
# 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"
# 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
%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
# 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.
%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
%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
%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
%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"
%doc %{pkgdocdir}/api
%changelog
+* Mon Jan 19 2015 Scott Cantor <cantor.2@osu.edu> - 2.5.4-1
+- Add Amazon VM support
+
* 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