Include RHEL, CentOS epoch number in version
This commit is contained in:
10
Gopkg.lock
generated
10
Gopkg.lock
generated
@@ -141,7 +141,7 @@ memo = "bd95ed8c2b0aa32327ae55d88bff888b8198d238f7a71eee0f8663494664a0ac"
|
||||
branch = "master"
|
||||
name = "github.com/kotakanbe/goval-dictionary"
|
||||
packages = ["config","db","log","models"]
|
||||
revision = "c33f7c4a77c3522ea25a70b9c38e1ae910f106cb"
|
||||
revision = "9aba0cebf04ef546c7ae8666fea5e142b9e90fc1"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
@@ -237,25 +237,25 @@ memo = "bd95ed8c2b0aa32327ae55d88bff888b8198d238f7a71eee0f8663494664a0ac"
|
||||
branch = "master"
|
||||
name = "github.com/ymomoi/goval-parser"
|
||||
packages = ["oval"]
|
||||
revision = "fa7d8e949108b0b2b7d124bef9a7f2bda9b6dd69"
|
||||
revision = "4ddf6fc4f1a1af026f7cae41f76979c7ff2b2e2f"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
name = "golang.org/x/crypto"
|
||||
packages = ["curve25519","ed25519","ed25519/internal/edwards25519","ssh","ssh/agent","ssh/terminal"]
|
||||
revision = "96846453c37f0876340a66a47f3f75b1f3a6cd2d"
|
||||
revision = "3543873453996aaab2fc6b3928a35fc5ca2b5afb"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
name = "golang.org/x/net"
|
||||
packages = ["context","idna","publicsuffix"]
|
||||
revision = "d212a1ef2de2f5d441c327b8f26cf3ea3ea9f265"
|
||||
revision = "da118f7b8e5954f39d0d2130ab35d4bf0e3cb344"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
name = "golang.org/x/sys"
|
||||
packages = ["unix"]
|
||||
revision = "ea9bcade75cb975a0b9738936568ab388b845617"
|
||||
revision = "8c0a5eacbac818f9011015b17992f53d9cec3e8f"
|
||||
|
||||
[[projects]]
|
||||
branch = "master"
|
||||
|
||||
@@ -244,7 +244,7 @@ func (o *redhat) scanPackages() error {
|
||||
}
|
||||
|
||||
func (o *redhat) scanInstalledPackages() (installedPackages models.PackageInfoList, err error) {
|
||||
cmd := "rpm -qa --queryformat '%{NAME}\t%{VERSION}\t%{RELEASE}\n'"
|
||||
cmd := "rpm -qa --queryformat '%{NAME}\t%{EPOCHNUM}\t%{VERSION}\t%{RELEASE}\n'"
|
||||
r := o.exec(cmd, noSudo)
|
||||
if r.isSuccess() {
|
||||
// e.g.
|
||||
@@ -269,14 +269,20 @@ func (o *redhat) scanInstalledPackages() (installedPackages models.PackageInfoLi
|
||||
|
||||
func (o *redhat) parseScannedPackagesLine(line string) (models.PackageInfo, error) {
|
||||
fields := strings.Fields(line)
|
||||
if len(fields) != 3 {
|
||||
if len(fields) != 4 {
|
||||
return models.PackageInfo{},
|
||||
fmt.Errorf("Failed to parse package line: %s", line)
|
||||
}
|
||||
ver := ""
|
||||
if fields[1] == "0" {
|
||||
ver = fields[2]
|
||||
} else {
|
||||
ver = fmt.Sprintf("%s:%s", fields[1], fields[2])
|
||||
}
|
||||
return models.PackageInfo{
|
||||
Name: fields[0],
|
||||
Version: fields[1],
|
||||
Release: fields[2],
|
||||
Version: ver,
|
||||
Release: fields[3],
|
||||
}, nil
|
||||
}
|
||||
|
||||
@@ -471,13 +477,12 @@ func (o *redhat) parseYumCheckUpdateLine(line string) (models.PackageInfo, error
|
||||
if len(verfields) != 2 {
|
||||
return models.PackageInfo{}, fmt.Errorf("Unknown format: %s", line)
|
||||
}
|
||||
version := o.regexpReplace(verfields[0], `^[0-9]+:`, "")
|
||||
release := verfields[1]
|
||||
repos := strings.Join(fields[2:len(fields)], " ")
|
||||
|
||||
return models.PackageInfo{
|
||||
Name: packName,
|
||||
NewVersion: version,
|
||||
NewVersion: verfields[0],
|
||||
NewRelease: release,
|
||||
Repository: repos,
|
||||
}, nil
|
||||
|
||||
Reference in New Issue
Block a user