forked from pool/grafana
Accepting request 740994 from home:ecsos:monitoring
Update to 6.4.3. Rebase grafana.spec. See grafana.changes. OBS-URL: https://build.opensuse.org/request/show/740994 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/grafana?expand=0&rev=27
This commit is contained in:
parent
f2c60d0f61
commit
a647090d27
13
001-login-oauth-use-oauth2-exchange.patch
Normal file
13
001-login-oauth-use-oauth2-exchange.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go
|
||||
index a46c97238..76fc8480c 100644
|
||||
--- a/pkg/api/login_oauth.go
|
||||
+++ b/pkg/api/login_oauth.go
|
||||
@@ -125,7 +125,7 @@ func (hs *HTTPServer) OAuthLogin(ctx *m.ReqContext) {
|
||||
oauthCtx := context.WithValue(context.Background(), oauth2.HTTPClient, oauthClient)
|
||||
|
||||
// get token from provider
|
||||
- token, err := connect.Exchange(oauthCtx, code)
|
||||
+ token, err := connect.Exchange(oauthCtx, code, oauth2.AccessTypeOnline)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "login.OAuthLogin(NewTransportWithCode)", err)
|
||||
return
|
208
002-remove-jaeger-tracing.patch
Normal file
208
002-remove-jaeger-tracing.patch
Normal file
@ -0,0 +1,208 @@
|
||||
diff --git a/pkg/cmd/grafana-server/server.go b/pkg/cmd/grafana-server/server.go
|
||||
index 85d6db43e..6de99b58b 100644
|
||||
--- a/pkg/cmd/grafana-server/server.go
|
||||
+++ b/pkg/cmd/grafana-server/server.go
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
_ "github.com/grafana/grafana/pkg/infra/metrics"
|
||||
_ "github.com/grafana/grafana/pkg/infra/remotecache"
|
||||
_ "github.com/grafana/grafana/pkg/infra/serverlock"
|
||||
- _ "github.com/grafana/grafana/pkg/infra/tracing"
|
||||
_ "github.com/grafana/grafana/pkg/infra/usagestats"
|
||||
"github.com/grafana/grafana/pkg/login"
|
||||
"github.com/grafana/grafana/pkg/login/social"
|
||||
diff --git a/pkg/infra/tracing/tracing.go b/pkg/infra/tracing/tracing.go
|
||||
deleted file mode 100644
|
||||
index d1511a533..000000000
|
||||
--- a/pkg/infra/tracing/tracing.go
|
||||
+++ /dev/null
|
||||
@@ -1,148 +0,0 @@
|
||||
-package tracing
|
||||
-
|
||||
-import (
|
||||
- "context"
|
||||
- "fmt"
|
||||
- "io"
|
||||
- "strings"
|
||||
-
|
||||
- "github.com/grafana/grafana/pkg/infra/log"
|
||||
- "github.com/grafana/grafana/pkg/registry"
|
||||
- "github.com/grafana/grafana/pkg/setting"
|
||||
-
|
||||
- opentracing "github.com/opentracing/opentracing-go"
|
||||
- jaegercfg "github.com/uber/jaeger-client-go/config"
|
||||
- "github.com/uber/jaeger-client-go/zipkin"
|
||||
-)
|
||||
-
|
||||
-func init() {
|
||||
- registry.RegisterService(&TracingService{})
|
||||
-}
|
||||
-
|
||||
-type TracingService struct {
|
||||
- enabled bool
|
||||
- address string
|
||||
- customTags map[string]string
|
||||
- samplerType string
|
||||
- samplerParam float64
|
||||
- log log.Logger
|
||||
- closer io.Closer
|
||||
- zipkinPropagation bool
|
||||
- disableSharedZipkinSpans bool
|
||||
-
|
||||
- Cfg *setting.Cfg `inject:""`
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) Init() error {
|
||||
- ts.log = log.New("tracing")
|
||||
- ts.parseSettings()
|
||||
-
|
||||
- if ts.enabled {
|
||||
- ts.initGlobalTracer()
|
||||
- }
|
||||
-
|
||||
- return nil
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) parseSettings() {
|
||||
- var section, err = ts.Cfg.Raw.GetSection("tracing.jaeger")
|
||||
- if err != nil {
|
||||
- return
|
||||
- }
|
||||
-
|
||||
- ts.address = section.Key("address").MustString("")
|
||||
- if ts.address != "" {
|
||||
- ts.enabled = true
|
||||
- }
|
||||
-
|
||||
- ts.customTags = splitTagSettings(section.Key("always_included_tag").MustString(""))
|
||||
- ts.samplerType = section.Key("sampler_type").MustString("")
|
||||
- ts.samplerParam = section.Key("sampler_param").MustFloat64(1)
|
||||
- ts.zipkinPropagation = section.Key("zipkin_propagation").MustBool(false)
|
||||
- ts.disableSharedZipkinSpans = section.Key("disable_shared_zipkin_spans").MustBool(false)
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) initGlobalTracer() error {
|
||||
- cfg := jaegercfg.Configuration{
|
||||
- ServiceName: "grafana",
|
||||
- Disabled: !ts.enabled,
|
||||
- Sampler: &jaegercfg.SamplerConfig{
|
||||
- Type: ts.samplerType,
|
||||
- Param: ts.samplerParam,
|
||||
- },
|
||||
- Reporter: &jaegercfg.ReporterConfig{
|
||||
- LogSpans: false,
|
||||
- LocalAgentHostPort: ts.address,
|
||||
- },
|
||||
- }
|
||||
-
|
||||
- jLogger := &jaegerLogWrapper{logger: log.New("jaeger")}
|
||||
-
|
||||
- options := []jaegercfg.Option{}
|
||||
- options = append(options, jaegercfg.Logger(jLogger))
|
||||
-
|
||||
- for tag, value := range ts.customTags {
|
||||
- options = append(options, jaegercfg.Tag(tag, value))
|
||||
- }
|
||||
-
|
||||
- if ts.zipkinPropagation {
|
||||
- zipkinPropagator := zipkin.NewZipkinB3HTTPHeaderPropagator()
|
||||
- options = append(options,
|
||||
- jaegercfg.Injector(opentracing.HTTPHeaders, zipkinPropagator),
|
||||
- jaegercfg.Extractor(opentracing.HTTPHeaders, zipkinPropagator),
|
||||
- )
|
||||
-
|
||||
- if !ts.disableSharedZipkinSpans {
|
||||
- options = append(options, jaegercfg.ZipkinSharedRPCSpan(true))
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- tracer, closer, err := cfg.NewTracer(options...)
|
||||
- if err != nil {
|
||||
- return err
|
||||
- }
|
||||
-
|
||||
- opentracing.InitGlobalTracer(tracer)
|
||||
-
|
||||
- ts.closer = closer
|
||||
-
|
||||
- return nil
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) Run(ctx context.Context) error {
|
||||
- <-ctx.Done()
|
||||
-
|
||||
- if ts.closer != nil {
|
||||
- ts.log.Info("Closing tracing")
|
||||
- ts.closer.Close()
|
||||
- }
|
||||
-
|
||||
- return nil
|
||||
-}
|
||||
-
|
||||
-func splitTagSettings(input string) map[string]string {
|
||||
- res := map[string]string{}
|
||||
-
|
||||
- tags := strings.Split(input, ",")
|
||||
- for _, v := range tags {
|
||||
- kv := strings.Split(v, ":")
|
||||
- if len(kv) > 1 {
|
||||
- res[kv[0]] = kv[1]
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- return res
|
||||
-}
|
||||
-
|
||||
-type jaegerLogWrapper struct {
|
||||
- logger log.Logger
|
||||
-}
|
||||
-
|
||||
-func (jlw *jaegerLogWrapper) Error(msg string) {
|
||||
- jlw.logger.Error(msg)
|
||||
-}
|
||||
-
|
||||
-func (jlw *jaegerLogWrapper) Infof(format string, args ...interface{}) {
|
||||
- msg := fmt.Sprintf(format, args...)
|
||||
- jlw.logger.Info(msg)
|
||||
-}
|
||||
diff --git a/pkg/infra/tracing/tracing_test.go b/pkg/infra/tracing/tracing_test.go
|
||||
deleted file mode 100644
|
||||
index 27e4de777..000000000
|
||||
--- a/pkg/infra/tracing/tracing_test.go
|
||||
+++ /dev/null
|
||||
@@ -1,36 +0,0 @@
|
||||
-package tracing
|
||||
-
|
||||
-import "testing"
|
||||
-
|
||||
-func TestGroupSplit(t *testing.T) {
|
||||
- tests := []struct {
|
||||
- input string
|
||||
- expected map[string]string
|
||||
- }{
|
||||
- {
|
||||
- input: "tag1:value1,tag2:value2",
|
||||
- expected: map[string]string{
|
||||
- "tag1": "value1",
|
||||
- "tag2": "value2",
|
||||
- },
|
||||
- },
|
||||
- {
|
||||
- input: "",
|
||||
- expected: map[string]string{},
|
||||
- },
|
||||
- {
|
||||
- input: "tag1",
|
||||
- expected: map[string]string{},
|
||||
- },
|
||||
- }
|
||||
-
|
||||
- for _, test := range tests {
|
||||
- tags := splitTagSettings(test.input)
|
||||
- for k, v := range test.expected {
|
||||
- value, exists := tags[k]
|
||||
- if !exists || value != v {
|
||||
- t.Errorf("tags does not match %v ", test)
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-}
|
1037
003-new-files.patch
Normal file
1037
003-new-files.patch
Normal file
File diff suppressed because it is too large
Load Diff
24
004-distro-defaults-ini.patch
Normal file
24
004-distro-defaults-ini.patch
Normal file
@ -0,0 +1,24 @@
|
||||
Index: grafana-6.4.3/conf/defaults.ini
|
||||
===================================================================
|
||||
--- grafana-6.4.3.orig/conf/defaults.ini
|
||||
+++ grafana-6.4.3/conf/defaults.ini
|
||||
@@ -12,16 +12,16 @@ instance_name = ${HOSTNAME}
|
||||
#################################### Paths ###############################
|
||||
[paths]
|
||||
# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
|
||||
-data = data
|
||||
+data = /var/lib/grafana
|
||||
|
||||
# Temporary files in `data` directory older than given duration will be removed
|
||||
temp_data_lifetime = 24h
|
||||
|
||||
# Directory where grafana can store logs
|
||||
-logs = data/log
|
||||
+logs = /var/log/grafana
|
||||
|
||||
# Directory where grafana will automatically scan and look for plugins
|
||||
-plugins = data/plugins
|
||||
+plugins = /var/lib/grafana/plugins
|
||||
|
||||
# folder that contains provisioning config files that grafana will apply on startup and while running.
|
||||
provisioning = conf/provisioning
|
@ -1,39 +0,0 @@
|
||||
NAME = grafana
|
||||
SPEC = $(NAME).spec
|
||||
|
||||
default: verify-deps clean tar
|
||||
|
||||
verify-deps:
|
||||
@which yarn >/dev/null 2>&1 || ( echo "yarn not found; run \`sudo npm install -g yarn\`" && false )
|
||||
@which grunt >/dev/null 2>&1 || ( echo "grunt not found; run \`sudo npm install -g grunt-cli\`" && false )
|
||||
|
||||
clean:
|
||||
rm -f $(NAME)-*.tar $(NAME)-*.tar.xz
|
||||
|
||||
tar:
|
||||
osc service disabledrun
|
||||
@version=$$( awk '/^Version:/ {print $$2}' $(SPEC) ) && \
|
||||
echo "Package version is $$version" && \
|
||||
basename=$(NAME)-$$version && \
|
||||
tar=$$basename.tar && \
|
||||
tmpdir=$$(mktemp -d -p .) && \
|
||||
cd $$tmpdir && \
|
||||
tar -xf ../$$tar && \
|
||||
cd $$basename && \
|
||||
sed -i 's/base\///' public/sass/base/_fonts.scss && \
|
||||
# patch frontend html template to remove phantomjs dependant link \
|
||||
sed -i 's/<a.*<i class=".*fa-camera">.*<\/a>//g' public/app/features/dashboard/components/ShareModal/template.html && \
|
||||
yarn install --pure-lockfile && \
|
||||
grunt release && \
|
||||
cp -pr tmp/public . && \
|
||||
cp -pr tmp/tools . && \
|
||||
cd .. && \
|
||||
echo "Updating $$basename/tools $$basename/public in tarball..." && \
|
||||
tar -rf ../$$tar $$basename/tools $$basename/public && \
|
||||
# remove phantomjs binary \
|
||||
tar -f ../$$tar --delete $$basename/tools/phantomjs/phantomjs && \
|
||||
# remove go.mod and go.sum as we build exclusively using vendor deps \
|
||||
tar -f ../$$tar --delete $$basename/go.mod $$basename/go.sum && \
|
||||
cd .. && \
|
||||
xz $$tar && \
|
||||
rm -rf $$tmpdir
|
@ -1,33 +0,0 @@
|
||||
NAME = grafana
|
||||
SPEC = $(NAME).spec
|
||||
|
||||
default: verify-deps clean tar
|
||||
|
||||
verify-deps:
|
||||
@which yarn >/dev/null 2>&1 || ( echo "yarn not found; run \`sudo npm install -g yarn\`" && false )
|
||||
@which grunt >/dev/null 2>&1 || ( echo "grunt not found; run \`sudo npm install -g grunt-cli\`" && false )
|
||||
|
||||
clean:
|
||||
rm -f $(NAME)-*.tar $(NAME)-*.tar.xz
|
||||
|
||||
tar:
|
||||
osc service disabledrun
|
||||
@version=$$( awk '/^Version:/ {print $$2}' $(SPEC) ) && \
|
||||
echo "Package version is $$version" && \
|
||||
basename=$(NAME)-$$version && \
|
||||
tar=$$basename.tar && \
|
||||
tmpdir=$$(mktemp -d -p .) && \
|
||||
cd $$tmpdir && \
|
||||
tar -xf ../$$tar && \
|
||||
cd $$basename && \
|
||||
sed -i 's/base\///' public/sass/base/_fonts.scss && \
|
||||
yarn install --pure-lockfile && \
|
||||
grunt release && \
|
||||
cp -pr tmp/public . && \
|
||||
cp -pr tmp/tools . && \
|
||||
cd .. && \
|
||||
echo "Updating $$basename/tools $$basename/public in tarball..." && \
|
||||
tar -rf ../$$tar $$basename/tools $$basename/public && \
|
||||
cd .. && \
|
||||
xz $$tar && \
|
||||
rm -rf $$tmpdir
|
27
README
27
README
@ -1,27 +0,0 @@
|
||||
|
||||
The tarball is generated via the OBS source service, but Grafana
|
||||
needs to ship the compiled frontend assets as well, which have to
|
||||
be built by running yarn and grunt inside the source tree (see
|
||||
https://github.com/grafana/grafana#building-frontend-assets).
|
||||
This can't be done at build time on OBS, because it involves
|
||||
downloading and installing packages from the internet, so instead
|
||||
we have a Makefile which does the following:
|
||||
|
||||
- Runs `osc service disabledrun` to get the latest source tarball
|
||||
- Unpacks the tarball to a temporary directory
|
||||
- Runs `yarn install --pure-lockfile && grunt release`
|
||||
- Adds the generated "vendor" and "public" content to the tarball,
|
||||
then compresses it with xz.
|
||||
- The tarball can then be used by OBS to build an RPM.
|
||||
|
||||
In order for this to work you need to have npm >= 6, yarn and grunt
|
||||
installed. To get set up, run:
|
||||
|
||||
# zypper in npm
|
||||
# npm install -g yarn
|
||||
# npm install -g grunt-cli
|
||||
|
||||
Then, to package a new release of Grafana, run `make` then `osc ci`
|
||||
and you should be good.
|
||||
|
||||
Please direct any questions to Tim Serong <tserong@suse.com>
|
13
_service
13
_service
@ -1,13 +0,0 @@
|
||||
<services>
|
||||
<service name="tar_scm" mode="disabled">
|
||||
<param name="url">https://github.com/grafana/grafana</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="exclude">.git</param>
|
||||
<param name="versionformat">6.3.5</param>
|
||||
<param name="revision">v6.3.5</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
<service name="set_version" mode="disabled">
|
||||
<param name="basename">grafana</param>
|
||||
</service>
|
||||
</services>
|
@ -1,6 +0,0 @@
|
||||
<servicedata>
|
||||
<service name="tar_scm">
|
||||
<param name="url">https://github.com/grafana/grafana</param>
|
||||
<param name="changesrevision">67bad726f12efb21893c75c141f2330a4a3cbe2a</param>
|
||||
</service>
|
||||
</servicedata>
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdfcabcdb8f4207efb6e1d8c55861f92ea9558f570f384a35eabc9a5a234a306
|
||||
size 17615204
|
3
grafana-6.4.3.tar.gz
Normal file
3
grafana-6.4.3.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2ed2bbaae731c0d168800ed41af2bd18e3df50abb6c9852347d4488a5cc8d63b
|
||||
size 13805699
|
159
grafana.changes
159
grafana.changes
@ -1,3 +1,162 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 16 19:29:48 UTC 2019 - ecsos@opensuse.org
|
||||
|
||||
- Update to 6.4.3
|
||||
* Bug Fixes
|
||||
- Alerting: All notification channels should send even if one fails to send. #19807, @jan25
|
||||
- AzureMonitor: Fix slate interference with dropdowns. #19799, @aocenas
|
||||
- ContextMenu: make ContextMenu positioning aware of the viewport width. #19699, @krvajal
|
||||
- DataLinks: Fix context menu not showing in singlestat-ish visualisations. #19809, @dprokop
|
||||
- DataLinks: Fix url field not releasing focus. #19804, @aocenas
|
||||
- Datasource: Fixes clicking outside of some query editors required 2 clicks. #19822, @aocenas
|
||||
- Panels: Fixes default tab for visualizations without Queries Tab. #19803, @hugohaggmark
|
||||
- Singlestat: Fixed issue with mapping null to text. #19689, @torkelo
|
||||
- @grafana/toolkit: Don't fail plugin creation when git user.name config is not set. #19821, @dprokop
|
||||
- @grafana/toolkit: TSLint line number off by 1. #19782, @fredwangwang
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 16 15:31:57 UTC 2019 - ecsos@opensuse.org
|
||||
|
||||
- Update to 6.4.2
|
||||
* Bug Fixes
|
||||
- CloudWatch: Changes incorrect dimension wmlid to wlmid . #19679, @ATTron
|
||||
- Grafana Image Renderer: Fixes plugin page. #19664, @hugohaggmark
|
||||
- Graph: Fixes auto decimals logic for y axis ticks that results in too many decimals for high values. #19618, @torkelo
|
||||
- Graph: Switching to series mode should re-render graph. #19623, @torkelo
|
||||
- Loki: Fix autocomplete on label values. #19579, @aocenas
|
||||
- Loki: Removes live option for logs panel. #19533, @davkal
|
||||
- Profile: Fix issue with user profile not showing more than sessions sessions in some cases. #19578, @huynhsamha
|
||||
- Prometheus: Fixes so results in Panel always are sorted by query order. #19597, @hugohaggmark
|
||||
- ShareQuery: Fixed issue when using -- Dashboard -- datasource (to share query result) when dashboard had rows. #19610, @torkelo
|
||||
- Show SAML login button if SAML is enabled. #19591, @papagian
|
||||
- SingleStat: Fixes postfix/prefix usage. #19687, @hugohaggmark
|
||||
- Table: Proper handling of json data with dataframes. #19596, @marefr
|
||||
- Units: Fixed wrong id for Terabits/sec. #19611, @andreaslangnevyjel
|
||||
|
||||
- Changes from 6.4.1
|
||||
* Bug Fixes
|
||||
- Provisioning: Fixed issue where empty nested keys in YAML provisioning caused a server crash, #19547
|
||||
- ImageRendering: Fixed issue with image rendering in enterprise build (Enterprise)
|
||||
- Reporting: Fixed issue with reporting service when STMP was disabled (Enterprise).
|
||||
|
||||
- Changes from 6.4.0
|
||||
* Features / Enhancements
|
||||
- Build: Upgrade go to 1.12.10. #19499, @marefr
|
||||
- DataLinks: Suggestions menu improvements. #19396, @dprokop
|
||||
- Explore: Take root_url setting into account when redirecting from dashboard to explore. #19447, @ivanahuckova
|
||||
- Explore: Update broken link to logql docs. #19510, @ivanahuckova
|
||||
- Logs: Adds Logs Panel as a visualization. #19504, @davkal
|
||||
* Bug Fixes
|
||||
- CLI: Fix version selection for plugin install. #19498, @aocenas
|
||||
- Graph: Fixes minor issue with series override color picker and custom color . #19516, @torkelo
|
||||
|
||||
- Changes from 6.4.0 Beta 2
|
||||
* Features / Enhancements
|
||||
- Azure Monitor: Remove support for cross resource queries (#19115)". #19346, @sunker
|
||||
- Docker: Upgrade packages to resolve reported vulnerabilities. #19188, @marefr
|
||||
- Graphite: Time range expansion reduced from 1 minute to 1 second. #19246, @torkelo
|
||||
- grafana/toolkit: Add plugin creation task. #19207, @dprokop
|
||||
* Bug Fixes
|
||||
- Alerting: Prevents creating alerts from unsupported queries. #19250, @hugohaggmark
|
||||
- Alerting: Truncate PagerDuty summary when greater than 1024 characters. #18730, @nvllsvm
|
||||
- Cloudwatch: Fix autocomplete for Gamelift dimensions. #19146, @kevinpz
|
||||
- Dashboard: Fix export for sharing when panels use default data source. #19315, @torkelo
|
||||
- Database: Rewrite system statistics query to perform better. #19178, @papagian
|
||||
- Gauge/BarGauge: Fix issue with [object Object] in titles . #19217, @ryantxu
|
||||
- MSSQL: Revert usage of new connectionstring format introduced by #18384. #19203, @marefr
|
||||
- Multi-LDAP: Do not fail-fast on invalid credentials. #19261, @gotjosh
|
||||
- MySQL, Postgres, MSSQL: Fix validating query with template variables in alert . #19237, @marefr
|
||||
- MySQL, Postgres: Update raw sql when query builder updates. #19209, @marefr
|
||||
- MySQL: Limit datasource error details returned from the backend. #19373, @marefr
|
||||
|
||||
- Changes from 6.4.0 Beta 1
|
||||
* Features / Enhancements
|
||||
- API: Readonly datasources should not be created via the API. #19006, @papagian
|
||||
- Alerting: Include configured AlertRuleTags in Webhooks notifier. #18233, @dominic-miglar
|
||||
- Annotations: Add annotations support to Loki. #18949, @aocenas
|
||||
- Annotations: Use a single row to represent a region. #17673, @ryantxu
|
||||
- Auth: Allow inviting existing users when login form is disabled. #19048, @548017
|
||||
- Azure Monitor: Add support for cross resource queries. #19115, @sunker
|
||||
- CLI: Allow installing custom binary plugins. #17551, @aocenas
|
||||
- Dashboard: Adds Logs Panel (alpha) as visualization option for Dashboards. #18641, @hugohaggmark
|
||||
- Dashboard: Reuse query results between panels . #16660, @ryantxu
|
||||
- Dashboard: Set time to to 23:59:59 when setting To time using calendar. #18595, @simPod
|
||||
- DataLinks: Add DataLinks support to Gauge, BarGauge and SingleStat2 panel. #18605, @ryantxu
|
||||
- DataLinks: Enable access to labels & field names. #18918, @torkelo
|
||||
- DataLinks: Enable multiple data links per panel. #18434, @dprokop
|
||||
- Docker: switch docker image to alpine base with phantomjs support. #18468, @DanCech
|
||||
- Elasticsearch: allow templating queries to order by doc_count. #18870, @hackery
|
||||
- Explore: Add throttling when doing live queries. #19085, @aocenas
|
||||
- Explore: Adds ability to go back to dashboard, optionally with query changes. #17982, @kaydelaney
|
||||
- Explore: Reduce default time range to last hour. #18212, @davkal
|
||||
- Gauge/BarGauge: Support decimals for min/max. #18368, @ryantxu
|
||||
- Graph: New series override transform constant that renders a single point as a line across the whole graph. #19102, @davkal
|
||||
- Image rendering: Add deprecation warning when PhantomJS is used for rendering images. #18933, @papagian
|
||||
- InfluxDB: Enable interpolation within ad-hoc filter values. #18077, @kvc-code
|
||||
- LDAP: Allow an user to be synchronized against LDAP. #18976, @gotjosh
|
||||
- Ldap: Add ldap debug page. #18759, @peterholmberg
|
||||
- Loki: Remove prefetching of default label values. #18213, @davkal
|
||||
- Metrics: Add failed alert notifications metric. #18089, @koorgoo
|
||||
- OAuth: Support JMES path lookup when retrieving user email. #14683, @bobmshannon
|
||||
- OAuth: return GitLab groups as a part of user info (enable team sync). #18388, @alexanderzobnin
|
||||
- Panels: Add unit for electrical charge - ampere-hour. #18950, @anirudh-ramesh
|
||||
- Plugin: AzureMonitor - Reapply MetricNamespace support. #17282, @raphaelquati
|
||||
- Plugins: better warning when plugins fail to load. #18671, @ryantxu
|
||||
- Postgres: Add support for scram sha 256 authentication. #18397, @nonamef
|
||||
- RemoteCache: Support SSL with Redis. #18511, @kylebrandt
|
||||
- SingleStat: The gauge option in now disabled/hidden (unless it's an old panel with it already enabled) . #18610, @ryantxu
|
||||
- Stackdriver: Add extra alignment period options. #18909, @sunker
|
||||
- Units: Add South African Rand (ZAR) to currencies. #18893, @jeteon
|
||||
- Units: Adding T,P,E,Z,and Y bytes. #18706, @chiqomar
|
||||
* Bug Fixes
|
||||
- Alerting: Notification is sent when state changes from no_data to ok. #18920, @papagian
|
||||
- Alerting: fix duplicate alert states when the alert fails to save to the database. #18216, @kylebrandt
|
||||
- Alerting: fix response popover prompt when add notification channels. #18967, @lzdw
|
||||
- CloudWatch: Fix alerting for queries with Id (using GetMetricData). #17899, @alex-berger
|
||||
- Explore: Fix auto completion on label values for Loki. #18988, @aocenas
|
||||
- Explore: Fixes crash using back button with a zoomed in graph. #19122, @hugohaggmark
|
||||
- Explore: Fixes so queries in Explore are only run if Graph/Table is shown. #19000, @hugohaggmark
|
||||
- MSSQL: Change connectionstring to URL format to fix using passwords with semicolon. #18384, @Russiancold
|
||||
- MSSQL: Fix memory leak when debug enabled. #19049, @briangann
|
||||
- Provisioning: Allow escaping literal '$' with '$$' in configs to avoid interpolation. #18045, @kylebrandt
|
||||
- TimePicker: Fixes hiding time picker dropdown in FireFox. #19154, @hugohaggmark
|
||||
* Breaking changes
|
||||
+ Annotations
|
||||
There are some breaking changes in the annotations HTTP API for region annotations. Region annotations are now represented
|
||||
using a single event instead of two seperate events. Check breaking changes in HTTP API below and HTTP API documentation for more details.
|
||||
+ Docker
|
||||
Grafana is now using Alpine 3.10 as docker base image.
|
||||
+ HTTP API
|
||||
- GET /api/alert-notifications now requires at least editor access.
|
||||
New /api/alert-notifications/lookup returns less information than /api/alert-notifications and can be access by any authenticated user.
|
||||
- GET /api/alert-notifiers now requires at least editor access
|
||||
- GET /api/org/users now requires org admin role.
|
||||
New /api/org/users/lookup returns less information than /api/org/users and can be access by users that are org admins,
|
||||
admin in any folder or admin of any team.
|
||||
- GET /api/annotations no longer returns regionId property.
|
||||
- POST /api/annotations no longer supports isRegion property.
|
||||
- PUT /api/annotations/:id no longer supports isRegion property.
|
||||
- PATCH /api/annotations/:id no longer supports isRegion property.
|
||||
- DELETE /api/annotations/region/:id has been removed.
|
||||
* Deprecation notes
|
||||
+ PhantomJS
|
||||
- PhantomJS, which is used for rendering images of dashboards and panels,
|
||||
is deprecated and will be removed in a future Grafana release.
|
||||
A deprecation warning will from now on be logged when Grafana starts up if PhantomJS is in use.
|
||||
Please consider migrating from PhantomJS to the Grafana Image Renderer plugin.
|
||||
|
||||
- Changes from 6.3.6
|
||||
* Features / Enhancements
|
||||
- Metrics: Adds setting for turning off total stats metrics. #19142, @marefr
|
||||
* Bug Fixes
|
||||
- Database: Rewrite system statistics query to perform better. #19178, @papagian
|
||||
- Explore: Fixes error when switching from prometheus to loki data sources. #18599, @kaydelaney
|
||||
|
||||
- Rebase package spec. Use mostly from fedora, fix suse specified things and fix some errors.
|
||||
- Add missing directories provisioning/datasources and provisioning/notifiers
|
||||
and sample.yaml as described in packaging/rpm/control from upstream.
|
||||
Missing directories are shown in logfiles.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 05 08:07:21 UTC 2019 - simon.crute@grafana.com
|
||||
|
||||
|
664
grafana.spec
664
grafana.spec
@ -16,99 +16,490 @@
|
||||
#
|
||||
|
||||
|
||||
%define GRAFANA_USER %{name}
|
||||
%define GRAFANA_GROUP %{name}
|
||||
%define GRAFANA_HOME %{_datadir}/%{name}
|
||||
# Unbundle grafana vendor sources and instead use BuildRequires
|
||||
# only on platforms that have enough golang devel support.
|
||||
%global unbundle_vendor_sources 0
|
||||
|
||||
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
||||
%if ! %{defined _fillupdir}
|
||||
%define _fillupdir /var/adm/fillup-templates
|
||||
%endif
|
||||
|
||||
%bcond_with phantomjs
|
||||
# omit golang debugsource, see BZ995136 and related
|
||||
%global _debugsource_template %{nil}
|
||||
%global GRAFANA_USER %{name}
|
||||
%global GRAFANA_GROUP %{name}
|
||||
%global GRAFANA_HOME %{_datadir}/%{name}
|
||||
|
||||
Name: grafana
|
||||
Version: 6.3.5
|
||||
Release: 0
|
||||
Summary: Dashboards and editors for Graphite, InfluxDB, OpenTSDB
|
||||
Version: 6.4.3
|
||||
Release: 1%{?dist}
|
||||
Summary: Metrics dashboard and graph editor
|
||||
License: Apache-2.0
|
||||
Group: System/Monitoring
|
||||
Url: http://grafana.org/
|
||||
Source: %{name}-%{version}.tar.xz
|
||||
Source1: %{name}-rpmlintrc
|
||||
# Instructions on the build process
|
||||
Source2: README
|
||||
# Makefile to automate build process
|
||||
Source3: Makefile.no_phantomjs
|
||||
Source4: Makefile.phantomjs
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: go >= 1.11
|
||||
BuildRequires: golang-packaging
|
||||
BuildRequires: shadow
|
||||
URL: https://grafana.org
|
||||
# Source0 contains the tagged upstream sources
|
||||
Source0: https://github.com/grafana/grafana/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
# Source1 contains the front-end javascript modules bundled into a webpack
|
||||
Source1: grafana_webpack-%{version}.tar.gz
|
||||
# Source2 is the script to create the above webpack from grafana sources
|
||||
Source2: make_grafana_webpack.sh
|
||||
# rpmlintrc
|
||||
Source99: %{name}-rpmlintrc
|
||||
# Patches for upstream
|
||||
Patch1: 001-login-oauth-use-oauth2-exchange.patch
|
||||
Patch2: 002-remove-jaeger-tracing.patch
|
||||
Patch3: 003-new-files.patch
|
||||
Patch4: 004-distro-defaults-ini.patch
|
||||
#
|
||||
Requires(pre): shadow
|
||||
Requires(post): %insserv_prereq
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
%if %{with phantomjs}
|
||||
BuildRequires: phantomjs
|
||||
Requires: phantomjs
|
||||
%endif
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gettext-tools
|
||||
BuildRequires: config(krb5)
|
||||
BuildRequires: go >= 1.12.9
|
||||
BuildRequires: golang-packaging
|
||||
# Without cloudwatch you can not add data sources
|
||||
Requires: grafana-cloudwatch = %{version}-%{release}
|
||||
|
||||
%{?systemd_requires}
|
||||
|
||||
%description
|
||||
A graph and dashboard builder for visualizing time series metrics.
|
||||
Recommends: grafana-elasticsearch = %{version}-%{release}
|
||||
Recommends: grafana-azure-monitor = %{version}-%{release}
|
||||
Recommends: grafana-graphite = %{version}-%{release}
|
||||
Recommends: grafana-influxdb = %{version}-%{release}
|
||||
Recommends: grafana-loki = %{version}-%{release}
|
||||
Recommends: grafana-mssql = %{version}-%{release}
|
||||
Recommends: grafana-mysql = %{version}-%{release}
|
||||
Recommends: grafana-opentsdb = %{version}-%{release}
|
||||
Recommends: grafana-postgres = %{version}-%{release}
|
||||
Recommends: grafana-prometheus = %{version}-%{release}
|
||||
Recommends: grafana-stackdriver = %{version}-%{release}
|
||||
|
||||
%if 0%{?unbundle_vendor_sources}
|
||||
# golang build deps. These allow us to unbundle vendor golang source.
|
||||
BuildRequires: golang(github.com/BurntSushi/toml)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go)
|
||||
BuildRequires: golang(github.com/benbjohnson/clock)
|
||||
BuildRequires: golang(github.com/beorn7/perks/quantile)
|
||||
BuildRequires: golang(github.com/bmizerany/assert)
|
||||
BuildRequires: golang(github.com/bradfitz/gomemcache/memcache)
|
||||
BuildRequires: golang(github.com/codahale/hdrhistogram)
|
||||
BuildRequires: golang(github.com/codegangsta/cli)
|
||||
BuildRequires: golang(github.com/davecgh/go-spew/spew)
|
||||
BuildRequires: golang(github.com/denisenkom/go-mssqldb)
|
||||
BuildRequires: golang(github.com/facebookgo/inject)
|
||||
BuildRequires: golang(github.com/facebookgo/structtag)
|
||||
BuildRequires: golang(github.com/fatih/color)
|
||||
BuildRequires: golang(github.com/go-ini/ini)
|
||||
BuildRequires: golang(github.com/go-macaron/binding)
|
||||
BuildRequires: golang(github.com/go-macaron/gzip)
|
||||
BuildRequires: golang(github.com/go-macaron/inject)
|
||||
BuildRequires: golang(github.com/go-macaron/session)
|
||||
BuildRequires: golang(github.com/go-sql-driver/mysql)
|
||||
BuildRequires: golang(github.com/go-stack/stack)
|
||||
BuildRequires: golang(github.com/go-xorm/builder)
|
||||
BuildRequires: golang(github.com/go-xorm/core)
|
||||
BuildRequires: golang(github.com/go-xorm/xorm)
|
||||
BuildRequires: golang(github.com/gobwas/glob)
|
||||
BuildRequires: golang(github.com/gobwas/glob/compiler)
|
||||
BuildRequires: golang(github.com/gobwas/glob/match)
|
||||
BuildRequires: golang(github.com/gobwas/glob/syntax)
|
||||
BuildRequires: golang(github.com/gobwas/glob/syntax/ast)
|
||||
BuildRequires: golang(github.com/gobwas/glob/syntax/lexer)
|
||||
BuildRequires: golang(github.com/gobwas/glob/util/runes)
|
||||
BuildRequires: golang(github.com/gobwas/glob/util/strings)
|
||||
BuildRequires: golang(github.com/gopherjs/gopherjs/js)
|
||||
BuildRequires: golang(github.com/gorilla/websocket)
|
||||
BuildRequires: golang(github.com/gosimple/slug)
|
||||
BuildRequires: golang(github.com/hashicorp/go-hclog)
|
||||
BuildRequires: golang(golang.org/x/sys/unix)
|
||||
BuildRequires: golang(google.golang.org/appengine)
|
||||
BuildRequires: golang(google.golang.org/genproto/googleapis/rpc/status)
|
||||
BuildRequires: golang(google.golang.org/grpc)
|
||||
# need grpc_broker in go-plugin >= 1.0.0-1
|
||||
BuildRequires: golang-github-prometheus-common-devel
|
||||
BuildRequires: golang(cloud.google.com/go/compute/metadata)
|
||||
BuildRequires: golang(github.com/Unknwon/com)
|
||||
BuildRequires: golang(github.com/VividCortex/mysqlerr)
|
||||
BuildRequires: golang(github.com/go-bufio/bufio)
|
||||
BuildRequires: golang(github.com/go-ini/ini)
|
||||
BuildRequires: golang(github.com/go-macaron/macaron)
|
||||
BuildRequires: golang(github.com/go-redis/redis)
|
||||
BuildRequires: golang(github.com/go-yaml/yaml)
|
||||
BuildRequires: golang(github.com/golang/protobuf/proto)
|
||||
BuildRequires: golang(github.com/golang/protobuf/ptypes)
|
||||
BuildRequires: golang(github.com/golang/protobuf/ptypes)
|
||||
BuildRequires: golang(github.com/golang/protobuf/ptypes/any)
|
||||
BuildRequires: golang(github.com/golang/protobuf/ptypes/duration)
|
||||
BuildRequires: golang(github.com/golang/protobuf/ptypes/timestamp)
|
||||
BuildRequires: golang(github.com/hashicorp/go-plugin)
|
||||
BuildRequires: golang(github.com/hashicorp/go-version)
|
||||
BuildRequires: golang(github.com/hashicorp/yamux)
|
||||
BuildRequires: golang(github.com/inconshreveable/log15)
|
||||
BuildRequires: golang(github.com/jmespath/go-jmespath)
|
||||
BuildRequires: golang(github.com/jonboulle/clockwork)
|
||||
BuildRequires: golang(github.com/jtolds/gls)
|
||||
BuildRequires: golang(github.com/klauspost/compress/flate)
|
||||
BuildRequires: golang(github.com/klauspost/compress/gzip)
|
||||
BuildRequires: golang(github.com/klauspost/compress/snappy)
|
||||
BuildRequires: golang(github.com/klauspost/cpuid)
|
||||
BuildRequires: golang(github.com/klauspost/crc32)
|
||||
BuildRequires: golang(github.com/kr/pretty)
|
||||
BuildRequires: golang(github.com/kr/text)
|
||||
BuildRequires: golang(github.com/lib/pq)
|
||||
BuildRequires: golang(github.com/mattn/go-colorable)
|
||||
BuildRequires: golang(github.com/mattn/go-isatty)
|
||||
BuildRequires: golang(github.com/mattn/go-sqlite3)
|
||||
BuildRequires: golang(github.com/matttproud/golang_protobuf_extensions/pbutil)
|
||||
BuildRequires: golang(github.com/mitchellh/go-testing-interface)
|
||||
BuildRequires: golang(github.com/oklog/run)
|
||||
BuildRequires: golang(github.com/opentracing/opentracing-go)
|
||||
BuildRequires: golang(github.com/patrickmn/go-cache)
|
||||
BuildRequires: golang(github.com/pkg/errors)
|
||||
BuildRequires: golang(github.com/prometheus/client_golang/api)
|
||||
BuildRequires: golang(github.com/prometheus/client_golang/api/prometheus/v1)
|
||||
BuildRequires: golang(github.com/prometheus/client_model/go)
|
||||
BuildRequires: golang(github.com/prometheus/common/expfmt)
|
||||
BuildRequires: golang(github.com/prometheus/common/expfmt)
|
||||
BuildRequires: golang(github.com/prometheus/common/model)
|
||||
BuildRequires: golang(github.com/prometheus/procfs)
|
||||
BuildRequires: golang(github.com/prometheus/procfs)
|
||||
BuildRequires: golang(github.com/prometheus/procfs/internal/util)
|
||||
BuildRequires: golang(github.com/prometheus/procfs/internal/util)
|
||||
BuildRequires: golang(github.com/prometheus/procfs/nfs)
|
||||
BuildRequires: golang(github.com/prometheus/procfs/xfs)
|
||||
BuildRequires: golang(github.com/rainycape/unidecode)
|
||||
BuildRequires: golang(github.com/sergi/go-diff/diffmatchpatch)
|
||||
BuildRequires: golang(github.com/smartystreets/assertions)
|
||||
BuildRequires: golang(github.com/smartystreets/goconvey/convey)
|
||||
BuildRequires: golang(github.com/smartystreets/goconvey/convey/gotest)
|
||||
BuildRequires: golang(github.com/smartystreets/goconvey/convey/reporting)
|
||||
BuildRequires: golang(github.com/teris-io/shortid)
|
||||
BuildRequires: golang(github.com/yudai/gojsondiff)
|
||||
BuildRequires: golang(github.com/yudai/golcs)
|
||||
BuildRequires: golang(golang.org/x/crypto/ed25519)
|
||||
BuildRequires: golang(golang.org/x/crypto/md4)
|
||||
BuildRequires: golang(golang.org/x/crypto/pbkdf2)
|
||||
BuildRequires: golang(golang.org/x/net/context)
|
||||
BuildRequires: golang(golang.org/x/net/context/ctxhttp)
|
||||
BuildRequires: golang(golang.org/x/net/http/httpguts)
|
||||
BuildRequires: golang(golang.org/x/net/http2)
|
||||
BuildRequires: golang(golang.org/x/net/http2/hpack)
|
||||
BuildRequires: golang(golang.org/x/net/idna)
|
||||
BuildRequires: golang(golang.org/x/net/internal/timeseries)
|
||||
BuildRequires: golang(golang.org/x/net/trace)
|
||||
BuildRequires: golang(golang.org/x/oauth2)
|
||||
BuildRequires: golang(golang.org/x/oauth2/google)
|
||||
BuildRequires: golang(golang.org/x/oauth2/internal)
|
||||
BuildRequires: golang(golang.org/x/oauth2/jws)
|
||||
BuildRequires: golang(golang.org/x/oauth2/jwt)
|
||||
BuildRequires: golang(golang.org/x/sync/errgroup)
|
||||
BuildRequires: golang(golang.org/x/text/collate)
|
||||
BuildRequires: golang(golang.org/x/text/collate/build)
|
||||
BuildRequires: golang(golang.org/x/text/internal/colltab)
|
||||
BuildRequires: golang(golang.org/x/text/internal/gen)
|
||||
BuildRequires: golang(golang.org/x/text/internal/tag)
|
||||
BuildRequires: golang(golang.org/x/text/internal/triegen)
|
||||
BuildRequires: golang(golang.org/x/text/internal/ucd)
|
||||
BuildRequires: golang(gopkg.in/alexcesaro/quotedprintable.v3)
|
||||
BuildRequires: golang(gopkg.in/asn1-ber.v1)
|
||||
BuildRequires: golang(gopkg.in/ldap.v3)
|
||||
BuildRequires: golang(gopkg.in/mail.v2)
|
||||
BuildRequires: golang(gopkg.in/square/go-jose.v2)
|
||||
BuildRequires: golang(gopkg.in/square/go-jose.v2/cipher)
|
||||
BuildRequires: golang(gopkg.in/square/go-jose.v2/json)
|
||||
%endif
|
||||
|
||||
# Declare all nodejs modules bundled in the webpack - this is for security
|
||||
# purposes so if nodejs-foo ever needs an update, affected packages can be
|
||||
# easily identified. This is generated from package-lock.json once the webpack
|
||||
# has been built with make_webpack.sh.
|
||||
Provides: bundled(nodejs-abbrev) = 1.1.1
|
||||
Provides: bundled(nodejs-ansi-regex) = 2.1.1
|
||||
Provides: bundled(nodejs-ansi-styles) = 2.2.1
|
||||
Provides: bundled(nodejs-argparse) = 1.0.10
|
||||
Provides: bundled(nodejs-array-find-index) = 1.0.2
|
||||
Provides: bundled(nodejs-async) = 1.5.2
|
||||
Provides: bundled(nodejs-balanced-match) = 1.0.0
|
||||
Provides: bundled(nodejs-brace-expansion) = 1.1.11
|
||||
Provides: bundled(nodejs-builtin-modules) = 1.1.1
|
||||
Provides: bundled(nodejs-camelcase) = 2.1.1
|
||||
Provides: bundled(nodejs-camelcase-keys) = 2.1.0
|
||||
Provides: bundled(nodejs-chalk) = 1.1.3
|
||||
Provides: bundled(nodejs-coffee-script) = 1.10.0
|
||||
Provides: bundled(nodejs-colors) = 1.1.2
|
||||
Provides: bundled(nodejs-concat-map) = 0.0.1
|
||||
Provides: bundled(nodejs-currently-unhandled) = 0.4.1
|
||||
Provides: bundled(nodejs-dateformat) = 1.0.12
|
||||
Provides: bundled(nodejs-decamelize) = 1.2.0
|
||||
Provides: bundled(nodejs-error-ex) = 1.3.2
|
||||
Provides: bundled(nodejs-escape-string-regexp) = 1.0.5
|
||||
Provides: bundled(nodejs-esprima) = 2.7.3
|
||||
Provides: bundled(nodejs-eventemitter2) = 0.4.14
|
||||
Provides: bundled(nodejs-exit) = 0.1.2
|
||||
Provides: bundled(nodejs-find-up) = 1.1.2
|
||||
Provides: bundled(nodejs-findup-sync) = 0.3.0
|
||||
Provides: bundled(nodejs-fs.realpath) = 1.0.0
|
||||
Provides: bundled(nodejs-get-stdin) = 4.0.1
|
||||
Provides: bundled(nodejs-getobject) = 0.1.0
|
||||
Provides: bundled(nodejs-glob) = 7.0.6
|
||||
Provides: bundled(nodejs-graceful-fs) = 4.1.15
|
||||
Provides: bundled(nodejs-grunt) = 1.0.1
|
||||
Provides: bundled(nodejs-grunt-cli) = 1.2.0
|
||||
Provides: bundled(nodejs-grunt-known-options) = 1.1.1
|
||||
Provides: bundled(nodejs-grunt-legacy-log) = 1.0.2
|
||||
Provides: bundled(nodejs-grunt-legacy-log-utils) = 1.0.0
|
||||
Provides: bundled(nodejs-grunt-legacy-util) = 1.0.0
|
||||
Provides: bundled(nodejs-has-ansi) = 2.0.0
|
||||
Provides: bundled(nodejs-hooker) = 0.2.3
|
||||
Provides: bundled(nodejs-hosted-git-info) = 2.7.1
|
||||
Provides: bundled(nodejs-iconv-lite) = 0.4.24
|
||||
Provides: bundled(nodejs-indent-string) = 2.1.0
|
||||
Provides: bundled(nodejs-inflight) = 1.0.6
|
||||
Provides: bundled(nodejs-inherits) = 2.0.3
|
||||
Provides: bundled(nodejs-is-arrayish) = 0.2.1
|
||||
Provides: bundled(nodejs-is-builtin-module) = 1.0.0
|
||||
Provides: bundled(nodejs-is-finite) = 1.0.2
|
||||
Provides: bundled(nodejs-is-utf8) = 0.2.1
|
||||
Provides: bundled(nodejs-isexe) = 2.0.0
|
||||
Provides: bundled(nodejs-js-yaml) = 3.5.5
|
||||
Provides: bundled(nodejs-load-json-file) = 1.1.0
|
||||
Provides: bundled(nodejs-lodash) = 4.17.11
|
||||
Provides: bundled(nodejs-loud-rejection) = 1.6.0
|
||||
Provides: bundled(nodejs-map-obj) = 1.0.1
|
||||
Provides: bundled(nodejs-meow) = 3.7.0
|
||||
Provides: bundled(nodejs-minimatch) = 3.0.4
|
||||
Provides: bundled(nodejs-minimist) = 1.2.0
|
||||
Provides: bundled(nodejs-nopt) = 3.0.6
|
||||
Provides: bundled(nodejs-normalize-package-data) = 2.4.2
|
||||
Provides: bundled(nodejs-number-is-nan) = 1.0.1
|
||||
Provides: bundled(nodejs-object-assign) = 4.1.1
|
||||
Provides: bundled(nodejs-once) = 1.4.0
|
||||
Provides: bundled(nodejs-parse-json) = 2.2.0
|
||||
Provides: bundled(nodejs-path-exists) = 2.1.0
|
||||
Provides: bundled(nodejs-path-is-absolute) = 1.0.1
|
||||
Provides: bundled(nodejs-path-type) = 1.1.0
|
||||
Provides: bundled(nodejs-pify) = 2.3.0
|
||||
Provides: bundled(nodejs-pinkie) = 2.0.4
|
||||
Provides: bundled(nodejs-pinkie-promise) = 2.0.1
|
||||
Provides: bundled(nodejs-read-pkg) = 1.1.0
|
||||
Provides: bundled(nodejs-read-pkg-up) = 1.0.1
|
||||
Provides: bundled(nodejs-redent) = 1.0.0
|
||||
Provides: bundled(nodejs-repeating) = 2.0.1
|
||||
Provides: bundled(nodejs-resolve) = 1.1.7
|
||||
Provides: bundled(nodejs-rimraf) = 2.2.8
|
||||
Provides: bundled(nodejs-safer-buffer) = 2.1.2
|
||||
Provides: bundled(nodejs-semver) = 5.6.0
|
||||
Provides: bundled(nodejs-signal-exit) = 3.0.2
|
||||
Provides: bundled(nodejs-spdx-correct) = 3.1.0
|
||||
Provides: bundled(nodejs-spdx-exceptions) = 2.2.0
|
||||
Provides: bundled(nodejs-spdx-expression-parse) = 3.0.0
|
||||
Provides: bundled(nodejs-spdx-license-ids) = 3.0.3
|
||||
Provides: bundled(nodejs-sprintf-js) = 1.0.3
|
||||
Provides: bundled(nodejs-strip-ansi) = 3.0.1
|
||||
Provides: bundled(nodejs-strip-bom) = 2.0.0
|
||||
Provides: bundled(nodejs-strip-indent) = 1.0.1
|
||||
Provides: bundled(nodejs-supports-color) = 2.0.0
|
||||
Provides: bundled(nodejs-trim-newlines) = 1.0.0
|
||||
Provides: bundled(nodejs-underscore.string) = 3.2.3
|
||||
Provides: bundled(nodejs-validate-npm-package-license) = 3.0.4
|
||||
Provides: bundled(nodejs-which) = 1.2.14
|
||||
Provides: bundled(nodejs-wrappy) = 1.0.2
|
||||
Provides: bundled(nodejs-yarn) = 1.13.0
|
||||
|
||||
%description
|
||||
Grafana is an open source, feature rich metrics dashboard and graph editor for
|
||||
Graphite, InfluxDB & OpenTSDB.
|
||||
|
||||
|
||||
%package cloudwatch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana cloudwatch datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description cloudwatch
|
||||
The Grafana cloudwatch datasource.
|
||||
|
||||
%package elasticsearch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana elasticsearch datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description elasticsearch
|
||||
The Grafana elasticsearch datasource.
|
||||
|
||||
%package azure-monitor
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana azure-monitor datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description azure-monitor
|
||||
The Grafana azure-monitor datasource.
|
||||
|
||||
%package graphite
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana graphite datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description graphite
|
||||
The Grafana graphite datasource.
|
||||
|
||||
%package influxdb
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana influxdb datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description influxdb
|
||||
The Grafana influxdb datasource.
|
||||
|
||||
%package loki
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana loki datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description loki
|
||||
The Grafana loki datasource.
|
||||
|
||||
%package mssql
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana mssql datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description mssql
|
||||
The Grafana mssql datasource.
|
||||
|
||||
%package mysql
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana mysql datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description mysql
|
||||
The Grafana mysql datasource.
|
||||
|
||||
%package opentsdb
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana opentsdb datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description opentsdb
|
||||
The Grafana opentsdb datasource.
|
||||
|
||||
%package postgres
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana postgres datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description postgres
|
||||
The Grafana postgres datasource.
|
||||
|
||||
%package prometheus
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana prometheus datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description prometheus
|
||||
The Grafana prometheus datasource.
|
||||
|
||||
%package stackdriver
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana stackdriver datasource
|
||||
Group: System/Monitoring
|
||||
|
||||
%description stackdriver
|
||||
The Grafana stackdriver datasource.
|
||||
|
||||
Grafana provides ways to create, explore, and share
|
||||
dashboards and data with teams.
|
||||
|
||||
%prep
|
||||
%setup -q -n grafana-%{version}
|
||||
%if %{with phantomjs}
|
||||
cp %{S:4} %_sourcedir/Makefile
|
||||
%else
|
||||
cp %{S:3} %_sourcedir/Makefile
|
||||
%setup -q -T -D -b 0
|
||||
%setup -q -T -D -b 1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
# Set up build subdirs and links
|
||||
mkdir -p %{_builddir}/src/github.com/grafana
|
||||
ln -sf %{_builddir}/%{name}-%{version} \
|
||||
%{_builddir}/src/github.com/grafana/grafana
|
||||
|
||||
# remove some (apparent) development files, for rpmlint
|
||||
rm -f public/sass/.sass-lint.yml public/test/.jshintrc
|
||||
|
||||
%if 0%{?unbundle_vendor_sources}
|
||||
# Unbundle all grafana vendor sources, as per BuildRequires above.
|
||||
# An exception is grafana-plugin-model, which is part of grafana.
|
||||
# Another exception is xerrors, which is a transition package
|
||||
# for the new Go 1.13 error values, see https://github.com/golang/xerrors
|
||||
cp --parents -a vendor/github.com/grafana vendor/golang.org/x/xerrors \
|
||||
vendor/github.com/robfig vendor/github.com/crewjam/saml \
|
||||
vendor/github.com/ua-parser/uap-go/uaparser \
|
||||
vendor/github.com/beevik/etree \
|
||||
vendor/github.com/russellhaering/goxmldsig \
|
||||
%{_builddir}
|
||||
rm -r vendor # remove all vendor sources
|
||||
mv %{_builddir}/vendor vendor # put back what we're keeping
|
||||
%endif
|
||||
|
||||
%build
|
||||
%goprep github.com/grafana/grafana
|
||||
# Manual build in order to inject ldflags so grafana correctly displays
|
||||
# the version in the footer of each page. Note that we're only injecting
|
||||
# main.version, not main.commit or main.buildstamp as is done in the upstream
|
||||
# build.go, because we don't have access to the git commit history here.
|
||||
# (The %%gobuild macro can't take quoted strings; they get split up when
|
||||
# expanded to $extra_flags in process_build() in /usr/lib/rpm/golang.sh.)
|
||||
export IMPORTPATH="github.com/grafana/grafana"
|
||||
export BUILDFLAGS="-v -p 4 -x -buildmode=pie"
|
||||
export GOPATH=%{_builddir}/go:%{_builddir}/contrib
|
||||
export GOBIN=%{_builddir}/go/bin
|
||||
go install $BUILDFLAGS -ldflags '-X main.version=%{version}' $IMPORTPATH/pkg/cmd/...
|
||||
export GOPATH=%{_builddir}:%{_builddir}/contrib
|
||||
###go install $BUILDFLAGS -ldflags '-X main.version=%%{version}' $IMPORTPATH/pkg/cmd/...
|
||||
cd %{_builddir}/src/github.com/grafana/grafana
|
||||
go run build.go setup
|
||||
go run build.go build
|
||||
|
||||
%install
|
||||
%goinstall
|
||||
|
||||
# we're missing %%gosrc and %%gofilelist... (although that *might* be ok...)
|
||||
# Fix up arch bin directories
|
||||
[ ! -d bin/x86_64 ] && ln -sf linux-amd64 bin/x86_64
|
||||
[ ! -d bin/i386 ] && ln -sf linux-386 bin/i386
|
||||
[ ! -d bin/ppc64le ] && ln -sf linux-ppc64le bin/ppc64le
|
||||
[ ! -d bin/s390x ] && ln -sf linux-s390x bin/s390x
|
||||
[ ! -d bin/arm ] && ln -sf linux-arm bin/arm
|
||||
[ ! -d bin/arm64 ] && ln -sf linux-arm64 bin/aarch64
|
||||
[ ! -d bin/aarch64 ] && ln -sf linux-aarch64 bin/aarch64
|
||||
|
||||
install -Dm644 {packaging/rpm/systemd/,%{buildroot}%{_unitdir}/}%{name}-server.service
|
||||
install -dm755 %{buildroot}%{_sbindir}
|
||||
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-server
|
||||
mv %{buildroot}/%{_bindir}/grafana-* %{buildroot}/%{_sbindir}
|
||||
|
||||
install -Dm644 packaging/rpm/sysconfig/%{name}-server \
|
||||
%{buildroot}%{_fillupdir}/sysconfig.%{name}-server
|
||||
|
||||
install -d -m0750 %{buildroot}%{_localstatedir}/lib/%{name}
|
||||
# dirs
|
||||
install -d -m0755 %{buildroot}%{_sbindir}
|
||||
install -d -m0755 %{buildroot}%{_datadir}/%{name}
|
||||
install -d -m0755 %{buildroot}%{_datadir}/%{name}/bin
|
||||
install -d -m0755 %{buildroot}%{_datadir}/%{name}/tools
|
||||
install -d -m0755 %{buildroot}%{_datadir}/%{name}/vendor
|
||||
install -d -m0750 %{buildroot}%{_localstatedir}/log/%{name}
|
||||
install -d -m0755 %{buildroot}/%{_localstatedir}/lib/%{name}/plugins
|
||||
install -d -m0755 %{buildroot}/%{_localstatedir}/lib/%{name}/dashboards
|
||||
install -d -m0750 %{buildroot}%{_sharedstatedir}/%{name}
|
||||
install -d -m0755 %{buildroot}%{_sharedstatedir}/%{name}/plugins
|
||||
install -d -m0755 %{buildroot}%{_sharedstatedir}/%{name}/dashboards
|
||||
install -d -m0755 %{buildroot}%{_sysconfdir}/%{name}/provisioning/dashboards
|
||||
install -d -m0755 %{buildroot}%{_sysconfdir}/%{name}/provisioning/datasources
|
||||
install -d -m0755 %{buildroot}%{_sysconfdir}/%{name}/provisioning/notifiers
|
||||
|
||||
# wrappers
|
||||
sed -i -e 's|\/usr\/bin\/env bash|\/bin\/bash|g' packaging/wrappers/grafana-cli
|
||||
install -p -m 755 packaging/wrappers/grafana-cli %{buildroot}%{_sbindir}/%{name}-cli
|
||||
|
||||
# binaries
|
||||
install -p -m 755 bin/%{_arch}/%{name}-server %{buildroot}%{_sbindir}
|
||||
install -p -m 755 bin/%{_arch}/%{name}-cli %{buildroot}%{_datadir}/%{name}/bin
|
||||
|
||||
# man pages
|
||||
install -d -m0755 %{buildroot}%{_mandir}/man1
|
||||
install -p -m0644 docs/man/man1/* %{buildroot}%{_mandir}/man1
|
||||
|
||||
# configs defaults
|
||||
install -Dm640 conf/sample.ini %{buildroot}%{_sysconfdir}/%{name}/%{name}.ini
|
||||
install -Dm640 {conf/,%{buildroot}%{_sysconfdir}/%{name}/}ldap.toml
|
||||
install -Dm644 {conf/,%{buildroot}%{_datadir}/%{name}/conf/}defaults.ini
|
||||
install -m644 {conf/,%{buildroot}%{_datadir}/%{name}/conf/}sample.ini
|
||||
install -Dm644 {conf/provisioning/dashboards/,%{buildroot}%{_datadir}/%{name}/conf/provisioning/dashboards/}sample.yaml
|
||||
install -Dm644 {conf/provisioning/datasources/,%{buildroot}%{_datadir}/%{name}/conf/provisioning/datasources/}sample.yaml
|
||||
cp -pr public %{buildroot}%{_datadir}/%{name}/
|
||||
install -d -m755 %{buildroot}%{_datadir}/%{name}/vendor
|
||||
install -d -m755 %{buildroot}%{_datadir}/%{name}/tools
|
||||
cp -a conf/provisioning %{buildroot}%{_sysconfdir}/%{name}
|
||||
|
||||
# sysconfig
|
||||
install -Dm644 packaging/rpm/sysconfig/%{name}-server %{buildroot}%{_fillupdir}/sysconfig.%{name}-server
|
||||
|
||||
# rest
|
||||
cp -a conf public %{buildroot}%{_datadir}/%{name}
|
||||
|
||||
# systemd
|
||||
install -Dm644 {packaging/rpm/systemd/,%{buildroot}%{_unitdir}/}%{name}-server.service
|
||||
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-server
|
||||
|
||||
# daemon run pid file config for using tmpfs
|
||||
install -d %{buildroot}%{_tmpfilesdir}
|
||||
echo "d %{_rundir}/%{name} 0755 %{GRAFANA_USER} %{GRAFANA_GROUP} -" > %{buildroot}%{_tmpfilesdir}/%{name}.conf
|
||||
|
||||
%if %{with phantomjs}
|
||||
# phantomjs is used for rendering PNG images of graphs. The frontend asset
|
||||
@ -127,19 +518,28 @@ ln -s %{_bindir}/phantomjs %{buildroot}%{_datadir}/%{name}/tools/phantomjs/phant
|
||||
%fdupes %{buildroot}/%{_datadir}
|
||||
|
||||
%check
|
||||
#gotest github.com/grafana/grafana/pkg...
|
||||
cd %{_builddir}/src/github.com/grafana/grafana
|
||||
###export GOPATH=%%{_builddir}:%%{gopath}
|
||||
export GOPATH=%{_builddir}
|
||||
# remove tests currently failing
|
||||
rm -f pkg/services/provisioning/dashboards/file_reader_linux_test.go
|
||||
rm -f pkg/services/provisioning/dashboards/file_reader_test.go
|
||||
rm -f pkg/services/sqlstore/alert_test.go
|
||||
rm -f pkg/services/sqlstore/apikey_test.go
|
||||
rm -f pkg/setting/setting_test.go
|
||||
go test ./pkg/...
|
||||
|
||||
%pre
|
||||
%service_add_pre %{name}-server.service
|
||||
|
||||
echo "Creating user %{GRAFANA_USER} and group %{GRAFANA_GROUP} if not present"
|
||||
echo Creating user %{GRAFANA_USER} and group %{GRAFANA_GROUP} if not present
|
||||
getent group %{GRAFANA_GROUP} > /dev/null || groupadd -r %{GRAFANA_GROUP}
|
||||
getent passwd %{GRAFANA_GROUP} > /dev/null || useradd -r -g %{GRAFANA_GROUP} \
|
||||
-d %{GRAFANA_HOME} -s /sbin/nologin -c "%{GRAFANA_USER} user" %{GRAFANA_GROUP}
|
||||
getent passwd %{GRAFANA_USER} > /dev/null || useradd -r -g %{GRAFANA_GROUP} -d %{GRAFANA_HOME} -s /sbin/nologin -c "%{GRAFANA_USER} user" %{GRAFANA_USER}
|
||||
exit 0
|
||||
|
||||
%post
|
||||
%{fillup_only -n %{name}-server}
|
||||
%service_add_post %{name}-server.service
|
||||
%fillup_only -n %{name}-server
|
||||
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
||||
|
||||
%preun
|
||||
%service_del_preun %{name}-server.service
|
||||
@ -148,27 +548,101 @@ getent passwd %{GRAFANA_GROUP} > /dev/null || useradd -r -g %{GRAFANA_GROUP} \
|
||||
%service_del_postun %{name}-server.service
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%license LICENSE*
|
||||
%doc CHANGELOG*
|
||||
%{_sbindir}/%{name}*
|
||||
%{_sbindir}/rc%{name}-server
|
||||
%{_unitdir}/%{name}-server.service
|
||||
%{_fillupdir}/sysconfig.%{name}-server
|
||||
%attr(0755,root,root) %dir %{_sysconfdir}/%{name}
|
||||
%attr(0755,root,root) %dir %{_sysconfdir}/%{name}/provisioning
|
||||
%attr(0755,root,root) %dir %{_sysconfdir}/%{name}/provisioning/dashboards
|
||||
%attr(0755,root,%{GRAFANA_GROUP}) %dir %{_datadir}/%{name}/conf
|
||||
%attr(0640,root,%{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.ini
|
||||
%attr(0640,root,%{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/ldap.toml
|
||||
%attr(0755,%{GRAFANA_USER},%{GRAFANA_GROUP}) %dir %{_localstatedir}/lib/%{name}
|
||||
%attr(0755,%{GRAFANA_USER},%{GRAFANA_GROUP}) %dir %{_localstatedir}/lib/%{name}/plugins
|
||||
%attr(0755,%{GRAFANA_USER},%{GRAFANA_GROUP}) %dir %{_localstatedir}/lib/%{name}/dashboards
|
||||
%attr(0750,%{GRAFANA_USER},%{GRAFANA_GROUP}) %dir %{_localstatedir}/log/%{name}
|
||||
%doc %{_datadir}/%{name}/conf/sample.ini
|
||||
%doc %{_datadir}/%{name}/conf/provisioning/dashboards/sample.yaml
|
||||
%doc %{_datadir}/%{name}/conf/provisioning/datasources/sample.yaml
|
||||
%config %{_datadir}/%{name}/conf/defaults.ini
|
||||
%license LICENSE
|
||||
%doc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md NOTICE.md
|
||||
%doc PLUGIN_DEV.md README.md ROADMAP.md UPGRADING_DEPENDENCIES.md
|
||||
# binaries
|
||||
%{_sbindir}/%{name}-server
|
||||
%{_sbindir}/%{name}-cli
|
||||
# config files
|
||||
%attr(0755, root, root) %dir %{_sysconfdir}/%{name}
|
||||
%attr(0755, root, root) %dir %{_sysconfdir}/%{name}/provisioning
|
||||
%attr(0755, root, root) %dir %{_sysconfdir}/%{name}/provisioning/dashboards
|
||||
%attr(0755, root, root) %dir %{_sysconfdir}/%{name}/provisioning/datasources
|
||||
%attr(0755, root, root) %dir %{_sysconfdir}/%{name}/provisioning/notifiers
|
||||
%attr(0640, root, %{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/grafana.ini
|
||||
%attr(0640, root, %{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/ldap.toml
|
||||
%attr(0640, root, %{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/provisioning/dashboards/sample.yaml
|
||||
%attr(0640, root, %{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/provisioning/datasources/sample.yaml
|
||||
%attr(0640, root, %{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/provisioning/notifiers/sample.yaml
|
||||
# config database directory and plugins (actual db files are created by grafana-server)
|
||||
%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}
|
||||
%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/plugins
|
||||
%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/dashboards
|
||||
# log directory - grafana.log is created by grafana-server, and it does it's own log rotation
|
||||
%attr(0750, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_localstatedir}/log/%{name}
|
||||
# built-in datasources that are sub-packaged
|
||||
%global dsdir %{_datadir}/%{name}/public/app/plugins/datasource
|
||||
%exclude %{dsdir}/cloudwatch
|
||||
%exclude %{dsdir}/elasticsearch
|
||||
%exclude %{dsdir}/graphite
|
||||
%exclude %{dsdir}/grafana-azure-monitor-datasource
|
||||
%exclude %{dsdir}/influxdb
|
||||
%exclude %{dsdir}/loki
|
||||
%exclude %{dsdir}/mssql
|
||||
%exclude %{dsdir}/mysql
|
||||
%exclude %{dsdir}/opentsdb
|
||||
%exclude %{dsdir}/postgres
|
||||
%exclude %{dsdir}/prometheus
|
||||
%exclude %{dsdir}/stackdriver
|
||||
# shared directory and all files therein, except some datasources
|
||||
%attr(0755, root, %{GRAFANA_GROUP}) %dir %{_datadir}/%{name}
|
||||
%attr(0755, root, %{GRAFANA_GROUP}) %dir %{_datadir}/%{name}/bin
|
||||
%attr(0755, root, %{GRAFANA_GROUP}) %dir %{_datadir}/%{name}/public
|
||||
%attr(0755, root, %{GRAFANA_GROUP}) %dir %{_datadir}/%{name}/conf
|
||||
%attr(0644, root, %{GRAFANA_GROUP}) %config %{_datadir}/%{name}/conf/*.{ini,toml}
|
||||
%attr(0644, root, %{GRAFANA_GROUP}) %config %{_datadir}/%{name}/conf/provisioning/dashboards/sample.yaml
|
||||
%attr(0644, root, %{GRAFANA_GROUP}) %config %{_datadir}/%{name}/conf/provisioning/datasources/sample.yaml
|
||||
%attr(0644, root, %{GRAFANA_GROUP}) %config %{_datadir}/%{name}/conf/provisioning/notifiers/sample.yaml
|
||||
%{_datadir}/%{name}
|
||||
# systemd service file
|
||||
%{_unitdir}/grafana-server.service
|
||||
%{_sbindir}/rc%{name}-server
|
||||
# man pages for grafana binaries
|
||||
%{_mandir}/man1/%{name}-server.1*
|
||||
%{_mandir}/man1/%{name}-cli.1*
|
||||
# other
|
||||
%{_fillupdir}/sysconfig.%{name}-server
|
||||
%{_tmpfilesdir}/%{name}.conf
|
||||
%ghost %dir %{_rundir}/%{name}
|
||||
|
||||
#
|
||||
# datasources split out into subpackages
|
||||
#
|
||||
%files cloudwatch
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/cloudwatch
|
||||
|
||||
%files elasticsearch
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/elasticsearch
|
||||
|
||||
%files azure-monitor
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/grafana-azure-monitor-datasource
|
||||
|
||||
%files graphite
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/graphite
|
||||
|
||||
%files influxdb
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/influxdb
|
||||
|
||||
%files loki
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/loki
|
||||
|
||||
%files mssql
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/mssql
|
||||
|
||||
%files mysql
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/mysql
|
||||
|
||||
%files opentsdb
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/opentsdb
|
||||
|
||||
%files postgres
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/postgres
|
||||
|
||||
%files prometheus
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/prometheus
|
||||
|
||||
%files stackdriver
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/stackdriver
|
||||
|
||||
%changelog
|
||||
|
3
grafana_webpack-6.4.3.tar.gz
Normal file
3
grafana_webpack-6.4.3.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:45269de4b895b9406b393c7961863dc9b508ba1c9b3b0f37ccd0a4d544c34002
|
||||
size 7022676
|
61
make_grafana_webpack.sh
Normal file
61
make_grafana_webpack.sh
Normal file
@ -0,0 +1,61 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# Copyright (c) 2019 Red Hat.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
|
||||
[ $# -ne 1 ] && echo "Usage: $0 version" && exit 1
|
||||
|
||||
# grafana version (must be tagged on github.com/grafana/grafana as "v$VER")
|
||||
VER=$1
|
||||
BUILDDIR=`mktemp -d buildXXXXXX`
|
||||
|
||||
[ ! -f /usr/bin/npm ] && echo Error, please install \"npm\" package && exit 1
|
||||
|
||||
# get src tree and set cwd
|
||||
echo Fetching pristine upstream git tagged branch for grafana version v$VER ...
|
||||
git clone https://github.com/grafana/grafana grafana-$VER
|
||||
cd grafana-$VER
|
||||
git checkout -b v$VER v$VER
|
||||
|
||||
# exclude the phantomjs-prebuilt binary module from the webpack
|
||||
sed -i '/phantomjs-prebuilt/d' package.json
|
||||
|
||||
# nuke grunt task for copying phantomjs
|
||||
rm -f scripts/grunt/options/phantomjs.js
|
||||
sed -i '/phantomjs/d' scripts/grunt/*.js
|
||||
|
||||
# populate node_modules using package.json
|
||||
echo Running yarn to populate local node_modules ....
|
||||
npm install yarn
|
||||
node_modules/yarn/bin/yarn --non-interactive --no-progress --ignore-engines install --pure-lockfile > yarn.out 2>&1
|
||||
node_modules/yarn/bin/yarn --non-interactive -W add webpack-cli
|
||||
|
||||
# build the webpack
|
||||
echo;echo Building production webpack ....
|
||||
node_modules/webpack/bin/webpack.js --display errors-only --mode production --config scripts/webpack/webpack.prod.js
|
||||
|
||||
cd ..
|
||||
|
||||
# webpack tarball. Includes public/views because index.html references the webpack
|
||||
tar czf grafana_webpack-$VER.tar.gz grafana-$VER/public/build grafana-$VER/public/views
|
||||
|
||||
# source tarball (if needed)
|
||||
if [ ! -f grafana-$VER.tar.gz ]; then
|
||||
wget --quiet -O grafana-$VER.tar.gz https://github.com/grafana/grafana/archive/v$VER/grafana-$VER.tar.gz
|
||||
fi
|
||||
|
||||
# done
|
||||
echo Both grafana-$VER.tar.gz and grafana_webpack-$VER.tar.gz
|
||||
echo should now be copied to your \$HOME/rpmbuild/SOURCES
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user