[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