#!/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'"