|
|
|
@ -162,37 +162,37 @@ install_git() {
|
|
|
|
|
INSTALL_DIR="/opt/nupst"
|
|
|
|
|
REPO_URL="https://code.foss.global/serve.zone/nupst.git"
|
|
|
|
|
|
|
|
|
|
if [ $PIPED -eq 1 ]; then
|
|
|
|
|
echo "Installing NUPST from remote repository..."
|
|
|
|
|
# Check if git is installed - needed for both piped and direct execution
|
|
|
|
|
if ! command -v git &> /dev/null; then
|
|
|
|
|
echo "Git is required but not installed."
|
|
|
|
|
|
|
|
|
|
# Check if git is installed
|
|
|
|
|
if ! command -v git &> /dev/null; then
|
|
|
|
|
echo "Git is required but not installed."
|
|
|
|
|
if [ $AUTO_YES -eq 1 ]; then
|
|
|
|
|
echo "Auto-installing git (-y flag provided)..."
|
|
|
|
|
install_git
|
|
|
|
|
elif [ $INTERACTIVE -eq 1 ]; then
|
|
|
|
|
# If interactive and no -y flag, ask the user
|
|
|
|
|
echo "Would you like to install git now? (y/N): "
|
|
|
|
|
read -r install_git_prompt
|
|
|
|
|
|
|
|
|
|
if [ $AUTO_YES -eq 1 ]; then
|
|
|
|
|
echo "Auto-installing git (-y flag provided)..."
|
|
|
|
|
if [[ "$install_git_prompt" =~ ^[Yy]$ ]]; then
|
|
|
|
|
install_git
|
|
|
|
|
elif [ $INTERACTIVE -eq 1 ]; then
|
|
|
|
|
# If interactive and no -y flag, ask the user
|
|
|
|
|
echo "Would you like to install git now? (y/N): "
|
|
|
|
|
read -r install_git_prompt
|
|
|
|
|
|
|
|
|
|
if [[ "$install_git_prompt" =~ ^[Yy]$ ]]; then
|
|
|
|
|
install_git
|
|
|
|
|
else
|
|
|
|
|
echo "Git installation skipped. Please install git manually and run the installer again."
|
|
|
|
|
echo "Alternatively, you can run the installer with -y flag to automatically install git:"
|
|
|
|
|
echo " sudo bash install.sh -y"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
# Non-interactive mode without -y flag
|
|
|
|
|
echo "Error: Git is required but not installed."
|
|
|
|
|
echo "In non-interactive mode, use -y flag to auto-install dependencies:"
|
|
|
|
|
echo " curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -s -- -y"
|
|
|
|
|
echo "Git installation skipped. Please install git manually and run the installer again."
|
|
|
|
|
echo "Alternatively, you can run the installer with -y flag to automatically install git:"
|
|
|
|
|
echo " sudo bash install.sh -y"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
# Non-interactive mode without -y flag
|
|
|
|
|
echo "Error: Git is required but not installed."
|
|
|
|
|
echo "In non-interactive mode, use -y flag to auto-install dependencies:"
|
|
|
|
|
echo " curl -sSL https://code.foss.global/serve.zone/nupst/raw/branch/main/install.sh | sudo bash -s -- -y"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ $PIPED -eq 1 ]; then
|
|
|
|
|
echo "Installing NUPST from remote repository..."
|
|
|
|
|
|
|
|
|
|
# Check if installation directory exists
|
|
|
|
|
if [ -d "$INSTALL_DIR" ] && [ -d "$INSTALL_DIR/.git" ]; then
|
|
|
|
@ -235,12 +235,47 @@ if [ $PIPED -eq 1 ]; then
|
|
|
|
|
# Set script directory to the cloned repo
|
|
|
|
|
SCRIPT_DIR="$INSTALL_DIR"
|
|
|
|
|
else
|
|
|
|
|
# Running directly from within the repo
|
|
|
|
|
# Running directly from within the repo or downloaded script
|
|
|
|
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
|
|
|
|
|
|
|
|
# When running from a downloaded script in a different location
|
|
|
|
|
# we need to clone the repository first
|
|
|
|
|
if [ ! -f "$SCRIPT_DIR/setup.sh" ]; then
|
|
|
|
|
echo "Running installer from downloaded script outside repository."
|
|
|
|
|
echo "Will clone the repository to $INSTALL_DIR..."
|
|
|
|
|
|
|
|
|
|
# Create installation directory if needed
|
|
|
|
|
if [ -d "$INSTALL_DIR" ]; then
|
|
|
|
|
echo "Removing previous installation at $INSTALL_DIR..."
|
|
|
|
|
rm -rf "$INSTALL_DIR"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
mkdir -p "$INSTALL_DIR"
|
|
|
|
|
|
|
|
|
|
# Clone the repository
|
|
|
|
|
echo "Cloning NUPST repository to $INSTALL_DIR..."
|
|
|
|
|
git clone --depth 1 $REPO_URL "$INSTALL_DIR"
|
|
|
|
|
|
|
|
|
|
if [ $? -ne 0 ]; then
|
|
|
|
|
echo "Failed to clone repository. Please check your internet connection."
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Update script directory to use the cloned repo
|
|
|
|
|
SCRIPT_DIR="$INSTALL_DIR"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Run setup script
|
|
|
|
|
echo "Running setup script..."
|
|
|
|
|
if [ ! -f "$SCRIPT_DIR/setup.sh" ]; then
|
|
|
|
|
echo "ERROR: Setup script not found at $SCRIPT_DIR/setup.sh"
|
|
|
|
|
echo "Current directory: $(pwd)"
|
|
|
|
|
echo "Script directory: $SCRIPT_DIR"
|
|
|
|
|
ls -la "$SCRIPT_DIR"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
bash "$SCRIPT_DIR/setup.sh"
|
|
|
|
|
|
|
|
|
|
# Install globally
|
|
|
|
|