From 8f02394e6078a8f863eaf8a2cff6321d0054f745 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 1 Jun 2025 14:40:19 +1200 Subject: [PATCH] 'Generic Commit' --- .gitea/workflows/dropshell-build.yaml | 30 + .gitignore | 54 + Dockerfile | 20 + build.sh | 8 + publish.sh | 32 + src/dropshell-build | 268 + src/install_dropshell_build_requirements | 348 + test.sh | 15 + test/.ccache/0/CACHEDIR.TAG | 4 + test/.ccache/0/a/stats | 82 + .../0/c/aaicapo17sbvoqmjgn2cmlcheirsr2eM | Bin 0 -> 13188 bytes test/.ccache/0/c/stats | 82 + test/.ccache/0/stats | 82 + test/.ccache/1/1/stats | 82 + test/.ccache/1/2/stats | 82 + test/.ccache/1/e/stats | 82 + test/.ccache/2/5/stats | 82 + test/.ccache/2/CACHEDIR.TAG | 4 + test/.ccache/2/d/stats | 82 + .../2/e/9dc3onnqn8rat9gvebfkmhom2hm37teR | Bin 0 -> 1994 bytes test/.ccache/2/stats | 82 + test/.ccache/3/4/stats | 82 + test/.ccache/3/7/stats | 82 + test/.ccache/3/e/stats | 82 + .../4/0/38skoanmcjl0asrltg5foudrhoa98l6R | Bin 0 -> 240356 bytes test/.ccache/4/CACHEDIR.TAG | 4 + .../4/b/e63vp6nheqb9ljsvvflf2rprmqrdtmuR | Bin 0 -> 240391 bytes test/.ccache/4/stats | 82 + .../6/1/99hro0kcqvitm08ph1qp23lc096dpjgM | Bin 0 -> 228 bytes test/.ccache/6/CACHEDIR.TAG | 4 + .../6/c/cfpg24omtabmcf0551a884a2i1480imR | Bin 0 -> 1924 bytes test/.ccache/6/stats | 82 + test/.ccache/9/CACHEDIR.TAG | 4 + .../9/a/fd2897kchp5ong36tqk6obhs3al8grgM | Bin 0 -> 13188 bytes test/.ccache/9/stats | 82 + .../a/2/802tu8tqcjankp7asf9phvduq5nid82M | Bin 0 -> 228 bytes .../a/9/49to0fu7pau2cla8merd8b3g64qh2noM | Bin 0 -> 13189 bytes test/.ccache/a/CACHEDIR.TAG | 4 + test/.ccache/a/stats | 82 + .../b/1/80mp1h8inh43vbck35d22ai3d9s5e94R | Bin 0 -> 238991 bytes test/.ccache/b/CACHEDIR.TAG | 4 + test/.ccache/b/stats | 82 + .../c/0/3a34k150ga9nserg9pef8uij1gdvajeM | Bin 0 -> 13189 bytes test/.ccache/c/CACHEDIR.TAG | 4 + test/.ccache/c/stats | 82 + .../f/4/8dp5jdv5s35vp9ugponj5s5qe8v4b9qR | Bin 0 -> 238816 bytes test/.ccache/f/CACHEDIR.TAG | 4 + test/.ccache/f/stats | 82 + test/.ccache/tmp/.cleaned | 0 test/.ccache/tmp/inode-cache-64.v2 | Bin 0 -> 5898272 bytes test/CMakeLists.txt | 103 + test/cmake_prebuild.sh | 3 + test/src/autogen/version.hpp | 21 + test/src/httplib.hpp | 10509 ++++++++++++++++ test/src/main.cpp | 26 + test/src/version.hpp.in | 21 + 56 files changed, 13052 insertions(+) create mode 100644 .gitea/workflows/dropshell-build.yaml create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100755 build.sh create mode 100755 publish.sh create mode 100755 src/dropshell-build create mode 100755 src/install_dropshell_build_requirements create mode 100755 test.sh create mode 100644 test/.ccache/0/CACHEDIR.TAG create mode 100644 test/.ccache/0/a/stats create mode 100644 test/.ccache/0/c/aaicapo17sbvoqmjgn2cmlcheirsr2eM create mode 100644 test/.ccache/0/c/stats create mode 100644 test/.ccache/0/stats create mode 100644 test/.ccache/1/1/stats create mode 100644 test/.ccache/1/2/stats create mode 100644 test/.ccache/1/e/stats create mode 100644 test/.ccache/2/5/stats create mode 100644 test/.ccache/2/CACHEDIR.TAG create mode 100644 test/.ccache/2/d/stats create mode 100644 test/.ccache/2/e/9dc3onnqn8rat9gvebfkmhom2hm37teR create mode 100644 test/.ccache/2/stats create mode 100644 test/.ccache/3/4/stats create mode 100644 test/.ccache/3/7/stats create mode 100644 test/.ccache/3/e/stats create mode 100644 test/.ccache/4/0/38skoanmcjl0asrltg5foudrhoa98l6R create mode 100644 test/.ccache/4/CACHEDIR.TAG create mode 100644 test/.ccache/4/b/e63vp6nheqb9ljsvvflf2rprmqrdtmuR create mode 100644 test/.ccache/4/stats create mode 100644 test/.ccache/6/1/99hro0kcqvitm08ph1qp23lc096dpjgM create mode 100644 test/.ccache/6/CACHEDIR.TAG create mode 100644 test/.ccache/6/c/cfpg24omtabmcf0551a884a2i1480imR create mode 100644 test/.ccache/6/stats create mode 100644 test/.ccache/9/CACHEDIR.TAG create mode 100644 test/.ccache/9/a/fd2897kchp5ong36tqk6obhs3al8grgM create mode 100644 test/.ccache/9/stats create mode 100644 test/.ccache/a/2/802tu8tqcjankp7asf9phvduq5nid82M create mode 100644 test/.ccache/a/9/49to0fu7pau2cla8merd8b3g64qh2noM create mode 100644 test/.ccache/a/CACHEDIR.TAG create mode 100644 test/.ccache/a/stats create mode 100644 test/.ccache/b/1/80mp1h8inh43vbck35d22ai3d9s5e94R create mode 100644 test/.ccache/b/CACHEDIR.TAG create mode 100644 test/.ccache/b/stats create mode 100644 test/.ccache/c/0/3a34k150ga9nserg9pef8uij1gdvajeM create mode 100644 test/.ccache/c/CACHEDIR.TAG create mode 100644 test/.ccache/c/stats create mode 100644 test/.ccache/f/4/8dp5jdv5s35vp9ugponj5s5qe8v4b9qR create mode 100644 test/.ccache/f/CACHEDIR.TAG create mode 100644 test/.ccache/f/stats create mode 100644 test/.ccache/tmp/.cleaned create mode 100644 test/.ccache/tmp/inode-cache-64.v2 create mode 100644 test/CMakeLists.txt create mode 100755 test/cmake_prebuild.sh create mode 100644 test/src/autogen/version.hpp create mode 100644 test/src/httplib.hpp create mode 100644 test/src/main.cpp create mode 100644 test/src/version.hpp.in diff --git a/.gitea/workflows/dropshell-build.yaml b/.gitea/workflows/dropshell-build.yaml new file mode 100644 index 0000000..5df66f9 --- /dev/null +++ b/.gitea/workflows/dropshell-build.yaml @@ -0,0 +1,30 @@ +name: dropshell-build +run-name: Build test and publish dropshell-build + +on: [push] + +defaults: + run: + shell: bash + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Login to Gitea + uses: docker/login-action@v3 + with: + registry: gitea.jde.nz + username: DoesntMatter + password: ${{ secrets.DOCKER_PUSH_TOKEN }} + - name: Build + run: | + ./build.sh + - name: Test + run: | + ./test.sh + - name: Publish + run: | + SOS_WRITE_TOKEN=${{ secrets.SOS_WRITE_TOKEN }} ./publish.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4e25472 --- /dev/null +++ b/.gitignore @@ -0,0 +1,54 @@ +# Build directories +build/ +**/build/ +**/cmake-build-*/ +output/ +**/openssl-*/ + + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# CMake +CMakeCache.txt +CMakeFiles/ +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake + +# IDE - VSCode + +# IDE - CLion +.idea/ +*.iml +*.iws +*.ipr + +# macOS +.DS_Store +.AppleDouble +.LSOverride diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c5ba65f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM debian:latest + +RUN apt-get update && apt-get install -y \ + build-essential \ + cmake \ + git \ + nlohmann-json3-dev wget curl cmake ninja-build mold build-essential nodejs npm jq ccache \ + && rm -rf /var/lib/apt/lists/* + +#RUN curl -fsSL https://get.docker.com | sh + +COPY --chmod=0755 ./src/* /usr/local/bin/ + +RUN /usr/local/bin/install_dropshell_build_requirements + +WORKDIR /app + +CMD ["dropshell-build","/app"] + + diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..faafdae --- /dev/null +++ b/build.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -euo pipefail + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +docker build -t gitea.jde.nz/public/dropshell-build:test -f "${SCRIPT_DIR}/Dockerfile" "${SCRIPT_DIR}" + diff --git a/publish.sh b/publish.sh new file mode 100755 index 0000000..b1d2db2 --- /dev/null +++ b/publish.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +set -euo pipefail + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +# download the sos binary +SOS="${SCRIPT_DIR}/temp/sos" +mkdir -p "${SCRIPT_DIR}/temp" + +curl -L -o "${SOS}" https://getbin.xyz/sos/sos +chmod +x "${SOS}" + + +# upload the dropshell-build script +"${SOS}" upload "getbin.xyz" "dropshell-build" "${SCRIPT_DIR}/src/dropshell-build" + +# upload the install requirements script +"${SOS}" upload "getbin.xyz" "dropshell-build-install-requirements" "${SCRIPT_DIR}/src/install_dropshell_build_requirements" + + +# tag and push the dropshell-build image +echo "Tagging and pushing the dropshell-build image" + +docker tag gitea.jde.nz/public/dropshell-build:test gitea.jde.nz/public/dropshell-build:latest + +docker push gitea.jde.nz/public/dropshell-build:latest + + +# clean up +rm -rf "${SCRIPT_DIR}/temp" +echo "Done" \ No newline at end of file diff --git a/src/dropshell-build b/src/dropshell-build new file mode 100755 index 0000000..a68e2f8 --- /dev/null +++ b/src/dropshell-build @@ -0,0 +1,268 @@ +#!/bin/bash + +set -euo pipefail + +# SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +ARCHS=( + "x86_64" + "aarch64" +) + +HOSTARCH=$(uname -m) + +SOURCE_DIR="" +BUILD_DIR="" +OUTPUT_DIR="" +EXECUTABLE_NAME="" + +# set flags from command line +RELEASE=0 +MULTIBUILD=0 + + +function help() { + echo "Usage: $0 [options]" + echo "Options:" + echo " version Show version information and exit" + echo " " + echo " Build the project using cmake in " + echo " -r, --release Build release version" + echo " -m, --multi Build for multiple architectures" +} + +function version() { + echo "2025.0531.0942" +} + + +# ---------------------------------------------------------------------------------------------------------- +# BUILD +# ---------------------------------------------------------------------------------------------------------- + +CMAKE_FILE="CMakeLists.txt" + +function get_executable_name() { + local var_value="" + local CMAKEFILEPATH="${1:-}" + [ -n "${CMAKEFILEPATH:-}" ] || die "No CMake file path given!" + CMAKEFILEPATH="$CMAKEFILEPATH/${CMAKE_FILE}" + [ -f "${CMAKEFILEPATH}" ] || die "${CMAKE_FILE} not found in ${CMAKEFILEPATH}" + + echo "Getting executable name from ${CMAKEFILEPATH}" + + while IFS= read -r line; do + # Look for set(PROJECT_EXE_NAME ipdemo) + if [[ "$line" =~ set\(PROJECT_EXE_NAME[[:space:]]+([a-zA-Z0-9_-]+)\) ]]; then + var_value=$(echo "$line" | sed -E 's/.*set\(PROJECT_EXE_NAME[[:space:]]+([a-zA-Z0-9_-]+)\).*/\1/') + fi + # Look for add_executable(${PROJECT_EXE_NAME} + if [[ "$line" =~ add_executable\([[:space:]]*\$\{PROJECT_EXE_NAME\}[[:space:]] ]]; then + echo "Found executable name: $var_value" + EXECUTABLE_NAME="$var_value" + fi + done < "${CMAKEFILEPATH}" + + [[ -n "$EXECUTABLE_NAME" ]] || die "Executable name not found." + echo "Executable name: $EXECUTABLE_NAME" +} + +function build_arch() { + local ARCH="$1" + local CMAKE_DIR="$2" + + local BUILD_DIR="${CMAKE_DIR}/build" + local OUTPUT_DIR="${CMAKE_DIR}/output" + + local PREVDIR="$PWD" + local JOBS; + JOBS=$(nproc) # Set JOBS to the number of available CPU cores + cd "${CMAKE_DIR}" || exit 1 + + local ARCH_BUILD_DIR=${BUILD_DIR}/${ARCH} + mkdir -p "${ARCH_BUILD_DIR}" + + echo "Building for ${ARCH} in ${ARCH_BUILD_DIR}, from ${SOURCE_DIR}" + + if [ ! -f "${HOME}/.musl-cross/${ARCH}-linux-musl-cross/bin/${ARCH}-linux-musl-g++" ]; then + echo "Musl cross toolchain not found for ${ARCH}." + exit 1 + fi + + CMAKE_BUILD_TYPE="Release" + if [ "$RELEASE" -eq 0 ]; then + CMAKE_BUILD_TYPE="Debug" + fi + + export CC="${HOME}/.musl-cross/${ARCH}-linux-musl-cross/bin/${ARCH}-linux-musl-gcc" + export CXX="${HOME}/.musl-cross/${ARCH}-linux-musl-cross/bin/${ARCH}-linux-musl-g++" + export SYSROOT="${HOME}/.musl-cross/${ARCH}-linux-musl-cross/${ARCH}-linux-musl/sysroot" + export OPENSSL_ROOT_DIR="${SYSROOT}/usr" + export CFLAGS="--sysroot=$SYSROOT" + export CXXFLAGS="--sysroot=$SYSROOT" + export LDFLAGS="--sysroot=$SYSROOT" + export MAKEFLAGS="-j${JOBS}" + + cmake -B "${ARCH_BUILD_DIR}" -G Ninja \ + -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" \ + -DCMAKE_C_COMPILER_LAUNCHER=ccache \ + -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ + -DCMAKE_LINKER=mold \ + -DCMAKE_C_COMPILER_TARGET="${ARCH}-linux-musl" \ + -DCMAKE_CXX_COMPILER_TARGET="${ARCH}-linux-musl" \ + -DCMAKE_C_FLAGS="${CFLAGS}" \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DCMAKE_FIND_ROOT_PATH="${SYSROOT}" \ + -DCMAKE_SYSROOT="${SYSROOT}" + cd "${ARCH_BUILD_DIR}" || exit 1 + ninja -k0 -j"${JOBS}" + + if [ "$RELEASE" -eq 1 ]; then + upx "${ARCH_BUILD_DIR}/${EXECUTABLE_NAME}" + fi + + if [ ! -d "${OUTPUT_DIR}" ]; then + mkdir -p "${OUTPUT_DIR}" + fi + cp "${ARCH_BUILD_DIR}/${EXECUTABLE_NAME}" "${OUTPUT_DIR}/${EXECUTABLE_NAME}.${ARCH}" + + cd "${PREVDIR}" || exit 1 +} + +function build() { + echo "Building project in directory $1" + if [ ! -d "$1" ]; then + echo "Directory $1 does not exist" + exit 1 + fi + + local CMAKE_DIR="$1" + + if [ ! -f "${CMAKEFILEPATH}" ]; then + echo "${CMAKEFILEPATH} not found" + exit 1 + fi + + # if have the -m option, then build for multiple architectures + if [ $MULTIBUILD -eq 1 ]; then + for arch in "${ARCHS[@]}"; do + build_arch "$arch" + done + else + build_arch "$HOSTARCH" "$CMAKE_DIR" + fi +} + +function buildspawn() { + local CMAKE_DIR="${1:-}" + [ -n "${CMAKE_DIR:-}" ] || die "No CMake Directory given!" + [ -d "$CMAKE_DIR" ] || die "CMake Directory doesn't exist: $CMAKE_DIR" + + # make canonical + CMAKE_DIR=$(realpath "$CMAKE_DIR") + + get_executable_name "$CMAKE_DIR" + + FLAGS="" + [ $MULTIBUILD -eq 0 ] || FLAGS="$FLAGS -m" + [ $RELEASE -eq 0 ] || FLAGS="$FLAGS -r" + + BUILD_VERSION_FILE="$HOME/.config/dropshell-build/version" + if [ ! -f "$BUILD_VERSION_FILE" ]; then + # check if docker is installed + if ! command -v docker &> /dev/null; then + echo "Neither dropshell-build nor docker appears to be available. Please install one of them." + exit 1 + fi + echo "Using Docker Buildchain." + TAG="latest" + if [ -n "${DROPSHELL_BUILD_TAG-}" ]; then + TAG="$DROPSHELL_BUILD_TAG" + fi + echo "Using Docker Buildchain with tag: $TAG" + + + # Check if we're running in Gitea Actions + if [ -n "${JOB_CONTAINER_NAME:-}" ] && [ -n "${GITHUB_WORKSPACE:-}" ]; then + echo "--------------------------------" + echo "Running in Gitea Actions - using --volumes-from" + echo "--------------------------------" + + echo "ls -la using --volumes-from" + echo "GITHUB_WORKSPACE: ${GITHUB_WORKSPACE}" + echo "CMAKE_DIR: ${CMAKE_DIR}" + echo "PWD: ${PWD}" + echo "JOB_CONTAINER_NAME: ${JOB_CONTAINER_NAME}" + + docker run --rm \ + --volumes-from="${JOB_CONTAINER_NAME}" \ + "gitea.jde.nz/public/dropshell-build:${TAG}" \ + bash -c "rm -rf /app && \ + ln -s ${CMAKE_DIR} /app && \ + dropshell-build $FLAGS /app" + else + echo "Running locally" + docker run --rm \ + -u "$(id -u)":"$(id -g)" \ + -v "$CMAKE_DIR":/app \ + "gitea.jde.nz/public/dropshell-build:${TAG}" \ + bash -c "dropshell-build $FLAGS /app" + fi + else + echo "Using local native buildchain" + # shellcheck disable=SC2086 + build $FLAGS $CMAKE_DIR + fi +} + + +# ---------------------------------------------------------------------------------------------------------- +# MAIN +# ---------------------------------------------------------------------------------------------------------- + +function main() { + while getopts "rm" opt; do + case $opt in + r) + RELEASE=1 + ;; + m) + MULTIBUILD=1 + ;; + *) + help + exit 1 + ;; + esac + done + + # Shift the processed options out of the argument list + shift $((OPTIND-1)) + + # check we have at least one argument + if [ $# -eq 0 ]; then + help + exit 1 + fi + + + # get command argument, now that the flags are set + CMD="$1" + + if [ -z "$CMD" ]; then + help + exit 1 + fi + + + case "$CMD" in + version) + version + ;; + *) + buildspawn "$1" + ;; + esac +} + +main "$@" \ No newline at end of file diff --git a/src/install_dropshell_build_requirements b/src/install_dropshell_build_requirements new file mode 100755 index 0000000..d4e0247 --- /dev/null +++ b/src/install_dropshell_build_requirements @@ -0,0 +1,348 @@ +#!/bin/bash + +set -euo pipefail + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +# If the user is not root, use sudo +SUDOCMD="" +[ "$EUID" -eq 0 ] || SUDOCMD="sudo" + +# If the user is not root, use the home directory of the user who ran the script +USER_HOME="$HOME" +if [ -n "${SUDO_USER:-}" ] && [ "$SUDO_USER" != "root" ]; then + USER_HOME=$(eval echo "~${SUDO_USER}") +fi + +# test sudo is working or we're root (return non-zero if not root!) +if ! ${SUDOCMD:-} true; then + echo "Error: This script must be run as root or with sudo privileges." >&2 + exit 1 +fi + +_die() { + echo -e "Error: $1" >&2 + exit 1 +} + +# Colors for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Function to print status messages +print_status() { + echo -e "${GREEN}[*] $1${NC}" +} + +print_error() { + echo -e "${RED}[!] $1${NC}" +} + +print_warning() { + echo -e "${YELLOW}[!] $1${NC}" +} + + + +#---------------------------------------------------------------------------------------------------------- +# Headers on Host (Native) +#---------------------------------------------------------------------------------------------------------- + + +# Function to check if a package is installed +is_package_installed() { + if [ "$OS" = "Alpine Linux" ]; then + apk info | grep -q "^$1$" + else + dpkg -l "$1" + fi +} +function install_packages() { + local PACKAGES + local HAVE_UPDATED=0 + + # Detect distribution + if [ -f /etc/os-release ]; then + . /etc/os-release + OS=$NAME + VER=$VERSION_ID + else + print_error "Could not detect distribution" + exit 1 + fi + + print_status "Detected OS: $OS $VER" + + # Define packages based on distribution + case $OS in + "Ubuntu"|"Debian GNU/Linux") + # Common packages for both Ubuntu and Debian + # cmake make g++ build-essential upx musl-tools wget tar ccache ninja-build mold + PACKAGES="build-essential cmake git wget tar curl ninja-build mold nodejs npm perl jq ccache" + INSTALLCMD="apt-get install -y" + UPDATECMD="apt-get update" + ;; + "Alpine Linux") + PACKAGES="build-base cmake git wget tar curl ninja mold nodejs npm linux-headers perl jq ccache" + INSTALLCMD="apk add --no-cache" + UPDATECMD="apk update" + ;; + *) + print_error "Unsupported distribution: $OS" + exit 1 + ;; + esac + + # Install missing packages + print_status "Checking and installing required packages..." + for pkg in $PACKAGES; do + if ! is_package_installed "$pkg"; then + print_status "Installing $pkg..." + + # Update package lists + if [ "$HAVE_UPDATED" -eq 0 ]; then + print_status "Updating package lists..." + ${SUDOCMD:-} bash -c "${UPDATECMD}" + HAVE_UPDATED=1 + fi + + if ! bash -c "${SUDOCMD:-} ${INSTALLCMD} $pkg"; then + print_error "Failed to install $pkg" + exit 1 + fi + else + print_status "$pkg is already installed" + fi + done + +} + +function install_headers() { + # put libassert headers on the host. + echo "Checking for libassert headers" + if [ ! -f "/usr/local/lib/libassert.a" ]; then + echo "libassert not found, installing..." + git clone https://github.com/jeremy-rifkin/libassert.git + #git checkout v2.1.5 + mkdir libassert/build + cd "libassert/build" || exit 1 + cmake .. -DCMAKE_BUILD_TYPE=Release + make -j + ${SUDOCMD:-} make install + cd ../.. + rm -rf libassert + else + echo "libassert headers already installed" + fi +} + + +#---------------------------------------------------------------------------------------------------------- +# OpenSSL for musl cross toolchains +#---------------------------------------------------------------------------------------------------------- + +function install_openssl_musl() { + OPENSSL_VERSION=3.5.0 + + SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + BUILD_DIR="${SCRIPT_DIR}/build" + MUSL_CROSS_DIR="$HOME/.musl-cross" + mkdir -p "$BUILD_DIR" + # Helper: compare versions (returns 0 if $1 >= $2) + version_ge() { + [ "$1" = "$2" ] && return 0 + [ "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ] + } + + # Find all installed musl cross toolchains + TOOLCHAINS=() + for tc in "$MUSL_CROSS_DIR"/*-linux-musl-cross; do + [ -d "$tc" ] || continue + arch=$(basename "$tc" | sed 's/-linux-musl-cross//') + TOOLCHAINS+=("$arch") + done + + if [ ${#TOOLCHAINS[@]} -eq 0 ]; then + echo "No musl cross toolchains found in $MUSL_CROSS_DIR. Exiting." + exit 1 + fi + + echo "Found musl cross toolchains: ${TOOLCHAINS[*]}" + + for ARCH in "${TOOLCHAINS[@]}"; do + echo "===============================" + echo "Checking OpenSSL for $ARCH..." + echo "===============================" + if [ "$ARCH" = "x86_64" ]; then + MUSL_PREFIX="$MUSL_CROSS_DIR/x86_64-linux-musl-cross" + OPENSSL_TARGET=linux-x86_64 + elif [ "$ARCH" = "aarch64" ]; then + MUSL_PREFIX="$MUSL_CROSS_DIR/aarch64-linux-musl-cross" + OPENSSL_TARGET=linux-aarch64 + else + # Try to guess OpenSSL target for other musl toolchains + OPENSSL_TARGET="linux-$ARCH" + MUSL_PREFIX="$MUSL_CROSS_DIR/${ARCH}-linux-musl-cross" + fi + SYSROOT="$MUSL_PREFIX/${ARCH}-linux-musl/sysroot" + CC="$MUSL_PREFIX/bin/${ARCH}-linux-musl-gcc" + AR="$MUSL_PREFIX/bin/${ARCH}-linux-musl-ar" + RANLIB="$MUSL_PREFIX/bin/${ARCH}-linux-musl-ranlib" + + DEST_PATH="$SYSROOT/usr/lib/libssl.a" + if [ -f "$DEST_PATH" ]; then + echo "OpenSSL $ARCH is already installed" + continue + fi + + SKIP_BUILD=0 + if [ -f "$SYSROOT/usr/lib/libssl.a" ]; then + # Try to extract version from opensslv.h + OPENSSLV_H="$SYSROOT/usr/include/openssl/opensslv.h" + if [ -f "$OPENSSLV_H" ]; then + INSTALLED_VERSION=$(grep '# *define *OPENSSL_VERSION_TEXT' "$OPENSSLV_H" | sed -E 's/.*OpenSSL ([0-9.]+)[^ ]*.*/\1/') + if [ -n "$INSTALLED_VERSION" ]; then + echo "Found installed OpenSSL version: $INSTALLED_VERSION" + if version_ge "$INSTALLED_VERSION" "$OPENSSL_VERSION"; then + echo "OpenSSL $INSTALLED_VERSION is up-to-date (>= $OPENSSL_VERSION), skipping build for $ARCH." + SKIP_BUILD=1 + else + echo "OpenSSL $INSTALLED_VERSION is older than $OPENSSL_VERSION, will rebuild." + fi + else + echo "Could not determine installed OpenSSL version, will rebuild." + fi + else + echo "No opensslv.h found, will rebuild." + fi + else + echo "No libssl.a found, will rebuild." + fi + + if [ "$SKIP_BUILD" -eq 1 ]; then + echo "Skipping build for $ARCH." + continue + fi + + cd "$BUILD_DIR" + if [ ! -d "openssl-${OPENSSL_VERSION}" ]; then + if [ ! -f "openssl-${OPENSSL_VERSION}.tar.gz" ]; then + wget "https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz" + fi + tar xf "openssl-${OPENSSL_VERSION}.tar.gz" + fi + cd "openssl-${OPENSSL_VERSION}" + + echo "----------------------------------------------" + echo "Configuring for $ARCH with sysroot $SYSROOT..." + CC="$CC" AR="$AR" RANLIB="$RANLIB" ./Configure "$OPENSSL_TARGET" no-shared --prefix="$SYSROOT/usr" + echo "Building..." + make -j"$(nproc)" + echo "Installing to $SYSROOT/usr ..." + make install_sw + cd "$BUILD_DIR" + echo "Done for $ARCH." + echo + # Remove build dir for next arch to avoid cross contamination + rm -rf "openssl-${OPENSSL_VERSION}" + tar xf "openssl-${OPENSSL_VERSION}.tar.gz" + done + + echo "OpenSSL built and installed for all detected musl toolchains." +} + + + +# ---------------------------------------------------------------------------------------------------------- +# MUSL CROSS COMPILERS +# ---------------------------------------------------------------------------------------------------------- + + +function check_path() { + local BASHRC="${USER_HOME}/.bashrc" + local TOOLCHAIN="$1" + local MUSL_PATH="$INSTALL_DIR/$TOOLCHAIN/bin" + if ! echo "$PATH" | grep -q "$MUSL_PATH"; then + echo "Adding $MUSL_PATH to PATH in $BASHRC" + PATH_LINE="export PATH=\"$MUSL_PATH:\$PATH\"" + if ! grep -Fxq "$PATH_LINE" "$BASHRC"; then + echo "" >> "$BASHRC" + echo "# Add musl cross compilers to PATH for dropshell" >> "$BASHRC" + echo "$PATH_LINE" >> "$BASHRC" + + echo "Added musl cross compilers to $BASHRC" + echo "You should run 'source ~/.bashrc' to update your PATH" + else + echo "You should run 'source ~/.bashrc' to update your PATH" + fi + fi +} + +function install_musl_cross() { + local TOOLCHAIN="$1" + local MUSL_CC_URL="https://getbin.xyz" + if [ ! -d "$INSTALL_DIR/$TOOLCHAIN" ]; then + echo "Downloading $TOOLCHAIN musl cross toolchain..." + wget -nc -O "$TMPDIR/$TOOLCHAIN.tgz" "$MUSL_CC_URL/$TOOLCHAIN.tgz:latest" + tar -C "$INSTALL_DIR" -xvf "$TMPDIR/$TOOLCHAIN.tgz" + else + echo "$TOOLCHAIN musl cross toolchain already installed" + fi +} + +function install_musl() { + echo "Installing musl toolchain" + + # Set install directory + INSTALL_DIR="$USER_HOME/.musl-cross" + mkdir -p "$INSTALL_DIR" + + TMPDIR=$(mktemp -d) + trap 'rm -rf "$TMPDIR"' EXIT + + TOOLCHAIN_LIST=( + "aarch64-linux-musl-cross" + "x86_64-linux-musl-cross" + ) + + for TOOLCHAIN in "${TOOLCHAIN_LIST[@]}"; do + install_musl_cross "$TOOLCHAIN" + check_path "$TOOLCHAIN" + done + + # Clean up + rm -rf "$TMPDIR" +} + +function output_version() { + local VERSIONDATE + local CONFIG_DIR="$USER_HOME/.config/dropshell-build/" + mkdir -p "$CONFIG_DIR" + VERSIONDATE="$(date +%Y.%m%d.%H%M)" + echo "$VERSIONDATE" > "$CONFIG_DIR/version" || echo "Error: Failed to write version file to $CONFIG_DIR/version" + +} + + +#---------------------------------------------------------------------------------------------------------- +# Main +#---------------------------------------------------------------------------------------------------------- + +function main() { + + install_packages + + install_headers + + install_musl + + install_openssl_musl + + output_version + + echo "Done" +} + +main "$@" diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..2868114 --- /dev/null +++ b/test.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +set -euo pipefail + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + +echo "Testing dropshell-build" + +DROPSHELL_BUILD_TAG="test" "${SCRIPT_DIR}/src/dropshell-build" "${SCRIPT_DIR}/test" + +"${SCRIPT_DIR}/test/output/ipdemo.x86_64" + + + + diff --git a/test/.ccache/0/CACHEDIR.TAG b/test/.ccache/0/CACHEDIR.TAG new file mode 100644 index 0000000..874477f --- /dev/null +++ b/test/.ccache/0/CACHEDIR.TAG @@ -0,0 +1,4 @@ +Signature: 8a477f597d28d172789f06886806bc55 +# This file is a cache directory tag created by ccache. +# For information about cache directory tags, see: +# http://www.brynosaurus.com/cachedir/ diff --git a/test/.ccache/0/a/stats b/test/.ccache/0/a/stats new file mode 100644 index 0000000..fbe4d7f --- /dev/null +++ b/test/.ccache/0/a/stats @@ -0,0 +1,82 @@ +0 +0 +0 +0 +3 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +3 +3 +0 +6 +0 +0 +0 +0 +0 +0 +6 +0 +3 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/test/.ccache/0/c/aaicapo17sbvoqmjgn2cmlcheirsr2eM b/test/.ccache/0/c/aaicapo17sbvoqmjgn2cmlcheirsr2eM new file mode 100644 index 0000000000000000000000000000000000000000..17240c724341e59943a53ff7afa7f16d6141a388 GIT binary patch literal 13188 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 literal 0 HcmV?d00001 diff --git a/test/.ccache/0/c/stats b/test/.ccache/0/c/stats new file mode 100644 index 0000000..5203da7 --- /dev/null +++ b/test/.ccache/0/c/stats @@ -0,0 +1,82 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/test/.ccache/0/stats b/test/.ccache/0/stats new file mode 100644 index 0000000..dba6bce --- /dev/null +++ b/test/.ccache/0/stats @@ -0,0 +1,82 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +16 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +16 +0 +0 +0 +0 diff --git a/test/.ccache/1/1/stats b/test/.ccache/1/1/stats new file mode 100644 index 0000000..72824a8 --- /dev/null +++ b/test/.ccache/1/1/stats @@ -0,0 +1,82 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +3 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/test/.ccache/1/2/stats b/test/.ccache/1/2/stats new file mode 100644 index 0000000..5203da7 --- /dev/null +++ b/test/.ccache/1/2/stats @@ -0,0 +1,82 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/test/.ccache/1/e/stats b/test/.ccache/1/e/stats new file mode 100644 index 0000000..68c5368 --- /dev/null +++ b/test/.ccache/1/e/stats @@ -0,0 +1,82 @@ +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +2 +0 +0 +0 +0 +0 +0 +2 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/test/.ccache/2/5/stats b/test/.ccache/2/5/stats new file mode 100644 index 0000000..5203da7 --- /dev/null +++ b/test/.ccache/2/5/stats @@ -0,0 +1,82 @@ +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/test/.ccache/2/CACHEDIR.TAG b/test/.ccache/2/CACHEDIR.TAG new file mode 100644 index 0000000..874477f --- /dev/null +++ b/test/.ccache/2/CACHEDIR.TAG @@ -0,0 +1,4 @@ +Signature: 8a477f597d28d172789f06886806bc55 +# This file is a cache directory tag created by ccache. +# For information about cache directory tags, see: +# http://www.brynosaurus.com/cachedir/ diff --git a/test/.ccache/2/d/stats b/test/.ccache/2/d/stats new file mode 100644 index 0000000..68c5368 --- /dev/null +++ b/test/.ccache/2/d/stats @@ -0,0 +1,82 @@ +0 +0 +0 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +1 +1 +0 +2 +0 +0 +0 +0 +0 +0 +2 +0 +1 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/test/.ccache/2/e/9dc3onnqn8rat9gvebfkmhom2hm37teR b/test/.ccache/2/e/9dc3onnqn8rat9gvebfkmhom2hm37teR new file mode 100644 index 0000000000000000000000000000000000000000..385ce901c41797dffa08dc9ba0b870d04716de1d GIT binary patch literal 1994 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