blob: 3cabba827e6922af349a442e90dc180eb169023b [file] [log] [blame]
FROM debian:stable-slim
ARG AUTOCONF_VERSION=2.69
ARG AUTOMAKE_VERSION=1.15.1
# 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
COPY --chmod=755 autoregen.py /usr/local/bin/autoregen.py
# Build and install autoconf and automake
# 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}"; \
AUTOCONF_VERSION_SHORT="$(echo $AUTOCONF_VERSION | awk -F. '{ print $1 "." $2 }')"; \
wget -q "https://ftp.gnu.org/gnu/autoconf/autoconf-${AUTOCONF_VERSION}.tar.gz"; \
tar xf "autoconf-${AUTOCONF_VERSION}.tar.gz"; \
cd "autoconf-${AUTOCONF_VERSION}"; \
./configure --program-suffix="-${AUTOCONF_VERSION}"; \
make; \
make install; \
cd .. ;\
rm -rf autoconf*; \
cd /usr/local/bin; \
for f in autoconf autoheader autom4te autoreconf autoscan autoupdate ifnames; do \
ln -sv "$f-$AUTOCONF_VERSION" "$f"; \
[ ! "$AUTOCONF_VERSION" = "$AUTOCONF_VERSION_SHORT" ] && \
ln -sv "$f-$AUTOCONF_VERSION" "$f-$AUTOCONF_VERSION_SHORT"; \
done; \
\
cd "${builddir}"; \
AUTOMAKE_VERSION_SHORT="$(echo $AUTOMAKE_VERSION | awk -F. '{ print $1 "." $2 }')"; \
wget -q "https://ftp.gnu.org/gnu/automake/automake-${AUTOMAKE_VERSION}.tar.gz"; \
tar xf "automake-${AUTOMAKE_VERSION}.tar.gz"; \
cd "automake-${AUTOMAKE_VERSION}"; \
./configure --program-suffix="-${AUTOMAKE_VERSION}"; \
make; \
make install; \
cd ..; \
rm -rf automake*; \
cd /usr/local/bin; \
for f in aclocal automake; do \
ln -sv "$f-$AUTOMAKE_VERSION" "$f"; \
[ ! "$AUTOMAKE_VERSION" = "$AUTOMAKE_VERSION_SHORT" ] && \
ln -sv "$f-$AUTOMAKE_VERSION" "$f-$AUTOMAKE_VERSION_SHORT"; \
done; \
\
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