[cpp-linbuild] 02/25: Import initial working build system
Scott Cantor
cantor.2 at osu.edu
Mon Apr 5 12:46:45 UTC 2021
This is an automated email from the git hooks/post-receive script.
scantor pushed a commit to branch main
in repository cpp-linbuild.
View the commit online:
http://git.shibboleth.net/view/?p=cpp-linbuild.git;a=commit;h=f17017033b526d87eb915881f6ee10707134d1b5
commit f17017033b526d87eb915881f6ee10707134d1b5
Author: John W. O'Brien <john at saltant.com>
AuthorDate: Sun Dec 6 18:07:19 2020 -0500
Import initial working build system
---
Makefile | 212 ++++++++
common/SPECS/curl-openssl.spec | 811 +++++++++++++++++++++++++++++++
common/SPECS/log4shib.spec | 119 +++++
common/SPECS/opensaml.spec | 200 ++++++++
common/SPECS/shibboleth.spec | 630 ++++++++++++++++++++++++
common/SPECS/xerces-c.spec | 140 ++++++
common/SPECS/xml-security-c.spec | 149 ++++++
common/SPECS/xmltooling.spec | 213 ++++++++
os/centos6/image/Dockerfile | 34 ++
os/centos6/image/build-curl-openssl.sh | 2 +
os/centos6/image/build-log4shib.sh | 1 +
os/centos6/image/build-opensaml.sh | 6 +
os/centos6/image/build-shibboleth.sh | 9 +
os/centos6/image/build-xerces-c.sh | 1 +
os/centos6/image/build-xml-security-c.sh | 2 +
os/centos6/image/build-xmltooling.sh | 5 +
os/centos7/image/Dockerfile | 34 ++
os/centos7/image/build-curl-openssl.sh | 2 +
os/centos7/image/build-log4shib.sh | 1 +
os/centos7/image/build-opensaml.sh | 6 +
os/centos7/image/build-shibboleth.sh | 9 +
os/centos7/image/build-xerces-c.sh | 1 +
os/centos7/image/build-xml-security-c.sh | 2 +
os/centos7/image/build-xmltooling.sh | 5 +
os/centos8/image/Dockerfile | 36 ++
os/centos8/image/build-log4shib.sh | 1 +
os/centos8/image/build-opensaml.sh | 5 +
os/centos8/image/build-shibboleth.sh | 7 +
os/centos8/image/build-xerces-c.sh | 1 +
os/centos8/image/build-xml-security-c.sh | 2 +
os/centos8/image/build-xmltooling.sh | 4 +
31 files changed, 2650 insertions(+)
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..6fb3fd5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,212 @@
+# Top-level Makefile
+
+# Purpose: Docker-ized build of the Shibboleth SP and its siblings
+# for a set of supported operating systems
+# Author: John W. O'Brien <john at saltant.com>, Saltant Solutions LLC
+# Sponsor: Internet2
+
+# Targets:
+#
+# all Build all components on each supported platform
+# distfiles Download tarball sources for each component
+# images Build Docker images for each supported platform
+#
+# <plat>-image Build Docker image for platform <plat>
+#
+# <comp> Build component <comp> on each supported platform
+# <comp> is a virtual component name the actual
+# products of which are a set of RPMs and SRPMs.
+# <comp>_<plat> Build component <comp> on platform <plat>
+#
+
+# Constants and utility variables
+
+makefile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
+srcdir := $(dir $(makefile_path))
+
+DEFAULT_DIST_EXT=tar.bz2
+SOURCEDIR=$(srcdir)common/SOURCES
+SPECDIR=$(srcdir)common/SPECS
+
+
+# All components
+
+COMPONENTS=\
+ LOG4SHIB \
+ XERCESC \
+ XMLSECURITYC \
+ CURLOPENSSL \
+ XMLTOOLING \
+ OPENSAML \
+ SHIBBOLETH
+
+# Per-component variables
+
+# *_COMPNAME Component name. This is the name by which the component
+# is referred to in virtual targets.
+# *_DISTNAME Base name of the source distibution, if different from
+# the component's main name.
+# Default: $(*_COMPNAME)
+# *_DISTNAME Full filename of the source distribution.
+# *_VERSION Component's current version.
+# *_URL URL from which to retreive the component's source code.
+# Passed to curl or equivalent (i.e. not git, svn, etc).
+# *_DEPENDS A list of other components on which this component depends.
+# *_DEPENDS_<plat>
+# A list of other components on which this component depends
+# when built on platform <plat>.
+# *_VALID_PLATFORMS
+# A list of platforms on which it is valid to build this
+# components.
+# Default: $(PLATFORMS)
+
+
+LOG4SHIB_COMPNAME=log4shib
+LOG4SHIB_VERSION=2.0.0
+LOG4SHIB_DISTFILE=$(LOG4SHIB_COMPNAME)-$(LOG4SHIB_VERSION).$(DEFAULT_DIST_EXT)
+LOG4SHIB_URL=https://shibboleth.net/downloads/$(LOG4SHIB_COMPNAME)/$(LOG4SHIB_VERSION)/$(LOG4SHIB_DISTFILE)
+
+XERCESC_COMPNAME=xerces-c
+XERCESC_VERSION=3.2.1
+XERCESC_MAJORVER=3
+XERCESC_DISTFILE=$(XERCESC_COMPNAME)-$(XERCESC_VERSION).$(DEFAULT_DIST_EXT)
+XERCESC_URL=https://archive.apache.org/dist/xerces/c/$(XERCESC_MAJORVER)/sources/$(XERCESC_DISTFILE)
+
+XMLSECURITYC_COMPNAME=xml-security-c
+XMLSECURITYC_VERSION=2.0.2
+XMLSECURITYC_DISTFILE=$(XMLSECURITYC_COMPNAME)-$(XMLSECURITYC_VERSION).$(DEFAULT_DIST_EXT)
+XMLSECURITYC_URL=https://downloads.apache.org/santuario/c-library/$(XMLSECURITYC_DISTFILE)
+XMLSECURITYC_DEPENDS=XERCESC
+
+CURLOPENSSL_COMPNAME=curl-openssl
+CURLOPENSSL_DISTNAME=curl
+CURLOPENSSL_VERSION=7.63.0
+CURLOPENSSL_DISTFILE=$(CURLOPENSSL_DISTNAME)-$(CURLOPENSSL_VERSION).$(DEFAULT_DIST_EXT)
+CURLOPENSSL_URL=https://curl.haxx.se/download/$(CURLOPENSSL_DISTFILE)
+CURLOPENSSL_VALID_PLATFORMS=centos7
+
+# Look closely: these variables refer to the OPENSAML variables
+XMLTOOLING_COMPNAME=xmltooling
+XMLTOOLING_VERSION=3.0.4
+XMLTOOLING_DISTFILE=$(XMLTOOLING_COMPNAME)-$(XMLTOOLING_VERSION).$(DEFAULT_DIST_EXT)
+XMLTOOLING_URL=https://shibboleth.net/downloads/c++-opensaml/$(OPENSAML_VERSION)/$(XMLTOOLING_DISTFILE)
+XMLTOOLING_DEPENDS=LOG4SHIB XERCESC XMLSECURITYC
+XMLTOOLING_DEPENDS_centos7=CURLOPENSSL
+
+OPENSAML_COMPNAME=opensaml
+OPENSAML_VERSION=3.0.1
+OPENSAML_DISTFILE=$(OPENSAML_COMPNAME)-$(OPENSAML_VERSION).$(DEFAULT_DIST_EXT)
+OPENSAML_URL=https://shibboleth.net/downloads/c++-$(OPENSAML_COMPNAME)/$(OPENSAML_VERSION)/$(OPENSAML_DISTFILE)
+OPENSAML_DEPENDS=LOG4SHIB XERCESC XMLSECURITYC XMLTOOLING
+
+SHIBBOLETH_COMPNAME=shibboleth
+SHIBBOLETH_DISTNAME=shibboleth-sp
+SHIBBOLETH_VERSION=3.0.4
+SHIBBOLETH_DISTFILE=$(SHIBBOLETH_DISTNAME)-$(SHIBBOLETH_VERSION).$(DEFAULT_DIST_EXT)
+SHIBBOLETH_URL=https://shibboleth.net/downloads/service-provider/$(SHIBBOLETH_VERSION)/$(SHIBBOLETH_DISTFILE)
+SHIBBOLETH_DEPENDS=LOG4SHIB XERCESC XMLSECURITYC XMLTOOLING OPENSAML
+SHIBBOLETH_DEPENDS_centos7=CURLOPENSSL
+
+
+#
+# Platform-neutral variables and rules
+#
+
+# Define a set of virtual targets, one per component
+TARGETS=$(foreach component,$(COMPONENTS),$($(component)_COMPNAME))
+.PHONY: all $(TARGETS)
+all: $(TARGETS)
+
+# Retreive the tarball for each component from its distfile URL
+define curl-distfile-component
+$(SOURCEDIR)/$$($(1)_DISTFILE):
+ (cd $(SOURCEDIR) && curl -O $$($(1)_URL))
+endef
+
+$(foreach component,$(COMPONENTS),$(eval $(call curl-distfile-component,$(component))))
+
+# Convenience target to retreive all source tarballs
+.PHONY: distfiles
+distfiles: $(foreach component,$(COMPONENTS),$(SOURCEDIR)/$($(component)_DISTFILE))
+
+
+#
+# Supported platforms
+#
+
+PLATFORMS=\
+ centos7 \
+ centos8
+
+# XXX took centos6 out because it just went EoL and the upstream repos broke
+
+# To add a new platform, create the following
+# os/$OS/
+# image/
+# Dockerfile
+# build-<comp>.sh # one per valid component
+# products/
+# RPMS/
+# SRPMS/
+
+# Platform-specific variables and rules
+
+# By default, each component is valid on all platforms
+# Factored out of the following macro because the meta, lazy, layered
+# syntax got to be too much to wrap my head around.
+$(foreach component,$(COMPONENTS),$(eval $(component)_VALID_PLATFORMS ?= $(PLATFORMS)))
+
+# Each virtual component depends on being built on all valid platforms
+define validity-component
+$$($(1)_COMPNAME): $(foreach platform,$($(1)_VALID_PLATFORMS),$$($(1)_COMPNAME)_$(platform))
+endef
+
+$(foreach component,$(COMPONENTS),$(eval $(call validity-component,$(component))))
+
+# Each component may depend on other components, generally or on
+# specific platforms
+define dependencies-component-platform
+$$($(1)_COMPNAME)_$(2): $(foreach depend,$$($(1)_DEPENDS),$$($(depend)_COMPNAME)_$(1)) $(foreach component,$$($(1)_DEPENDS_$(2)),$$($(component)_COMPNAME)_$(1))
+endef
+
+$(foreach platform,$(PLATFORMS),$(foreach component,$(COMPONENTS),$(eval $(call dependencies-component-platform,$(platform),$(component)))))
+
+# Build a docker image for each supported platform
+define build-docker-image-platform
+$(1)_token = $$(srcdir).$(1)_image
+$$($(1)_token): $(srcdir)os/$(1)/image/Dockerfile
+ docker build -t shibboleth/$(1):latest $(srcdir)os/$(1)/image
+ touch $$($(1)_token)
+$(1)-image: $$($(1)_token)
+endef
+
+$(foreach platform,$(PLATFORMS),$(eval $(call build-docker-image-platform,$(platform))))
+
+# Convenience target to build Docker images for all supported platforms
+.PHONY: images
+images: $(foreach platform,$(PLATFORMS),$(platform)-image)
+
+
+# Build RPMs and SRPMs for a each component on each platform
+define build-component-platform
+$(1)_$(2)_token = $(srcdir).$(1)_$(2)_products
+$$($(1)_$(2)_token): $$($(2)_token) $(SOURCEDIR)/$$($(1)_DISTFILE) $(SPECDIR)/$$($(1)_COMPNAME).spec
+ docker run -it --rm \
+ --mount type=bind,source=$(srcdir)os/$(2)/products,target=/opt/build/external/out \
+ --mount type=bind,source=$(srcdir)common,target=/opt/build/external/in \
+ shibboleth/$(2):latest \
+ /bin/sh /opt/build/build-$($(1)_COMPNAME).sh
+ touch $$($(1)_$(2)_token)
+$$($(1)_COMPNAME)_$(2): $$($(1)_$(2)_token)
+endef
+
+$(foreach platform,$(PLATFORMS),$(foreach component,$(COMPONENTS),$(eval $(call build-component-platform,$(component),$(platform)))))
+
+# TODO:
+# update components to latest versions (opensaml 3.1.0, xerces-c 3.2.3, sp 3.1.0.2)
+# add a clean target
+# teach each image to depend on the build scripts for that image
+# refresh an affected image in the event one of its dependencies changes
+# save build logs to the host
+# auto-generate build-scripts (maybe)
+# template %packager
diff --git a/common/SPECS/curl-openssl.spec b/common/SPECS/curl-openssl.spec
new file mode 100644
index 0000000..db11d8b
--- /dev/null
+++ b/common/SPECS/curl-openssl.spec
@@ -0,0 +1,811 @@
+# Relocate all the files to /opt/shibboleth
+%global _prefix /opt/shibboleth
+# Intresting _mandir is hardcoded to /usr/share/man and
+# not %%_prefix/share/man - that's a bug.
+%global _mandir %{_prefix}/share/man
+
+Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
+Name: curl-openssl
+Version: 7.63.0
+Release: 1%{?dist}
+License: MIT
+Group: Applications/Internet
+Source: http://curl.haxx.se/download/curl-%{version}.tar.bz2
+URL: http://curl.haxx.se/
+BuildRoot: %{_tmppath}/curl-%{version}-%{release}-root-%(%{__id_u} -n)
+BuildRequires: automake
+BuildRequires: redhat-rpm-config
+BuildRequires: groff
+BuildRequires: krb5-devel
+BuildRequires: libidn-devel
+#BuildRequires: libssh2-devel >= 1.2
+#BuildRequires: nss-devel
+BuildRequires: openssl-devel
+BuildRequires: openldap-devel
+#BuildRequires: openssh-clients
+#BuildRequires: openssh-server
+BuildRequires: pkgconfig
+BuildRequires: stunnel
+
+BuildRequires: zlib-devel
+Requires: libcurl-openssl = %{version}-%{release}
+
+# We do not want curl-openssl to provide or require the
+#.so and similar files that the real curl provides so we must
+# filter them out.
+%filter_provides_in %{_libdir}/.*\.so.*$
+%filter_from_provides /pkgconfig(libcurl)/d
+%filter_from_requires /libcurl\.so\..*/d
+%filter_setup
+
+%description
+cURL package built with openssl instead of NSS.
+
+%package -n libcurl-openssl
+Summary: A library for getting files from web servers
+Group: Development/Libraries
+
+# libssh2 ABI has been changed since libssh2-1.0
+# this forces update of libssh2 before update of libcurl
+#Requires: libssh2 >= 1.2
+
+%description -n libcurl-openssl
+cURL package built with openssl instead of NSS.
+
+%package -n libcurl-openssl-devel
+Summary: Files needed for building applications with libcurl-openssl
+Group: Development/Libraries
+Requires: automake
+Requires: libcurl-openssl = %{version}-%{release}
+Requires: libidn-devel
+Requires: pkgconfig
+
+%description -n libcurl-openssl-devel
+The libcurl-openssl-devel package includes files needed for
+developing applications which can use cURL's capabilities internally.
+
+%prep
+%setup -q -n curl-%{version}
+
+# Convert docs to UTF-8
+for f in CHANGES README; do
+ iconv -f iso-8859-1 -t utf8 < ${f} > ${f}.utf8
+ mv -f ${f}.utf8 ${f}
+done
+
+%build
+%configure --with-ssl --enable-ipv6 --without-ca-bundle --with-libidn \
+ --with-gssapi --enable-ldaps --disable-static --enable-manual
+sed -i -e 's,-L/usr/lib ,,g;s,-L/usr/lib64 ,,g;s,-L/usr/lib$,,g;s,-L/usr/lib64$,,g' \
+ Makefile libcurl.pc
+# Remove bogus rpath
+sed -i \
+ -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
+ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
+
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+make DESTDIR=$RPM_BUILD_ROOT INSTALL="%{__install} -p" install
+
+rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl.la
+
+install -d $RPM_BUILD_ROOT%{_datadir}/aclocal
+install -m 644 docs/libcurl/libcurl.m4 $RPM_BUILD_ROOT%{_datadir}/aclocal
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+# We don't update the central cache but do create the symlinks.
+%post -n libcurl-openssl
+/sbin/ldconfig -N %{_libdir}
+
+%postun -n libcurl-openssl
+/sbin/ldconfig -N %{_libdir}
+
+%files
+%defattr(-,root,root,-)
+%doc CHANGES README* COPYING
+%doc docs/BUGS docs/FAQ docs/FEATURES
+%doc docs/MANUAL docs/RESOURCES
+%doc docs/TheArtOfHttpScripting docs/TODO
+%dir %{_bindir}
+%{_bindir}/curl
+%dir %{_mandir}
+%dir %{_mandir}/man1
+%{_mandir}/man1/curl.1*
+
+%files -n libcurl-openssl
+%defattr(-,root,root,-)
+%dir %{_prefix}
+%dir %{_libdir}
+%{_libdir}/libcurl.so.*
+
+%files -n libcurl-openssl-devel
+%defattr(-,root,root,-)
+%doc docs/examples/*.c docs/examples/Makefile.example
+%doc docs/libcurl/ABI
+%dir %{_bindir}
+%dir %{_includedir}
+%dir %{_libdir}/pkgconfig
+%dir %{_mandir}
+%dir %{_mandir}/man1
+%dir %{_mandir}/man3
+%dir %{_datadir}
+%dir %{_datadir}/aclocal
+%{_bindir}/curl-config*
+%{_includedir}/curl
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
+%{_mandir}/man1/curl-config.1*
+%{_mandir}/man3/*
+%{_datadir}/aclocal/libcurl.m4
+
+%changelog
+* Thu Feb 18 2016 Scott Cantor <cantor.2 at osu.edu> 7.47.1-1
+- update version
+- add missing file to package
+
+* Fri Feb 03 2012 Scott Cantor <cantor.2 at osu.edu> 7.24.0-1
+- update version
+
+* Sat Jun 25 2011 Scott Cantor <cantor.2 at osu.edu> 7.21.7-1
+- switch from Red Hat to upstream sources
+- install into /opt/shibboleth
+
+* Thu May 19 2011 Scott Cantor <cantor.2 at osu.edu> 7.19.7-26.1
+- rename packages and adjust build to use openssl for RH6
+
+* Thu Apr 07 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-26
+- force NSS to ask for a new client certificate when connecting second time
+ to the same host (#694294)
+
+* Wed Apr 06 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-25
+- fix SIGSEGV in CERT_VerifyCert (#690273)
+
+* Thu Mar 17 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-24
+- make GSS authentication work when a curl handle is reused (#684892)
+
+* Wed Mar 16 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-23
+- do not ignore value of CURLOPT_SSL_VERIFYPEER in certain cases (#678580)
+
+* Tue Feb 22 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-22
+- do not ignore failure of SSL handshake (#669702)
+
+* Fri Feb 18 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-21
+- avoid memory leaks on SSL connection failure (#678594)
+
+* Wed Jan 19 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-20
+- avoid memory leaks and failure of NSS shutdown (#670802)
+
+* Tue Jan 18 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-19
+- fix handling of CURLOPT_CAPATH in libcurl (#669702)
+
+* Thu Jan 13 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-18
+- avoid build failure caused by a bug in libnih-devel (#669048)
+
+* Mon Jan 10 2011 Kamil Dudka <kdudka at redhat.com> 7.19.7-17
+- avoid CURLE_OUT_OF_MEMORY given a file name without any slash (#623663)
+- proxy tunnel support for LDAP requests (#655134)
+- proxy with kerberos authentication for https (#625685)
+- improve handling of FTP server session timeout (#651592)
+
+* Tue Nov 23 2010 Scott Cantor <cantor.2 at osu.edu> 7.19.7-17.1
+- rename packages and adjust build to use openssl for RH6
+
+* Wed Jun 30 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-16
+- add support for NTLM authentication (#606819)
+
+* Thu Jun 17 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-15
+- improve handling of proxy related environment variables (#589132)
+
+* Tue Apr 27 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-14
+- do not ignore given timeout during SSL connection (#586355)
+
+* Wed Apr 14 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-13
+- kerberos installation prefix has been changed
+
+* Wed Apr 14 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-12
+- support for CRL loading from a PEM file (#581485)
+
+* Tue Apr 06 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-11
+- eliminated a race condition in handling of SIGALRM (#579732)
+
+* Fri Mar 26 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-10
+- throw CURLE_SSL_CERTPROBLEM in case peer rejects a certificate (#565972)
+- add change-log entries for patches applied upstream
+
+* Tue Mar 23 2010 Kamil Dudka <kdudka at redhat.com> - 7.19.7-9
+- remove signal handler in case of DNS timeout (#575977)
+
+* Mon Feb 22 2010 Kamil Dudka <kdudka at redhat.com> - 7.19.7-8
+- http://curl.haxx.se/docs/adv_20100209.html (#563236)
+
+* Tue Feb 02 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-7
+- mention lack of IPv6, FTPS and LDAP support while using a socks proxy
+ (#559578)
+
+* Thu Jan 07 2010 Kamil Dudka <kdudka at redhat.com> 7.19.7-6
+- fix incorrect SSL recv/send timeout handling, patch contributed
+ by Kevin Baughman
+- http://permalink.gmane.org/gmane.comp.web.curl.library/26302
+
+* Tue Dec 15 2009 Kamil Dudka <kdudka at redhat.com> 7.19.7-5
+- use different port numbers for 32bit and 64bit builds
+- replace hard wired port numbers in the test suite
+
+* Tue Dec 08 2009 Kamil Dudka <kdudka at redhat.com> 7.19.7-4
+- avoid use of uninitialized value in lib/nss.c
+- make it possible to run test241
+- suppress failure of test513 on s390
+- re-enable SCP/SFTP tests (#539444)
+
+* Tue Dec 01 2009 Kamil Dudka <kdudka at redhat.com> 7.19.7-3
+- do not require valgrind on s390 and s390x
+- temporarily disabled SCP/SFTP test-suite (#539444)
+
+* Thu Nov 26 2009 Kamil Dudka <kdudka at redhat.com> 7.19.7-2
+- workaround for broken TLS servers (#525496, #527771)
+
+* Thu Nov 12 2009 Kamil Dudka <kdudka at redhat.com> 7.19.7-1
+- new upstream release, dropped applied patches
+- fix crash on doubly closed NSPR descriptor, patch contributed
+ by Kevin Baughman (#534176)
+
+* Sun Sep 27 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-10
+- require libssh2>=1.2 properly (#525002)
+
+* Sat Sep 26 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-9
+- let curl test-suite use valgrind
+- require libssh2>=1.2 (#525002)
+
+* Mon Sep 21 2009 Chris Weyl <cweyl at alumni.drew.edu> - 7.19.6-8
+- rebuild for libssh2 1.2
+
+* Thu Sep 17 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-7
+- make curl test-suite more verbose
+
+* Wed Sep 16 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-6
+- update polling patch to the latest upstream version
+
+* Thu Sep 03 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-5
+- cover ssh and stunnel support by the test-suite
+
+* Wed Sep 02 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-4
+- use pkg-config to find nss and libssh2 if possible
+- better patch (not only) for SCP/SFTP polling
+- improve error message for not matching common name (#516056)
+
+* Fri Aug 21 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-3
+- avoid tight loop during a sftp upload
+- http://permalink.gmane.org/gmane.comp.web.curl.library/24744
+
+* Tue Aug 18 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-2
+- let curl package depend on the same version of libcurl
+
+* Fri Aug 14 2009 Kamil Dudka <kdudka at redhat.com> 7.19.6-1
+- new upstream release, dropped applied patches
+- changed NSS code to not ignore the value of ssl.verifyhost and produce more
+ verbose error messages (#516056)
+
+* Wed Aug 12 2009 Ville Skyttä <ville.skytta at iki.fi> - 7.19.5-10
+- Use lzma compressed upstream tarball.
+
+* Fri Jul 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 7.19.5-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Wed Jul 22 2009 Kamil Dudka <kdudka at redhat.com> 7.19.5-8
+- do not pre-login to all PKCS11 slots, it causes problems with HW tokens
+- try to select client certificate automatically when not specified, thanks
+ to Claes Jakobsson
+
+* Fri Jul 10 2009 Kamil Dudka <kdudka at redhat.com> 7.19.5-7
+- fix SIGSEGV when using NSS client certificates, thanks to Claes Jakobsson
+
+* Sun Jul 05 2009 Kamil Dudka <kdudka at redhat.com> 7.19.5-6
+- force test suite to use the just built libcurl, thanks to Paul Howarth
+
+* Thu Jul 02 2009 Kamil Dudka <kdudka at redhat.com> 7.19.5-5
+- run test suite after build
+- enable built-in manual
+
+* Wed Jun 24 2009 Kamil Dudka <kdudka at redhat.com> 7.19.5-4
+- fix bug introduced by the last build (#504857)
+
+* Wed Jun 24 2009 Kamil Dudka <kdudka at redhat.com> 7.19.5-3
+- exclude curlbuild.h content from spec (#504857)
+
+* Wed Jun 10 2009 Kamil Dudka <kdudka at redhat.com> 7.19.5-2
+- avoid unguarded comparison in the spec file, thanks to R P Herrold (#504857)
+
+* Tue May 19 2009 Kamil Dudka <kdudka at redhat.com> 7.19.5-1
+- update to 7.19.5, dropped applied patches
+
+* Mon May 11 2009 Kamil Dudka <kdudka at redhat.com> 7.19.4-11
+- fix infinite loop while loading a private key, thanks to Michael Cronenworth
+ (#453612)
+
+* Mon Apr 27 2009 Kamil Dudka <kdudka at redhat.com> 7.19.4-10
+- fix curl/nss memory leaks while using client certificate (#453612, accepted
+ by upstream)
+
+* Wed Apr 22 2009 Kamil Dudka <kdudka at redhat.com> 7.19.4-9
+- add missing BuildRequire for autoconf
+
+* Wed Apr 22 2009 Kamil Dudka <kdudka at redhat.com> 7.19.4-8
+- fix configure.ac to not discard -g in CFLAGS (#496778)
+
+* Tue Apr 21 2009 Debarshi Ray <rishi at fedoraproject.org> 7.19.4-7
+- Fixed configure to respect the environment's CFLAGS and CPPFLAGS settings.
+
+* Tue Apr 14 2009 Kamil Dudka <kdudka at redhat.com> 7.19.4-6
+- upstream patch fixing memory leak in lib/nss.c (#453612)
+- remove redundant dependency of libcurl-devel on libssh2-devel
+
+* Wed Mar 18 2009 Kamil Dudka <kdudka at redhat.com> 7.19.4-5
+- enable 6 additional crypto algorithms by default (#436781,
+ accepted by upstream)
+
+* Thu Mar 12 2009 Kamil Dudka <kdudka at redhat.com> 7.19.4-4
+- fix memory leak in src/main.c (accepted by upstream)
+- avoid using %%ifarch
+
+* Wed Mar 11 2009 Kamil Dudka <kdudka at redhat.com> 7.19.4-3
+- make libcurl-devel multilib-ready (bug #488922)
+
+* Fri Mar 06 2009 Jindrich Novy <jnovy at redhat.com> 7.19.4-2
+- drop .easy-leak patch, causes problems in pycurl (#488791)
+- fix libcurl-devel dependencies (#488895)
+
+* Tue Mar 03 2009 Jindrich Novy <jnovy at redhat.com> 7.19.4-1
+- update to 7.19.4 (fixes CVE-2009-0037)
+- fix leak in curl_easy* functions, thanks to Kamil Dudka
+- drop nss-fix patch, applied upstream
+
+* Tue Feb 24 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 7.19.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Tue Feb 17 2009 Kamil Dudka <kdudka at redhat.com> 7.19.3-1
+- update to 7.19.3, dropped applied nss patches
+- add patch fixing 7.19.3 curl/nss bugs
+
+* Mon Dec 15 2008 Jindrich Novy <jnovy at redhat.com> 7.18.2-9
+- rebuild for f10/rawhide cvs tag clashes
+
+* Sat Dec 06 2008 Jindrich Novy <jnovy at redhat.com> 7.18.2-8
+- use improved NSS patch, thanks to Rob Crittenden (#472489)
+
+* Tue Sep 09 2008 Jindrich Novy <jnovy at redhat.com> 7.18.2-7
+- update the thread safety patch, thanks to Rob Crittenden (#462217)
+
+* Wed Sep 03 2008 Warren Togami <wtogami at redhat.com> 7.18.2-6
+- add thread safety to libcurl NSS cleanup() functions (#459297)
+
+* Fri Aug 22 2008 Tom "spot" Callaway <tcallawa at redhat.com> 7.18.2-5
+- undo mini libcurl.so.3
+
+* Mon Aug 11 2008 Tom "spot" Callaway <tcallawa at redhat.com> 7.18.2-4
+- make miniature library for libcurl.so.3
+
+* Wed Jul 4 2008 Jindrich Novy <jnovy at redhat.com> 7.18.2-3
+- enable support for libssh2 (#453958)
+
+* Wed Jun 18 2008 Jindrich Novy <jnovy at redhat.com> 7.18.2-2
+- fix curl_multi_perform() over a proxy (#450140), thanks to
+ Rob Crittenden
+
+* Wed Jun 4 2008 Jindrich Novy <jnovy at redhat.com> 7.18.2-1
+- update to 7.18.2
+
+* Wed May 7 2008 Jindrich Novy <jnovy at redhat.com> 7.18.1-2
+- spec cleanup, thanks to Paul Howarth (#225671)
+ - drop BR: libtool
+ - convert CHANGES and README to UTF-8
+ - _GNU_SOURCE in CFLAGS is no more needed
+ - remove bogus rpath
+
+* Mon Mar 31 2008 Jindrich Novy <jnovy at redhat.com> 7.18.1-1
+- update to curl 7.18.1 (fixes #397911)
+- add ABI docs for libcurl
+- remove --static-libs from curl-config
+- drop curl-config patch, obsoleted by @SSL_ENABLED@ autoconf
+ substitution (#432667)
+
+* Fri Feb 15 2008 Jindrich Novy <jnovy at redhat.com> 7.18.0-2
+- define _GNU_SOURCE so that NI_MAXHOST gets defined from glibc
+
+* Mon Jan 28 2008 Jindrich Novy <jnovy at redhat.com> 7.18.0-1
+- update to curl-7.18.0
+- drop sslgen patch -> applied upstream
+- fix typo in description
+
+* Tue Jan 22 2008 Jindrich Novy <jnovy at redhat.com> 7.17.1-6
+- fix curl-devel obsoletes so that we don't break F8->F9 upgrade
+ path (#429612)
+
+* Tue Jan 8 2008 Jindrich Novy <jnovy at redhat.com> 7.17.1-5
+- do not attempt to close a bad socket (#427966),
+ thanks to Caolan McNamara
+
+* Tue Dec 4 2007 Jindrich Novy <jnovy at redhat.com> 7.17.1-4
+- rebuild because of the openldap soname bump
+- remove old nsspem patch
+
+* Fri Nov 30 2007 Jindrich Novy <jnovy at redhat.com> 7.17.1-3
+- drop useless ldap library detection since curl doesn't
+ dlopen()s it but links to it -> BR: openldap-devel
+- enable LDAPS support (#225671), thanks to Paul Howarth
+- BR: krb5-devel to reenable GSSAPI support
+- simplify build process
+- update description
+
+* Wed Nov 21 2007 Jindrich Novy <jnovy at redhat.com> 7.17.1-2
+- update description to contain complete supported servers list (#393861)
+
+* Sat Nov 17 2007 Jindrich Novy <jnovy at redhat.com> 7.17.1-1
+- update to curl 7.17.1
+- include patch to enable SSL usage in NSS when a socket is opened
+ nonblocking, thanks to Rob Crittenden (rcritten at redhat.com)
+
+* Wed Oct 24 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-10
+- correctly provide/obsolete curl-devel (#130251)
+
+* Wed Oct 24 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-9
+- create libcurl and libcurl-devel subpackages (#130251)
+
+* Thu Oct 11 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-8
+- list features correctly when curl is compiled against NSS (#316191)
+
+* Mon Sep 17 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-7
+- add zlib-devel BR to enable gzip compressed transfers in curl (#292211)
+
+* Mon Sep 10 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-6
+- provide webclient (#225671)
+
+* Thu Sep 6 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-5
+- add support for the NSS PKCS#11 pem reader so the command-line is the
+ same for both OpenSSL and NSS by Rob Crittenden (rcritten at redhat.com)
+- switch to NSS again
+
+* Mon Sep 3 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-4
+- revert back to use OpenSSL (#266021)
+
+* Mon Aug 27 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-3
+- don't use openssl, use nss instead
+
+* Fri Aug 10 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-2
+- fix anonymous ftp login (#251570), thanks to David Cantrell
+
+* Wed Jul 11 2007 Jindrich Novy <jnovy at redhat.com> 7.16.4-1
+- update to 7.16.4
+
+* Mon Jun 25 2007 Jindrich Novy <jnovy at redhat.com> 7.16.3-1
+- update to 7.16.3
+- drop .print patch, applied upstream
+- next series of merge review fixes by Paul Howarth
+- remove aclocal stuff, no more needed
+- simplify makefile arguments
+- don't reference standard library paths in libcurl.pc
+- include docs/CONTRIBUTE
+
+* Mon Jun 18 2007 Jindrich Novy <jnovy at redhat.com> 7.16.2-5
+- don't print like crazy (#236981), backported from upstream CVS
+
+* Fri Jun 15 2007 Jindrich Novy <jnovy at redhat.com> 7.16.2-4
+- another series of review fixes (#225671),
+ thanks to Paul Howarth
+- check version of ldap library automatically
+- don't use %%makeinstall and preserve timestamps
+- drop useless patches
+
+* Fri May 11 2007 Jindrich Novy <jnovy at redhat.com> 7.16.2-3
+- add automake BR to curl-devel to fix aclocal dir. ownership,
+ thanks to Patrice Dumas
+
+* Thu May 10 2007 Jindrich Novy <jnovy at redhat.com> 7.16.2-2
+- package libcurl.m4 in curl-devel (#239664), thanks to Quy Tonthat
+
+* Wed Apr 11 2007 Jindrich Novy <jnovy at redhat.com> 7.16.2-1
+- update to 7.16.2
+
+* Mon Feb 19 2007 Jindrich Novy <jnovy at redhat.com> 7.16.1-3
+- don't create/ship static libraries (#225671)
+
+* Mon Feb 5 2007 Jindrich Novy <jnovy at redhat.com> 7.16.1-2
+- merge review related spec fixes (#225671)
+
+* Mon Jan 29 2007 Jindrich Novy <jnovy at redhat.com> 7.16.1-1
+- update to 7.16.1
+
+* Tue Jan 16 2007 Jindrich Novy <jnovy at redhat.com> 7.16.0-5
+- don't package generated makefiles for docs/examples to avoid
+ multilib conflicts
+
+* Mon Dec 18 2006 Jindrich Novy <jnovy at redhat.com> 7.16.0-4
+- convert spec to UTF-8
+- don't delete BuildRoot in %%prep phase
+- rpmlint fixes
+
+* Thu Nov 16 2006 Jindrich Novy <jnovy at redhat.com> -7.16.0-3
+- prevent curl from dlopen()ing missing ldap libraries so that
+ ldap:// requests work (#215928)
+
+* Tue Oct 31 2006 Jindrich Novy <jnovy at redhat.com> - 7.16.0-2
+- fix BuildRoot
+- add Requires: pkgconfig for curl-devel
+- move LDFLAGS and LIBS to Libs.private in libcurl.pc.in (#213278)
+
+* Mon Oct 30 2006 Jindrich Novy <jnovy at redhat.com> - 7.16.0-1
+- update to curl-7.16.0
+
+* Thu Aug 24 2006 Jindrich Novy <jnovy at redhat.com> - 7.15.5-1.fc6
+- update to curl-7.15.5
+- use %%{?dist}
+
+* Fri Jun 30 2006 Ivana Varekova <varekova at redhat.com> - 7.15.4-1
+- update to 7.15.4
+
+* Mon Mar 20 2006 Ivana Varekova <varekova at redhat.com> - 7.15.3-1
+- fix multilib problem using pkg-config
+- update to 7.15.3
+
+* Thu Feb 23 2006 Ivana Varekova <varekova at redhat.com> - 7.15.1-2
+- fix multilib problem - #181290 -
+ curl-devel.i386 not installable together with curl-devel.x86-64
+
+* Fri Feb 10 2006 Jesse Keating <jkeating at redhat.com> - 7.15.1-1.2.1
+- bump again for double-long bug on ppc(64)
+
+* Tue Feb 07 2006 Jesse Keating <jkeating at redhat.com> - 7.15.1-1.2
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Fri Dec 09 2005 Jesse Keating <jkeating at redhat.com>
+- rebuilt
+
+* Thu Dec 8 2005 Ivana Varekova <varekova at redhat.com> 7.15.1-1
+- update to 7.15.1 (bug 175191)
+
+* Wed Nov 30 2005 Ivana Varekova <varekova at redhat.com> 7.15.0-3
+- fix curl-config bug 174556 - missing vernum value
+
+* Wed Nov 9 2005 Ivana Varekova <varekova at redhat.com> 7.15.0-2
+- rebuilt
+
+* Tue Oct 18 2005 Ivana Varekova <varekova at redhat.com> 7.15.0-1
+- update to 7.15.0
+
+* Thu Oct 13 2005 Ivana Varekova <varekova at redhat.com> 7.14.1-1
+- update to 7.14.1
+
+* Thu Jun 16 2005 Ivana Varekova <varekova at redhat.com> 7.14.0-1
+- rebuild new version
+
+* Tue May 03 2005 Ivana Varekova <varekova at redhat.com> 7.13.1-3
+- fix bug 150768 - curl-7.12.3-2 breaks basic authentication
+ used Daniel Stenberg patch
+
+* Mon Apr 25 2005 Joe Orton <jorton at redhat.com> 7.13.1-2
+- update to use ca-bundle in /etc/pki
+- mark License as MIT not MPL
+
+* Mon Mar 9 2005 Ivana Varekova <varekova at redhat.com> 7.13.1-1
+- rebuilt (7.13.1)
+
+* Tue Mar 1 2005 Tomas Mraz <tmraz at redhat.com> 7.13.0-2
+- rebuild with openssl-0.9.7e
+
+* Sun Feb 13 2005 Florian La Roche <laroche at redhat.com>
+- 7.13.0
+
+* Wed Feb 9 2005 Joe Orton <jorton at redhat.com> 7.12.3-3
+- don't pass /usr to --with-libidn to remove "-L/usr/lib" from
+ 'curl-config --libs' output on x86_64.
+
+* Fri Jan 28 2005 Adrian Havill <havill at redhat.com> 7.12.3-1
+- Upgrade to 7.12.3, which uses poll() for FDSETSIZE limit (#134794)
+- require libidn-devel for devel subpkg (#141341)
+- remove proftpd kludge; included upstream
+
+* Wed Oct 06 2004 Adrian Havill <havill at redhat.com> 7.12.1-1
+- upgrade to 7.12.1
+- enable GSSAPI auth (#129353)
+- enable I18N domain names (#134595)
+- workaround for broken ProFTPD SSL auth (#134133). Thanks to
+ Aleksandar Milivojevic
+
+* Wed Sep 29 2004 Adrian Havill <havill at redhat.com> 7.12.0-4
+- move new docs position so defattr gets applied
+
+* Mon Sep 27 2004 Warren Togami <wtogami at redhat.com> 7.12.0-3
+- remove INSTALL, move libcurl docs to -devel
+
+* Fri Jul 26 2004 Jindrich Novy <jnovy at redhat.com>
+- updated to 7.12.0
+- updated nousr patch
+
+* Tue Jun 15 2004 Elliot Lee <sopwith at redhat.com>
+- rebuilt
+
+* Wed Apr 07 2004 Adrian Havill <havill at redhat.com> 7.11.1-1
+- upgraded; updated nousr patch
+- added COPYING (#115956)
+-
+
+* Tue Mar 02 2004 Elliot Lee <sopwith at redhat.com>
+- rebuilt
+
+* Fri Feb 13 2004 Elliot Lee <sopwith at redhat.com>
+- rebuilt
+
+* Sat Jan 31 2004 Florian La Roche <Florian.LaRoche at redhat.de>
+- update to 7.10.8
+- remove patch2, already upstream
+
+* Wed Oct 15 2003 Adrian Havill <havill at redhat.com> 7.10.6-7
+- aclocal before libtoolize
+- move OpenLDAP license so it's present as a doc file, present in
+ both the source and binary as per conditions
+
+* Mon Oct 13 2003 Adrian Havill <havill at redhat.com> 7.10.6-6
+- add OpenLDAP copyright notice for usage of code, add OpenLDAP
+ license for this code
+
+* Tue Oct 07 2003 Adrian Havill <havill at redhat.com> 7.10.6-5
+- match serverAltName certs with SSL (#106168)
+
+* Mon Sep 16 2003 Adrian Havill <havill at redhat.com> 7.10.6-4.1
+- bump n-v-r for RHEL
+
+* Mon Sep 16 2003 Adrian Havill <havill at redhat.com> 7.10.6-4
+- restore ca cert bundle (#104400)
+- require openssl, we want to use its ca-cert bundle
+
+* Sun Sep 7 2003 Joe Orton <jorton at redhat.com> 7.10.6-3
+- rebuild
+
+* Fri Sep 5 2003 Joe Orton <jorton at redhat.com> 7.10.6-2.2
+- fix to include libcurl.so
+
+* Mon Aug 25 2003 Adrian Havill <havill at redhat.com> 7.10.6-2.1
+- bump n-v-r for RHEL
+
+* Mon Aug 25 2003 Adrian Havill <havill at redhat.com> 7.10.6-2
+- devel subpkg needs openssl-devel as a Require (#102963)
+
+* Tue Jul 28 2003 Adrian Havill <havill at redhat.com> 7.10.6-1
+- bumped version
+
+* Tue Jul 01 2003 Adrian Havill <havill at redhat.com> 7.10.5-1
+- bumped version
+
+* Wed Jun 04 2003 Elliot Lee <sopwith at redhat.com>
+- rebuilt
+
+* Sat Apr 12 2003 Florian La Roche <Florian.LaRoche at redhat.de>
+- update to 7.10.4
+- adapt nousr patch
+
+* Wed Jan 22 2003 Tim Powers <timp at redhat.com>
+- rebuilt
+
+* Tue Jan 21 2003 Joe Orton <jorton at redhat.com> 7.9.8-4
+- don't add -L/usr/lib to 'curl-config --libs' output
+
+* Mon Jan 7 2003 Nalin Dahyabhai <nalin at redhat.com> 7.9.8-3
+- rebuild
+
+* Wed Nov 6 2002 Joe Orton <jorton at redhat.com> 7.9.8-2
+- fix `curl-config --libs` output for libdir!=/usr/lib
+- remove docs/LIBCURL from docs list; remove unpackaged libcurl.la
+- libtoolize and reconf
+
+* Mon Jul 22 2002 Trond Eivind Glomsrød <teg at redhat.com> 7.9.8-1
+- 7.9.8 (# 69473)
+
+* Fri Jun 21 2002 Tim Powers <timp at redhat.com>
+- automated rebuild
+
+* Sun May 26 2002 Tim Powers <timp at redhat.com>
+- automated rebuild
+
+* Thu May 16 2002 Trond Eivind Glomsrød <teg at redhat.com> 7.9.7-1
+- 7.9.7
+
+* Wed Apr 24 2002 Trond Eivind Glomsrød <teg at redhat.com> 7.9.6-1
+- 7.9.6
+
+* Thu Mar 21 2002 Trond Eivind Glomsrød <teg at redhat.com> 7.9.5-2
+- Stop the curl-config script from printing -I/usr/include
+ and -L/usr/lib (#59497)
+
+* Fri Mar 8 2002 Trond Eivind Glomsrød <teg at redhat.com> 7.9.5-1
+- 7.9.5
+
+* Tue Feb 26 2002 Trond Eivind Glomsrød <teg at redhat.com> 7.9.3-2
+- Rebuild
+
+* Wed Jan 23 2002 Nalin Dahyabhai <nalin at redhat.com> 7.9.3-1
+- update to 7.9.3
+
+* Wed Jan 09 2002 Tim Powers <timp at redhat.com> 7.9.2-2
+- automated rebuild
+
+* Wed Jan 9 2002 Trond Eivind Glomsrød <teg at redhat.com> 7.9.2-1
+- 7.9.2
+
+* Fri Aug 17 2001 Nalin Dahyabhai <nalin at redhat.com>
+- include curl-config in curl-devel
+- update to 7.8 to fix memory leak and strlcat() symbol pollution from libcurl
+
+* Wed Jul 18 2001 Crutcher Dunnavant <crutcher at redhat.com>
+- added openssl-devel build req
+
+* Mon May 21 2001 Tim Powers <timp at redhat.com>
+- built for the distro
+
+* Tue Apr 24 2001 Jeff Johnson <jbj at redhat.com>
+- upgrade to curl-7.7.2.
+- enable IPv6.
+
+* Fri Mar 2 2001 Tim Powers <timp at redhat.com>
+- rebuilt against openssl-0.9.6-1
+
+* Thu Jan 4 2001 Tim Powers <timp at redhat.com>
+- fixed mising ldconfigs
+- updated to 7.5.2, bug fixes
+
+* Mon Dec 11 2000 Tim Powers <timp at redhat.com>
+- updated to 7.5.1
+
+* Mon Nov 6 2000 Tim Powers <timp at redhat.com>
+- update to 7.4.1 to fix bug #20337, problems with curl -c
+- not using patch anymore, it's included in the new source. Keeping
+ for reference
+
+* Fri Oct 20 2000 Nalin Dahyabhai <nalin at redhat.com>
+- fix bogus req in -devel package
+
+* Fri Oct 20 2000 Tim Powers <timp at redhat.com>
+- devel package needed defattr so that root owns the files
+
+* Mon Oct 16 2000 Nalin Dahyabhai <nalin at redhat.com>
+- update to 7.3
+- apply vsprintf/vsnprintf patch from Colin Phipps via Debian
+
+* Mon Aug 21 2000 Nalin Dahyabhai <nalin at redhat.com>
+- enable SSL support
+- fix packager tag
+- move buildroot to %%{_tmppath}
+
+* Tue Aug 1 2000 Tim Powers <timp at redhat.com>
+- fixed vendor tag for bug #15028
+
+* Mon Jul 24 2000 Prospector <prospector at redhat.com>
+- rebuilt
+
+* Tue Jul 11 2000 Tim Powers <timp at redhat.com>
+- workaround alpha build problems with optimizations
+
+* Mon Jul 10 2000 Tim Powers <timp at redhat.com>
+- rebuilt
+
+* Mon Jun 5 2000 Tim Powers <timp at redhat.com>
+- put man pages in correct place
+- use %%makeinstall
+
+* Mon Apr 24 2000 Tim Powers <timp at redhat.com>
+- updated to 6.5.2
+
+* Wed Nov 3 1999 Tim Powers <timp at redhat.com>
+- updated sources to 6.2
+- gzip man page
+
+* Mon Aug 30 1999 Tim Powers <timp at redhat.com>
+- changed group
+
+* Thu Aug 26 1999 Tim Powers <timp at redhat.com>
+- changelog started
+- general cleanups, changed prefix to /usr, added manpage to files section
+- including in Powertools
diff --git a/common/SPECS/log4shib.spec b/common/SPECS/log4shib.spec
new file mode 100644
index 0000000..3adc02c
--- /dev/null
+++ b/common/SPECS/log4shib.spec
@@ -0,0 +1,119 @@
+Name: log4shib
+Version: 2.0.0
+Release: 1
+Summary: Log for C++, Shibboleth Edition
+License: LGPL
+Group: Development/Libraries
+Vendor: Shibboleth Consortium
+URL: http://shibboleth.net/downloads/log4shib/2.0.0
+Source: %name-%version.tar.bz2
+BuildRoot: %_tmppath/%name-%version-root
+BuildRequires: gcc-c++ pkgconfig
+%{!?_without_doxygenrpm:BuildRequires: doxygen}
+%if "%{_vendor}" == "redhat"
+BuildRequires: redhat-rpm-config
+%endif
+
+%if 0%{?rhel} >= 8 || 0%{?centos_version} >= 800
+BuildRequires: gdb
+%endif
+
+%if "%{_vendor}" == "suse"
+%define pkgdocdir %{_docdir}/%{name}
+%else
+%define pkgdocdir %{_docdir}/%{name}-%{version}
+%endif
+
+%description
+Log for C++ is a library of classes for flexible logging to files, syslog,
+and other destinations. It is modeled after the Log for Java library and
+stays as close to its API as is reasonable.
+
+%package -n liblog4shib2
+Summary: Log for C++, Shibboleth Edition
+Group: Development/Libraries
+Provides: log4shib = %{version}-%{release}
+Obsoletes: log4shib < %{version}-%{release}
+
+%description -n liblog4shib2
+Log for C++ is a library of classes for flexible logging to files, syslog,
+and other destinations. It is modeled after the Log for Java library and
+stays as close to its API as is reasonable.
+
+This package contains just the shared library.
+
+%package -n liblog4shib-devel
+Summary: Development tools for Log for C++
+Group: Development/Libraries
+Requires: liblog4shib2 = %{version}-%{release}
+Provides: log4shib-devel = %{version}-%{release}
+Obsoletes: log4shib-devel < %{version}-%{release}
+
+%description -n liblog4shib-devel
+The static libraries and header files needed for development with log4shib.
+
+%prep
+%setup -q
+
+%build
+%configure %{!?_without_doxygenrpm:--enable-doxygen} %{?_without_doxygenrpm:--disable-doxygen}
+%{__make}
+
+%install
+%{__make} DESTDIR=$RPM_BUILD_ROOT apidir=$RPM_BUILD_ROOT%{pkgdocdir}/api install
+# If we use %doc down below to package the README files from the build tree,
+# it will blow away the package's docdir folder, and the installed API docs with it.
+# Instead, copy the README files manually into the platform's docdir.
+config/install-sh -d $RPM_BUILD_ROOT%{pkgdocdir}
+config/install-sh -m 644 -c AUTHORS COPYING INSTALL NEWS README THANKS ChangeLog $RPM_BUILD_ROOT%{pkgdocdir}
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+
+%ifnos solaris2.8 solaris2.9 solaris2.10
+%post -n liblog4shib2 -p /sbin/ldconfig
+%endif
+
+%post -n liblog4shib-devel
+if test "x$RPM_INSTALL_PREFIX0" != "x" ; then
+ %{__perl} -pi -e"s|^prefix=\"[^\"]*\"|prefix=\"$RPM_INSTALL_PREFIX0\"|" $RPM_INSTALL_PREFIX0/bin/log4shib-config
+fi
+
+%ifnos solaris2.8 solaris2.9 solaris2.10
+%postun -n liblog4shib2 -p /sbin/ldconfig
+%endif
+
+%files -n liblog4shib2
+%defattr(-,root,root,755)
+%attr(755,root,root) %{_libdir}/lib*.so.*
+
+%files -n liblog4shib-devel
+%defattr(-,root,root,755)
+%{_includedir}/*
+%{!?_without_doxygenrpm:%{_mandir}/man?/*}
+%attr(755,root,root) %{_libdir}/*.so
+%attr(644,root,root) %{_libdir}/*.a
+%attr(644,root,root) %{_libdir}/pkgconfig/log4shib.pc
+%exclude %{_libdir}/*.la
+%doc %{pkgdocdir}
+
+%changelog
+* Mon Jun 25 2018 Scott Cantor <cantor.2 at osu.edu> - 2.0.0-1
+- Bump version
+- Switch to bzipped source
+
+* Thu May 23 2013 Scott Cantor <cantor.2 at osu.edu> - 1.0.6-1
+- Patch to limit file handle leakage from prop-based configs
+
+* Sat Jul 21 2012 Scott Cantor <cantor.2 at osu.edu> - 1.0.5-1
+- Fix Provides/Obsoletes versioning
+- Update Vendor and URL
+
+* Mon Dec 28 2009 Scott Cantor <cantor.2 at osu.edu> - 1.0.4-1
+- Sync package naming to support side by side installs
+
+* Sat Oct 24 2009 Scott Cantor <cantor.2 at osu.edu> - 1.0.3-2
+- Cleaned up specfile for OpenSUSE build service
+
+* Wed Aug 5 2009 Scott Cantor <cantor.2 at osu.edu> - 1.0.3-1
+- Cleaned up specfile for OpenSUSE build service
diff --git a/common/SPECS/opensaml.spec b/common/SPECS/opensaml.spec
new file mode 100644
index 0000000..493f20b
--- /dev/null
+++ b/common/SPECS/opensaml.spec
@@ -0,0 +1,200 @@
+Name: opensaml
+Version: 3.0.1
+Release: 1
+Summary: OpenSAML SAML library
+Group: Development/Libraries/C and C++
+Vendor: Shibboleth Consortium
+License: Apache-2.0
+URL: http://www.opensaml.org/
+Source0: %{name}-%{version}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+BuildRequires: libxerces-c-devel >= 3.2
+BuildRequires: libxml-security-c-devel >= 2.0.0
+BuildRequires: libxmltooling-devel >= 3.0.0
+%{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:BuildRequires: liblog4shib-devel >= 1.0.4}
+BuildRequires: gcc-c++, pkgconfig, boost-devel >= 1.32.0
+%{!?_without_doxygen:BuildRequires: doxygen}
+%if "%{_vendor}" == "redhat"
+BuildRequires: redhat-rpm-config
+%endif
+
+%if 0%{?rhel} == 8
+BuildRequires: gdb
+%endif
+
+%if "%{_vendor}" == "suse"
+%define pkgdocdir %{_docdir}/%{name}
+%else
+%define pkgdocdir %{_docdir}/%{name}-%{version}
+%endif
+
+%description
+OpenSAML is an open source implementation of the OASIS Security Assertion
+Markup Language Specification. It contains a set of open source C++ classes
+that support the SAML 1.0, 1.1, and 2.0 specifications.
+
+%package -n opensaml-bin
+Summary: Utilities for OpenSAML library
+Group: Development/Libraries/C and C++
+
+%description -n opensaml-bin
+OpenSAML is an open source implementation of the OASIS Security Assertion
+Markup Language Specification. It contains a set of open source C++ classes
+that support the SAML 1.0, 1.1, and 2.0 specifications.
+
+This package contains the utility programs.
+
+%package -n libsaml10
+Summary: OpenSAML SAML library
+Group: Development/Libraries/C and C++
+Provides: opensaml = %{version}-%{release}
+Obsoletes: opensaml < %{version}-%{release}
+
+%description -n libsaml10
+OpenSAML is an open source implementation of the OASIS Security Assertion
+Markup Language Specification. It contains a set of open source C++ classes
+that support the SAML 1.0, 1.1, and 2.0 specifications.
+
+This package contains just the shared library.
+
+%package -n libsaml-devel
+Summary: OpenSAML development Headers
+Group: Development/Libraries/C and C++
+Requires: libsaml10 = %{version}-%{release}
+Provides: opensaml-devel = %{version}-%{release}
+Obsoletes: opensaml-devel < %{version}-%{release}
+Requires: libxerces-c-devel >= 3.2
+Requires: libxml-security-c-devel >= 2.0.0
+Requires: libxmltooling-devel >= 3.0.0
+%{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:Requires: liblog4shib-devel >= 1.0.4}
+
+%description -n libsaml-devel
+OpenSAML is an open source implementation of the OASIS Security Assertion
+Markup Language Specification. It contains a set of open source C++ classes
+that support the SAML 1.0, 1.1, and 2.0 specifications.
+
+This package includes files needed for development with OpenSAML.
+
+%package -n opensaml-schemas
+Summary: OpenSAML schemas and catalog
+Group: Development/Libraries/C and C++
+
+%description -n opensaml-schemas
+OpenSAML is an open source implementation of the OASIS Security Assertion
+Markup Language Specification. It contains a set of open source C++ classes
+that support the SAML 1.0, 1.1, and 2.0 specifications.
+
+This package includes XML schemas and related files.
+
+%prep
+%setup -q
+
+%build
+%if 0%{?rhel} == 6 || 0%{?rhel} == 7 || 0%{?amzn} >= 1
+%configure %{?saml_options} PKG_CONFIG_PATH=/opt/shibboleth/%{_lib}/pkgconfig
+%else
+%configure %{?saml_options}
+%endif
+%{__make}
+
+%install
+%{__make} install DESTDIR=$RPM_BUILD_ROOT pkgdocdir=%{pkgdocdir}
+# Don't package unit tester if present.
+%{__rm} -f $RPM_BUILD_ROOT/%{_bindir}/samltest
+
+%check
+%{__make} check
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+
+%post -n libsaml10 -p /sbin/ldconfig
+
+%postun -n libsaml10 -p /sbin/ldconfig
+
+%files -n opensaml-bin
+%defattr(-,root,root,-)
+%{_bindir}/samlsign
+
+%files -n libsaml10
+%defattr(-,root,root,-)
+%{_libdir}/libsaml.so.*
+%exclude %{_libdir}/libsaml.la
+
+%files -n opensaml-schemas
+%defattr(-,root,root,-)
+%dir %{_datadir}/xml/opensaml
+%{_datadir}/xml/opensaml/*
+
+%files -n libsaml-devel
+%defattr(-,root,root,-)
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/opensaml.pc
+%doc %{pkgdocdir}
+
+%changelog
+* Mon Sep 30 2019 Scott Cantor <cantor.2 at osu.edu> - 3.0.1-1
+- CentOS 8 cleanup
+
+* Tue Nov 21 2017 Scott Cantor <cantor.2 at osu.edu> - 3.0.0-1
+- Update soname
+- Update dependency reqs
+- Require Xerces 3.2 as shipped by me on all platforms
+
+* Fri Jun 24 2016 Scott Cantor <cantor.2 at osu.edu> - 2.6.0-1
+- Fix some nits
+- Update soname in package names
+
+* Mon Mar 9 2015 Scott Cantor <cantor.2 at osu.edu> - 2.5.4-1
+- Require Xerces 3.1 even on older platforms
+- Switch to bz2 source to avoid future SuSE issues
+
+* Tue May 13 2014 Ian Young <ian at iay.org.uk> - 2.5.3-1.2
+- Update package dependencies for RHEL/CentOS 7
+- Fixed bogus dates in changelog
+
+* Wed Dec 14 2011 Scott Cantor <cantor.2 at osu.edu> - 2.5-1
+- Update lib package number.
+- Add boost-devel dependency.
+
+* Tue Oct 26 2010 Scott Cantor <cantor.2 at osu.edu> - 2.4-1
+- Update version
+- Add pkg-config support.
+- Sync package names for side by side install.
+- Adjust Xerces dependency name and Group setting
+- Split out schemas into separate subpackage
+
+* Mon Aug 31 2009 Scott Cantor <cantor.2 at osu.edu> - 2.3-1
+- Bump soname for SUSE packaging.
+
+* Sat Aug 8 2009 Scott Cantor <cantor.2 at osu.edu> - 2.2.1-1
+- SuSE conventions
+- Stop packaging unit tester
+
+* Wed Dec 3 2008 Scott Cantor <cantor.2 at osu.edu> - 2.2-1
+- Bumping for minor update.
+- Fixing SUSE Xerces dependency name.
+
+* Tue Jul 1 2008 Scott Cantor <cantor.2 at osu.edu> - 2.1-1
+- Bumping for minor update.
+
+* Mon Mar 17 2008 Scott Cantor <cantor.2 at osu.edu> - 2.0-6
+- Official release.
+
+* Fri Jan 18 2008 Scott Cantor <cantor.2 at osu.edu> - 2.0-5
+- Release candidate 1.
+
+* Thu Nov 08 2007 Scott Cantor <cantor.2 at osu.edu> - 2.0-4
+- Second public beta.
+
+* Thu Aug 16 2007 Scott Cantor <cantor.2 at osu.edu> - 2.0-3
+- First public beta.
+
+* Fri Jul 13 2007 Scott Cantor <cantor.2 at osu.edu> - 2.0-2
+- Second alpha.
+
+* Mon Apr 16 2007 Scott Cantor <cantor.2 at osu.edu> - 2.0-1
+- First SPEC file for 2.0.
diff --git a/common/SPECS/shibboleth.spec b/common/SPECS/shibboleth.spec
new file mode 100644
index 0000000..b4270a8
--- /dev/null
+++ b/common/SPECS/shibboleth.spec
@@ -0,0 +1,630 @@
+Name: shibboleth
+Version: 3.0.4
+Release: 1
+Summary: Open source system for attribute-based Web SSO
+Group: Productivity/Networking/Security
+Vendor: Shibboleth Consortium
+License: Apache-2.0
+URL: http://shibboleth.net/
+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 || 0%{?amzn} >= 1
+PreReq: xmltooling-schemas%{?_isa} >= 3.0.0, opensaml-schemas%{?_isa} >= 3.0.0
+%else
+PreReq: xmltooling-schemas >= 3.0.0, opensaml-schemas >= 3.0.0
+%endif
+%if 0%{?suse_version} > 1030 && 0%{?suse_version} < 1130
+PreReq: %{insserv_prereq} %{fillup_prereq}
+%endif
+%if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+BuildRequires: systemd-devel
+%endif
+BuildRequires: libxerces-c-devel >= 3.2
+BuildRequires: libxml-security-c-devel >= 2.0.0
+BuildRequires: libxmltooling-devel >= 3.0.0
+BuildRequires: libsaml-devel >= 3.0.0
+%{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:BuildRequires: liblog4shib-devel >= 2}
+%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++, pkgconfig, boost-devel >= 1.32.0
+%{!?_without_gssapi:BuildRequires: krb5-devel}
+%{!?_without_doxygen:BuildRequires: doxygen}
+%{!?_without_odbc:BuildRequires:unixODBC-devel}
+%{?_with_fastcgi:BuildRequires: fcgi-devel}
+%if 0%{?centos_version} >= 600
+BuildRequires: libmemcached-devel
+%endif
+%{?_with_memcached:BuildRequires: libmemcached-devel}
+%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}
+%endif
+BuildRequires: redhat-rpm-config
+Requires(pre): shadow-utils
+Requires(post): chkconfig
+Requires(preun): chkconfig, initscripts
+%endif
+%if "%{_vendor}" == "suse"
+Requires(pre): pwdutils
+%{!?_without_builtinapache:BuildRequires: apache2-devel}
+%{?systemd_requires}
+%if 0%{?suse_version} >= 1210
+BuildRequires: systemd-rpm-macros, systemd-devel
+%endif
+%endif
+
+%{!?_tmpfilesdir:%global _tmpfilesdir /usr/lib/tmpfiles.d}
+
+%define runuser shibd
+%if "%{_vendor}" == "suse"
+%define pkgdocdir %{_docdir}/shibboleth
+%else
+%define pkgdocdir %{_docdir}/shibboleth-%{version}
+%endif
+
+%description
+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 Service Provider runtime libraries,
+daemon, default plugins, and Apache module(s).
+
+%package devel
+Summary: Shibboleth Development Headers
+Group: Development/Libraries/C and C++
+Requires: %{name} = %{version}-%{release}
+Obsoletes: shibboleth-sp-devel = 2.5.0
+Requires: libxerces-c-devel >= 3.2
+Requires: libxml-security-c-devel >= 2.0.0
+Requires: libxmltooling-devel >= 3.0.0
+Requires: libsaml-devel >= 3.0.0
+%{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:Requires: liblog4shib-devel >= 2}
+
+%description devel
+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.
+
+%prep
+%setup -n %{name}-sp-%{version}
+
+%build
+%if 0%{?suse_version} >= 1300
+ %configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{!?_without_gssapi:--with-gssapi} %{!?_without_systemd:--enable-systemd} %{?shib_options} PKG_CONFIG_PATH=./pkgconfig-workarounds/opensuse13
+%else
+%if 0%{?suse_version} >= 1210
+ %configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{!?_without_gssapi:--with-gssapi} %{!?_without_systemd:--enable-systemd} %{?shib_options}
+%else
+%if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+ %configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{!?_without_gssapi:--with-gssapi} %{!?_without_memcached:--with-memcached} %{!?_without_systemd:--enable-systemd} %{?shib_options} PKG_CONFIG_PATH=/opt/shibboleth/%{_lib}/pkgconfig
+%else
+%if 0%{?centos_version} >= 600
+ %configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{!?_without_gssapi:--with-gssapi} %{!?_without_memcached:--with-memcached} %{?shib_options} PKG_CONFIG_PATH=/opt/shibboleth/%{_lib}/pkgconfig:./pkgconfig-workarounds/rh6
+%else
+%if 0%{?rhel} >= 6
+ %configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{!?_without_gssapi:--with-gssapi} %{?_with-memcached} %{?shib_options} PKG_CONFIG_PATH=/opt/shibboleth/%{_lib}/pkgconfig:./pkgconfig-workarounds/rh6
+%else
+%if 0%{?rhel} >= 5
+ %configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{!?_without_gssapi:--with-gssapi} %{?_with_memcached} %{?shib_options} PKG_CONFIG_PATH=./pkgconfig-workarounds/rh5
+%else
+ %configure %{?_without_odbc:--disable-odbc} %{?_without_adfs:--disable-adfs} %{?_with_fastcgi} %{!?_without_gssapi:--with-gssapi} %{?_with_memcached} %{?shib_options}
+%endif
+%endif
+%endif
+%endif
+%endif
+%endif
+%{__make} pkgdocdir=%{pkgdocdir}
+
+%install
+%{__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}/shibboleth/native.logger
+%endif
+
+# Plug the SP into the built-in Apache on a recognized system.
+touch rpm.filelist
+APACHE_CONFIG="no"
+if [ -f $RPM_BUILD_ROOT%{_libdir}/shibboleth/mod_shib_13.so ] ; then
+ APACHE_CONFIG="apache.config"
+fi
+if [ -f $RPM_BUILD_ROOT%{_libdir}/shibboleth/mod_shib_20.so ] ; then
+ APACHE_CONFIG="apache2.config"
+fi
+if [ -f $RPM_BUILD_ROOT%{_libdir}/shibboleth/mod_shib_22.so ] ; then
+ APACHE_CONFIG="apache22.config"
+fi
+if [ -f $RPM_BUILD_ROOT%{_libdir}/shibboleth/mod_shib_24.so ] ; then
+ APACHE_CONFIG="apache24.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
+ %{__mkdir} -p $RPM_BUILD_ROOT$APACHE_CONFD
+ %{__cp} -p $RPM_BUILD_ROOT%{_sysconfdir}/shibboleth/$APACHE_CONFIG $RPM_BUILD_ROOT$APACHE_CONFD/shib.conf
+ echo "%config(noreplace) $APACHE_CONFD/shib.conf" >> rpm.filelist
+ fi
+fi
+
+# Establish location of systemd file, if any.
+SYSTEMD_SHIBD="no"
+%if 0%{?suse_version} >= 1210 || 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+ %{__mkdir} -p $RPM_BUILD_ROOT%{_unitdir}
+ echo "%attr(0444,-,-) %{_unitdir}/shibd.service" >> rpm.filelist
+ SYSTEMD_SHIBD="$RPM_BUILD_ROOT%{_unitdir}/shibd.service"
+
+ # Get run directory created at boot time.
+ %{__mkdir} -p $RPM_BUILD_ROOT%{_tmpfilesdir}
+ echo "%attr(0444,-,-) %{_tmpfilesdir}/%{name}.conf" >> rpm.filelist
+ cat > $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf <<EOF
+d /run/%{name} 755 %{runuser} %{runuser} -
+EOF
+%endif
+
+# Otherwise, establish location of sysconfig file, if any.
+SYSCONFIG_SHIBD="no"
+if [ "$SYSTEMD_SHIBD" == "no" ] ; then
+%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"
+%endif
+%if "%{_vendor}" == "suse"
+ %{__mkdir} -p $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates
+ echo "%{_localstatedir}/adm/fillup-templates/sysconfig.shibd" >> rpm.filelist
+ SYSCONFIG_SHIBD="$RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.shibd"
+%endif
+fi
+
+if [ "$SYSTEMD_SHIBD" != "no" ] ; then
+ # Populate the systemd file
+ cat > $SYSTEMD_SHIBD <<EOF
+[Unit]
+Description=Shibboleth Service Provider Daemon
+Documentation=https://wiki.shibboleth.net/confluence/display/SP3/Home
+After=network.target
+Before=httpd.service
+
+[Service]
+Type=notify
+NotifyAccess=main
+User=%{runuser}
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+Environment=LD_LIBRARY_PATH=/opt/shibboleth/%{_lib}
+%endif
+ExecStart=%{_sbindir}/shibd -f -F
+StandardInput=null
+StandardOutput=null
+StandardError=journal
+TimeoutStopSec=1m
+TimeoutStartSec=5m
+Restart=on-failure
+RestartSec=30s
+
+[Install]
+WantedBy=multi-user.target
+EOF
+elif [ "$SYSCONFIG_SHIBD" != "no" ] ; then
+ # Populate the sysconfig file.
+ cat > $SYSCONFIG_SHIBD <<EOF
+# Shibboleth SP init script customization
+
+# User account for shibd
+SHIBD_USER=%{runuser}
+
+# Umask for shibd
+# SHIBD_UMASK=022
+
+# Wait period (secs) for configuration (and metadata) to load
+SHIBD_WAIT=30
+EOF
+ %if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+ cat >> $SYSCONFIG_SHIBD <<EOF
+
+# Override OS-supplied libcurl
+export LD_LIBRARY_PATH=/opt/shibboleth/%{_lib}
+EOF
+ %endif
+fi
+
+%if 0%{?rhel} >= 6 || 0%{?centos_version} >= 600 || 0%{?amzn} >= 1
+ # Strip existing rpath to libcurl.
+ chrpath -d $RPM_BUILD_ROOT%{_sbindir}/shibd
+ chrpath -d $RPM_BUILD_ROOT%{_bindir}/mdquery
+ chrpath -d $RPM_BUILD_ROOT%{_bindir}/resolvertest
+%endif
+
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon" || "%{_vendor}" == "suse"
+if [ "$SYSTEMD_SHIBD" == "no" ] ; then
+ # %{_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
+%if "%{_vendor}" == "suse"
+ install -d -m 0755 $RPM_BUILD_ROOT/%{_sbindir}
+ %{__ln_s} -f %{_initrddir}/shibd $RPM_BUILD_ROOT%{_sbindir}/rcshibd
+%endif
+fi
+%endif
+
+%check
+%{__make} check
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+
+%pre
+getent group %{runuser} >/dev/null || groupadd -r %{runuser}
+getent passwd %{runuser} >/dev/null || useradd -r -g %{runuser} \
+ -d %{_localstatedir}/run/shibboleth -s /sbin/nologin -c "Shibboleth SP daemon" %{runuser}
+%if 0%{?suse_version} >= 1210
+ %service_add_pre shibd.service
+%endif
+exit 0
+
+%post
+%ifnos solaris2.8 solaris2.9 solaris2.10 solaris2.11
+/sbin/ldconfig
+%endif
+
+# Key ownership fix.
+if [ -f %{_sysconfdir}/shibboleth/sp-key.pem ] ; then
+ %{__chown} %{runuser}:%{runuser} %{_sysconfdir}/shibboleth/sp-key.pem %{_sysconfdir}/shibboleth/sp-cert.pem 2>/dev/null || :
+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 || :
+
+# Generate two keys on new installs.
+if [ $1 -eq 1 ] ; then
+ cd %{_sysconfdir}/shibboleth
+ /bin/sh ./keygen.sh -b -n sp-signing -u %{runuser} -g %{runuser}
+ /bin/sh ./keygen.sh -b -n sp-encrypt -u %{runuser} -g %{runuser}
+fi
+
+%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.
+ # Any Aliases we didn't create we assume are custom files.
+ # This is to accomodate making shib.conf a noreplace config file.
+ # We can't do this for SUSE, because they disallow changes to
+ # packaged files in scriplets.
+ APACHE_CONF="no"
+ if [ -f %{_sysconfdir}/httpd/conf.d/shib.conf ] ; then
+ APACHE_CONF="%{_sysconfdir}/httpd/conf.d/shib.conf"
+ fi
+ if [ "$APACHE_CONF" != "no" ] ; then
+ %{__sed} -i "s/\/usr\/share\/doc\/shibboleth\(\-\(.\)\{1,\}\)\{0,1\}\/main\.css/\/usr\/share\/shibboleth\/main.css/g" \
+ $APACHE_CONF
+ %{__sed} -i "s/\/usr\/share\/doc\/shibboleth\(\-\(.\)\{1,\}\)\{0,1\}\/logo\.jpg/\/usr\/share\/shibboleth\/logo.jpg/g" \
+ $APACHE_CONF
+ fi
+ fi
+
+%if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+ # Initial prep for systemd
+ %systemd_post shibd.service
+ if [ $1 -gt 1 ] ; then
+ systemctl daemon-reload
+ fi
+%else
+ # Add the proper /etc/rc*.d links for the script
+ /sbin/chkconfig --add shibd
+%endif
+%endif
+%if "%{_vendor}" == "suse"
+%if 0%{?suse_version} >= 1210
+ %service_add_post shibd.service
+ systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf
+%else
+ # This adds the proper /etc/rc*.d links for the script
+ # and populates the sysconfig/shibd file.
+ cd /
+ %{fillup_only -n shibd}
+ %insserv_force_if_yast shibd
+%endif
+%endif
+
+%preun
+# On final removal, stop shibd and remove service, restart Apache if running.
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
+%if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+ %systemd_preun shibd.service
+%else
+ if [ $1 -eq 0 ] ; then
+ /sbin/service shibd stop >/dev/null 2>&1
+ /sbin/chkconfig --del shibd
+ fi
+%endif
+ if [ $1 -eq 0 ] ; then
+ %{!?_without_builtinapache:/sbin/service httpd status 1>/dev/null && /sbin/service httpd restart 1>/dev/null}
+ fi
+%endif
+%if "%{_vendor}" == "suse"
+%if 0%{?suse_version} >= 1210
+ %service_del_preun shibd.service
+%else
+ %stop_on_removal shibd
+%endif
+ if [ $1 -eq 0 ] ; then
+ %{!?_without_builtinapache:/sbin/service apache2 status 1>/dev/null && /sbin/service apache2 restart 1>/dev/null}
+ fi
+%endif
+exit 0
+
+%postun
+%ifnos solaris2.8 solaris2.9 solaris2.10 solaris2.11
+/sbin/ldconfig
+%endif
+%if "%{_vendor}" == "redhat" || "%{_vendor}" == "amazon"
+# On upgrade, restart components if they're already running.
+%if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+ %systemd_postun_with_restart shibd.service
+%else
+ if [ $1 -ge 1 ] ; then
+ /sbin/service shibd status 1>/dev/null && /sbin/service shibd restart 1>/dev/null
+ fi
+%endif
+ if [ $1 -ge 1 ] ; then
+ %{!?_without_builtinapache:/sbin/service httpd status 1>/dev/null && /sbin/service httpd restart 1>/dev/null}
+ exit 0
+ fi
+%endif
+%if "%{_vendor}" == "suse"
+%if 0%{?suse_version} >= 1210
+ %service_del_postun shibd.service
+%else
+ cd /
+ %restart_on_update shibd
+ %{insserv_cleanup}
+%endif
+ %{!?_without_builtinapache:%restart_on_update apache2}
+%endif
+
+%posttrans
+# One-time extra restart of shibd and Apache to work around
+# SUSE bug that breaks old %restart_on_update macro.
+# If we remove, upgrades from pre-systemd to post-systemd
+# will stop doing the final restart.
+%if "%{_vendor}" == "suse" && 0%{?suse_version} >= 1210
+ /usr/bin/systemctl try-restart shibd >/dev/null 2>&1 || :
+ /usr/bin/systemctl try-restart apache2 >/dev/null 2>&1 || :
+%endif
+exit 0
+
+%files -f rpm.filelist
+%defattr(-,root,root,-)
+%{_sbindir}/shibd
+%{_bindir}/mdquery
+%{_bindir}/resolvertest
+%{_libdir}/libshibsp.so.*
+%{_libdir}/libshibsp-lite.so.*
+%exclude %{_libdir}/*.la
+%dir %{_libdir}/shibboleth
+%{_libdir}/shibboleth/*.so
+%exclude %{_libdir}/shibboleth/*.la
+%{?_with_fastcgi:%{_libdir}/shibboleth/shibauthorizer}
+%{?_with_fastcgi:%{_libdir}/shibboleth/shibresponder}
+%attr(0750,%{runuser},%{runuser}) %dir %{_localstatedir}/log/shibboleth
+%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/*
+%dir %{_datadir}/shibboleth
+%{_datadir}/shibboleth/*
+%dir %{_sysconfdir}/shibboleth
+%config(missingok, noreplace) %{_sysconfdir}/shibboleth/shibboleth2.xml
+%config(noreplace) %{_sysconfdir}/shibboleth/attribute-map.xml
+%config(noreplace) %{_sysconfdir}/shibboleth/attribute-policy.xml
+%config(noreplace) %{_sysconfdir}/shibboleth/example-metadata.xml
+%config(noreplace) %{_sysconfdir}/shibboleth/protocols.xml
+%config(noreplace) %{_sysconfdir}/shibboleth/security-policy.xml
+%config(noreplace) %{_sysconfdir}/shibboleth/*.html
+%config(noreplace) %{_sysconfdir}/shibboleth/*.logger
+%if "%{_vendor}" == "redhat"
+%if 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+%else
+%config %{_initrddir}/shibd
+%endif
+%endif
+%if "%{_vendor}" == "amazon"
+%config %{_initrddir}/shibd
+%endif
+%if "%{_vendor}" == "suse" && 0%{?suse_version} < 1210
+%config %{_initrddir}/shibd
+%{_sbindir}/rcshibd
+%endif
+%if 0%{?suse_version} >= 1210 || 0%{?rhel} >= 7 || 0%{?centos_version} >= 700
+%{_tmpfilesdir}/%{name}.conf
+%endif
+%{_sysconfdir}/shibboleth/example-shibboleth2.xml
+%{_sysconfdir}/shibboleth/*.dist
+%{_sysconfdir}/shibboleth/apache*.config
+%{_sysconfdir}/shibboleth/shibd-*
+%attr(0755,root,root) %{_sysconfdir}/shibboleth/keygen.sh
+%attr(0755,root,root) %{_sysconfdir}/shibboleth/metagen.sh
+%attr(0755,root,root) %{_sysconfdir}/shibboleth/seckeygen.sh
+%doc %{pkgdocdir}
+%exclude %{pkgdocdir}/api
+
+%files devel
+%defattr(-,root,root,-)
+%{_includedir}/*
+%{_libdir}/libshibsp.so
+%{_libdir}/libshibsp-lite.so
+%{_libdir}/pkgconfig/*.pc
+%doc %{pkgdocdir}/api
+
+%changelog
+* Mon Apr 30 2018 Scott Cantor <cantor.2 at osu.edu> - 3.0.0-1
+- Bump dependency versions
+- Require updated libraries across the board
+- Generate two keys on new installs
+
+* Tue May 03 2016 Scott Cantor <cantor.2 at osu.edu> - 2.6.0-1
+- Bump opensaml dependency version
+- Bump max wait time for shibd systemd unit file
+
+* Thu Jul 23 2015 Scott Cantor <cantor.2 at osu.edu> - 2.5.5-2
+- Fix use of /var/run/shibboleth on newer tmpfs platforms
+
+* Thu Jul 2 2015 Scott Cantor <cantor.2 at osu.edu> - 2.5.5-1
+- Revamp with systemd support for RH/CentOS 7+ and SUSE 12.1+
+
+* Mon Mar 9 2015 Scott Cantor <cantor.2 at 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 at 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 at iay.org.uk> - 2.5.3-1.2
+- Update package dependencies for RHEL/CentOS 7
+- Fix bogus dates in changelog
+
+* Sat Jun 8 2013 Scott Cantor <cantor.2 at osu.edu> - 2.5.2-1
+- Add --with-gssapi using MIT K5 by default
+
+* Tue Sep 25 2012 Scott Cantor <cantor.2 at osu.edu> - 2.5.1-1
+- Merge back various changes used in released packages
+- Prep for 2.5.1 by pulling extra restart out
+
+* Tue Aug 7 2012 Scott Cantor <cantor.2 at osu.edu> - 2.5.0-2
+- Changed package name back to shibboleth because of upgrade bugs
+- Put back extra restart for this release only.
+
+* Thu Mar 1 2012 Scott Cantor <cantor.2 at osu.edu> - 2.5.0-1
+- Move logo and stylesheet to version-independent tree
+- Make shib.conf noreplace
+- Post-fixup of Alias commands in older shib.conf
+- Changes to run shibd as non-root shibboleth user
+- Move init customizations to /etc/sysconfig/shibd
+- Copy shibd restart for Red Hat to postun
+- Add boost-devel dependency
+- Build memcache plugin on RH6
+- Add cachedir to install
+- Add Apache 2.4 to install
+
+* Sun Jun 26 2011 Scott Cantor <cantor.2 at osu.edu> - 2.4.3-1
+- Log files shouldn't be world readable.
+- Explicit requirement for libcurl-openssl on RHEL6
+- Uncomment LD_LIBRARY_PATH in init script for RHEL6
+- Remove rpath from binaries for RHEL6
+
+* Fri Dec 25 2009 Scott Cantor <cantor.2 at osu.edu> - 2.4-1
+- Update dependencies.
+
+* Mon Nov 23 2009 Scott Cantor <cantor.2 at osu.edu> - 2.3.1-1
+- Reset revision for 2.3.1 release
+
+* Wed Aug 19 2009 Scott Cantor <cantor.2 at osu.edu> - 2.2.1-2
+- SuSE init script changes
+- Restart Apache on removal, not just upgrade
+- Fix scriptlet exit values when Apache is stopped
+
+* Mon Aug 10 2009 Scott Cantor <cantor.2 at osu.edu> - 2.2.1-1
+- Doc handling changes
+- SuSE init script
+
+* Tue Aug 4 2009 Scott Cantor <cantor.2 at osu.edu> - 2.2.1-1
+- Initial version for 2.2.1, with shibd/httpd restart on upgrade
+
+* Thu Jun 25 2009 Scott Cantor <cantor.2 at osu.edu> - 2.2-3
+- Add additional cleanup to posttrans fix
+
+* Tue Jun 23 2009 Scott Cantor <cantor.2 at 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 at 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 at osu.edu> - 2.1-1
+- Change shib.conf handling to treat as config file.
+
+* Mon Mar 17 2008 Scott Cantor <cantor.2 at osu.edu> - 2.0-6
+- Official release.
+
+* Fri Jan 18 2008 Scott Cantor <cantor.2 at osu.edu> - 2.0-5
+- Release candidate 1.
+
+* Sun Oct 21 2007 Scott Cantor <cantor.2 at osu.edu> - 2.0-4
+- libexec -> lib/shibboleth changes
+- Added doc subpackage
+
+* Thu Aug 16 2007 Scott Cantor <cantor.2 at osu.edu> - 2.0-3
+- First public beta.
+
+* Fri Jul 13 2007 Scott Cantor <cantor.2 at osu.edu> - 2.0-2
+- Second alpha release.
+
+* Sun Jun 10 2007 Scott Cantor <cantor.2 at osu.edu> - 2.0-1
+- First alpha release.
+
+* Mon Oct 2 2006 Scott Cantor <cantor.2 at osu.edu> - 1.3-11
+- Applied fix for secadv 20061002
+- Fix for metadata loader loop
+
+* Thu Jun 15 2006 Scott Cantor <cantor.2 at osu.edu> - 1.3-10
+- Applied fix for sec 20060615
+
+* Sat Apr 15 2006 Scott Cantor <cantor.2 at osu.edu> - 1.3-9
+- Misc. patches, SuSE, Apache 2.2, gcc 4.1, and 64-bit support
+
+* Mon Jan 9 2006 Scott Cantor <cantor.2 at osu.edu> - 1.3-8
+- Applied new fix for secadv 20060109
+
+* Tue Nov 8 2005 Scott Cantor <cantor.2 at osu.edu> - 1.3-7
+- Applied new fix for secadv 20050901 plus rollup
+
+* Fri Sep 23 2005 Scott Cantor <cantor.2 at osu.edu> - 1.3-6
+- Minor patches and default config changes
+- pidfile patch
+- Fix shib.conf creation
+- Integrated init.d script
+- Prevent replacement of config files
+
+* Thu Sep 1 2005 Scott Cantor <cantor.2 at osu.edu> - 1.3-5
+- Applied fix for secadv 20050901 plus rollup of NSAPI fixes
+
+* Sun Apr 24 2005 Scott Cantor <cantor.2 at osu.edu> - 1.3-1
+- Updated test programs and location of schemas.
+- move siterefresh to to sbindir
+
+* Fri Apr 1 2005 Derek Atkins <derek at ihtfp.com> - 1.3-1
+- Add selinux-targeted-policy package
+- move shar to sbindir
+
+* Tue Oct 19 2004 Derek Atkins <derek at ihtfp.com> - 1.2-1
+- Create SPEC file based on various versions in existence.
diff --git a/common/SPECS/xerces-c.spec b/common/SPECS/xerces-c.spec
new file mode 100644
index 0000000..a49781b
--- /dev/null
+++ b/common/SPECS/xerces-c.spec
@@ -0,0 +1,140 @@
+Summary: Xerces-C++ validating XML parser
+Name: xerces-c
+Version: 3.2.1
+Release: 1
+URL: http://xerces.apache.org/xerces-c/
+Source0: %{name}-%{version}.tar.bz2
+License: Apache
+Group: Libraries
+BuildRoot: %{_tmppath}/%{name}-root
+Prefix: /usr
+BuildRequires: gcc-c++ pkgconfig
+%{?_with_curl:BuildRequires: curl-devel}
+%{?_with_icu:BuildRequires: libicu-devel}
+%if "%{_vendor}" == "redhat"
+BuildRequires: redhat-rpm-config
+%endif
+
+%if 0%{?rhel} >= 8 || 0%{?centos_version} >= 800
+BuildRequires: gdb
+%endif
+
+%description
+Xerces-C++ is a validating XML parser written in a portable subset of C++.
+Xerces-C++ makes it easy to give your application the ability to read and
+write XML data. A shared library is provided for parsing, generating,
+manipulating, and validating XML documents.
+
+%package -n xerces-c-bin
+Summary: Utilities for Xerces-C++ validating XML parser
+Group: Development/Libraries
+
+%description -n xerces-c-bin
+Xerces-C++ is a validating XML parser written in a portable subset of C++.
+Xerces-C++ makes it easy to give your application the ability to read and
+write XML data. A shared library is provided for parsing, generating,
+manipulating, and validating XML documents.
+
+This package contains the utility programs.
+
+%package -n libxerces-c-3_2
+Summary: Shared library for Xerces-C++ validating XML parser
+Group: Development/Libraries
+Provides: xerces-c = %{version}-%{release}
+
+%description -n libxerces-c-3_2
+Xerces-C++ is a validating XML parser written in a portable subset of C++.
+Xerces-C++ makes it easy to give your application the ability to read and
+write XML data. A shared library is provided for parsing, generating,
+manipulating, and validating XML documents.
+
+This package contains just the shared library.
+
+%package -n libxerces-c-devel
+Group: Development/Libraries
+Summary: Header files for Xerces-C++ validating XML parser
+Requires: libxerces-c-3_2 = %{version}-%{release}
+Provides: xerces-c-devel = %{version}-%{release}
+
+%description -n libxerces-c-devel
+Xerces-C++ is a validating XML parser written in a portable subset of C++.
+Xerces-C++ makes it easy to give your application the ability to read and
+write XML data. A shared library is provided for parsing, generating,
+manipulating, and validating XML documents.
+
+The static libraries and header files needed for development with Xerces-C++.
+
+%prep
+%setup -q
+
+%build
+%configure %{?_with_curl:--enable-netaccessor-curl} %{!?_with_curl:--disable-netaccessor-curl} %{?_with_icu:--enable-transcoder-icu --enable-msgloader-icu} %{?xerces_options}
+%{__make}
+
+%install
+%{__make} install DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+
+%post -n libxerces-c-3_2 -p /sbin/ldconfig
+
+%postun -n libxerces-c-3_2 -p /sbin/ldconfig
+
+%files -n xerces-c-bin
+%defattr(755,root,root)
+%{_bindir}/*
+
+%files -n libxerces-c-3_2
+%defattr(755,root,root)
+%{_libdir}/libxerces-c-*.so
+
+%files -n libxerces-c-devel
+%defattr(-,root,root)
+%{_includedir}/xercesc
+%{_libdir}/libxerces-c.so
+%{_libdir}/libxerces-c.a
+%{_libdir}/pkgconfig/xerces-c.pc
+%exclude %{_libdir}/libxerces-c.la
+
+%changelog
+* Tue May 1 2018 Scott Cantor <cantor.2 at osu.edu> 3.2.0-1
+- Bump version
+
+* Thu Feb 19 2015 Scott Cantor <cantor.2 at osu.edu> 3.1.2-1
+- Bump version, and remove Obsoletes
+
+* Thu Apr 29 2010 Scott Cantor <cantor.2 at osu.edu> 3.1.1-1
+- Bump version and fix Provides/Obsoletes versioning
+
+* Sun Feb 14 2010 Scott Cantor <cantor.2 at osu.edu> 3.1.0-1
+- Bump version
+
+* Mon Dec 28 2009 Scott Cantor <cantor.2 at osu.edu> 3.0.1-2
+- Sync package names for side by side installation
+
+* Wed Aug 5 2009 Scott Cantor <cantor.2 at osu.edu> 3.0.1-1
+- Disabled curl thanks to Red Hat
+
+* Fri Mar 7 2008 Boris Kolpackov <boris at codesynthesis.com>
+- Integrated updates for 3.0.0 from Scott Cantor.
+
+* Fri Jun 6 2003 Tuan Hoang <tqhoang at bigfoot.com>
+- updated for new Xerces-C filename and directory format
+- fixed date format in changelog section
+
+* Fri Mar 14 2003 Tinny Ng <tng at ca.ibm.com>
+- changed to 2.3
+
+* Wed Dec 18 2002 Albert Strasheim <albert at stonethree.com>
+- added symlink to libxerces-c.so in lib directory
+
+* Fri Dec 13 2002 Albert Strasheim <albert at stonethree.com>
+- added seperate doc package
+- major cleanups
+
+* Tue Sep 03 2002 <thomas at linux.de>
+- fixed missing DESTDIR in Makefile.util.submodule
+
+* Mon Sep 02 2002 <thomas at linux.de>
+- Initial build.
diff --git a/common/SPECS/xml-security-c.spec b/common/SPECS/xml-security-c.spec
new file mode 100644
index 0000000..8fabc8e
--- /dev/null
+++ b/common/SPECS/xml-security-c.spec
@@ -0,0 +1,149 @@
+Name: xml-security-c
+Version: 2.0.2
+Release: 1
+Summary: Apache XML security C++ library
+Group: Development/Libraries/C and C++
+License: Apache 2.0
+URL: http://www.apache.org/dist/santuario/c-library/
+Source: %{name}-%{version}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%{?_with_xalan:BuildRequires: libxalan-c-devel >= 1.11}
+BuildRequires: libxerces-c-devel >= 3.2
+BuildRequires: openssl-devel gcc-c++ pkgconfig
+%if "%{_vendor}" == "redhat"
+BuildRequires: redhat-rpm-config
+%endif
+
+%if 0%{?rhel} >= 8 || 0%{?centos_version} >= 800
+BuildRequires: gdb
+%endif
+
+%description
+The xml-security-c library is a C++ implementation of the XML Digital Signature
+and Encryption specifications. The library makes use of the Apache XML project's
+Xerces-C XML Parser and Xalan-C XSLT processor. The latter is used for processing
+XPath and XSLT transforms.
+
+%package -n xml-security-c-bin
+Summary: Utilities for XML security C++ library
+Group: Development/Libraries/C and C++
+
+%description -n xml-security-c-bin
+The xml-security-c library is a C++ implementation of the XML Digital Signature
+and Encryption specifications. The library makes use of the Apache XML project's
+Xerces-C XML Parser and Xalan-C XSLT processor. The latter is used for processing
+XPath and XSLT transforms.
+
+This package contains the utility programs.
+
+%package -n libxml-security-c20
+Summary: Apache XML security C++ library
+Group: Development/Libraries/C and C++
+Provides: xml-security-c = %{version}-%{release}
+
+%description -n libxml-security-c20
+The xml-security-c library is a C++ implementation of the XML Digital Signature
+and Encryption specifications. The library makes use of the Apache XML project's
+Xerces-C XML Parser and Xalan-C XSLT processor. The latter is used for processing
+XPath and XSLT transforms.
+
+This package contains just the shared library.
+
+%package -n libxml-security-c-devel
+Summary: Development files for the Apache C++ XML security library
+Group: Development/Libraries/C and C++
+Requires: libxml-security-c20 = %{version}-%{release}
+Requires: openssl-devel
+Requires: libxerces-c-devel >= 3.2
+%{?_with_xalan:Requires: libxalan-c-devel >= 1.11}
+Provides: xml-security-c-devel = %{version}-%{release}
+
+%description -n libxml-security-c-devel
+The xml-security-c library is a C++ implementation of the XML Digital Signature
+and Encryption specifications. The library makes use of the Apache XML project's
+Xerces-C XML Parser and Xalan-C XSLT processor. The latter is used for processing
+XPath and XSLT transforms.
+
+This package includes files needed for development with xml-security-c.
+
+%prep
+%setup -q
+
+%build
+%configure --with-openssl %{!?_with_xalan: --without-xalan} %{!?_enable_xkms: --disable-xkms}
+%{__make}
+
+%install
+%{__make} install DESTDIR=$RPM_BUILD_ROOT
+
+%clean
+%{__rm} -rf $RPM_BUILD_ROOT
+
+
+%post -n libxml-security-c20 -p /sbin/ldconfig
+
+%postun -n libxml-security-c20 -p /sbin/ldconfig
+
+%files -n xml-security-c-bin
+%defattr(-,root,root,-)
+%{_bindir}/*
+
+%files -n libxml-security-c20
+%defattr(-,root,root,-)
+%{_libdir}/*.so.*
+
+%files -n libxml-security-c-devel
+%defattr(-,root,root,-)
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/*.a
+%{_libdir}/pkgconfig/xml-security-c.pc
+%exclude %{_libdir}/*.la
+
+%changelog
+* Mon Nov 13 2017 Scott Cantor <cantor.2 at osu.edu> 2.0.0-1
+- update to 2.0.0
+- exclude libtool archive
+
+* Wed Jan 28 2015 Scott Cantor <cantor.2 at osu.edu> 1.7.3-1
+- update to 1.7.3
+- remove support for dead Xerces versions
+- switch to bzipped source to avoid SuSE problems later
+
+* Tue May 13 2014 Ian Young <ian at iay.org.uk> 1.7.2-2.2
+- fix package dependencies for RHEL/CentOS 7
+- fix bogus dates in changelog
+
+* Mon Jul 30 2012 Scott Cantor <cantor.2 at osu.edu> 1.7.0-1
+- update to 1.7.0
+- update URL and license
+
+* Tue Oct 26 2010 Scott Cantor <cantor.2 at osu.edu> 1.6.0-1
+- update to 1.6.0
+- fix package dependencies for OpenSUSE 11.3+ and Xalan
+
+* Mon Dec 28 2009 Scott Cantor <cantor.2 at osu.edu> 1.5.1-2
+- Sync package names for side by side installation
+
+* Wed Aug 5 2009 Scott Cantor <cantor.2 at osu.edu> 1.5.1-1
+- update to 1.5.1 and add SuSE conventions
+
+* Sat Dec 6 2008 Scott Cantor <cantor.2 at osu.edu> 1.5-1
+- update to 1.5
+- fix Xerces dependency name on SUSE
+
+* Wed Aug 15 2007 Scott Cantor <cantor.2 at osu.edu> 1.4.0-1
+- update to 1.4.0
+
+* Mon Jun 11 2007 Scott Cantor <cantor.2 at osu.edu> 1.3.1-1
+- update to 1.3.1
+
+* Thu Mar 23 2006 Ian Young <ian at iay.org.uk> - 1.2.0-2
+- patch to remove extra qualifications for compat with g++ 4.1
+
+* Sun Jul 03 2005 Scott Cantor <cantor.2 at osu.edu> - 1.2.0-1
+- Updated version.
+
+* Tue Oct 19 2004 Derek Atkins <derek at ihtfp.com> - 1.1.1-1
+- First Package.
diff --git a/common/SPECS/xmltooling.spec b/common/SPECS/xmltooling.spec
new file mode 100644
index 0000000..30541c5
--- /dev/null
+++ b/common/SPECS/xmltooling.spec
@@ -0,0 +1,213 @@
+Name: xmltooling
+Version: 3.0.4
+Release: 1
+Summary: OpenSAML XML Processing library
+Group: Development/Libraries/C and C++
+Vendor: Shibboleth Consortium
+License: Apache-2.0
+URL: http://www.opensaml.org/
+Source: %{name}-%{version}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+BuildRequires: libxerces-c-devel >= 3.2
+BuildRequires: libxml-security-c-devel >= 2.0.0
+%{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:BuildRequires: liblog4shib-devel >= 1.0.4}
+BuildRequires: gcc-c++, pkgconfig, zlib-devel, openssl-devel, boost-devel >= 1.32.0
+%if 0%{?rhel} == 6 || 0%{?rhel} == 7 || 0%{?amzn} >= 1
+BuildRequires: libcurl-openssl-devel >= 7.21.7
+Requires: libcurl-openssl >= 7.21.7
+%else
+BuildRequires: curl-devel >= 7.10.6
+%endif
+%{!?_without_doxygen:BuildRequires: doxygen}
+%if "%{_vendor}" == "redhat"
+BuildRequires: redhat-rpm-config
+%endif
+
+%if 0%{?rhel} == 8
+BuildRequires: gdb
+%endif
+
+%if "%{_vendor}" == "suse"
+%define pkgdocdir %{_docdir}/%{name}
+%else
+%define pkgdocdir %{_docdir}/%{name}-%{version}
+%endif
+
+# Prevent the RHEL/etc 6/7 package from requiring a vanilla libcurl.
+%if 0%{?rhel} == 6 || 0%{?rhel} == 7 || 0%{?amzn} >= 1
+%filter_from_requires /libcurl\.so\..*/d
+%filter_setup
+%endif
+
+%description
+The XMLTooling library contains generic XML parsing and processing
+classes based on the Xerces-C DOM. It adds more powerful facilities
+for declaring element- and type-specific API and implementation
+classes to add value around the DOM, as well as signing and encryption
+support.
+
+%package -n libxmltooling8
+Summary: OpenSAML XMLTooling library
+Group: Development/Libraries/C and C++
+Provides: xmltooling = %{version}-%{release}
+Obsoletes: xmltooling < %{version}-%{release}
+%if 0%{?rhel} == 6 || 0%{?rhel} == 7 || 0%{?amzn} >= 1
+Requires: libcurl-openssl >= 7.21.7
+%endif
+
+%description -n libxmltooling8
+The XMLTooling library contains generic XML parsing and processing
+classes based on the Xerces-C DOM. It adds more powerful facilities
+for declaring element- and type-specific API and implementation
+classes to add value around the DOM, as well as signing and encryption
+support.
+
+This package contains just the shared library.
+
+%package -n libxmltooling-devel
+Summary: XMLTooling development Headers
+Group: Development/Libraries/C and C++
+Requires: libxmltooling8 = %{version}-%{release}
+Provides: xmltooling-devel = %{version}-%{release}
+Obsoletes: xmltooling-devel < %{version}-%{release}
+Requires: libxerces-c-devel >= 3.2
+Requires: libxml-security-c-devel >= 2.0.0
+%{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
+%{!?_with_log4cpp:Requires: liblog4shib-devel >= 1.0.4}
+Requires: openssl-devel, boost-devel >= 1.32.0
+%if 0%{?rhel} == 6 || 0%{?rhel} == 7 || 0%{?amzn} >= 1
+Requires: libcurl-openssl-devel >= 7.21.7
+%else
+Requires: curl-devel >= 7.10.6
+%endif
+
+%description -n libxmltooling-devel
+The XMLTooling library contains generic XML parsing and processing
+classes based on the Xerces-C DOM. It adds more powerful facilities
+for declaring element- and type-specific API and implementation
+classes to add value around the DOM, as well as signing and encryption
+support.
+
+This package includes files needed for development with XMLTooling.
+
+%package -n xmltooling-schemas
+Summary: XMLTooling schemas and catalog
+Group: Development/Libraries/C and C++
+
+%description -n xmltooling-schemas
+The XMLTooling library contains generic XML parsing and processing
+classes based on the Xerces-C DOM. It adds more powerful facilities
+for declaring element- and type-specific API and implementation
+classes to add value around the DOM, as well as signing and encryption
+support.
+
+This package includes XML schemas and related files.
+
+%prep
+%setup -q
+
+%build
+%if 0%{?rhel} == 6 || 0%{?rhel} == 7 || 0%{?amzn} >= 1
+%configure %{?xmltooling_options} %{!?_without_xmlsec: --with-xmlsec} PKG_CONFIG_PATH=/opt/shibboleth/%{_lib}/pkgconfig
+%else
+%configure %{?xmltooling_options} %{!?_without_xmlsec: --with-xmlsec}
+%endif
+%{__make}
+
+%install
+%{__make} install DESTDIR=$RPM_BUILD_ROOT pkgdocdir=%{pkgdocdir}
+# Don't package unit tester if present.
+%{__rm} -f $RPM_BUILD_ROOT/%{_bindir}/xmltoolingtest
+
+%check
+%{__make} check
+
+%clean
+[ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
+
+%post -n libxmltooling8 -p /sbin/ldconfig
+
+%postun -n libxmltooling8 -p /sbin/ldconfig
+
+%files -n libxmltooling8
+%defattr(-,root,root,-)
+%{_libdir}/*.so.*
+%exclude %{_libdir}/*.la
+
+%files -n xmltooling-schemas
+%defattr(-,root,root,-)
+%dir %{_datadir}/xml/xmltooling
+%{_datadir}/xml/xmltooling/*
+
+%files -n libxmltooling-devel
+%defattr(-,root,root,-)
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/xmltooling.pc
+%{_libdir}/pkgconfig/xmltooling-lite.pc
+%doc %{pkgdocdir}
+
+%changelog
+* Tue Nov 21 2017 Scott Cantor <cantor.2 at osu.edu> - 3.0.0-1
+- Update soname
+- Require Xerces 3.2 as shipped by me on all platforms
+- Exclude libtool archives
+
+* Fri Jun 24 2016 Scott Cantor <cantor.2 at osu.edu> - 1.6.0-1
+- Fix some lint issues
+- Update soname in package name
+
+* Thu Feb 26 2015 Scott Cantor <cantor.2 at osu.edu> - 1.5.4-1
+- Require Xerces 3.1 even on older platforms
+- Add Amazon platform checks
+- Switch to bz2 source to avoid future SuSE issues
+
+* Tue May 13 2014 Ian Young <ian at iay.org.uk> - 1.5.3-1.2
+- Update package dependencies for RHEL/CentOS 7
+
+* Wed Dec 14 2011 Scott Cantor <cantor.2 at osu.edu> - 1.5-1
+- Update lib package number.
+- Add boost-devel dependency.
+
+* Sun Jun 26 2011 Scott Cantor <cantor.2 at osu.edu> - 1.4.2-1
+- Override curl build for RHEL6.
+
+* Tue Oct 26 2010 Scott Cantor <cantor.2 at osu.edu> - 1.4-1
+- Update version
+- Add pkg-config support.
+- Sync package names for side by side install.
+- Adjust Xerces dependency name and Group setting
+- Split out schemas into separate subpackage
+
+* Mon Aug 31 2009 Scott Cantor <cantor.2 at osu.edu> - 1.3-1
+- Bump soname for SUSE packaging.
+
+* Thu Aug 6 2009 Scott Cantor <cantor.2 at osu.edu> - 1.2.1-1
+- SuSE conventions
+- Stop packaging unit tester
+
+* Wed Dec 3 2008 Scott Cantor <cantor.2 at osu.edu> - 1.2-1
+- Bumping for minor update.
+- Fixing SuSE Xerces dependency name.
+
+* Tue Jul 1 2008 Scott Cantor <cantor.2 at osu.edu> - 1.1-1
+- Bumping for minor update.
+
+* Mon Mar 17 2008 Scott Cantor <cantor.2 at osu.edu> - 1.0-6
+- Official release.
+
+* Fri Jan 18 2008 Scott Cantor <cantor.2 at osu.edu> - 1.0-5
+- Release candidate 1.
+
+* Thu Nov 08 2007 Scott Cantor <cantor.2 at osu.edu> - 1.0-4
+- Second public beta.
+
+* Thu Aug 16 2007 Scott Cantor <cantor.2 at osu.edu> - 1.0-3
+- First public beta.
+
+* Fri Jul 13 2007 Scott Cantor <cantor.2 at osu.edu> - 1.0-2
+- Second alpha.
+
+* Wed Apr 12 2006 Scott Cantor <cantor.2 at osu.edu> - 1.0-1
+- First SPEC file based on various versions in existence.
diff --git a/os/centos6/image/Dockerfile b/os/centos6/image/Dockerfile
new file mode 100644
index 0000000..ce49965
--- /dev/null
+++ b/os/centos6/image/Dockerfile
@@ -0,0 +1,34 @@
+FROM centos:6.10
+
+MAINTAINER John W. O'Brien <john at saltant.com>
+
+RUN yum -y update \
+ && yum -y install \
+ autoconf automake boost-devel chrpath doxygen gcc-c++ git groff \
+ httpd-devel libidn-devel libmemcached-devel libtool make \
+ openldap-devel openssl-devel pkgconfig \
+ rpm-build stunnel systemd-devel unixODBC-devel zlib-devel \
+ && yum clean all
+
+# internal and external are w.r.t. a container, where external locations
+# are expected to be mounted and pre-populated with required inputs
+ENV BUILD_BASE=/opt/build
+ENV INT_BASE=${BUILD_BASE}/internal
+ENV EXT_BASE=${BUILD_BASE}/external
+
+RUN mkdir -p \
+ ${INT_BASE}/{BUILD,BUILDROOT} \
+ ${EXT_BASE}/{in,out}
+
+RUN echo "%_topdir ${EXT_BASE}" > ~/.rpmmacros
+RUN echo "%_builddir ${INT_BASE}/BUILD" >> ~/.rpmmacros
+RUN echo "%_buildrootdir ${INT_BASE}/BUILDROOT" >> ~/.rpmmacros
+RUN echo "%_specdir ${EXT_BASE}/in/SPECS" >> ~/.rpmmacros
+RUN echo "%_sourcedir ${EXT_BASE}/in/SOURCES" >> ~/.rpmmacros
+RUN echo "%_rpmdir ${EXT_BASE}/out/RPMS" >> ~/.rpmmacros
+RUN echo "%_srcrpmdir ${EXT_BASE}/out/SRPMS" >> ~/.rpmmacros
+RUN echo "%packager PLACE HOLDER <USER at EXAMPLE.COM>" >> ~/.rpmmacros
+
+COPY . ${BUILD_BASE}
+
+WORKDIR ${EXT_BASE}/in/SPECS
diff --git a/os/centos6/image/build-curl-openssl.sh b/os/centos6/image/build-curl-openssl.sh
new file mode 100644
index 0000000..182df2e
--- /dev/null
+++ b/os/centos6/image/build-curl-openssl.sh
@@ -0,0 +1,2 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpmbuild -ba --clean curl-openssl.spec
diff --git a/os/centos6/image/build-log4shib.sh b/os/centos6/image/build-log4shib.sh
new file mode 100644
index 0000000..041725e
--- /dev/null
+++ b/os/centos6/image/build-log4shib.sh
@@ -0,0 +1 @@
+rpmbuild -ba --clean log4shib.spec
diff --git a/os/centos6/image/build-opensaml.sh b/os/centos6/image/build-opensaml.sh
new file mode 100644
index 0000000..6212669
--- /dev/null
+++ b/os/centos6/image/build-opensaml.sh
@@ -0,0 +1,6 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*curl-openssl*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xmltooling*
+rpmbuild -ba --clean opensaml.spec
diff --git a/os/centos6/image/build-shibboleth.sh b/os/centos6/image/build-shibboleth.sh
new file mode 100644
index 0000000..c8bf769
--- /dev/null
+++ b/os/centos6/image/build-shibboleth.sh
@@ -0,0 +1,9 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*curl-openssl*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xmltooling*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*libsaml*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*opensaml*
+rpmbuild -ba --clean shibboleth.spec
+
diff --git a/os/centos6/image/build-xerces-c.sh b/os/centos6/image/build-xerces-c.sh
new file mode 100644
index 0000000..030a720
--- /dev/null
+++ b/os/centos6/image/build-xerces-c.sh
@@ -0,0 +1 @@
+rpmbuild -ba --clean xerces-c.spec
diff --git a/os/centos6/image/build-xml-security-c.sh b/os/centos6/image/build-xml-security-c.sh
new file mode 100644
index 0000000..cf16d21
--- /dev/null
+++ b/os/centos6/image/build-xml-security-c.sh
@@ -0,0 +1,2 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpmbuild -ba --clean xml-security-c.spec
diff --git a/os/centos6/image/build-xmltooling.sh b/os/centos6/image/build-xmltooling.sh
new file mode 100644
index 0000000..dacca87
--- /dev/null
+++ b/os/centos6/image/build-xmltooling.sh
@@ -0,0 +1,5 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*curl-openssl*
+rpmbuild -ba --clean xmltooling.spec
diff --git a/os/centos7/image/Dockerfile b/os/centos7/image/Dockerfile
new file mode 100644
index 0000000..a7db584
--- /dev/null
+++ b/os/centos7/image/Dockerfile
@@ -0,0 +1,34 @@
+FROM centos:7.8.2003
+
+MAINTAINER John W. O'Brien <john at saltant.com>
+
+RUN yum -y update \
+ && yum -y install \
+ autoconf automake boost-devel chrpath doxygen gcc-c++ git groff \
+ httpd-devel libidn-devel libmemcached-devel libtool make \
+ openldap-devel openssl-devel pkgconfig \
+ rpm-build stunnel systemd-devel unixODBC-devel zlib-devel \
+ && yum clean all
+
+# internal and external are w.r.t. a container, where external locations
+# are expected to be mounted and pre-populated with required inputs
+ENV BUILD_BASE=/opt/build
+ENV INT_BASE=${BUILD_BASE}/internal
+ENV EXT_BASE=${BUILD_BASE}/external
+
+RUN mkdir -p \
+ ${INT_BASE}/{BUILD,BUILDROOT} \
+ ${EXT_BASE}/{in,out}
+
+RUN echo "%_topdir ${EXT_BASE}" > ~/.rpmmacros
+RUN echo "%_builddir ${INT_BASE}/BUILD" >> ~/.rpmmacros
+RUN echo "%_buildrootdir ${INT_BASE}/BUILDROOT" >> ~/.rpmmacros
+RUN echo "%_specdir ${EXT_BASE}/in/SPECS" >> ~/.rpmmacros
+RUN echo "%_sourcedir ${EXT_BASE}/in/SOURCES" >> ~/.rpmmacros
+RUN echo "%_rpmdir ${EXT_BASE}/out/RPMS" >> ~/.rpmmacros
+RUN echo "%_srcrpmdir ${EXT_BASE}/out/SRPMS" >> ~/.rpmmacros
+RUN echo "%packager PLACE HOLDER <USER at EXAMPLE.COM>" >> ~/.rpmmacros
+
+COPY . ${BUILD_BASE}
+
+WORKDIR ${EXT_BASE}/in/SPECS
diff --git a/os/centos7/image/build-curl-openssl.sh b/os/centos7/image/build-curl-openssl.sh
new file mode 100644
index 0000000..8b5fb44
--- /dev/null
+++ b/os/centos7/image/build-curl-openssl.sh
@@ -0,0 +1,2 @@
+#rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpmbuild -ba --clean curl-openssl.spec
diff --git a/os/centos7/image/build-log4shib.sh b/os/centos7/image/build-log4shib.sh
new file mode 100644
index 0000000..041725e
--- /dev/null
+++ b/os/centos7/image/build-log4shib.sh
@@ -0,0 +1 @@
+rpmbuild -ba --clean log4shib.spec
diff --git a/os/centos7/image/build-opensaml.sh b/os/centos7/image/build-opensaml.sh
new file mode 100644
index 0000000..6212669
--- /dev/null
+++ b/os/centos7/image/build-opensaml.sh
@@ -0,0 +1,6 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*curl-openssl*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xmltooling*
+rpmbuild -ba --clean opensaml.spec
diff --git a/os/centos7/image/build-shibboleth.sh b/os/centos7/image/build-shibboleth.sh
new file mode 100644
index 0000000..c8bf769
--- /dev/null
+++ b/os/centos7/image/build-shibboleth.sh
@@ -0,0 +1,9 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*curl-openssl*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xmltooling*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*libsaml*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*opensaml*
+rpmbuild -ba --clean shibboleth.spec
+
diff --git a/os/centos7/image/build-xerces-c.sh b/os/centos7/image/build-xerces-c.sh
new file mode 100644
index 0000000..030a720
--- /dev/null
+++ b/os/centos7/image/build-xerces-c.sh
@@ -0,0 +1 @@
+rpmbuild -ba --clean xerces-c.spec
diff --git a/os/centos7/image/build-xml-security-c.sh b/os/centos7/image/build-xml-security-c.sh
new file mode 100644
index 0000000..cf16d21
--- /dev/null
+++ b/os/centos7/image/build-xml-security-c.sh
@@ -0,0 +1,2 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpmbuild -ba --clean xml-security-c.spec
diff --git a/os/centos7/image/build-xmltooling.sh b/os/centos7/image/build-xmltooling.sh
new file mode 100644
index 0000000..dacca87
--- /dev/null
+++ b/os/centos7/image/build-xmltooling.sh
@@ -0,0 +1,5 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*curl-openssl*
+rpmbuild -ba --clean xmltooling.spec
diff --git a/os/centos8/image/Dockerfile b/os/centos8/image/Dockerfile
new file mode 100644
index 0000000..eb28833
--- /dev/null
+++ b/os/centos8/image/Dockerfile
@@ -0,0 +1,36 @@
+FROM centos:8.2.2004
+
+MAINTAINER John W. O'Brien <john at saltant.com>
+
+RUN sed -i "s/enabled=0/enabled=1/" /etc/yum.repos.d/CentOS-PowerTools.repo \
+ && yum -y update \
+ && yum -y install \
+ autoconf automake boost-devel chrpath curl-devel doxygen \
+ gcc-c++ gdb git groff httpd-devel libidn-devel \
+ libmemcached-devel libtool make openldap-devel openssl-devel \
+ pkgconfig rpm-build stunnel systemd-devel unixODBC-devel \
+ zlib-devel \
+ && yum clean all
+
+# internal and external are w.r.t. a container, where external locations
+# are expected to be mounted and pre-populated with required inputs
+ENV BUILD_BASE=/opt/build
+ENV INT_BASE=${BUILD_BASE}/internal
+ENV EXT_BASE=${BUILD_BASE}/external
+
+RUN mkdir -p \
+ ${INT_BASE}/{BUILD,BUILDROOT} \
+ ${EXT_BASE}/{in,out}
+
+RUN echo "%_topdir ${EXT_BASE}" > ~/.rpmmacros
+RUN echo "%_builddir ${INT_BASE}/BUILD" >> ~/.rpmmacros
+RUN echo "%_buildrootdir ${INT_BASE}/BUILDROOT" >> ~/.rpmmacros
+RUN echo "%_specdir ${EXT_BASE}/in/SPECS" >> ~/.rpmmacros
+RUN echo "%_sourcedir ${EXT_BASE}/in/SOURCES" >> ~/.rpmmacros
+RUN echo "%_rpmdir ${EXT_BASE}/out/RPMS" >> ~/.rpmmacros
+RUN echo "%_srcrpmdir ${EXT_BASE}/out/SRPMS" >> ~/.rpmmacros
+RUN echo "%packager PLACE HOLDER <USER at EXAMPLE.COM>" >> ~/.rpmmacros
+
+COPY . ${BUILD_BASE}
+
+WORKDIR ${EXT_BASE}/in/SPECS
diff --git a/os/centos8/image/build-log4shib.sh b/os/centos8/image/build-log4shib.sh
new file mode 100644
index 0000000..041725e
--- /dev/null
+++ b/os/centos8/image/build-log4shib.sh
@@ -0,0 +1 @@
+rpmbuild -ba --clean log4shib.spec
diff --git a/os/centos8/image/build-opensaml.sh b/os/centos8/image/build-opensaml.sh
new file mode 100644
index 0000000..8e2c6ba
--- /dev/null
+++ b/os/centos8/image/build-opensaml.sh
@@ -0,0 +1,5 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xmltooling*
+rpmbuild -ba --clean opensaml.spec
diff --git a/os/centos8/image/build-shibboleth.sh b/os/centos8/image/build-shibboleth.sh
new file mode 100644
index 0000000..8c6b70d
--- /dev/null
+++ b/os/centos8/image/build-shibboleth.sh
@@ -0,0 +1,7 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xmltooling*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*{lib,open}saml*
+rpmbuild -ba --clean shibboleth.spec
+
diff --git a/os/centos8/image/build-xerces-c.sh b/os/centos8/image/build-xerces-c.sh
new file mode 100644
index 0000000..030a720
--- /dev/null
+++ b/os/centos8/image/build-xerces-c.sh
@@ -0,0 +1 @@
+rpmbuild -ba --clean xerces-c.spec
diff --git a/os/centos8/image/build-xml-security-c.sh b/os/centos8/image/build-xml-security-c.sh
new file mode 100644
index 0000000..cf16d21
--- /dev/null
+++ b/os/centos8/image/build-xml-security-c.sh
@@ -0,0 +1,2 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpmbuild -ba --clean xml-security-c.spec
diff --git a/os/centos8/image/build-xmltooling.sh b/os/centos8/image/build-xmltooling.sh
new file mode 100644
index 0000000..d405c1d
--- /dev/null
+++ b/os/centos8/image/build-xmltooling.sh
@@ -0,0 +1,4 @@
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xerces*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*log4shib*
+rpm --install ${EXT_BASE}/out/RPMS/x86_64/*xml-security-c*
+rpmbuild -ba --clean xmltooling.spec
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list