File tree Expand file tree Collapse file tree 3 files changed +24
-2
lines changed Expand file tree Collapse file tree 3 files changed +24
-2
lines changed Original file line number Diff line number Diff line change 5
5
"bytes"
6
6
"log"
7
7
8
+ "github.com/pkg/errors"
9
+
8
10
"github.com/coreos/clair/ext/versionfmt"
9
11
clairDpkg "github.com/coreos/clair/ext/versionfmt/dpkg"
10
12
@@ -20,6 +22,7 @@ type alpinePkgAnalyzer struct{}
20
22
21
23
func (a alpinePkgAnalyzer ) Analyze (fileMap extractor.FileMap ) (pkgs []analyzer.Package , err error ) {
22
24
var parsedPkgs []analyzer.Package
25
+ detected := false
23
26
for _ , filename := range a .RequiredFiles () {
24
27
file , ok := fileMap [filename ]
25
28
if ! ok {
@@ -28,8 +31,12 @@ func (a alpinePkgAnalyzer) Analyze(fileMap extractor.FileMap) (pkgs []analyzer.P
28
31
scanner := bufio .NewScanner (bytes .NewBuffer (file ))
29
32
parsedPkgs , err = a .parseApkInfo (scanner )
30
33
pkgs = append (pkgs , parsedPkgs ... )
34
+ detected = true
35
+ }
36
+ if ! detected {
37
+ return pkgs , errors .New ("No package detected" )
31
38
}
32
- return pkgs , err
39
+ return pkgs , nil
33
40
}
34
41
35
42
func (a alpinePkgAnalyzer ) parseApkInfo (scanner * bufio.Scanner ) (pkgs []analyzer.Package , err error ) {
Original file line number Diff line number Diff line change @@ -3,6 +3,8 @@ package dpkg
3
3
import (
4
4
"bufio"
5
5
"bytes"
6
+ "errors"
7
+ "fmt"
6
8
"log"
7
9
"regexp"
8
10
"strings"
@@ -28,15 +30,21 @@ func init() {
28
30
type debianPkgAnalyzer struct {}
29
31
30
32
func (a debianPkgAnalyzer ) Analyze (fileMap extractor.FileMap ) (pkgs []analyzer.Package , err error ) {
33
+ detected := false
31
34
for _ , filename := range a .RequiredFiles () {
32
35
file , ok := fileMap [filename ]
36
+ fmt .Println (filename )
33
37
if ! ok {
34
38
continue
35
39
}
36
40
scanner := bufio .NewScanner (bytes .NewBuffer (file ))
37
41
pkgs = a .parseDpkginfo (scanner )
42
+ detected = true
38
43
}
39
- return pkgs , err
44
+ if ! detected {
45
+ return pkgs , errors .New ("No package detected" )
46
+ }
47
+ return pkgs , nil
40
48
}
41
49
42
50
func (a debianPkgAnalyzer ) parseDpkginfo (scanner * bufio.Scanner ) (pkgs []analyzer.Package ) {
@@ -88,6 +96,7 @@ func (a debianPkgAnalyzer) parseDpkgPkg(scanner *bufio.Scanner) (binPkg *analyze
88
96
if line == "" {
89
97
break
90
98
}
99
+ fmt .Println (line )
91
100
92
101
if strings .HasPrefix (line , "Package: " ) {
93
102
name = strings .TrimSpace (strings .TrimPrefix (line , "Package: " ))
Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ package rpm
2
2
3
3
import (
4
4
"bufio"
5
+ "errors"
5
6
"io/ioutil"
6
7
"os"
7
8
"os/exec"
@@ -22,13 +23,18 @@ type rpmPkgAnalyzer struct{}
22
23
23
24
func (a rpmPkgAnalyzer ) Analyze (fileMap extractor.FileMap ) (pkgs []analyzer.Package , err error ) {
24
25
var parsedPkgs []analyzer.Package
26
+ detected := false
25
27
for _ , filename := range a .RequiredFiles () {
26
28
file , ok := fileMap [filename ]
27
29
if ! ok {
28
30
continue
29
31
}
30
32
parsedPkgs , err = a .parsePkgInfo (file )
31
33
pkgs = append (pkgs , parsedPkgs ... )
34
+ detected = true
35
+ }
36
+ if ! detected {
37
+ return pkgs , errors .New ("No package detected" )
32
38
}
33
39
return pkgs , err
34
40
}
You can’t perform that action at this time.
0 commit comments