All working.

This commit is contained in:
Your Name
2025-04-29 23:43:54 +12:00
parent e6ed77dd78
commit 10050f0c27
10 changed files with 16 additions and 50 deletions

View File

@ -1,24 +0,0 @@
FROM debian:bullseye AS builder
RUN apt-get update && apt-get install -y \
build-essential \
cmake \
pkg-config \
bash \
gcc-aarch64-linux-gnu \
g++-aarch64-linux-gnu \
binutils-aarch64-linux-gnu \
qemu-user-static
WORKDIR /app
COPY . .
COPY --chmod=755 docker/dropshell_alpine/_create_dropshell.sh /scripts/
RUN rm -rf build
ENV CXXFLAGS="-static-libstdc++ -static-libgcc"
ENV LDFLAGS="-static -pthread -Wl,--whole-archive -lpthread -Wl,--no-whole-archive"
CMD ["/bin/bash","/scripts/_create_dropshell.sh"]

View File

@ -1,29 +0,0 @@
FROM --platform=$BUILDPLATFORM alpine:latest AS builder
RUN apk add --no-cache \
bash \
nano
WORKDIR /app
COPY docker/dropshell_alpine/output/dropshell /app/dropshell
RUN /bin/bash -c "mkdir -p /opt/dropshell/templates && mkdir -p /config"
COPY templates /opt/dropshell/templates
COPY src/dropshell-completion.bash /etc/bash_completion.d/
FROM alpine:latest
RUN apk add --no-cache \
bash \
nano
WORKDIR /app
COPY --from=builder /app/dropshell /app/dropshell
COPY --from=builder /opt/dropshell/templates /opt/dropshell/templates
COPY --from=builder /etc/bash_completion.d/dropshell-completion.bash /etc/bash_completion.d/
RUN /app/dropshell init /config
RUN /app/dropshell version
ENTRYPOINT ["/app/dropshell"]

View File

@ -1,10 +0,0 @@
#!/bin/bash
set -x
mkdir -p /app/build
cd /app/build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
cp /app/build/dropshell /output/
chown $CHOWN_USER:$CHOWN_GROUP /output/dropshell

View File

@ -1,47 +0,0 @@
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
ROOT_DIR=$(dirname $(dirname $SCRIPT_DIR))
echo "Building dropshell from $ROOT_DIR"
# Build the builder image
docker build -t dropshell_alpine_builder $ROOT_DIR -f $SCRIPT_DIR/Dockerfile.build
rm -rf $SCRIPT_DIR/output
mkdir -p $SCRIPT_DIR/output
MYUID=$(id -u)
MYGID=$(id -g)
# Build for x86_64
echo "Building for x86_64..."
docker run --rm -tt --env CHOWN_USER=$MYUID --env CHOWN_GROUP=$MYGID \
-v $SCRIPT_DIR/output:/output \
-e TARGET_ARCH=x86_64 \
-e CC=gcc \
-e CXX=g++ \
dropshell_alpine_builder
mv $SCRIPT_DIR/output/dropshell $SCRIPT_DIR/output/dropshell_x86_64
$SCRIPT_DIR/output/dropshell_x86_64 version
echo "dropshell built in $SCRIPT_DIR/output/dropshell_x86_64"
# Build for arm64
echo "Building for arm64..."
docker run --rm -tt --env CHOWN_USER=$MYUID --env CHOWN_GROUP=$MYGID \
-v $SCRIPT_DIR/output:/output \
-e TARGET_ARCH=aarch64 \
-e CC=aarch64-linux-gnu-gcc \
-e CXX=aarch64-linux-gnu-g++ \
dropshell_alpine_builder
mv $SCRIPT_DIR/output/dropshell $SCRIPT_DIR/output/dropshell_aarch64
echo "dropshell built in $SCRIPT_DIR/output/dropshell_aarch64"

View File

@ -1,13 +0,0 @@
#!/bin/bash
if [ $# -lt 1 ]; then
echo " Use: example <dir>"
exit 0
fi
(
cd "$1"
echo ZG9ja2VyIHJ1biAtdHQgLS1ybSAtdi46L3ggZ2l0ZWEuamRlLm56L2ovZHJvcHNoZWxsX2FscGluZSBoYXNoIC94 | base64 -d | bash
)

View File

@ -1,3 +0,0 @@
#!/bin/bash
docker push gitea.jde.nz/j/dropshell_alpine:latest