change separate raspbian implementation from util

This commit is contained in:
MaineK00n
2020-08-06 21:30:05 +09:00
parent 28bfbf0cca
commit bb3609b1a6
4 changed files with 62 additions and 23 deletions

View File

@@ -472,3 +472,32 @@ type Platform struct {
Name string `json:"name"` // aws or azure or gcp or other...
InstanceID string `json:"instanceID"`
}
// ExtractDebianPackFromResult is for Raspbian and extracts Debian packages from ScanResult.
func (r ScanResult) ExtractDebianPackFromResult() ScanResult {
if r.Family != config.Raspbian {
return r
}
result := r
regexpRaspbianVersion := regexp.MustCompile(`.+\+rp(t|i)\d+`)
packs := make(Packages)
for _, pack := range r.Packages {
if regexpRaspbianVersion.MatchString(pack.FormatVer()) {
continue
}
packs[pack.Name] = pack
}
srcPacks := make(SrcPackages)
for _, pack := range r.SrcPackages {
if regexpRaspbianVersion.MatchString(pack.Version) {
continue
}
srcPacks[pack.Name] = pack
}
result.Packages = packs
result.SrcPackages = srcPacks
return result
}