Files
AeroPkg/install.sh
2026-06-13 02:45:26 +03:00

39 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# Set default values if not provided
if [ -z "$aeropkg_home" ]; then
export aeropkg_home="/pkg/gnu/aeropkg"
echo "Warning: aeropkg_home not set. Using default: $aeropkg_home"
fi
if [ -z "$aeropkg_base" ]; then
export aeropkg_base="/pkg"
echo "Warning: aeropkg_base not set. Using default: $aeropkg_base"
fi
INSTALL_PATH="$aeropkg_home"
BASE_PATH="$aeropkg_base"
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
cargo build --release
mkdir -p "$SCRIPT_DIR/target/release/bin"
cp -f "$SCRIPT_DIR/target/release/pkg" "$SCRIPT_DIR/target/release/bin"
echo "Installing to '$INSTALL_PATH'..."
rsync -a --delete "$SCRIPT_DIR/assets/" "$SCRIPT_DIR/target/release/bin" "$INSTALL_PATH/"
BIN_PATH="$INSTALL_PATH/bin/pkg"
if [ -f "$BIN_PATH" ]; then
patchelf --set-interpreter /pkg/gnu/glibc/lib/ld-linux-x86-64.so.2 "$BIN_PATH"
if [ $? -ne 0 ]; then
echo "Error: Failed to apply patchelf to '$BIN_PATH'." >&2
exit 1
fi
else
echo "Error: Executable '$BIN_PATH' not found after installation." >&2
exit 1
fi
echo "Project successfully installed to '$INSTALL_PATH'"
echo "Base directory: '$BASE_PATH'"