feat(nocgo): enable to build with CGO_ENABLED=0 (#1080)

This commit is contained in:
Kota Kanbe
2020-11-27 09:55:09 +09:00
committed by GitHub
parent 1f610043cf
commit 5fea4eaef8
37 changed files with 83 additions and 31 deletions

View File

@@ -20,19 +20,23 @@ BUILDTIME := $(shell date "+%Y%m%d_%H%M%S")
LDFLAGS := -X 'github.com/future-architect/vuls/config.Version=$(VERSION)' \
-X 'github.com/future-architect/vuls/config.Revision=build-$(BUILDTIME)_$(REVISION)'
GO := GO111MODULE=on go
CGO_UNABLED := CGO_ENABLED=0 go
GO_OFF := GO111MODULE=off go
all: build
build: main.go pretest fmt
$(GO) build -a -ldflags "$(LDFLAGS)" -o vuls $<
build: ./cmd/vuls/main.go pretest fmt
$(GO) build -a -ldflags "$(LDFLAGS)" -o vuls ./cmd/vuls
b: main.go pretest fmt
$(GO) build -ldflags "$(LDFLAGS)" -o vuls $<
install: ./cmd/vuls/main.go pretest fmt
$(GO) install -ldflags "$(LDFLAGS)" ./cmd/vuls
install: main.go pretest
$(GO) install -ldflags "$(LDFLAGS)"
build-scanner: ./cmd/scanner/main.go pretest fmt
$(CGO_UNABLED) build -tags=scanner -a -ldflags "$(LDFLAGS)" -o vuls ./cmd/scanner
install-scanner: ./cmd/scanner/main.go pretest fmt
$(CGO_UNABLED) install -tags=scanner -ldflags "$(LDFLAGS)" ./cmd/scanner
lint:
$(GO_OFF) get -u golang.org/x/lint/golint

View File

@@ -7,8 +7,8 @@ import (
"context"
"github.com/future-architect/vuls/commands"
"github.com/future-architect/vuls/config"
commands "github.com/future-architect/vuls/subcmds"
"github.com/google/subcommands"
)
@@ -17,12 +17,9 @@ func main() {
subcommands.Register(subcommands.FlagsCommand(), "")
subcommands.Register(subcommands.CommandsCommand(), "")
subcommands.Register(&commands.DiscoverCmd{}, "discover")
subcommands.Register(&commands.TuiCmd{}, "tui")
subcommands.Register(&commands.ScanCmd{}, "scan")
subcommands.Register(&commands.HistoryCmd{}, "history")
subcommands.Register(&commands.ReportCmd{}, "report")
subcommands.Register(&commands.ConfigtestCmd{}, "configtest")
subcommands.Register(&commands.ServerCmd{}, "server")
var v = flag.Bool("v", false, "Show version")

View File

@@ -1,3 +1,5 @@
// +build !scanner
package exploit
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package gost
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package gost
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package gost
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package gost
import (

View File

@@ -1,8 +1,8 @@
// +build !scanner
package gost
import (
"strings"
"github.com/future-architect/vuls/models"
"github.com/knqyf263/gost/db"
)
@@ -16,7 +16,3 @@ type Pseudo struct {
func (pse Pseudo) DetectUnfixed(driver db.DB, r *models.ScanResult, _ bool) (int, error) {
return 0, nil
}
func major(osVer string) (majorVersion string) {
return strings.Split(osVer, ".")[0]
}

View File

@@ -1,3 +1,5 @@
// +build !scanner
package gost
import (

View File

@@ -2,6 +2,7 @@ package gost
import (
"net/http"
"strings"
"time"
"github.com/cenkalti/backoff"
@@ -181,3 +182,7 @@ func httpGet(url string, req request, resChan chan<- response, errChan chan<- er
json: body,
}
}
func major(osVer string) (majorVersion string) {
return strings.Split(osVer, ".")[0]
}

View File

@@ -1,3 +1,5 @@
// +build !scanner
package models
import (

1
msf/empty.go Normal file
View File

@@ -0,0 +1 @@
package msf

View File

@@ -1,3 +1,5 @@
// +build !scanner
package msf
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

1
oval/empty.go Normal file
View File

@@ -0,0 +1 @@
package oval

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package oval
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package report
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package report
import (

View File

@@ -1,3 +1,5 @@
// +build !scanner
package report
import (
@@ -36,11 +38,6 @@ import (
"golang.org/x/xerrors"
)
const (
vulsOpenTag = "<vulsreport>"
vulsCloseTag = "</vulsreport>"
)
// FillCveInfos fills CVE Detailed Information
func FillCveInfos(dbclient DBClient, rs []models.ScanResult, dir string) ([]models.ScanResult, error) {

View File

@@ -22,7 +22,11 @@ import (
"golang.org/x/xerrors"
)
const maxColWidth = 100
const (
vulsOpenTag = "<vulsreport>"
vulsCloseTag = "</vulsreport>"
maxColWidth = 100
)
func formatScanSummary(rs ...models.ScanResult) string {
table := uitable.New()
@@ -555,7 +559,7 @@ func getDiffCves(previous, current models.ScanResult) models.VulnInfos {
// TODO commented out because a bug of diff logic when multiple oval defs found for a certain CVE-ID and same updated_at
// if these OVAL defs have different affected packages, this logic detects as updated.
// This logic will be uncomented after integration with ghost https://github.com/knqyf263/gost
// This logic will be uncomented after integration with gost https://github.com/knqyf263/gost
// } else if isCveFixed(v, previous) {
// updated[v.CveID] = v
// util.Log.Debugf("fixed: %s", v.CveID)

1
server/empty.go Normal file
View File

@@ -0,0 +1 @@
package server

View File

@@ -1,3 +1,5 @@
// +build !scanner
package server
import (

View File

@@ -1,4 +1,4 @@
package commands
package subcmds
import (
"context"

View File

@@ -1,4 +1,4 @@
package commands
package subcmds
import (
"context"

View File

@@ -1,4 +1,4 @@
package commands
package subcmds
import (
"context"

View File

@@ -1,4 +1,6 @@
package commands
// +build !scanner
package subcmds
import (
"context"

View File

@@ -1,4 +1,4 @@
package commands
package subcmds
import (
"context"

View File

@@ -1,4 +1,6 @@
package commands
// +build !scanner
package subcmds
import (
"context"

View File

@@ -1,4 +1,6 @@
package commands
// +build !scanner
package subcmds
import (
"context"

View File

@@ -1,4 +1,4 @@
package commands
package subcmds
import (
"fmt"