os-updater/internal/version/currentVersion.go
2025-09-25 15:39:17 +03:00

42 lines
676 B
Go

package version
import (
"bufio"
"os"
"strings"
)
func GetCurrentBranch() string {
branch, err := os.ReadFile(BranchPath)
if err != nil {
return "stable"
}
return string(branch)
}
func DetermineCurrentVersion() string {
file, err := os.Open("/etc/os-release")
if err != nil {
panic(err)
}
defer file.Close()
var lastLine string
scanner := bufio.NewScanner(file)
for scanner.Scan() {
lastLine = scanner.Text()
}
if err := scanner.Err(); err != nil {
panic(err)
}
parts := strings.SplitN(lastLine, "=", 2)
if len(parts) != 2 {
panic("invalid format")
}
value := parts[1]
currentVersion := strings.Trim(value, "\"")
return currentVersion
}