support msrc types

Signed-off-by: Alfredo Deza <adeza@anchore.com>
This commit is contained in:
Alfredo Deza
2021-04-23 10:17:16 -04:00
parent 032cecbe7f
commit 5af2687022
4 changed files with 17 additions and 0 deletions
+3
View File
@@ -18,6 +18,7 @@ const (
ArchLinux Type = "archlinux"
OpenSuseLeap Type = "opensuseleap"
Photon Type = "photon"
Windows Type = "windows"
)
// All contains all Linux distribution options
@@ -34,6 +35,7 @@ var All = []Type{
ArchLinux,
OpenSuseLeap,
Photon,
Windows,
}
// IDMapping connects a distro ID like "ubuntu" to a Distro type
@@ -50,6 +52,7 @@ var IDMapping = map[string]Type{
"arch": ArchLinux,
"opensuse-leap": OpenSuseLeap,
"photon": Photon,
"windows": Windows,
}
// String returns the string representation of the given Linux distribution.
+11
View File
@@ -0,0 +1,11 @@
package pkg
// KbPackageMetadata is slightly odd in how it is expected to map onto data.
// This is critical to grasp because there is no MSRC cataloger. The `ProductID`
// field is expected to be the MSRC Product ID, for example:
// "Windows 10 Version 1703 for 32-bit Systems".
// `Kb` is expected to be the actual KB number, for example "5001028"
type KbPackageMetadata struct {
ProductID string `toml:"product_id" json:"product_id"`
Kb string `toml:"kb" json:"kb"`
}
+1
View File
@@ -14,4 +14,5 @@ const (
RpmdbMetadataType MetadataType = "RpmdbMetadata"
PythonPackageMetadataType MetadataType = "PythonPackageMetadata"
RustCargoPackageMetadataType MetadataType = "RustCargoPackageMetadata"
KbPackageMetadataType MetadataType = "KbPackageMetadata"
)
+2
View File
@@ -18,6 +18,7 @@ const (
JenkinsPluginPkg Type = "jenkins-plugin"
GoModulePkg Type = "go-module"
RustPkg Type = "rust-crate"
KbPkg Type = "msrc-kb"
)
// AllPkgs represents all supported package types
@@ -32,6 +33,7 @@ var AllPkgs = []Type{
JenkinsPluginPkg,
GoModulePkg,
RustPkg,
KbPkg,
}
// PackageURLType returns the PURL package type for the current package.