github.com/simpleiot/simpleiot@v0.18.3/system/os_version_linux.go (about) 1 package system 2 3 import ( 4 "fmt" 5 "os" 6 7 "github.com/blang/semver/v4" 8 ) 9 10 const releaseFilePath = "/etc/os-release" 11 12 // ReadOSVersion reads `releaseFilePath` and parses VERSION_ID into a `Version` struct 13 func ReadOSVersion(field string) (imgRelease semver.Version, err error) { 14 // Read `releaseFilePath` into []byte 15 data, err := os.ReadFile(releaseFilePath) 16 if err != nil { 17 return 18 } 19 20 imgRelease, err = parseVersion(data, field) 21 22 if err != nil { 23 err = fmt.Errorf("searching %v, got: %v", releaseFilePath, err) 24 } 25 return 26 }