refactor: streamline repository removal and directory setup in cloneAndBuild function

- Updated the repository removal process to always use root, with a fallback to the 'debros' user if necessary.
- Added error handling for ensuring the 'debros' home directory exists and setting its ownership.
- Improved clarity in error messages for directory setup failures.
This commit is contained in:
anonpenguin23 2025-10-31 20:09:34 +02:00
parent 6e80ff28b4
commit f71ef8e60b
2 changed files with 12 additions and 9 deletions

View File

@ -21,7 +21,7 @@ test-e2e:
.PHONY: build clean test run-node run-node2 run-node3 run-example deps tidy fmt vet lint clear-ports
VERSION := 0.53.11
VERSION := 0.53.12
COMMIT ?= $(shell git rev-parse --short HEAD 2>/dev/null || echo unknown)
DATE ?= $(shell date -u +%Y-%m-%dT%H:%M:%SZ)
LDFLAGS := -X 'main.version=$(VERSION)' -X 'main.commit=$(COMMIT)' -X 'main.date=$(DATE)'

View File

@ -1071,13 +1071,13 @@ func cloneAndBuild() {
// Remove existing repository if it exists (always start fresh)
if _, err := os.Stat("/home/debros/src"); err == nil {
fmt.Printf(" Removing existing repository...\n")
// Remove as debros user to avoid permission issues
removeCmd := exec.Command("sudo", "-u", "debros", "rm", "-rf", "/home/debros/src")
if output, err := removeCmd.CombinedOutput(); err != nil {
fmt.Fprintf(os.Stderr, "⚠️ Failed to remove existing repo as debros user: %v\n%s\n", err, output)
// Try as root as fallback
if err := os.RemoveAll("/home/debros/src"); err != nil {
fmt.Fprintf(os.Stderr, "⚠️ Failed to remove existing repo as root: %v\n", err)
// Remove as root since we're running as root
if err := os.RemoveAll("/home/debros/src"); err != nil {
fmt.Fprintf(os.Stderr, "⚠️ Failed to remove existing repo as root: %v\n", err)
// Try as debros user as fallback (might work if files are owned by debros)
removeCmd := exec.Command("sudo", "-u", "debros", "rm", "-rf", "/home/debros/src")
if output, err := removeCmd.CombinedOutput(); err != nil {
fmt.Fprintf(os.Stderr, "⚠️ Failed to remove existing repo as debros user: %v\n%s\n", err, output)
}
}
// Wait a moment to ensure filesystem syncs
@ -1087,8 +1087,11 @@ func cloneAndBuild() {
// Ensure parent directory exists and has correct permissions
if err := os.MkdirAll("/home/debros", 0755); err != nil {
fmt.Fprintf(os.Stderr, "⚠️ Failed to ensure debros home directory exists: %v\n", err)
os.Exit(1)
}
if err := exec.Command("chown", "debros:debros", "/home/debros").Run(); err != nil {
fmt.Fprintf(os.Stderr, "⚠️ Failed to chown debros home directory: %v\n", err)
}
exec.Command("chown", "debros:debros", "/home/debros").Run()
// Clone fresh repository
fmt.Printf(" Cloning repository...\n")