- Add install.sh orchestrator with upgrade support - Add 6 helper scripts (<100 lines each) replacing 700-800 line monsters - Add deployment/linux/furt.service systemd template - Support both fresh install and upgrade modes - Platform-aware detection (OpenBSD/FreeBSD vs Linux) - Skip user/service creation in upgrade mode - Preserve existing configuration during updates - Remove merkwerk dependency from production install script Helper scripts: - scripts/setup-user.sh - Create system user (_furt/furt) - scripts/setup-directories.sh - Create directory structure - scripts/sync-files.sh - Copy source files to installation - scripts/create-service.sh - Create system service from templates - scripts/validate-config.sh - Validate furt.conf syntax - scripts/health-check.sh - Basic health check functionality Closes DAW/furt#87
34 lines
877 B
Bash
Executable file
34 lines
877 B
Bash
Executable file
#!/bin/sh
|
|
# scripts/sync-files.sh - Copy furt source files to installation directory
|
|
|
|
set -e
|
|
|
|
# Check if we're in a furt source directory
|
|
if [ ! -f "src/main.lua" ]; then
|
|
echo "Error: Not in furt source directory (src/main.lua not found)"
|
|
exit 1
|
|
fi
|
|
|
|
# Target directory
|
|
TARGET="/usr/local/share/furt"
|
|
|
|
echo "Copying furt files to $TARGET..."
|
|
|
|
# Copy main directories
|
|
cp -r src/ "$TARGET/"
|
|
cp -r config/ "$TARGET/"
|
|
cp -r scripts/ "$TARGET/"
|
|
cp -r integrations/ "$TARGET/"
|
|
|
|
# Copy version files for merkwerk integration
|
|
[ -f "VERSION" ] && cp VERSION "$TARGET/"
|
|
[ -f ".version_history" ] && cp .version_history "$TARGET/"
|
|
|
|
# Set proper permissions
|
|
chown -R root:wheel "$TARGET" 2>/dev/null || chown -R root:root "$TARGET"
|
|
chmod -R 644 "$TARGET"
|
|
find "$TARGET" -type d -exec chmod 755 {} \;
|
|
chmod +x "$TARGET/scripts/start.sh"
|
|
|
|
echo "Files synced successfully to $TARGET"
|
|
|