[cpp-linbuild] 18/25: Implement support for Amazon Linux 2

Scott Cantor cantor.2 at osu.edu
Mon Apr 5 12:47:01 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=9b934ea3445595a73db4ae6305d1a68a70db49dc

commit 9b934ea3445595a73db4ae6305d1a68a70db49dc
Author: John W. O'Brien <john at saltant.com>
AuthorDate: Fri Feb 5 16:37:51 2021 +0000

    Implement support for Amazon Linux 2
---
 Makefile                                      |  6 +++--
 os/amazonlinux2/image/Dockerfile              | 34 +++++++++++++++++++++++++++
 os/amazonlinux2/image/build-curl-openssl.sh   |  2 ++
 os/amazonlinux2/image/build-log4shib.sh       |  1 +
 os/amazonlinux2/image/build-opensaml.sh       |  6 +++++
 os/amazonlinux2/image/build-shibboleth.sh     |  9 +++++++
 os/amazonlinux2/image/build-xerces-c.sh       |  1 +
 os/amazonlinux2/image/build-xml-security-c.sh |  2 ++
 os/amazonlinux2/image/build-xmltooling.sh     |  5 ++++
 9 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 243ddea..c47378c 100644
--- a/Makefile
+++ b/Makefile
@@ -83,7 +83,7 @@ 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=centos6 centos7
+CURLOPENSSL_VALID_PLATFORMS=centos6 centos7 amazonlinux2
 
 # Look closely: these variables refer to the OPENSAML variables
 XMLTOOLING_COMPNAME=xmltooling
@@ -93,6 +93,7 @@ XMLTOOLING_URL=https://shibboleth.net/downloads/c++-opensaml/$(OPENSAML_VERSION)
 XMLTOOLING_DEPENDS=LOG4SHIB XERCESC XMLSECURITYC
 XMLTOOLING_DEPENDS_centos6=CURLOPENSSL
 XMLTOOLING_DEPENDS_centos7=CURLOPENSSL
+XMLTOOLING_DEPENDS_amazonlinux2=CURLOPENSSL
 
 OPENSAML_COMPNAME=opensaml
 OPENSAML_VERSION=3.2.0
@@ -139,7 +140,8 @@ distfiles: $(foreach component,$(COMPONENTS),$(SOURCEDIR)/$($(component)_DISTFIL
 PLATFORMS=\
 	centos6 \
 	centos7 \
-	centos8
+	centos8 \
+	amazonlinux2
 
 # To add a new platform, create the following
 #	os/$OS/
diff --git a/os/amazonlinux2/image/Dockerfile b/os/amazonlinux2/image/Dockerfile
new file mode 100644
index 0000000..10901f1
--- /dev/null
+++ b/os/amazonlinux2/image/Dockerfile
@@ -0,0 +1,34 @@
+FROM amazonlinux:2.0.20210126.0
+
+RUN 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 \
+    && rm -rf /var/cache/yum
+
+# 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/amazonlinux2/image/build-curl-openssl.sh b/os/amazonlinux2/image/build-curl-openssl.sh
new file mode 100644
index 0000000..8b5fb44
--- /dev/null
+++ b/os/amazonlinux2/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/amazonlinux2/image/build-log4shib.sh b/os/amazonlinux2/image/build-log4shib.sh
new file mode 100644
index 0000000..041725e
--- /dev/null
+++ b/os/amazonlinux2/image/build-log4shib.sh
@@ -0,0 +1 @@
+rpmbuild -ba --clean log4shib.spec
diff --git a/os/amazonlinux2/image/build-opensaml.sh b/os/amazonlinux2/image/build-opensaml.sh
new file mode 100644
index 0000000..6212669
--- /dev/null
+++ b/os/amazonlinux2/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/amazonlinux2/image/build-shibboleth.sh b/os/amazonlinux2/image/build-shibboleth.sh
new file mode 100644
index 0000000..c8bf769
--- /dev/null
+++ b/os/amazonlinux2/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/amazonlinux2/image/build-xerces-c.sh b/os/amazonlinux2/image/build-xerces-c.sh
new file mode 100644
index 0000000..030a720
--- /dev/null
+++ b/os/amazonlinux2/image/build-xerces-c.sh
@@ -0,0 +1 @@
+rpmbuild -ba --clean xerces-c.spec
diff --git a/os/amazonlinux2/image/build-xml-security-c.sh b/os/amazonlinux2/image/build-xml-security-c.sh
new file mode 100644
index 0000000..cf16d21
--- /dev/null
+++ b/os/amazonlinux2/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/amazonlinux2/image/build-xmltooling.sh b/os/amazonlinux2/image/build-xmltooling.sh
new file mode 100644
index 0000000..dacca87
--- /dev/null
+++ b/os/amazonlinux2/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

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list