Files
AeroPkg/install.sh

44 lines
1.6 KiB
Bash
Raw Normal View History

2025-06-02 18:00:32 +03:00
#!/bin/sh
2025-06-04 20:33:53 +03:00
2026-06-13 02:45:26 +03:00
# 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"
2025-11-18 19:46:36 +03:00
fi
INSTALL_PATH="$aeropkg_home"
BASE_PATH="$aeropkg_base"
2025-08-25 00:34:04 +03:00
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
2025-06-04 20:33:53 +03:00
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'..."
2026-09-10 16:59:11 +03:00
rsync -a --delete --exclude='etc/' "$SCRIPT_DIR/assets/" "$SCRIPT_DIR/target/release/bin" "$INSTALL_PATH/"
PATH="/bin:/pkg/musl/bin:/pkg/musl/sbin:/pkg/gnu/bin:/pkg/gnu/sbin" chroot /mnt/aerolinux /pkg/gnu/aeropkg/bin/pkg link aeropkg
rsync -a --delete --exclude='etc/index-conflict.md' "$SCRIPT_DIR/assets/" "$SCRIPT_DIR/target/release/bin" air:"$INSTALL_PATH/"
ssh air /pkg/gnu/aeropkg/bin/pkg link aeropkg
rsync -a --delete --exclude='etc/index-conflict.md' "$SCRIPT_DIR/assets/" "$SCRIPT_DIR/target/release/bin" aura:"$INSTALL_PATH/"
ssh aura /pkg/gnu/aeropkg/bin/pkg link aeropkg
2025-08-25 00:34:04 +03:00
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
2026-06-13 02:45:26 +03:00
echo "Error: Failed to apply patchelf to '$BIN_PATH'." >&2
exit 1
fi
2025-08-25 00:34:04 +03:00
else
2026-06-13 02:45:26 +03:00
echo "Error: Executable '$BIN_PATH' not found after installation." >&2
exit 1
2025-08-25 00:34:04 +03:00
fi
echo "Project successfully installed to '$INSTALL_PATH'"
echo "Base directory: '$BASE_PATH'"