@ -33,6 +33,8 @@ var (
oracleReleaseRegexp = regexp . MustCompile ( ` (?P<os>Oracle) (Linux Server release) (?P<version>[\d]+) ` )
oracleReleaseRegexp = regexp . MustCompile ( ` (?P<os>Oracle) (Linux Server release) (?P<version>[\d]+) ` )
centosReleaseRegexp = regexp . MustCompile ( ` (?P<os>[^\s]*) (Linux release|release) (?P<version>[\d]+) ` )
centosReleaseRegexp = regexp . MustCompile ( ` (?P<os>[^\s]*) (Linux release|release) (?P<version>[\d]+) ` )
redhatReleaseRegexp = regexp . MustCompile ( ` (?P<os>Red Hat Enterprise Linux) (Client release|Server release|Workstation release) (?P<version>[\d]+) ` )
redhatReleaseRegexp = regexp . MustCompile ( ` (?P<os>Red Hat Enterprise Linux) (Client release|Server release|Workstation release) (?P<version>[\d]+) ` )
filenames = [ ] string { "etc/oracle-release" , "etc/centos-release" , "etc/redhat-release" , "etc/system-release" }
)
)
type detector struct { }
type detector struct { }
@ -42,7 +44,7 @@ func init() {
}
}
func ( d detector ) Detect ( files tarutil . FilesMap ) ( * database . Namespace , error ) {
func ( d detector ) Detect ( files tarutil . FilesMap ) ( * database . Namespace , error ) {
for _ , filePath := range d. RequiredFilenames ( ) {
for _ , filePath := range filenames {
f , hasFile := files [ filePath ]
f , hasFile := files [ filePath ]
if ! hasFile {
if ! hasFile {
continue
continue
@ -83,5 +85,5 @@ func (d detector) Detect(files tarutil.FilesMap) (*database.Namespace, error) {
}
}
func ( d detector ) RequiredFilenames ( ) [ ] string {
func ( d detector ) RequiredFilenames ( ) [ ] string {
return [ ] string { "etc/oracle-release", "etc/centos-release" , "etc/redhat-release" , "etc/system-release" }
return [ ] string { `^etc/(oracle|centos|redhat|system)-release ` }
}
}