From 89794e01f3487ce6884623b9c8e74106ffb4717ffab2dcc73d41f906015168b1 Mon Sep 17 00:00:00 2001 From: Joao Cavalheiro Date: Thu, 5 Dec 2019 15:43:17 +0000 Subject: [PATCH] Accepting request 753312 from home:witekbedyk:branches:server:monitoring - Revert the spec file and make script - Remove PhantomJS dependency OBS-URL: https://build.opensuse.org/request/show/753312 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/grafana?expand=0&rev=28 --- 001-login-oauth-use-oauth2-exchange.patch | 13 - 002-remove-jaeger-tracing.patch | 208 ----- 003-new-files.patch | 1037 --------------------- 004-distro-defaults-ini.patch | 24 - Makefile | 39 + README | 27 + _service | 13 + _servicedata | 6 + grafana-6.4.3.tar.gz | 3 - grafana-6.4.3.tar.xz | 3 + grafana.changes | 6 + grafana.spec | 659 ++----------- grafana_webpack-6.4.3.tar.gz | 3 - make_grafana_webpack.sh | 61 -- 14 files changed, 175 insertions(+), 1927 deletions(-) delete mode 100644 001-login-oauth-use-oauth2-exchange.patch delete mode 100644 002-remove-jaeger-tracing.patch delete mode 100644 003-new-files.patch delete mode 100644 004-distro-defaults-ini.patch create mode 100644 Makefile create mode 100644 README create mode 100644 _service create mode 100644 _servicedata delete mode 100644 grafana-6.4.3.tar.gz create mode 100644 grafana-6.4.3.tar.xz delete mode 100644 grafana_webpack-6.4.3.tar.gz delete mode 100644 make_grafana_webpack.sh diff --git a/001-login-oauth-use-oauth2-exchange.patch b/001-login-oauth-use-oauth2-exchange.patch deleted file mode 100644 index 43664b4..0000000 --- a/001-login-oauth-use-oauth2-exchange.patch +++ /dev/null @@ -1,13 +0,0 @@ -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 diff --git a/002-remove-jaeger-tracing.patch b/002-remove-jaeger-tracing.patch deleted file mode 100644 index 4972c8d..0000000 --- a/002-remove-jaeger-tracing.patch +++ /dev/null @@ -1,208 +0,0 @@ -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) -- } -- } -- } --} diff --git a/003-new-files.patch b/003-new-files.patch deleted file mode 100644 index 27458f2..0000000 --- a/003-new-files.patch +++ /dev/null @@ -1,1037 +0,0 @@ -Index: grafana-6.4.3/docs/man/man1/grafana-cli.1 -=================================================================== ---- /dev/null -+++ grafana-6.4.3/docs/man/man1/grafana-cli.1 -@@ -0,0 +1,51 @@ -+.TH GRAFANA "1" "February 2019" "Grafana cli version 5.4.3" "User Commands" -+.SH NAME -+grafana-cli \- command line administration for the Grafana metrics dashboard and graph editor -+.SH DESCRIPTION -+.SS "NAME:" -+.IP -+grafana-cli -+.SS "USAGE:" -+.IP -+\fBgrafana\-cli\fP [\fIglobal options\fP] \fIcommand\fP [\fIcommand options\fP] [\fIarguments\fP...] -+.SS "COMMANDS:" -+.TP -+plugins -+Manage plugins for grafana -+.TP -+admin -+Grafana admin commands -+.TP -+help, h -+Shows a list of commands or help for one command -+.SS "GLOBAL OPTIONS:" -+.TP -+\fB\-\-pluginsDir\fR value -+path to the grafana plugin directory (default: "/var/lib/grafana/plugins") [$GF_PLUGIN_DIR] -+.TP -+\fB\-\-repo\fR value -+url to the plugin repository (default: "https://grafana.com/api/plugins") [$GF_PLUGIN_REPO] -+.TP -+\fB\-\-pluginUrl\fR value -+Full url to the plugin zip file instead of downloading the plugin from grafana.com/api [$GF_PLUGIN_URL] -+.TP -+\fB\-\-insecure\fR -+Skip TLS verification (insecure) -+.TP -+\fB\-\-debug\fR, \fB\-d\fR -+enable debug logging -+.TP -+\fB\-\-help\fR, \fB\-h\fR -+show help -+.TP -+\fB\-\-version\fR, \fB\-v\fR -+print the version -+.SH "SEE ALSO" -+Additional documentation for -+.B grafana-cli -+is available on-line at -+.BR http://docs.grafana.org/administration/cli/ . -+The full documentation for -+.B Grafana -+is available on-line at -+.BR http://docs.grafana.org/ . -Index: grafana-6.4.3/docs/man/man1/grafana-server.1 -=================================================================== ---- /dev/null -+++ grafana-6.4.3/docs/man/man1/grafana-server.1 -@@ -0,0 +1,156 @@ -+.TH VERSION "1" "February 2019" "Version 5.4.3" "User Commands" -+.SH NAME -+grafana-server \- back-end server for the Grafana metrics dashboard and graph editor -+.SH DESCRIPTION -+.B grafana-server -+is the back-end server for the Grafana metrics dashboard and graph editor. -+The -+.B grafana-server -+program should not normally be run from the command line, -+except when testing or for development purposes. -+Rather it should be managed by -+.BR systemd . -+After installing Grafana, the systemd service should be enabled and started as follows: -+.P -+.in 1i -+.B systemctl daemon-reload -+.br -+.B systemctl enable grafana-server.service -+.br -+.B systemctl start grafana-server.service -+.in -+.P -+.SH OPTIONS -+The -+.B gafana-server -+configuration is specified in -+.BR /etc/grafana/grafana.ini -+and is well documented with comments. -+The command-line options listed below override options of -+the same (or similar) name in the configuration file and also provide -+additional options for testing Grafana. -+.P -+.HP -+\fB\-config\fR string -+.IP -+path to config file -+.HP -+\fB\-homepath\fR string -+.IP -+path to grafana install/home path, defaults to working directory -+.HP -+\fB\-packaging\fR string -+.IP -+describes the way Grafana was installed (default "unknown") -+.HP -+\fB\-pidfile\fR string -+.IP -+path to pid file -+.HP -+\fB\-profile\fR -+.IP -+Turn on pprof profiling -+.HP -+\fB\-profile\-port\fR int -+.IP -+Define custom port for profiling (default 6060) -+.HP -+\fB\-test\fR.bench regexp -+.IP -+run only benchmarks matching regexp -+.HP -+\fB\-test\fR.benchmem -+.IP -+print memory allocations for benchmarks -+.HP -+\fB\-test\fR.benchtime d -+.IP -+run each benchmark for duration d (default 1s) -+.HP -+\fB\-test\fR.blockprofile file -+.IP -+write a goroutine blocking profile to file -+.HP -+\fB\-test\fR.blockprofilerate rate -+.IP -+set blocking profile rate (see runtime.SetBlockProfileRate) (default 1) -+.HP -+\fB\-test\fR.count n -+.IP -+run tests and benchmarks n times (default 1) -+.HP -+\fB\-test\fR.coverprofile file -+.IP -+write a coverage profile to file -+.HP -+\fB\-test\fR.cpu list -+.IP -+comma\-separated list of cpu counts to run each test with -+.HP -+\fB\-test\fR.cpuprofile file -+.IP -+write a cpu profile to file -+.HP -+\fB\-test\fR.failfast -+.IP -+do not start new tests after the first test failure -+.HP -+\fB\-test\fR.list regexp -+.IP -+list tests, examples, and benchmarks matching regexp then exit -+.HP -+\fB\-test\fR.memprofile file -+.IP -+write a memory profile to file -+.HP -+\fB\-test\fR.memprofilerate rate -+.IP -+set memory profiling rate (see runtime.MemProfileRate) -+.HP -+\fB\-test\fR.mutexprofile string -+.IP -+write a mutex contention profile to the named file after execution -+.HP -+\fB\-test\fR.mutexprofilefraction int -+.IP -+if >= 0, calls runtime.SetMutexProfileFraction() (default 1) -+.HP -+\fB\-test\fR.outputdir dir -+.IP -+write profiles to dir -+.HP -+\fB\-test\fR.parallel n -+.IP -+run at most n tests in parallel (default 8) -+.HP -+\fB\-test\fR.run regexp -+.IP -+run only tests and examples matching regexp -+.HP -+\fB\-test\fR.short -+.IP -+run smaller test suite to save time -+.HP -+\fB\-test\fR.testlogfile file -+.IP -+write test action log to file (for use only by cmd/go) -+.HP -+\fB\-test\fR.timeout d -+.IP -+panic test binary after duration d (default 0, timeout disabled) -+.HP -+\fB\-test\fR.trace file -+.IP -+write an execution trace to file -+.HP -+\fB\-test\fR.v -+.IP -+verbose: print additional output -+.TP -+\fB\-v\fR -+prints current version and exits -+.SH "SEE ALSO" -+The full documentation for -+.B Grafana -+is available on-line at -+.BR http://docs.grafana.org/ . -Index: grafana-6.4.3/packaging/rpm/spec/README -=================================================================== ---- /dev/null -+++ grafana-6.4.3/packaging/rpm/spec/README -@@ -0,0 +1,7 @@ -+The make_webpack.sh script in this directory can be used to create -+a webpack tarball of all the nodejs dependencies needed to build a -+particular tagged version of grafana, along with the grafana tarball -+itself. After running the script, the two tarballs should be copied -+to your rpmbuild SOURCES. You can then run a native rpm spec build -+using grafana.spec. -+ -Index: grafana-6.4.3/packaging/rpm/spec/grafana.spec -=================================================================== ---- /dev/null -+++ grafana-6.4.3/packaging/rpm/spec/grafana.spec -@@ -0,0 +1,737 @@ -+%global grafana_arches %{lua: go_arches = {} -+ for arch in rpm.expand("%{go_arches}"):gmatch("%S+") do -+ go_arches[arch] = 1 -+ end -+ for arch in rpm.expand("%{nodejs_arches}"):gmatch("%S+") do -+ if go_arches[arch] then -+ print(arch .. " ") -+ end -+end} -+ -+# Unbundle grafana vendor sources and instead use BuildRequires -+# only on platforms that have enough golang devel support. -+%if 0%{?rhel} == 0 -+%global unbundle_vendor_sources 1 -+%endif -+ -+ -+Name: grafana -+Version: 6.3.4 -+Release: 1%{?dist} -+Summary: Metrics dashboard and graph editor -+License: ASL 2.0 -+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 -+ -+# Patches for upstream -+Patch1: 001-login-oauth-use-oauth2-exchange.patch -+Patch2: 002-remove-jaeger-tracing.patch -+Patch3: 003-new-files.patch -+Patch4: 004-fix-uaparser-32bit.patch -+ -+# Intersection of go_arches and nodejs_arches -+ExclusiveArch: %{grafana_arches} -+ -+# omit golang debugsource, see BZ995136 and related -+%global _debugsource_template %{nil} -+ -+%global GRAFANA_USER %{name} -+%global GRAFANA_GROUP %{name} -+%global GRAFANA_HOME %{_datadir}/%{name} -+ -+# grafana-server service daemon uses systemd -+%{?systemd_requires} -+Requires(pre): shadow-utils -+ -+BuildRequires: git, systemd, golang, go-srpm-macros -+ -+Recommends: grafana-cloudwatch = %{version}-%{release} -+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/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/BurntSushi/toml) -+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(google.golang.org/appengine) -+BuildRequires: golang(golang.org/x/sys/unix) -+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(google.golang.org/genproto/googleapis/rpc/status) -+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/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(google.golang.org/grpc) -+BuildRequires: golang(github.com/hashicorp/go-hclog) -+# need grpc_broker in go-plugin >= 1.0.0-1 -+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/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-prometheus-common-devel -+BuildRequires: golang(github.com/prometheus/common/expfmt) -+BuildRequires: golang(github.com/prometheus/common/model) -+BuildRequires: golang(github.com/prometheus/common/expfmt) -+BuildRequires: golang(github.com/prometheus/procfs) -+BuildRequires: golang(github.com/prometheus/procfs/internal/util) -+BuildRequires: golang(github.com/prometheus/procfs) -+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/Unknwon/com) -+BuildRequires: golang(github.com/VividCortex/mysqlerr) -+BuildRequires: golang(github.com/yudai/gojsondiff) -+BuildRequires: golang(github.com/yudai/golcs) -+BuildRequires: golang(golang.org/x/crypto/pbkdf2) -+BuildRequires: golang(golang.org/x/crypto/ed25519) -+BuildRequires: golang(golang.org/x/crypto/md4) -+BuildRequires: golang(golang.org/x/net/context) -+BuildRequires: golang(golang.org/x/net/context/ctxhttp) -+BuildRequires: golang(golang.org/x/net/http2) -+BuildRequires: golang(golang.org/x/net/http2/hpack) -+BuildRequires: golang(golang.org/x/net/http/httpguts) -+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/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(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(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/duration) -+BuildRequires: golang(github.com/golang/protobuf/ptypes/any) -+BuildRequires: golang(github.com/golang/protobuf/ptypes/timestamp) -+BuildRequires: golang(cloud.google.com/go/compute/metadata) -+BuildRequires: golang(gopkg.in/alexcesaro/quotedprintable.v3) -+BuildRequires: golang(gopkg.in/asn1-ber.v1) -+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(gopkg.in/square/go-jose.v2) -+BuildRequires: golang(gopkg.in/square/go-jose.v2/cipher) -+BuildRequires: golang(gopkg.in/square/go-jose.v2/json) -+BuildRequires: golang(github.com/go-yaml/yaml) -+BuildRequires: golang(golang.org/x/sync/errgroup) -+BuildRequires: golang(gopkg.in/ldap.v3) -+BuildRequires: golang(gopkg.in/mail.v2) -+BuildRequires: golang(github.com/jonboulle/clockwork) -+%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-lodash) = 4.17.11 -+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-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 -+ -+%description cloudwatch -+The Grafana cloudwatch datasource. -+ -+%package elasticsearch -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana elasticsearch datasource -+ -+%description elasticsearch -+The Grafana elasticsearch datasource. -+ -+%package azure-monitor -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana azure-monitor datasource -+ -+%description azure-monitor -+The Grafana azure-monitor datasource. -+ -+%package graphite -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana graphite datasource -+ -+%description graphite -+The Grafana graphite datasource. -+ -+%package influxdb -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana influxdb datasource -+ -+%description influxdb -+The Grafana influxdb datasource. -+ -+%package loki -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana loki datasource -+ -+%description loki -+The Grafana loki datasource. -+ -+%package mssql -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana mssql datasource -+ -+%description mssql -+The Grafana mssql datasource. -+ -+%package mysql -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana mysql datasource -+ -+%description mysql -+The Grafana mysql datasource. -+ -+%package opentsdb -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana opentsdb datasource -+ -+%description opentsdb -+The Grafana opentsdb datasource. -+ -+%package postgres -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana postgres datasource -+ -+%description postgres -+The Grafana postgres datasource. -+ -+%package prometheus -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana prometheus datasource -+ -+%description prometheus -+The Grafana prometheus datasource. -+ -+%package stackdriver -+Requires: %{name} = %{version}-%{release} -+Summary: Grafana stackdriver datasource -+ -+%description stackdriver -+The Grafana stackdriver datasource. -+ -+ -+%prep -+%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 -+# Build the server-side binaries: grafana-server and grafana-cli -+%if 0%{?gobuild} -+# use modern go macros such as in recent Fedora -+export GOPATH=%{_builddir}:%{gopath} -+%gobuild -o grafana-cli ./pkg/cmd/grafana-cli -+%gobuild -o grafana-server ./pkg/cmd/grafana-server -+%else -+cd %{_builddir}/src/github.com/grafana/grafana -+export GOPATH=%{_builddir}:%{gopath} -+go run build.go build -+%endif -+ -+ -+%install -+# 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 -+ -+# dirs, shared files, public html, webpack -+install -d %{buildroot}%{_sbindir} -+install -d %{buildroot}%{_datadir}/%{name}/bin -+cp -a conf public %{buildroot}%{_datadir}/%{name} -+ -+# wrappers -+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 %{buildroot}%{_mandir}/man1 -+install -p -m 644 docs/man/man1/* %{buildroot}%{_mandir}/man1 -+ -+# config dirs -+install -d %{buildroot}%{_sysconfdir}/%{name} -+install -d %{buildroot}%{_sysconfdir}/sysconfig -+ -+# config defaults -+install -p -m 644 conf/distro-defaults.ini \ -+ %{buildroot}%{_sysconfdir}/%{name}/grafana.ini -+install -p -m 644 conf/distro-defaults.ini \ -+ %{buildroot}%{_datadir}/%{name}/conf/defaults.ini -+install -p -m 644 conf/ldap.toml %{buildroot}%{_sysconfdir}/%{name}/ldap.toml -+install -p -m 644 packaging/rpm/sysconfig/grafana-server \ -+ %{buildroot}%{_sysconfdir}/sysconfig/grafana-server -+ -+# config database directory and plugins -+install -d %{buildroot}%{_sharedstatedir}/%{name} -+install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name} -+install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}/plugins -+ -+# log directory -+install -d %{buildroot}%{_localstatedir}/log/%{name} -+ -+# systemd service files -+install -d %{buildroot}%{_unitdir} # only needed for manual rpmbuilds -+install -p -m 644 packaging/rpm/systemd/grafana-server.service \ -+ %{buildroot}%{_unitdir} -+ -+# 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 -+ -+%pre -+getent group %{GRAFANA_GROUP} >/dev/null || groupadd -r %{GRAFANA_GROUP} -+getent passwd %{GRAFANA_USER} >/dev/null || \ -+ useradd -r -g %{GRAFANA_GROUP} -d %{GRAFANA_HOME} -s /sbin/nologin \ -+ -c "%{GRAFANA_USER} user account" %{GRAFANA_USER} -+exit 0 -+ -+%preun -+%systemd_preun grafana-server.service -+ -+%post -+%systemd_post grafana-server.service -+ -+%postun -+%systemd_postun_with_restart grafana-server.service -+ -+ -+%check -+cd %{_builddir}/src/github.com/grafana/grafana -+export GOPATH=%{_builddir}:%{gopath} -+# 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 -+go test ./pkg/... -+ -+ -+%files -+# binaries -+%{_sbindir}/%{name}-server -+%{_sbindir}/%{name}-cli -+ -+# config files -+%dir %{_sysconfdir}/%{name} -+%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/grafana.ini -+%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/ldap.toml -+%config(noreplace) %{_sysconfdir}/sysconfig/grafana-server -+ -+# Grafana configuration to dynamically create /run/grafana/grafana.pid on tmpfs -+%{_tmpfilesdir}/%{name}.conf -+ -+# config database directory and plugins (actual db files are created by grafana-server) -+%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name} -+%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/plugins -+ -+# shared directory and all files therein, except some datasources -+%{_datadir}/%{name}/bin -+%{_datadir}/%{name}/public -+ -+# 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 -+ -+%dir %{_datadir}/%{name}/conf -+%attr(-, root, %{GRAFANA_GROUP}) %{_datadir}/%{name}/conf/* -+ -+# systemd service file -+%{_unitdir}/grafana-server.service -+ -+# log directory - grafana.log is created by grafana-server, and it does it's own log rotation -+%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_localstatedir}/log/%{name} -+ -+# man pages for grafana binaries -+%{_mandir}/man1/%{name}-server.1* -+%{_mandir}/man1/%{name}-cli.1* -+ -+# other docs and license -+%license LICENSE -+%doc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md NOTICE.md -+%doc PLUGIN_DEV.md README.md ROADMAP.md UPGRADING_DEPENDENCIES.md -+ -+# -+# 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 -+* Fri Aug 30 2019 Mark Goodwin 6.3.4-1 -+- add patch for uaparser on 32bit systems -+- update to latest upstream community sources, see CHANGELOG -+ -+* Wed Jul 31 2019 Mark Goodwin 6.2.5-1 -+- update to latest upstream community sources, see CHANGELOG -+ -+* Thu Jul 25 2019 Fedora Release Engineering - 6.2.2-2 -+- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild -+ -+* Fri Jun 07 2019 Mark Goodwin 6.2.2-1 -+- split out some datasource plugins to sub-packages -+- update to latest upstream community sources, see CHANGELOG -+ -+* Wed Jun 05 2019 Mark Goodwin 6.2.1-1 -+- update to latest upstream community sources, see CHANGELOG -+ -+* Fri May 24 2019 Mark Goodwin 6.2.0-1 -+- update to latest upstream community sources -+- drop a couple of patches -+ -+* Wed May 08 2019 Mark Goodwin 6.1.6-2 -+- add conditional unbundle_vendor_sources macro -+ -+* Tue Apr 30 2019 Mark Goodwin 6.1.6-1 -+- update to latest upstream stable release 6.1.6, see CHANGELOG -+- includes jQuery 3.4.0 security update -+ -+* Wed Apr 24 2019 Mark Goodwin 6.1.4-1 -+- update to latest upstream stable release 6.1.4, see CHANGELOG -+- use gobuild and gochecks macros, eliminate arch symlinks -+- re-enable grafana-debugsource package -+- fix GRAFANA_GROUP typo -+- fix more modes for brp-mangle-shebangs -+- vendor source unbundling now done in prep after patches -+- remove all rhel and fedora conditional guff -+ -+* Tue Apr 16 2019 Mark Goodwin 6.1.3-1 -+- update to latest upstream stable release 6.1.3, see CHANGELOG -+- unbundle all vendor sources, replace with BuildRequires, see -+ the long list of blocker BZs linked to BZ#1670656 -+- BuildRequires go-plugin >= v1.0.0 for grpc_broker (thanks eclipseo) -+- tweak make_webpack to no longer use grunt, switch to prod build -+- add ExclusiveArch lua script (thanks quantum.analyst) -+- move db directory and plugins to /var/lib/grafana -+- split out into 6 patches, ready for upstream PRs -+- add check to run go tests for gating checks -+ -+* Thu Apr 04 2019 Mark Goodwin 6.1.0-1 -+- update to latest upstream stable release 6.1.0, see CHANGELOG -+ -+* Thu Mar 21 2019 Mark Goodwin 6.0.2-1 -+- bump to latest upstream stable release 6.0.2-1 -+- unbundle almost all remaining vendor code, see linked blockers in BZ#1670656 -+ -+* Fri Mar 15 2019 Mark Goodwin 6.0.1-3 -+- bump to latest upstream stable release 6.0.1-1 -+ -+* Thu Mar 14 2019 Mark Goodwin 6.0.1-2 -+- unbundle and add BuildRequires for golang-github-rainycape-unidecode-devel -+ -+* Thu Mar 07 2019 Mark Goodwin 6.0.1-1 -+- update to v6.0.1 upstream sources, tweak distro config, re-do patch -+- simplify make_webpack.sh script (Elliott Sales de Andrade) -+- vendor/github.com/go-ldap is now gone, so don't unbundle it -+ -+* Thu Mar 07 2019 Mark Goodwin 5.4.3-11 -+- tweak after latest feedback, bump to 5.4.3-11 (BZ 1670656) -+- build debuginfo package again -+- unbundle BuildRequires for golang-github-hashicorp-version-devel -+- remove some unneeded development files -+- remove macros from changelog and other rpmlint tweaks -+ -+* Fri Feb 22 2019 Mark Goodwin 5.4.3-10 -+- tweak spec for available and unavailable (bundled) golang packages -+ -+* Wed Feb 20 2019 Xavier Bachelot 5.4.3-9 -+- Remove extraneous slash (cosmetic) -+- Create directories just before moving stuff in them -+- Truncate long lines -+- Group all golang stuff -+- Simplify BuildRequires/bundled Provides -+- Sort BuildRequires/bundled Provides -+- Fix bundled go packages Provides -+ -+* Fri Feb 15 2019 Mark Goodwin 5.4.3-8 -+- add BuildRequires (and unbundle) vendor sources available in Fedora -+- declare Provides for remaining (bundled) vendor go sources -+- do not attempt to unbundle anything on RHEL < 7 or Fedora < 28 -+ -+* Thu Feb 07 2019 Mark Goodwin 5.4.3-7 -+- further refinement for spec doc section from Xavier Bachelot -+- disable debug_package to avoid empty debugsourcefiles.list -+ -+* Wed Feb 06 2019 Mark Goodwin 5.4.3-6 -+- further refinement following review by Xavier Bachelot -+ -+* Tue Feb 05 2019 Mark Goodwin 5.4.3-5 -+- further refinement following review by Xavier Bachelot -+ -+* Fri Feb 01 2019 Mark Goodwin 5.4.3-4 -+- further spec updates after packaging review -+- reworked post-install scriplets -+ -+* Thu Jan 31 2019 Mark Goodwin 5.4.3-3 -+- tweak FHS patch, update spec after packaging review -+ -+* Wed Jan 30 2019 Mark Goodwin 5.4.3-2 -+- add patch to be standard FHS compliant, remove phantomjs -+- update to v5.4.3 upstream community sources -+ -+* Wed Jan 09 2019 Mark Goodwin 5.4.2-1 -+- update to v5.4.2 upstream community sources -+ -+* Thu Oct 18 2018 Mark Goodwin 5.3.1-1 -+- update to v5.3.1 upstream community sources -+ -+* Tue Oct 02 2018 Mark Goodwin 5.2.5-1 -+- native RPM spec build with current tagged v5.2.5 sources -Index: grafana-6.4.3/packaging/rpm/spec/make_grafana_webpack.sh -=================================================================== ---- /dev/null -+++ grafana-6.4.3/packaging/rpm/spec/make_grafana_webpack.sh -@@ -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 diff --git a/004-distro-defaults-ini.patch b/004-distro-defaults-ini.patch deleted file mode 100644 index 4e1aa31..0000000 --- a/004-distro-defaults-ini.patch +++ /dev/null @@ -1,24 +0,0 @@ -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 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..892a380 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +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 && \ + # 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 && \ + 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 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 diff --git a/README b/README new file mode 100644 index 0000000..cb599c7 --- /dev/null +++ b/README @@ -0,0 +1,27 @@ + +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, < 12, yarn and +grunt installed. To get set up, run: + + # zypper in npm10 + # 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 diff --git a/_service b/_service new file mode 100644 index 0000000..7d1325c --- /dev/null +++ b/_service @@ -0,0 +1,13 @@ + + + https://github.com/grafana/grafana + git + .git + 6.4.3 + v6.4.3 + enable + + + grafana + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..1f8d7da --- /dev/null +++ b/_servicedata @@ -0,0 +1,6 @@ + + + https://github.com/grafana/grafana + 3a2bfb7e3809a193125f0dbb8109e95cbf52db3e + + \ No newline at end of file diff --git a/grafana-6.4.3.tar.gz b/grafana-6.4.3.tar.gz deleted file mode 100644 index ca2cc01..0000000 --- a/grafana-6.4.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2ed2bbaae731c0d168800ed41af2bd18e3df50abb6c9852347d4488a5cc8d63b -size 13805699 diff --git a/grafana-6.4.3.tar.xz b/grafana-6.4.3.tar.xz new file mode 100644 index 0000000..8879f1a --- /dev/null +++ b/grafana-6.4.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cb6e8bf9f1080022dc169fa29afbb5876acbc5adba2c4420a8dbf1ef9a2aa4c +size 18172892 diff --git a/grafana.changes b/grafana.changes index a6f14b1..ac43636 100644 --- a/grafana.changes +++ b/grafana.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Dec 03 15:09:41 UTC 2019 - witold.bedyk@suse.com + +- Revert the spec file and make script +- Remove PhantomJS dependency + ------------------------------------------------------------------- Wed Oct 16 19:29:48 UTC 2019 - ecsos@opensuse.org diff --git a/grafana.spec b/grafana.spec index ca2c2b8..4cfca95 100644 --- a/grafana.spec +++ b/grafana.spec @@ -1,7 +1,7 @@ # # spec file for package grafana # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,501 +16,87 @@ # -# Unbundle grafana vendor sources and instead use BuildRequires -# only on platforms that have enough golang devel support. -%global unbundle_vendor_sources 0 +%define GRAFANA_USER %{name} +%define GRAFANA_GROUP %{name} +%define GRAFANA_HOME %{_datadir}/%{name} -# omit golang debugsource, see BZ995136 and related -%global _debugsource_template %{nil} -%global GRAFANA_USER %{name} -%global GRAFANA_GROUP %{name} -%global GRAFANA_HOME %{_datadir}/%{name} +#Compat macro for new _fillupdir macro introduced in Nov 2017 +%if ! %{defined _fillupdir} + %define _fillupdir /var/adm/fillup-templates +%endif Name: grafana Version: 6.4.3 -Release: 1%{?dist} -Summary: Metrics dashboard and graph editor +Release: 0 +Summary: Dashboards and editors for Graphite, InfluxDB, OpenTSDB License: Apache-2.0 Group: System/Monitoring -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 +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 BuildRequires: fdupes -BuildRequires: gettext-tools -BuildRequires: config(krb5) -BuildRequires: go >= 1.12.9 +BuildRequires: go >= 1.11 BuildRequires: golang-packaging -# Without cloudwatch you can not add data sources -Requires: grafana-cloudwatch = %{version}-%{release} - +BuildRequires: shadow +Requires(post): %insserv_prereq +BuildRoot: %{_tmppath}/%{name}-%{version}-build %{?systemd_requires} -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. +A graph and dashboard builder for visualizing time series metrics. +Grafana provides ways to create, explore, and share +dashboards and data with teams. %prep -%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 +%setup -q -n grafana-%{version} %build %goprep github.com/grafana/grafana -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 +# 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/... %install %goinstall -# 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 +# we're missing %%gosrc and %%gofilelist... (although that *might* be ok...) -# 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 -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} install -d -m0750 %{buildroot}%{_localstatedir}/log/%{name} -install -d -m0750 %{buildroot}%{_sharedstatedir}/%{name} -install -d -m0755 %{buildroot}%{_sharedstatedir}/%{name}/plugins -install -d -m0755 %{buildroot}%{_sharedstatedir}/%{name}/dashboards +install -d -m0755 %{buildroot}/%{_localstatedir}/lib/%{name}/plugins +install -d -m0755 %{buildroot}/%{_localstatedir}/lib/%{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 -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 -# build process downloadsa prebuilt x86_64 binary, which ends up in -# vendor/phantomjs/phantomjs. This is ugly but works for x86_64. It naturally -# will not work for other architectures, so instead we remove the phantomjs -# binary and install a symlink to the systemwide /usr/bin/phantomjs. -cp -pr tools/phantomjs %{buildroot}%{_datadir}/%{name}/tools/ -rm -f %{buildroot}%{_datadir}/%{name}/tools/phantomjs/phantomjs -ln -s %{_bindir}/phantomjs %{buildroot}%{_datadir}/%{name}/tools/phantomjs/phantomjs -%endif +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 # Do *not* use %%fudpes -s -- this will result in grafana failing to load # all the plugins (something in the plugin scanner can't cope with files @@ -518,28 +104,19 @@ ln -s %{_bindir}/phantomjs %{buildroot}%{_datadir}/%{name}/tools/phantomjs/phant %fdupes %{buildroot}/%{_datadir} %check -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/... +#gotest github.com/grafana/grafana/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_USER} > /dev/null || useradd -r -g %{GRAFANA_GROUP} -d %{GRAFANA_HOME} -s /sbin/nologin -c "%{GRAFANA_USER} user" %{GRAFANA_USER} -exit 0 +getent passwd %{GRAFANA_GROUP} > /dev/null || useradd -r -g %{GRAFANA_GROUP} \ +-d %{GRAFANA_HOME} -s /sbin/nologin -c "%{GRAFANA_USER} user" %{GRAFANA_GROUP} %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 @@ -548,101 +125,27 @@ exit 0 %service_del_postun %{name}-server.service %files -%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 +%defattr(-,root,root) +%license LICENSE* +%doc CHANGELOG* +%{_sbindir}/%{name}* %{_sbindir}/rc%{name}-server -# man pages for grafana binaries -%{_mandir}/man1/%{name}-server.1* -%{_mandir}/man1/%{name}-cli.1* -# other +%{_unitdir}/%{name}-server.service %{_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 +%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 +%{_datadir}/%{name} %changelog diff --git a/grafana_webpack-6.4.3.tar.gz b/grafana_webpack-6.4.3.tar.gz deleted file mode 100644 index 2467f67..0000000 --- a/grafana_webpack-6.4.3.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:45269de4b895b9406b393c7961863dc9b508ba1c9b3b0f37ccd0a4d544c34002 -size 7022676 diff --git a/make_grafana_webpack.sh b/make_grafana_webpack.sh deleted file mode 100644 index bc0386b..0000000 --- a/make_grafana_webpack.sh +++ /dev/null @@ -1,61 +0,0 @@ -#! /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