mirror of https://github.com/grafana/grafana.git
Chore: Disable cgo by default for local builds (#111807)
* disable cgo by default for local builds, also set cgo variable in either case * actually do not set the default value * disable cgo for darwin, display sqlite driver in logs * fix linter warning, although I do not fully agree with it
This commit is contained in:
parent
901dd9506f
commit
174e924e15
1
Makefile
1
Makefile
|
@ -17,6 +17,7 @@ GO_RACE_FLAG := $(if $(GO_RACE),-race)
|
||||||
GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
|
GO_BUILD_FLAGS += $(if $(GO_BUILD_DEV),-dev)
|
||||||
GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS))
|
GO_BUILD_FLAGS += $(if $(GO_BUILD_TAGS),-build-tags=$(GO_BUILD_TAGS))
|
||||||
GO_BUILD_FLAGS += $(GO_RACE_FLAG)
|
GO_BUILD_FLAGS += $(GO_RACE_FLAG)
|
||||||
|
GO_BUILD_FLAGS += $(if $(GO_BUILD_CGO),-cgo-enabled=$(GO_BUILD_CGO))
|
||||||
GO_TEST_FLAGS += $(if $(GO_BUILD_TAGS),-tags=$(GO_BUILD_TAGS))
|
GO_TEST_FLAGS += $(if $(GO_BUILD_TAGS),-tags=$(GO_BUILD_TAGS))
|
||||||
GIT_BASE = remotes/origin/main
|
GIT_BASE = remotes/origin/main
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ import (
|
||||||
const (
|
const (
|
||||||
GoOSWindows = "windows"
|
GoOSWindows = "windows"
|
||||||
GoOSLinux = "linux"
|
GoOSLinux = "linux"
|
||||||
|
GoOSDarwin = "darwin"
|
||||||
|
|
||||||
BackendBinary = "grafana"
|
BackendBinary = "grafana"
|
||||||
ServerBinary = "grafana-server"
|
ServerBinary = "grafana-server"
|
||||||
|
@ -288,8 +289,9 @@ func setBuildEnv(opts BuildOpts) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.goarch != "amd64" || opts.goos != GoOSLinux {
|
if (opts.goos != GoOSLinux || opts.goarch != "amd64") &&
|
||||||
// needed for all other archs
|
opts.goos != GoOSDarwin {
|
||||||
|
// needed for archs other than linux/amd64 and darwin/arm64 + darwin/amd64
|
||||||
opts.cgo = true
|
opts.cgo = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,10 +309,12 @@ func setBuildEnv(opts BuildOpts) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cgoEnabled := "0"
|
||||||
if opts.cgo {
|
if opts.cgo {
|
||||||
if err := os.Setenv("CGO_ENABLED", "1"); err != nil {
|
cgoEnabled = "1"
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
if err := os.Setenv("CGO_ENABLED", cgoEnabled); err != nil {
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if opts.gocc == "" {
|
if opts.gocc == "" {
|
||||||
|
|
|
@ -16,6 +16,7 @@ import (
|
||||||
_ "github.com/lib/pq"
|
_ "github.com/lib/pq"
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
|
|
||||||
|
"github.com/grafana/grafana/pkg/util/sqlite"
|
||||||
"github.com/grafana/grafana/pkg/util/xorm"
|
"github.com/grafana/grafana/pkg/util/xorm"
|
||||||
"github.com/grafana/grafana/pkg/util/xorm/core"
|
"github.com/grafana/grafana/pkg/util/xorm/core"
|
||||||
|
|
||||||
|
@ -248,6 +249,9 @@ func (ss *SQLStore) initEngine(engine *xorm.Engine) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
ss.log.Info("Connecting to DB", "dbtype", ss.dbCfg.Type)
|
ss.log.Info("Connecting to DB", "dbtype", ss.dbCfg.Type)
|
||||||
|
if ss.dbCfg.Type == migrator.SQLite {
|
||||||
|
ss.log.Info("Using SQLite driver", "driver", sqlite.DriverType())
|
||||||
|
}
|
||||||
if ss.dbCfg.Type == migrator.SQLite && strings.HasPrefix(ss.dbCfg.ConnectionString, "file:") &&
|
if ss.dbCfg.Type == migrator.SQLite && strings.HasPrefix(ss.dbCfg.ConnectionString, "file:") &&
|
||||||
!strings.HasPrefix(ss.dbCfg.ConnectionString, "file::memory:") {
|
!strings.HasPrefix(ss.dbCfg.ConnectionString, "file::memory:") {
|
||||||
exists, err := fs.Exists(ss.dbCfg.Path)
|
exists, err := fs.Exists(ss.dbCfg.Path)
|
||||||
|
|
|
@ -35,12 +35,13 @@ func IsUniqueConstraintViolation(err error) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func ErrorMessage(err error) string {
|
func ErrorMessage(err error) string {
|
||||||
if err == nil {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
var sqliteErr sqlite3.Error
|
var sqliteErr sqlite3.Error
|
||||||
if errors.As(err, &sqliteErr) {
|
if errors.As(err, &sqliteErr) {
|
||||||
return sqliteErr.Error()
|
return sqliteErr.Error()
|
||||||
}
|
}
|
||||||
return err.Error()
|
return err.Error()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DriverType() string {
|
||||||
|
return "mattn/go-sqlite3 (CGO enabled)"
|
||||||
|
}
|
||||||
|
|
|
@ -112,6 +112,10 @@ func init() {
|
||||||
sql.Register("sqlite3", &moderncDriver{Driver: &Driver{}})
|
sql.Register("sqlite3", &moderncDriver{Driver: &Driver{}})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func DriverType() string {
|
||||||
|
return "modernc.org/sqlite (CGO disabled)"
|
||||||
|
}
|
||||||
|
|
||||||
func IsBusyOrLocked(err error) bool {
|
func IsBusyOrLocked(err error) bool {
|
||||||
var sqliteErr *sqlite.Error
|
var sqliteErr *sqlite.Error
|
||||||
if errors.As(err, &sqliteErr) {
|
if errors.As(err, &sqliteErr) {
|
||||||
|
|
Loading…
Reference in New Issue