Fix configuration gathering and order of operations

- Add emergency fallback to ask about remote Transmission if config step was skipped
- Add CONFIG_GATHERED flag to track if config step was run
- Improve bootstrap installer with clear explanation of what to expect
- Explicitly check for gather_configuration success and output debug info
- Add additional variable initialization to ensure consistent behavior

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
MasterDraco 2025-03-05 08:46:06 +00:00
parent e05c8da811
commit d2babeba27
4 changed files with 45 additions and 2 deletions

View File

@ -62,6 +62,19 @@ fi
echo -e "${YELLOW}Running the main installer...${NC}" echo -e "${YELLOW}Running the main installer...${NC}"
cd "$INSTALL_DIR" cd "$INSTALL_DIR"
chmod +x main-installer.sh chmod +x main-installer.sh
# Let the user know what's about to happen
echo -e "${YELLOW}You will now be asked for configuration options including:${NC}"
echo -e "- Installation directory"
echo -e "- User to run the service as"
echo -e "- Whether Transmission is running on a remote server"
echo -e "- Transmission connection details"
echo -e "- Media organization preferences"
echo
# Add small delay to ensure user sees this message
sleep 2
./main-installer.sh ./main-installer.sh
# Installation complete # Installation complete

View File

@ -99,6 +99,9 @@ trap 'cleanup_on_error "$BASH_COMMAND"' ERR
# Execute the installation steps in sequence # Execute the installation steps in sequence
log "INFO" "Starting installation process..." log "INFO" "Starting installation process..."
# Set default for TRANSMISSION_REMOTE
export TRANSMISSION_REMOTE=false
if [ "$IS_UPDATE" = true ]; then if [ "$IS_UPDATE" = true ]; then
log "INFO" "Running in update mode - preserving existing configuration..." log "INFO" "Running in update mode - preserving existing configuration..."
@ -132,10 +135,16 @@ else
# Step 1: Gather configuration from user # Step 1: Gather configuration from user
log "INFO" "Gathering configuration..." log "INFO" "Gathering configuration..."
gather_configuration || { # Explicitly run this to ensure it's called before dependencies
set +e # Temporarily disable exit on error
if ! gather_configuration; then
log "ERROR" "Configuration gathering failed" log "ERROR" "Configuration gathering failed"
exit 1 exit 1
} fi
set -e # Re-enable exit on error
# Debug: Verify TRANSMISSION_REMOTE is set
log "INFO" "After configuration gathering, TRANSMISSION_REMOTE=$TRANSMISSION_REMOTE"
# Step 2: Install dependencies # Step 2: Install dependencies
log "INFO" "Installing dependencies..." log "INFO" "Installing dependencies..."

View File

@ -78,6 +78,9 @@ function gather_configuration() {
# Initialize default values for Transmission mode # Initialize default values for Transmission mode
export TRANSMISSION_REMOTE=false export TRANSMISSION_REMOTE=false
# Set flag to indicate that configuration was gathered
export CONFIG_GATHERED=true
echo -e "${BOLD}Installation Configuration:${NC}" echo -e "${BOLD}Installation Configuration:${NC}"
echo -e "Please provide the following configuration parameters:" echo -e "Please provide the following configuration parameters:"
echo echo

View File

@ -12,6 +12,24 @@ function install_dependencies() {
fi fi
log "INFO" "Transmission mode: $([ "$TRANSMISSION_REMOTE" = true ] && echo "Remote" || echo "Local")" log "INFO" "Transmission mode: $([ "$TRANSMISSION_REMOTE" = true ] && echo "Remote" || echo "Local")"
# Debug: print out whether the gather_configuration was called
if [ "$IS_UPDATE" != true ]; then
if [ -z "$CONFIG_GATHERED" ]; then
log "ERROR" "Configuration step was skipped! This is a bug."
log "INFO" "Please report this issue. Will now manually ask about Transmission location."
# Emergency fix: Ask about remote installation here
read -p "Is Transmission running on a remote server? (y/n) [n]: " input_remote
if [[ $input_remote =~ ^[Yy]$ ]]; then
export TRANSMISSION_REMOTE=true
log "INFO" "Remote Transmission selected."
else
export TRANSMISSION_REMOTE=false
log "INFO" "Local Transmission selected."
fi
fi
fi
# Check for package manager # Check for package manager
if command -v apt-get &> /dev/null; then if command -v apt-get &> /dev/null; then