From 97cae16772e5dbccb33e2609156e8493b0238f53 Mon Sep 17 00:00:00 2001 From: Vladislav Navrocky Date: Tue, 5 Mar 2024 16:55:01 +0300 Subject: [PATCH] Switch to uClibc --- .github/workflows/build.yml | 2 +- Dockerfile => Dockerfile.musl | 0 Dockerfile.uclibc | 22 ++++++++++++++++++++++ build.sh => build-musl.sh | 2 +- build-uclibc.sh | 10 ++++++++++ 5 files changed, 34 insertions(+), 2 deletions(-) rename Dockerfile => Dockerfile.musl (100%) create mode 100644 Dockerfile.uclibc rename build.sh => build-musl.sh (67%) create mode 100755 build-uclibc.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa75ebc..f0c1375 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 - name: Build - run: ./build.sh + run: ./build-uclibc.sh - name: Upload Artifact uses: actions/upload-artifact@v2 diff --git a/Dockerfile b/Dockerfile.musl similarity index 100% rename from Dockerfile rename to Dockerfile.musl diff --git a/Dockerfile.uclibc b/Dockerfile.uclibc new file mode 100644 index 0000000..5711cdf --- /dev/null +++ b/Dockerfile.uclibc @@ -0,0 +1,22 @@ +FROM navrocky/buildroot-uclibc-toolchain:2023.11.1 + +RUN set -x && \ + apt-get update && \ + apt-get -y install cmake make python3-pip && \ + pip install conan --break-system-packages + +RUN conan profile detect --force + +COPY conanfile.txt /sources/ + +RUN set -x && \ + mkdir -p /build && \ + cd /build && \ + conan install /sources --output-folder=. --build=missing + +COPY . /sources/ + +RUN set -x && \ + cd /build && \ + cmake /sources -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release && \ + cmake --build . diff --git a/build.sh b/build-musl.sh similarity index 67% rename from build.sh rename to build-musl.sh index 7a01a25..f96cac0 100755 --- a/build.sh +++ b/build-musl.sh @@ -2,7 +2,7 @@ IMAGE_NAME=muenvsubst-build -docker build --progress plain --tag ${IMAGE_NAME} . +docker build --progress plain --tag ${IMAGE_NAME} -f Dockerfile.musl . id=$(docker create ${IMAGE_NAME}) mkdir -p dist diff --git a/build-uclibc.sh b/build-uclibc.sh new file mode 100755 index 0000000..e16e825 --- /dev/null +++ b/build-uclibc.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +IMAGE_NAME=muenvsubst-build + +docker build --progress plain --tag ${IMAGE_NAME} -f Dockerfile.uclibc . + +id=$(docker create ${IMAGE_NAME}) +mkdir -p dist +docker cp $id:/build/muenvsubst ./dist/ +docker rm -v $id