#!/bin/sh errors="" [ -z "$aeropkg_home" ] && errors="${errors}aeropkg_home must be set to build\n" [ -z "$aeropkg_base" ] && errors="${errors}aeropkg_base must be set to build\n" if [ -n "$errors" ]; then printf "Error:\n$errors" >&2 exit 1 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'." exit 1 fi else echo "Error: Executable '$BIN_PATH' not found after installation." exit 1 fi echo "Project successfully installed to '$INSTALL_PATH'" echo "Base directory: '$BASE_PATH'"