feat(setup): Add --force update flag to setup script and update installation instructions
This commit is contained in:
parent
da49b7a5bf
commit
cc1cfe894c
@ -1,5 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-03-26 - 2.6.0 - feat(setup)
|
||||||
|
Add --force update flag to setup script and update installation instructions
|
||||||
|
|
||||||
|
- Implemented --force option in setup.sh to force-update Node.js binary and dependencies
|
||||||
|
- Updated readme.md to document the --force flag and revised update steps
|
||||||
|
- Modified ts/cli.ts update command to pass the --force flag to setup.sh
|
||||||
|
|
||||||
## 2025-03-26 - 2.5.2 - fix(installer)
|
## 2025-03-26 - 2.5.2 - fix(installer)
|
||||||
Improve Node.js binary detection, dependency management, and SNMPv3 fallback logic
|
Improve Node.js binary detection, dependency management, and SNMPv3 fallback logic
|
||||||
|
|
||||||
|
11
readme.md
11
readme.md
@ -227,8 +227,15 @@ sudo nupst update
|
|||||||
This will:
|
This will:
|
||||||
1. Pull the latest changes from the git repository
|
1. Pull the latest changes from the git repository
|
||||||
2. Run the installation scripts
|
2. Run the installation scripts
|
||||||
3. Refresh the systemd service configuration
|
3. Force-update Node.js and all dependencies, even if they already exist
|
||||||
4. Restart the service if it was running
|
4. Refresh the systemd service configuration
|
||||||
|
5. Restart the service if it was running
|
||||||
|
|
||||||
|
You can also manually run the setup script with the force flag to update Node.js and dependencies without updating the application code:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bash setup.sh --force
|
||||||
|
```
|
||||||
|
|
||||||
## Security
|
## Security
|
||||||
|
|
||||||
|
19
setup.sh
19
setup.sh
@ -2,6 +2,22 @@
|
|||||||
|
|
||||||
# NUPST Setup Script
|
# NUPST Setup Script
|
||||||
# Downloads the appropriate Node.js binary for the current platform
|
# Downloads the appropriate Node.js binary for the current platform
|
||||||
|
# and installs production dependencies
|
||||||
|
|
||||||
|
# Parse command line arguments
|
||||||
|
FORCE_UPDATE=0
|
||||||
|
|
||||||
|
for arg in "$@"; do
|
||||||
|
case $arg in
|
||||||
|
--force|-f)
|
||||||
|
FORCE_UPDATE=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Unknown option
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
# Find the directory where this script is located
|
# Find the directory where this script is located
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||||
@ -74,8 +90,9 @@ case "$OS" in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# Check if we already have the Node.js binary
|
# Check if we already have the Node.js binary
|
||||||
if [ -f "$SCRIPT_DIR/vendor/$NODE_DIR/bin/node" ]; then
|
if [ -f "$SCRIPT_DIR/vendor/$NODE_DIR/bin/node" ] && [ $FORCE_UPDATE -eq 0 ]; then
|
||||||
echo "Node.js binary already exists for $OS-$ARCH. Skipping download."
|
echo "Node.js binary already exists for $OS-$ARCH. Skipping download."
|
||||||
|
echo "Use --force or -f to force update Node.js."
|
||||||
else
|
else
|
||||||
echo "Downloading Node.js v$NODE_VERSION for $OS-$ARCH..."
|
echo "Downloading Node.js v$NODE_VERSION for $OS-$ARCH..."
|
||||||
|
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@serve.zone/nupst',
|
name: '@serve.zone/nupst',
|
||||||
version: '2.5.2',
|
version: '2.6.0',
|
||||||
description: 'Node.js UPS Shutdown Tool for SNMP-enabled UPS devices'
|
description: 'Node.js UPS Shutdown Tool for SNMP-enabled UPS devices'
|
||||||
}
|
}
|
||||||
|
@ -418,9 +418,9 @@ Options:
|
|||||||
console.log('│ Running install.sh to update NUPST...');
|
console.log('│ Running install.sh to update NUPST...');
|
||||||
execSync(`cd ${installDir} && bash ./install.sh`, { stdio: 'pipe' });
|
execSync(`cd ${installDir} && bash ./install.sh`, { stdio: 'pipe' });
|
||||||
|
|
||||||
// 3. Run the setup.sh script
|
// 3. Run the setup.sh script with force flag to update Node.js and dependencies
|
||||||
console.log('│ Running setup.sh to update dependencies...');
|
console.log('│ Running setup.sh to update Node.js and dependencies...');
|
||||||
execSync(`cd ${installDir} && bash ./setup.sh`, { stdio: 'pipe' });
|
execSync(`cd ${installDir} && bash ./setup.sh --force`, { stdio: 'pipe' });
|
||||||
|
|
||||||
// 4. Refresh the systemd service
|
// 4. Refresh the systemd service
|
||||||
console.log('│ Refreshing systemd service...');
|
console.log('│ Refreshing systemd service...');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user