39 lines
1.1 KiB
Bash
Executable File
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'"
|