summaryrefslogtreecommitdiff
path: root/.github/dockerfiles/Dockerfile.debian-base
diff options
context:
space:
mode:
Diffstat (limited to '.github/dockerfiles/Dockerfile.debian-base')
-rw-r--r--.github/dockerfiles/Dockerfile.debian-base53
1 files changed, 31 insertions, 22 deletions
diff --git a/.github/dockerfiles/Dockerfile.debian-base b/.github/dockerfiles/Dockerfile.debian-base
index 1c26677959..416edd97c9 100644
--- a/.github/dockerfiles/Dockerfile.debian-base
+++ b/.github/dockerfiles/Dockerfile.debian-base
@@ -6,29 +6,38 @@ FROM $BASE
## Need to have a second arg here as the first does not expose the $BASE in the script below
ARG BASE=debian
-ARG HOST_ARCH=amd64
ARG HOST_TRIP=x86_64-linux-gnu
+ENV HOST_TRIP=$HOST_TRIP
-ENV INSTALL_LIBS="zlib1g-dev libncurses5-dev libssh-dev unixodbc-dev libgmp3-dev libwxbase3.0-dev libwxgtk3.0-dev libsctp-dev lksctp-tools"
+ENV INSTALL_LIBS="zlib1g-dev libncurses5-dev libssh-dev unixodbc-dev libgmp3-dev libwxbase3.0-dev libwxgtk3.0-dev libwxgtk-webview3.0-gtk3-dev libsctp-dev lksctp-tools"
## See https://wiki.debian.org/Multiarch/HOWTO for details on how to install things
-RUN if [ "$BASE" = "i386/debian" ]; then BUILD_ARCH=`dpkg --print-architecture` && \
- dpkg --add-architecture $HOST_ARCH && \
- sed -i "s:deb http:deb [arch=$BUILD_ARCH,$HOST_ARCH] http:g" /etc/apt/sources.list; \
- fi
-
-RUN apt-get update && \
- apt-get -y upgrade && \
- apt-get install -y build-essential m4 autoconf fop xsltproc \
- default-jdk libxml2-utils $INSTALL_LIBS
-
-RUN if [ "$BASE" = "i386/debian" ]; then apt-get install -y \
- crossbuild-essential-$HOST_ARCH \
- $(for LIB in $INSTALL_LIBS; do echo "$LIB:$HOST_ARCH"; done) && \
- for dir in `find / -type d -name $HOST_TRIP`; do \
- echo -n "$dir: /buildroot/sysroot"; \
- echo `dirname $dir`; \
- mkdir -p /buildroot/sysroot$dir; \
- cp -r `dirname $dir`/* `dirname /buildroot/sysroot$dir`; \
- cp -r $dir/* `dirname /buildroot/sysroot$dir`; \
- done; fi
+##
+## 1. Install build-essential to get access to dpkg-architecture
+## 2. Use dpkg-architecture to figure out what we are runnon on
+## 3. If the HOST_TRIP does not equal BUILD_TRIP we should cross compile
+RUN apt-get update && apt-get -y upgrade && apt-get install -y build-essential && \
+ BUILD_TRIP=`dpkg-architecture -t${HOST_TRIP} -qDEB_BUILD_MULTIARCH` && \
+ BUILD_ARCH=`dpkg-architecture -t${HOST_TRIP} -qDEB_BUILD_ARCH` && \
+ if [ "$HOST_TRIP" != "$BUILD_TRIP" ]; then \
+ HOST_ARCH=`dpkg-architecture -t${HOST_TRIP} -qDEB_HOST_ARCH` && \
+ dpkg --add-architecture $HOST_ARCH && \
+ sed -i "s:deb http:deb [arch=$BUILD_ARCH,$HOST_ARCH] http:g" /etc/apt/sources.list; \
+ fi && \
+ apt-get update && \
+ apt-get install -y build-essential m4 autoconf fop xsltproc default-jdk libxml2-utils \
+ $INSTALL_LIBS && \
+ if [ "$HOST_TRIP" != "$BUILD_TRIP" ]; then \
+ apt-get install -y \
+ crossbuild-essential-$HOST_ARCH \
+ $(for LIB in $INSTALL_LIBS; do echo "$LIB:$HOST_ARCH"; done) && \
+ for dir in `find / -type d -name $HOST_TRIP`; do \
+ echo -n "$dir: /buildroot/sysroot"; \
+ echo `dirname $dir`; \
+ mkdir -p /buildroot/sysroot$dir; \
+ cp -r `dirname $dir`/* `dirname /buildroot/sysroot$dir`; \
+ cp -r $dir/* `dirname /buildroot/sysroot$dir`; \
+ done; \
+ fi && \
+ update-alternatives --set wx-config /usr/lib/${BUILD_TRIP}/wx/config/gtk3-unicode-3.0 && \
+ rm -rf /var/lib/apt/lists/*