diff --git a/go.mod b/go.mod index f798f5ad..131a6d6f 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,8 @@ go 1.12 require ( github.com/DataDog/zstd v1.4.4 // indirect - github.com/Sabayon/pkgs-checker v0.6.2-0.20200404093625-076438c31739 + github.com/MottainaiCI/simplestreams-builder v0.1.0 // indirect + github.com/Sabayon/pkgs-checker v0.6.3-0.20200912135508-97c41780e9b6 github.com/asdine/storm v0.0.0-20190418133842-e0f77eada154 github.com/briandowns/spinner v1.7.0 github.com/cavaliercoder/grab v2.0.0+incompatible @@ -13,6 +14,7 @@ require ( github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect github.com/ecooper/qlearning v0.0.0-20160612200101-3075011a69fd github.com/ghodss/yaml v1.0.0 + github.com/go-yaml/yaml v2.1.0+incompatible // indirect github.com/hashicorp/go-version v1.2.0 github.com/jinzhu/copier v0.0.0-20180308034124-7e38e58719c3 github.com/klauspost/pgzip v1.2.1 @@ -22,6 +24,7 @@ require ( github.com/logrusorgru/aurora v0.0.0-20190417123914-21d75270181e github.com/marcsauter/single v0.0.0-20181104081128-f8bf46f26ec0 github.com/mattn/go-isatty v0.0.10 // indirect + github.com/mattn/go-sqlite3 v1.14.3 // indirect github.com/moby/sys/mount v0.1.1-0.20200320164225-6154f11e6840 // indirect github.com/mudler/cobra-extensions v0.0.0-20200612154940-31a47105fe3d github.com/mudler/docker-companion v0.4.6-0.20200418093252-41846f112d87 diff --git a/go.sum b/go.sum index 8f55ba49..2ca67d47 100644 --- a/go.sum +++ b/go.sum @@ -13,9 +13,13 @@ github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873 h1:93nQ7k53G github.com/Microsoft/go-winio v0.4.15-0.20200113171025-3fe6c5262873/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= github.com/Microsoft/hcsshim v0.8.7 h1:ptnOoufxGSzauVTsdE+wMYnCWA301PdoN4xg5oRdZpg= github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= +github.com/MottainaiCI/simplestreams-builder v0.1.0 h1:A8KJN22Xkx7NUKC9/zWmd1UhIqRn3bdHo0wv/HsAHx8= +github.com/MottainaiCI/simplestreams-builder v0.1.0/go.mod h1:+Gbv6dg6TPHWq4oDjZY1vn978PLCEZ2hOu8kvn+S7t4= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Sabayon/pkgs-checker v0.6.2-0.20200404093625-076438c31739 h1:cWiphrLut8a+RNwosFre5j+zWDe1m6y1OpkSzn5bu1w= github.com/Sabayon/pkgs-checker v0.6.2-0.20200404093625-076438c31739/go.mod h1:GFGM6ZzSE5owdGgjLnulj0+Vt9UTd5LFGmB2AOVPYrE= +github.com/Sabayon/pkgs-checker v0.6.3-0.20200912135508-97c41780e9b6 h1:k4MhaAzNNMqNz2CCbVpbhBxhiXDNtTbk2BAAj/CzMEo= +github.com/Sabayon/pkgs-checker v0.6.3-0.20200912135508-97c41780e9b6/go.mod h1:GFGM6ZzSE5owdGgjLnulj0+Vt9UTd5LFGmB2AOVPYrE= github.com/Sereal/Sereal v0.0.0-20181211220259-509a78ddbda3 h1:Xu7z47ZiE/J+sKXHZMGxEor/oY2q6dq51fkO0JqdSwY= github.com/Sereal/Sereal v0.0.0-20181211220259-509a78ddbda3/go.mod h1:D0JMgToj/WdxCgd30Kc1UcA9E+WdZoJqeVOuYW7iTBM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= @@ -103,6 +107,8 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-yaml/yaml v2.1.0+incompatible h1:RYi2hDdss1u4YE7GwixGzWwVo47T8UQwnTLB6vQiq+o= +github.com/go-yaml/yaml v2.1.0+incompatible/go.mod h1:w2MrLa16VYP0jy6N7M5kHaCkaLENm+P+Tv+MfurjSw0= github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE= @@ -200,6 +206,8 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10 h1:qxFzApOv4WsAL965uUPIsXzAKCZxN2p9UqdhFS4ZW10= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-sqlite3 v1.14.3 h1:j7a/xn1U6TKA/PHHxqZuzh64CdtRc7rU9M+AvkOl5bA= +github.com/mattn/go-sqlite3 v1.14.3/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= diff --git a/vendor/github.com/Sabayon/pkgs-checker/pkg/gentoo/pkg.go b/vendor/github.com/Sabayon/pkgs-checker/pkg/gentoo/pkg.go index 6844b412..f49e360f 100644 --- a/vendor/github.com/Sabayon/pkgs-checker/pkg/gentoo/pkg.go +++ b/vendor/github.com/Sabayon/pkgs-checker/pkg/gentoo/pkg.go @@ -60,16 +60,16 @@ const ( ) type GentooPackage struct { - Name string `json:"name",omitempty"` - Category string `json:"category",omitempty"` - Version string `json:"version",omitempty"` - VersionSuffix string `json:"version_suffix",omitempty"` - VersionBuild string `json:"version_build",omitempty"` - Slot string `json:"slot",omitempty"` + Name string `json:"name,omitempty"` + Category string `json:"category,omitempty"` + Version string `json:"version,omitempty"` + VersionSuffix string `json:"version_suffix,omitempty"` + VersionBuild string `json:"version_build,omitempty"` + Slot string `json:"slot,omitempty"` Condition PackageCond - Repository string `json:"repository",omitempty"` - UseFlags []string `json:"use_flags",omitempty"` - License string `json:"license",omitempty"` + Repository string `json:"repository,omitempty"` + UseFlags []string `json:"use_flags,omitempty"` + License string `json:"license,omitempty"` } func (p *GentooPackage) String() string { @@ -358,15 +358,33 @@ func ParsePackageStr(pkg string) (*GentooPackage, error) { "_beta", ) + words := strings.Split(pkg, "/") + if len(words) != 2 { + return nil, errors.New(fmt.Sprintf("Invalid package string %s", pkg)) + } + ans.Category = words[0] + pkgname := words[1] + + // Validate category + + regexPkg := regexp.MustCompile( + fmt.Sprintf("%s$", RegexCatString), + ) + + matches := regexPkg.FindAllString(ans.Category, -1) + if len(matches) > 1 { + return nil, errors.New(fmt.Sprintf("Invalid category %s", ans.Category)) + } + hasBuild, _ := regexp.MatchString( - fmt.Sprintf("(%s[/]%s%s([[:]{1,2}[0-9a-zA-Z]*]*)*[+])", - RegexCatString, RegexPkgNameString, regexVerString), - pkg, + fmt.Sprintf("(%s%s([[:]{1,2}[0-9a-zA-Z]*]*)*[+])", + RegexPkgNameString, regexVerString), + pkgname, ) if hasBuild { // Check if build number is present - buildIdx := strings.LastIndex(pkg, "+") + buildIdx := strings.LastIndex(pkgname, "+") if buildIdx > 0 { // ::= // @@ -389,18 +407,11 @@ func ParsePackageStr(pkg string) (*GentooPackage, error) { // | // | // | - ans.VersionBuild = pkg[buildIdx+1:] - pkg = pkg[0:buildIdx] + ans.VersionBuild = pkgname[buildIdx+1:] + pkgname = pkgname[0:buildIdx] } } - words := strings.Split(pkg, "/") - if len(words) != 2 { - return nil, errors.New(fmt.Sprintf("Invalid package string %s", pkg)) - } - ans.Category = words[0] - pkgname := words[1] - // Check if has repository if strings.Contains(pkgname, "::") { words = strings.Split(pkgname, "::") @@ -415,11 +426,11 @@ func ParsePackageStr(pkg string) (*GentooPackage, error) { pkgname = words[0] } - regexPkg := regexp.MustCompile( + regexPkg = regexp.MustCompile( fmt.Sprintf("%s$", regexVerString), ) - matches := regexPkg.FindAllString(pkgname, -1) + matches = regexPkg.FindAllString(pkgname, -1) // NOTE: Now suffix comples like _alpha_rc1 are not supported. diff --git a/vendor/modules.txt b/vendor/modules.txt index d3881e8b..bbaa81ef 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -25,7 +25,7 @@ github.com/Microsoft/hcsshim/internal/timeout github.com/Microsoft/hcsshim/internal/vmcompute github.com/Microsoft/hcsshim/internal/wclayer github.com/Microsoft/hcsshim/osversion -# github.com/Sabayon/pkgs-checker v0.6.2-0.20200404093625-076438c31739 +# github.com/Sabayon/pkgs-checker v0.6.3-0.20200912135508-97c41780e9b6 github.com/Sabayon/pkgs-checker/pkg/gentoo # github.com/apex/log v1.1.1 github.com/apex/log