From 8cfe46c92c80b508301df636605ca3e7676f981e Mon Sep 17 00:00:00 2001 From: j842 Date: Mon, 9 Jun 2025 17:04:04 +1200 Subject: [PATCH] better --- build-base/Dockerfile.dropshell-build-base | 23 +++++++++++++++++++--- build-base/debug-build.sh | 13 ++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) create mode 100755 build-base/debug-build.sh diff --git a/build-base/Dockerfile.dropshell-build-base b/build-base/Dockerfile.dropshell-build-base index 8e6f81a..034466f 100644 --- a/build-base/Dockerfile.dropshell-build-base +++ b/build-base/Dockerfile.dropshell-build-base @@ -14,10 +14,15 @@ RUN apk add --no-cache \ elfutils \ elfutils-dev \ elfutils-libelf \ + file \ g++ \ git \ + libevent-dev \ + libevent-static \ libdwarf \ libdwarf-dev \ + libtirpc-dev \ + libtirpc-static \ libunwind \ libunwind-dev \ libunwind-static \ @@ -31,9 +36,11 @@ RUN apk add --no-cache \ pipx \ pkgconf \ pkgconfig \ + rpcgen \ # Removed SQLite3 packages since we'll build it from source util-linux-dev \ util-linux-static \ + wget \ xz \ xz-dev \ xz-libs \ @@ -140,11 +147,21 @@ RUN wget https://www.sqlite.org/2024/sqlite-autoconf-3450000.tar.gz && \ # Build MySQL statically ARG MYSQL_VERSION=8.0.36 WORKDIR /tmp -RUN curl -LO https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-${MYSQL_VERSION}.tar.gz && \ - tar xzf mysql-${MYSQL_VERSION}.tar.gz && \ +RUN echo "Downloading MySQL ${MYSQL_VERSION}..." && \ + wget -O mysql-${MYSQL_VERSION}.tar.gz https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-${MYSQL_VERSION}.tar.gz && \ + echo "Extracting MySQL..." && \ + tar -xzf mysql-${MYSQL_VERSION}.tar.gz && \ cd mysql-${MYSQL_VERSION} && \ + echo "Downloading Boost from archives.boost.io..." && \ mkdir -p boost && \ - curl -L https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.bz2 | tar xj -C boost && \ + wget --tries=3 --timeout=30 -O boost_1_77_0.tar.bz2 \ + "https://archives.boost.io/release/1.77.0/source/boost_1_77_0.tar.bz2" && \ + echo "Verifying Boost download..." && \ + file boost_1_77_0.tar.bz2 | grep -q "bzip2 compressed data" || \ + (echo "ERROR: Downloaded file is not a valid bzip2 archive" && exit 1) && \ + echo "Extracting Boost..." && \ + tar -xjf boost_1_77_0.tar.bz2 -C boost --strip-components=1 && \ + rm boost_1_77_0.tar.bz2 && \ mkdir build && cd build && \ cmake .. \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/build-base/debug-build.sh b/build-base/debug-build.sh new file mode 100755 index 0000000..6fa0d79 --- /dev/null +++ b/build-base/debug-build.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -euo pipefail + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +# Build with progress and no cache to see which step fails +docker build \ + --progress=plain \ + --no-cache \ + -t "gitea.jde.nz/public/dropshell-build-base:latest" \ + -f "${SCRIPT_DIR}/Dockerfile.dropshell-build-base" \ + ${SCRIPT_DIR} \ No newline at end of file