Compare commits

..

4 Commits

Author SHA1 Message Date
89095cdc50 dropshell release 2025.0513.2200
Some checks failed
Dropshell Test / Build_and_Test (push) Has been cancelled
2025-05-13 22:02:02 +12:00
8d5296d9ea Merge branch 'main' of https://gitea.jde.nz/public/dropshell
Some checks failed
Dropshell Test / Build_and_Test (push) Has been cancelled
2025-05-13 21:56:47 +12:00
524d3df1b2 dropshell release 2025.0513.2156 2025-05-13 21:56:24 +12:00
54dce4862f Update README.md
Some checks failed
Dropshell Test / Build_and_Test (push) Has been cancelled
2025-05-13 21:54:18 +12:00
3 changed files with 42 additions and 9 deletions

View File

@ -1,3 +1,9 @@
# Dropshell
A system management tool for server operations, written in C++.
## Installation
```
curl -fsSL https://gitea.jde.nz/public/dropshell/releases/download/latest/install.sh | bash
```

View File

@ -3,6 +3,12 @@ set -e
# download and install dropshell
# Check if running as root
if [ "$EUID" -ne 0 ]; then
print_error "Please run this script as root (use sudo)"
exit 1
fi
# 1. Determine architecture
# -----------------------------------------------------------------------------
@ -33,8 +39,9 @@ fi
chmod +x "$TMPDIR/dropshell"
docker run --rm -v "$TMPDIR:/tmp" -v /usr/local/bin:/target alpine sh -c "cp /tmp/dropshell /target/dropshell && ln -s /target/dropshell /target/ds"
rm "$TMPDIR/dropshell"
cp "$TMPDIR/dropshell" /usr/local/bin/dropshell
ln -s /usr/local/bin/dropshell /usr/local/bin/ds
rm -rf "$TMPDIR"
echo "dropshell installed successfully to /usr/local/bin/dropshell"

View File

@ -6,20 +6,40 @@
set -e
# Build for amd64
echo "Building for amd64..."
cmake -B build_amd64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=x86-64" .
rm -f build_amd64/dropshell build_arm64/dropshell build/dropshell.amd64 build/dropshell.arm64
# Build for amd64 (musl)
echo "Building for amd64 (musl)..."
cmake -B build_amd64 -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=x86_64-linux-musl-gcc \
-DCMAKE_CXX_COMPILER=x86_64-linux-musl-g++ \
-DCMAKE_EXE_LINKER_FLAGS="-static" \
-DCMAKE_CXX_FLAGS="-march=x86-64" .
cmake --build build_amd64 --target dropshell --config Release
mkdir -p build
cp build_amd64/dropshell build/dropshell.amd64
# Build for arm64
echo "Building for arm64..."
cmake -B build_arm64 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-march=armv8-a" -DCMAKE_SYSTEM_PROCESSOR=aarch64 -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ .
# Build for arm64 (musl)
echo "Building for arm64 (musl)..."
cmake -B build_arm64 -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=aarch64-linux-musl-gcc \
-DCMAKE_CXX_COMPILER=aarch64-linux-musl-g++ \
-DCMAKE_EXE_LINKER_FLAGS="-static" \
-DCMAKE_CXX_FLAGS="-march=armv8-a" \
-DCMAKE_SYSTEM_PROCESSOR=aarch64 .
cmake --build build_arm64 --target dropshell --config Release
mkdir -p build
cp build_arm64/dropshell build/dropshell.arm64
if [ ! -f build/dropshell.amd64 ]; then
echo "build/dropshell.amd64 not found!" >&2
exit 1
fi
if [ ! -f build/dropshell.arm64 ]; then
echo "build/dropshell.arm64 not found!" >&2
exit 1
fi
echo "Builds complete:"
ls -lh build/dropshell.*