updated install sh
This commit is contained in:
84
Install.sh
84
Install.sh
@@ -80,64 +80,40 @@ chmod +x "$INSTALL_DIR/run_app.sh" || {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check and update the signage_player.service file
|
# Create the signage_player.service file in the installation folder
|
||||||
if [[ -f "$SERVICE_FILE" ]]; then
|
SERVICE_TEMPLATE="$INSTALL_DIR/signage_player.service"
|
||||||
echo "Checking signage_player.service file..."
|
echo "Creating signage_player.service file in the installation folder..."
|
||||||
WORKING_DIR=$(grep -oP '(?<=^WorkingDirectory=).*' "$SERVICE_FILE")
|
cat <<EOF > "$SERVICE_TEMPLATE"
|
||||||
EXEC_START=$(grep -oP '(?<=^ExecStart=).*' "$SERVICE_FILE")
|
[Unit]
|
||||||
|
Description=Signage Player Service
|
||||||
|
After=network.target
|
||||||
|
|
||||||
EXPECTED_WORKING_DIR="$INSTALL_DIR"
|
[Service]
|
||||||
EXPECTED_EXEC_START="$INSTALL_DIR/run_app.sh"
|
Type=simple
|
||||||
|
WorkingDirectory=$INSTALL_DIR
|
||||||
|
ExecStart=$INSTALL_DIR/run_app.sh
|
||||||
|
Restart=always
|
||||||
|
RestartSec=5
|
||||||
|
|
||||||
if [[ "$WORKING_DIR" != "$EXPECTED_WORKING_DIR" || "$EXEC_START" != "$EXPECTED_EXEC_START" ]]; then
|
[Install]
|
||||||
echo "Updating signage_player.service file..."
|
WantedBy=multi-user.target
|
||||||
sudo cp "$INSTALL_DIR/signage_player.service" "$SERVICE_FILE"
|
EOF
|
||||||
sudo sed -i "s|^WorkingDirectory=.*|WorkingDirectory=$INSTALL_DIR|" "$SERVICE_FILE"
|
|
||||||
sudo sed -i "s|^ExecStart=.*|ExecStart=$INSTALL_DIR/run_app.sh|" "$SERVICE_FILE"
|
# Copy the service file to the systemd service directory
|
||||||
sudo systemctl daemon-reload || {
|
echo "Copying signage_player.service file to $SERVICE_FILE..."
|
||||||
|
sudo cp "$SERVICE_TEMPLATE" "$SERVICE_FILE" || {
|
||||||
|
echo "Error: Failed to copy signage_player.service file."
|
||||||
|
read -p "Press any key to close the terminal..." -n 1 -s
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Reload systemd daemon
|
||||||
|
echo "Reloading systemd daemon..."
|
||||||
|
sudo systemctl daemon-reload || {
|
||||||
echo "Error: Failed to reload systemd daemon."
|
echo "Error: Failed to reload systemd daemon."
|
||||||
read -p "Press any key to close the terminal..." -n 1 -s
|
read -p "Press any key to close the terminal..." -n 1 -s
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
echo "signage_player.service file updated successfully."
|
|
||||||
else
|
|
||||||
echo "signage_player.service file is already configured correctly."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "signage_player.service file not found. Copying and configuring it..."
|
|
||||||
sudo cp "$INSTALL_DIR/signage_player.service" "$SERVICE_FILE"
|
|
||||||
sudo sed -i "s|^WorkingDirectory=.*|WorkingDirectory=$INSTALL_DIR|" "$SERVICE_FILE"
|
|
||||||
sudo sed -i "s|^ExecStart=.*|ExecStart=$INSTALL_DIR/run_app.sh|" "$SERVICE_FILE"
|
|
||||||
sudo systemctl daemon-reload || {
|
|
||||||
echo "Error: Failed to reload systemd daemon."
|
|
||||||
read -p "Press any key to close the terminal..." -n 1 -s
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
echo "signage_player.service file created and configured successfully."
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check and update the working directory in run_app.sh
|
|
||||||
echo "Checking run_app.sh for correct working directory..."
|
|
||||||
if [[ -f "$RUN_APP_FILE" ]]; then
|
|
||||||
CURRENT_WORKING_DIR=$(grep -oP '(?<=^cd ).*' "$RUN_APP_FILE" | head -n 1)
|
|
||||||
EXPECTED_WORKING_DIR="$INSTALL_DIR/src"
|
|
||||||
|
|
||||||
if [[ "$CURRENT_WORKING_DIR" != "$EXPECTED_WORKING_DIR" ]]; then
|
|
||||||
echo "Updating working directory in run_app.sh..."
|
|
||||||
sudo sed -i "s|^cd .*|cd $EXPECTED_WORKING_DIR|" "$RUN_APP_FILE" || {
|
|
||||||
echo "Error: Failed to update working directory in run_app.sh."
|
|
||||||
read -p "Press any key to close the terminal..." -n 1 -s
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
echo "run_app.sh updated successfully."
|
|
||||||
else
|
|
||||||
echo "run_app.sh is already configured correctly."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Error: run_app.sh file not found."
|
|
||||||
read -p "Press any key to close the terminal..." -n 1 -s
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Enable the service
|
# Enable the service
|
||||||
echo "Enabling signage_player.service..."
|
echo "Enabling signage_player.service..."
|
||||||
@@ -147,6 +123,8 @@ sudo systemctl enable signage_player.service || {
|
|||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo "signage_player.service file created, copied, and enabled successfully."
|
||||||
|
|
||||||
# Restart the system to check if the service starts
|
# Restart the system to check if the service starts
|
||||||
echo "Restarting the system to check if the service starts..."
|
echo "Restarting the system to check if the service starts..."
|
||||||
sudo reboot || {
|
sudo reboot || {
|
||||||
|
|||||||
Reference in New Issue
Block a user