Makefile and specfile changes for SuSE.
authorScott Cantor <cantor.2@osu.edu>
Sun, 9 Aug 2009 00:22:35 +0000 (00:22 +0000)
committerScott Cantor <cantor.2@osu.edu>
Sun, 9 Aug 2009 00:22:35 +0000 (00:22 +0000)
Makefile.am
Portfile.in [moved from Portfile with 64% similarity]
configs/Makefile.am
doc/Makefile.am
shibboleth.spec.in

index e2a1f65..69dd195 100644 (file)
@@ -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)
similarity index 64%
rename from Portfile
rename to Portfile.in
index acd459e..865eb5a 100644 (file)
--- a/Portfile
@@ -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+)?)"
index 39a75f2..02b2e77 100644 (file)
@@ -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@
index 3b312ee..03f93ee 100644 (file)
@@ -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 \
index 997d07c..d32461c 100644 (file)
@@ -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  <cantor.2@osu.edu>  - 2.2.1-1
+- Doc handling changes
+
 * Tue Aug 4 2009 Scott Cantor  <cantor.2@osu.edu>  - 2.2.1-1
 - Initial version for 2.2.1, with shibd/httpd restart on upgrade