[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