From: Pietro Monteiro <[email protected]>

contrib/ChangeLog:

        * ci-container/essential/Containerfile: New file.

Signed-off-by: Pietro Monteiro <[email protected]>
---
 contrib/ci-container/essential/Containerfile | 80 ++++++++++++++++++++
 1 file changed, 80 insertions(+)
 create mode 100644 contrib/ci-container/essential/Containerfile

diff --git a/contrib/ci-container/essential/Containerfile 
b/contrib/ci-container/essential/Containerfile
new file mode 100644
index 000000000000..8bd160d94489
--- /dev/null
+++ b/contrib/ci-container/essential/Containerfile
@@ -0,0 +1,80 @@
+FROM debian:stable-slim
+
+# Run time deps
+RUN set -eux; \
+    apt-get update; \
+    apt-get upgrade -y; \
+    apt-get install -y --no-install-recommends \
+      autogen \
+      ca-certificates \
+      git \
+      m4 \
+      nodejs \
+      perl \
+      python3 \
+      python3-git \
+      python3-termcolor \
+      python3-unidiff \
+      wget; \
+    rm -rf /var/lib/apt/lists/*
+
+# Get and install the autoregen.py script
+RUN wget -O /usr/local/bin/autoregen.py \
+      
'https://sourceware.org/cgit/builder/plain/builder/containers/autoregen.py' \
+    && chmod 755 /usr/local/bin/autoregen.py
+
+# Build and install autoconf-2.69 and automake-1.15.1
+# Automake depends on autoconf, which is built and installed first
+RUN set -eux; \
+    \
+    savedAptMark="$(apt-mark showmanual)"; \
+    apt-get update; \
+    apt-get install -y --no-install-recommends \
+      build-essential \
+      ca-certificates \
+      gzip \
+      m4 \
+      tar \
+      wget \
+    ; \
+    rm -r /var/lib/apt/lists/*; \
+    \
+    builddir="$(mktemp -d)"; \
+    cd "${builddir}"; \
+    \
+    wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz; \
+    tar xf autoconf-2.69.tar.gz; \
+    cd autoconf-2.69; \
+    ./configure --program-suffix=-2.69; \
+    make; \
+    make install; \
+    cd .. ;\
+    rm -rf autoconf*; \
+    cd /usr/local/bin; \
+    ln -s autoconf-2.69 autoconf; \
+    ln -s autoheader-2.69 autoheader; \
+    ln -s autom4te-2.69 autom4te; \
+    ln -s autoreconf-2.69 autoreconf; \
+    ln -s autoscan-2.69 autoscan; \
+    ln -s autoupdate-2.69 autoupdate; \
+    \
+    cd "${builddir}"; \
+    wget https://ftp.gnu.org/gnu/automake/automake-1.15.1.tar.gz; \
+    tar xf automake-1.15.1.tar.gz; \
+    cd automake-1.15.1; \
+    ./configure --program-suffix=-1.15.1; \
+    make; \
+    make install; \
+    cd ..; \
+    rm -rf automake*; \
+    cd /usr/local/bin; \
+    ln -s aclocal-1.15.1 aclocal-1.15; \
+    ln -s aclocal-1.15.1 aclocal; \
+    ln -s automake-1.15.1 automake-1.15; \
+    ln -s automake-1.15.1 automake; \
+    \
+    rm -rf "${builddir}"; \
+    \
+    apt-mark auto '.*' > /dev/null; \
+    [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
+    apt-get purge -y --auto-remove -o 
APT::AutoRemove::RecommendsImportant=false
-- 
2.52.0

Reply via email to