diff refs/heads/master refs/heads/grafana
blob - b50ead16349c7d4375f0ebd4e3cbfcc5fd469fe7
blob + f1ecc30cb4abab11953bcf20773edd756f06dc22
--- sysutils/grafana/Makefile
+++ sysutils/grafana/Makefile
@@ -1,26 +1,38 @@
+# grafana requires a vendored build in two stages, frontend and backend
+# To build the backend, run `gmake gen-go`, `go mod tidy`, and then
+# `go mod vendor`
+# To build the frontend:
+# 1. Run `yarn install --immutable`. yarn will fail to build the
+# cypress module, but this doesn't matter. It is only used for e2e
+# tests
+# 2. Run `NODE_ENV=production NODE_OPTIONS="--max-old-space-size=6144" \
+# yarn run build`
+# Tidy up a bit by grabbing the BUILD_ID from the generated JS files
+# and removing these directories:
+# * rm -R .yarn/{.cache,cache,install-state.gz,unplugged}
+# * rm -R node_modules
+# Compress the grafana directory
COMMENT = monitoring and metric analytics dashboards
-V = 7.5.11
+V = 8.5.0
DISTNAME = grafana+vendor-$V
WRKDIST = ${WRKDIR}/grafana-$V
-EXTRACT_SUFX = .tar.zstd
+EXTRACT_SUFX = .tar.zst
PKGNAME = grafana-$V
-BUILD_ID = 0cd8deb042c68e8113e4
+BUILD_ID = da4d1dde3251d06d1d4a
CATEGORIES = sysutils
HOMEPAGE = https://grafana.com
-DISTFILES = ${DISTNAME}${EXTRACT_SUFX} \
- grafana-$V.linux-amd64.tar.gz{grafana-$V.linux-amd64.tar.gz?1}:0
+DISTFILES = ${DISTNAME}${EXTRACT_SUFX}
# force CDN refresh; upstream rerolled but some CDN nodes have the old version
# normally grafana-$V.linux-amd64.tar.gz:0
# grafana+vendor distfile generated by fetching archive from
# https://github.com/grafana/grafana/archive/v$V/grafana-$V.tar.gz
# and running "go mod tidy" + "go mod vendor"
-MASTER_SITES = https://rhaalovely.net/~landry/stuff/
-MASTER_SITES0 = https://dl.grafana.com/oss/release/
+MASTER_SITES = https://ports.lucasraab.me/
# Apache 2.0 (bundles roboto and opensans fonts)
PERMIT_PACKAGE = Yes
@@ -31,10 +43,6 @@ SUBST_VARS += BUILD_ID
MODGO_FLAGS += -ldflags="-w -X main.version=$V"
-# remove linux binaries from grafana-$V.linux-amd64.tar.gz
-post-extract:
- rm ${WRKDIST}/bin/*
-
do-build:
cd ${WRKSRC} && ${MODGO_CMD} run ${MODGO_FLAGS} build.go setup
cd ${WRKSRC} && ${MODGO_CMD} run ${MODGO_FLAGS} build.go build
blob - 81e7a9a3d39a828710545471759cc73fea63bc22
blob + ddecead58fa7793ff1cc8cfbb9b0b758672740d9
--- sysutils/grafana/distinfo
+++ sysutils/grafana/distinfo
@@ -1,4 +1,2 @@
-SHA256 (grafana+vendor-7.5.11.tar.zstd) = qWIl+v4PaHTkg72OGWISgYbfnPD8v3KzAivCnsJHbm0=
-SHA256 (grafana-7.5.11.linux-amd64.tar.gz) = MkTQztSNLelybJo71tXwjBtqCB1CZlQB4DP8SjHFfV0=
-SIZE (grafana+vendor-7.5.11.tar.zstd) = 21207028
-SIZE (grafana-7.5.11.linux-amd64.tar.gz) = 52218943
+SHA256 (grafana+vendor-8.5.0.tar.zst) = DMJof60UoaSxwo9ZbEzQQUYu39Yg0xpc776lKtBW0bs=
+SIZE (grafana+vendor-8.5.0.tar.zst) = 58331264
blob - 8c90a0d54c0f1a800a0a12cf4970c14fa733eabf (mode 644)
blob + /dev/null
--- sysutils/grafana/patches/patch-build_go
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: build.go
---- build.go.orig
-+++ build.go
-@@ -343,7 +343,7 @@ func setBuildEnv() {
- os.Setenv("GOARCH", goarch)
- }
- if goarch == "386" {
-- os.Setenv("GO386", "387")
-+ os.Setenv("GO386", "softfloat")
- }
- if cgo {
- os.Setenv("CGO_ENABLED", "1")
blob - b724dd60382b907afc8c6a9425200cd4434c97c3
blob + aeab81e36c2b3a8134ba763ae53ec0e144512b61
--- sysutils/grafana/patches/patch-conf_sample_ini
+++ sysutils/grafana/patches/patch-conf_sample_ini
@@ -25,27 +25,25 @@ Index: conf/sample.ini
#################################### Server ####################################
[server]
-@@ -165,8 +165,8 @@
- # Server reporting, sends usage counters to stats.grafana.org every 24 hours.
+@@ -193,7 +193,7 @@
# No ip addresses are being tracked, only simple counters to track
# running instances, dashboard and error counts. It is very helpful to us.
--# Change this option to false to disable reporting.
+ # Change this option to false to disable reporting.
-;reporting_enabled = true
-+# Change this option to true to enable reporting.
+reporting_enabled = false
# The name of the distributor of the Grafana instance. Ex hosted-grafana, grafana-labs
;reporting_distributor = grafana-labs
-@@ -176,7 +176,7 @@
- # in some UI views to notify that grafana or plugin update exists
+@@ -203,7 +203,7 @@
+ # in some UI views to notify that a grafana update exists.
# This option does not cause any auto updates, nor send any information
- # only a GET request to http://grafana.com to get latest versions
+ # only a GET request to https://raw.githubusercontent.com/grafana/grafana/main/latest.json to get the latest version.
-;check_for_updates = true
+check_for_updates = false
- # Google Analytics universal tracking code, only enabled if you specify an id here
- ;google_analytics_ua_id =
-@@ -520,7 +520,7 @@
+ # Set to false to disable all checks to https://grafana.com
+ # for new versions of plugins. The check is used
+@@ -646,7 +646,7 @@
[log]
# Either "console", "file", "syslog". Default is console and file
# Use space to separate multiple modes, e.g. "console file"
blob - d83f92d8ac1ccbd93a156ee11100b811656b66cf
blob + fd3e8333888e5420ff21ecd2cdc08e7d4f7802b1
--- sysutils/grafana/patches/patch-pkg_cmd_grafana-cli_commands_commands_go
+++ sysutils/grafana/patches/patch-pkg_cmd_grafana-cli_commands_commands_go
@@ -1,12 +1,12 @@
Index: pkg/cmd/grafana-cli/commands/commands.go
--- pkg/cmd/grafana-cli/commands/commands.go.orig
+++ pkg/cmd/grafana-cli/commands/commands.go
-@@ -57,7 +57,7 @@ func runPluginCommand(command func(commandLine utils.C
+@@ -95,7 +95,7 @@ func runPluginCommand(command func(commandLine utils.C
return err
}
-- logger.Info("\nRestart grafana after installing plugins . <service grafana-server restart>\n\n")
-+ logger.Info("\nRestart grafana after installing plugins . <rcctl restart grafana>\n\n")
+- logger.Info(color.GreenString("Please restart Grafana after installing plugins. Refer to Grafana documentation for instructions if necessary.\n\n"))
++ logger.Info(color.GreenString("Please restart Grafana after installing plugins. rcctl restart grafana\n\n"))
return nil
}
}
Hello,
I think I've been staring at this too long...
grafana is proving to be a special case unless I'm missing something
obvious. The project seems to follow the pkg[0] layout pattern. It
uses a build.go which imports from the module in pkg/ to generate
the final build files. From there, the problem seems to be with the
vendoring. When Go runs build.go, it expects to find the grafana
module (in pkg/) in vendor/github.com/grafana/grafana.
I've tried naively copying the contents of pkg into
vendors/github.com/grafana/grafana. This starts the build, but
quickly (and unsurprisingly) fails with more "cannot find package..."
errors. Looking in go.port.mk, I've tried manipulating MODGO_WORKSPACE
and MODGO_GOPATH to mirror what a $HOME install would look like
(~/go/pkg/...) to no avail.
When built and run locally from $HOME, it works just fine from the
initial testing. I must be missing the right incantation of MODGO
vars, but I'm at a loss what I'm doing incorrectly and/or missing.
I've attached the WIP diff. Feel free to ignore the notes about
building the {front,back}end, they're not relevant here and
incorporated into the vendored DISTFILES. You should be able to
take the DISTFILES though and build locally, `go run build.go setup`
, `go run build.go build`, and then `./bin/openbsd-amd64/grafana-server`.
If that doesn't work, well, I must be a fool...
Best,
Lucas
[0] https://github.com/golang-standards/project-layout#pkg
https://github.com/grafana/grafana/tree/v8.5.0
No comments:
Post a Comment