From: Scott Cantor Date: Sun, 9 Aug 2009 00:22:35 +0000 (+0000) Subject: Makefile and specfile changes for SuSE. X-Git-Tag: 2.2.1~17 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-sp.git;a=commitdiff_plain;h=225206dc8d5ac45b99a4df543d29cc0a37ef94c5 Makefile and specfile changes for SuSE. --- diff --git a/Makefile.am b/Makefile.am index e2a1f65..69dd195 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,31 +12,24 @@ SUBDIRS = $(WANT_SUBDIRS) DIST_SUBDIRS = doc schemas configs shibsp shibd adfs util apache nsapi_shib fastcgi odbc-store memcache-store selinux +GENFILES = shibboleth.spec pkginfo Portfile + if DX_COND_doc -all-local: shibboleth.spec pkginfo doxygen-doc +all-local: doxygen-doc $(GENFILES) else -all-local: shibboleth.spec pkginfo +all-local: $(GENFILES) endif -install-data-hook: - rm -rf $(DESTDIR)$(datadir)/doc/@PACKAGE@/api - cp -r doc/api $(DESTDIR)$(datadir)/doc/@PACKAGE@ - dist-hook: rm -rf `find $(distdir)/isapi_shib -name .svn` rm -rf `find $(distdir)/doc/api -name .svn` -shibboleth.spec: shibboleth.spec.in Makefile +$(GENFILES): %: %.in Makefile rm -f $@.tmp sed < $@.in > $@.tmp \ -e 's:@-VERSION-@:${VERSION}:' mv $@.tmp $@ -pkginfo: pkginfo.in Makefile - rm -f $@.tmp - sed < $@.in > $@.tmp \ - -e 's:@-VERSION-@:${VERSION}:' - mv $@.tmp $@ EXTRA_DIST = $(DX_CONFIG) \ isapi_shib \ @@ -46,11 +39,9 @@ EXTRA_DIST = $(DX_CONFIG) \ acx_pthread.m4 \ depcomp \ config_win32.h \ - shibboleth.spec.in \ - shibboleth.spec \ - pkginfo.in \ - pkginfo \ + $(GENFILES) \ + $(GENFILES:%=%.in) \ depend \ postinstall -DISTCLEANFILES = shibboleth.spec pkginfo +DISTCLEANFILES = $(GENFILES) diff --git a/Portfile b/Portfile.in similarity index 64% rename from Portfile rename to Portfile.in index acd459e..865eb5a 100644 --- a/Portfile +++ b/Portfile.in @@ -1,16 +1,16 @@ PortSystem 1.0 name shibboleth -version 2.2.1 -categories shibboleth -maintainers cantor.2@osu.edu +version @-VERSION-@ +categories security www shibboleth +maintainers scantor snc description Shibboleth Native Service Provider long_description Standards-based attribute-based Web SSO system homepage http://shibboleth.internet2.edu/ master_sites http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/${version}/ distname ${name}-sp-${version} worksrcdir ${name}-${version} -checksums sha1 41d23d3585e36c232d6b038e965f71084b7b7daf +checksums sha1 @CHECKSUM@ depends_lib port:opensaml \ port:xmltooling \ @@ -18,6 +18,25 @@ depends_lib port:opensaml \ port:xml-security-c \ port:log4shib +pre-fetch { + set status 0 + if {[catch {exec ${prefix}/bin/curl --version | grep SSL} results]} { + if {[lindex $::errorCode 0] eq "CHILDSTATUS"} { + set status [lindex $::errorCode 2] + } else { + set status [lindex $::errorCode 3] + } + } + if {${status} != 0} { + return -code error "\n + ${name} requires curl to be installed with SSL support. + Please deactivate your current curl installation and + install the proper version of curl: + sudo port deactivate curl + sudo port install curl +ssl\n" + } +} + configure.args --with-xmltooling=${prefix} \ --with-opensaml=${prefix} \ --with-xerces=${prefix} \ @@ -46,4 +65,7 @@ post-destroot { startupitem.create yes startupitem.name shibd startupitem.executable ${prefix}/sbin/shibd -F -f -p ${prefix}/var/run/shibboleth/shibd.pid -startupitem.pidfile clean ${prefix}/var/run/shibboleth/shibd.pid + +livecheck.check regex +livecheck.url http://shibboleth.internet2.edu/downloads/shibboleth/cppsp/latest/mac/ports/shibboleth/shibboleth/Portfile +livecheck.regex "version *(\\d+\\.\\d+(\\.\\d+)?)" diff --git a/configs/Makefile.am b/configs/Makefile.am index 39a75f2..02b2e77 100644 --- a/configs/Makefile.am +++ b/configs/Makefile.am @@ -4,7 +4,7 @@ AUTOMAKE_OPTIONS = foreign pkglibdir = ${libdir}/@PACKAGE@ pkglogdir = ${localstatedir}/log/@PACKAGE@ -pkgdocdir = ${datadir}/doc/@PACKAGE@ +pkgdocdir = $(datadir)/doc/@PACKAGE@-@PACKAGE_VERSION@ shirelogdir = ${localstatedir}/log/httpd pkgxmldir = $(datadir)/xml/@PACKAGE@ pkgrundir = $(localstatedir)/run/@PACKAGE@ diff --git a/doc/Makefile.am b/doc/Makefile.am index 3b312ee..03f93ee 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,6 +1,10 @@ AUTOMAKE_OPTIONS = foreign -pkgdocdir = $(datadir)/doc/@PACKAGE@ +pkgdocdir = $(datadir)/doc/@PACKAGE@-@PACKAGE_VERSION@ + +install-data-hook: + cp -r api $(DESTDIR)$(pkgdocdir) + rm -rf `find $(DESTDIR)$(pkgdocdir)/api -name .svn` docfiles = \ CREDITS.txt \ diff --git a/shibboleth.spec.in b/shibboleth.spec.in index 997d07c..d32461c 100644 --- a/shibboleth.spec.in +++ b/shibboleth.spec.in @@ -1,23 +1,31 @@ Name: shibboleth -Summary: Open source system for attribute-based Web SSO Version: @-VERSION-@ Release: 1 -#Copyright: Internet2 +Summary: Open source system for attribute-based Web SSO Group: System Environment/Libraries -License: Apache style +Vendor: Internet2 +License: Apache 2.0 URL: http://shibboleth.internet2.edu/ -Source0: http://shibboleth.internet2.edu/downloads/%{name}-%{version}.tar.gz +Source: %{name}-sp-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root -BuildRequires: openssl-devel %if 0%{?suse_version} > 1030 BuildRequires: libXerces-c-devel >= 2.8.0 +BuildRequires: libxml-security-c-devel >= 1.4.0 +BuildRequires: libxmltooling-devel >= 1.2 +BuildRequires: libsaml-devel >= 2.2 +%{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0} +%{!?_with_log4cpp:BuildRequires: liblog4shib-devel} %else BuildRequires: xerces%{?xercesver}-c-devel >= 2.8.0 -%endif BuildRequires: xml-security-c-devel >= 1.4.0 -BuildRequires: zlib-devel, opensaml-devel >= 2.2 -%{?_with_log4cpp:BuildRequires: log4cpp-devel >= 1.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++ +%{!?_without_doxygen:BuildRequires: doxygen} +BuildRequires: zlib-devel %{?_with_fastcgi:BuildRequires: fcgi-devel} %if "%{_vendor}" == "redhat" %{!?_without_builtinapache:BuildRequires: httpd-devel} @@ -26,41 +34,47 @@ BuildRequires: zlib-devel, opensaml-devel >= 2.2 %{!?_without_builtinapache:BuildRequires: apache2-devel} %endif +%if "%{_vendor}" == "suse" +%define pkgdocdir %{_docdir}/%{name} +%else +%define pkgdocdir %{_docdir}/%{name}-%{version} +%endif %description -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. +Shibboleth is a Web Single Sign-On implementations based on OpenSAML +that supports multiple protocols, federated identity, and the extensible +exchange of rich attributes subject to privacy controls. -This package contains the shibboleth runtime library and apache module. +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} +%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} +%endif %description devel -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. - -This package contains the headers and other necessary files to build -applications that use the shibboleth library. - -%package docs -Summary: Shibboleth API Documentation -Group: Development/Libraries -Requires: %{name} = %{version} +Shibboleth is a Web Single Sign-On implementations based on OpenSAML +that supports multiple protocols, federated identity, and the extensible +exchange of rich attributes subject to privacy controls. + +This package includes files needed for development with Shibboleth. -%description docs -Shibboleth Library API documentation generated by doxygen. %prep %setup -q @@ -70,24 +84,23 @@ Shibboleth Library API documentation generated by doxygen. %{__make} %install -[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT -%{__make} install NOKEYGEN=1 DESTDIR=$RPM_BUILD_ROOT +%{__make} install NOKEYGEN=1 DESTDIR=$RPM_BUILD_ROOT pkgdocdir=%{pkgdocdir} %if "%{_vendor}" == "suse" %{__sed} -i "s/\/var\/log\/httpd/\/var\/log\/apache2/g" \ - $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/native.logger + $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/native.logger %endif -# Plug the SP into Apache on a recognized system. +# Plug the SP into the built-in Apache on a recognized system. touch rpm.filelist APACHE_CONFIG="no" -if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_13.so ] ; then +if [ -f $RPM_BUILD_ROOT%{_libdir}/%{name}/mod_shib_13.so ] ; then APACHE_CONFIG="apache.config" fi -if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_20.so ] ; then +if [ -f $RPM_BUILD_ROOT%{_libdir}/%{name}/mod_shib_20.so ] ; then APACHE_CONFIG="apache2.config" fi -if [ -f $RPM_BUILD_ROOT/%{_libdir}/%{name}/mod_shib_22.so ] ; then +if [ -f $RPM_BUILD_ROOT%{_libdir}/%{name}/mod_shib_22.so ] ; then APACHE_CONFIG="apache22.config" fi %{?_without_builtinapache:APACHE_CONFIG="no"} @@ -101,15 +114,7 @@ if [ "$APACHE_CONFIG" != "no" ] ; then 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" \ - $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" \ - $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$APACHE_CONFIG \ - > $RPM_BUILD_ROOT$APACHE_CONFD/shib.conf -%endif + %{__cp} -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$APACHE_CONFIG $RPM_BUILD_ROOT$APACHE_CONFD/shib.conf echo "%config $APACHE_CONFD/shib.conf" > rpm.filelist fi fi @@ -146,6 +151,13 @@ sh ./keygen.sh -b fi %endif +%if "%{_vendor}" == "suse" + # On upgrade, restart components if they're already running. + if [ "$1" -gt "1" ] ; then + %{!?_without_builtinapache:/etc/init.d/apache2 status 1>/dev/null && /etc/init.d/apache2 restart 1>/dev/null} + fi +%endif + %preun %if "%{_vendor}" == "redhat" if [ "$1" = 0 ] ; then @@ -154,9 +166,8 @@ sh ./keygen.sh -b fi %endif -%postun %ifnos solaris2.8 solaris2.9 solaris2.10 -/sbin/ldconfig +%postun -p /sbin/ldconfig %endif %posttrans @@ -200,29 +211,20 @@ sh ./keygen.sh -b %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}/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 +%doc %{pkgdocdir} +%exclude %{pkgdocdir}/api %files devel %defattr(-,root,root,-) -%{_includedir} +%{_includedir}/* %{_libdir}/libshibsp.so %{_libdir}/libshibsp-lite.so - -%files docs -%defattr(644,root,root,755) -%doc %{_datadir}/doc/%{name}/api +%doc %{pkgdocdir}/api %changelog +* Sat Aug 8 2009 Scott Cantor - 2.2.1-1 +- Doc handling changes + * Tue Aug 4 2009 Scott Cantor - 2.2.1-1 - Initial version for 2.2.1, with shibd/httpd restart on upgrade