grafana/grafana.spec

164 lines
6.3 KiB
RPMSpec
Raw Normal View History

#
# spec file for package grafana
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
Name: grafana
Accepting request 1100850 from home:mkittler:branches:server:monitoring - Update to version 10.0.3: * Features and enhancements - Alerting: Sort NumberCaptureValues in EvaluationString. - Alerting: No longer silence paused alerts during legacy migration. - Auth: Add support for custom signing keys in auth.azure_ad. * Bug fixes - Alerting: Fix edit / view of webhook contact point when no authorization is set. - AzureMonitor: Set timespan in Logs Portal URL link. - Plugins: Only configure plugin proxy transport once. - Elasticsearch: Fix multiple max depth flatten of multi-level objects. - Elasticsearch: Fix histogram colors in backend mode. - Alerting: Fix state in expressions footer. - AppChromeService: Fixes update to breadcrumb parent URL. - Elasticsearch: Fix using multiple indexes with comma separated string. - Alerting: Fix Alertmanager change detection for receivers with secure settings. - Transformations: Fix extractFields throwing Error if one value is undefined or null. - XYChart: Point size editor should reflect correct default. - Annotations: Fix database lock while updating annotations. - TimePicker: Fix issue with previous fiscal quarter not parsing correctly. - AzureMonitor: Correctly build multi-resource queries for Application Insights components. - AzureMonitor: Fix metric names for multi-resources. - Logs: Do not insert log-line into log-fields in json download. - Loki: Fix wrong query expression with inline comments. OBS-URL: https://build.opensuse.org/request/show/1100850 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/grafana?expand=0&rev=115
2023-08-02 09:41:17 +02:00
Version: 10.0.3
Release: 0
Summary: The open-source platform for monitoring and observability
License: AGPL-3.0-only
Group: System/Monitoring
URL: http://grafana.org/
Source: %{name}-%{version}.tar.gz
Source1: vendor.tar.gz
Source2: %{name}-rpmlintrc
# Instructions on the build process
Source3: README
# Makefile to automate build process
Source4: Makefile
Source5: 0001-Add-source-code-reference.patch
BuildRequires: fdupes
BuildRequires: git-core
BuildRequires: golang-packaging
BuildRequires: wire
BuildRequires: golang(API) >= 1.19
Requires(post): %fillup_prereq
Requires: group(grafana)
Requires: user(grafana)
%systemd_ordering
# Exclude s390 on SLE12, since golang 1.14 itself is not built for this arch on SLE12
# See https://build.suse.de/package/view_file/SUSE:SLE-12:Update/go1.14/go1.14.spec?expand=1
%if 0%{?suse_version} == 1315
ExcludeArch: s390
%endif
%description
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 -n grafana-%{version}
%setup -q -T -D -a 1 -n grafana-%{version}
%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 -mod=vendor"
export GOPATH=%{_builddir}/go:%{_builddir}/contrib
export GOBIN=%{_builddir}/go/bin
wire gen -tags 'oss' ./pkg/server ./pkg/cmd/grafana-cli/runner
go install $BUILDFLAGS -ldflags '-X main.version=%{version}' $IMPORTPATH/pkg/cmd/...
%install
%goinstall
Accepting request 1078603 from home:mkittler:branches:server:monitoring - Update to 9.4.7 (2023-03-16) * Bug fixes - Alerting: Update scheduler to receive rule updates only from database. - Influxdb: Re-introduce backend migration feature toggle. - Security: Fixes for CVE-2023-1410. * Breaking changes The InfluxDB backend migration feature toggle (influxdbBackendMigration) has been reintroduced in this version as issues were discovered with backend processing of InfluxDB data. Unless this feature toggle is enabled, all InfluxDB data will be parsed in the frontend. This frontend processing is the default behavior. In Grafana 9.4.4, InfluxDB data parsing started to be handled in the backend. If you have upgraded to 9.4.4 and then added new transformations on InfluxDB data, those panels will fail to render. To resolve this either: - Remove the affected panel and re-create it - Edit the `time` field as `Time` in `panel.json` or `dashboard.json` - Remove 0002-Update-exporter-toolkit-to-version-0.7.3.patch as the exporter toolkit has been updated by upstream - Install wrapper scripts under /usr/sbin - Install actual binaries under /usr/libexec/grafana (or /usr/lib under older distributions) and create a simlink for wrapper scripts and the service (which expect the binary to be under /usr/share/grafana/bin) - Update to 9.4.3 (2023-03-02) * Bug fixes - Alerting: Use background context for maintenance function. - Update to 9.4.2 (2023-03-02) * Bug fixes - Alerting: Fix boolean default in migration from false to 0. - Update to 9.4.0 (2023-02-28) * Features and enhancements - Alerting: Add endpoint for querying state history. - Alerting: Add label query parameters to state history endpoint. - Alerting: Add static label to all state history entries. - Alerting: Mark AM configuration as applied. - Azure Monitor: Enable multiple resource queries. - InfluxDB: Move database information into jsondata. - Query Caching: Add per-panel query caching TTL. - Table: Add row number column option. - Tempo: Remove tempoApmTable feature flag. - Transformations: Selectively apply transformation to queries. * Bug fixes - AccessControl: Clear user permission cache for update org user role. - Alerting: Fix handling of special floating-point cases when writing observed values to annotations. - Auth: Rotate token patch. - ContextMenu: Consider y coord when determining bottom collision. - Elasticsearch: Fix consistent label order in alerting. - Explore: Fix graph not updating when changing config. - Heatmap: Support heatmap rows with non-timeseries X axis. - Login: Fix panic when a user is upserted by a background process. - MSSQL: Add support for macro function calls. - MySQL: Quote identifiers that include special characters. - Navigation: Sign in button now works correctly when served under a sub path. - Nested Folder: Fix for SQLite not to overwrite the parent on restarts. - PanelChrome: Adds display mode to support transparent option. - Plugins: Case-sensitive routes for standalone pages. - Plugins: Prefer to use the data source UID when querying. - SQLStore: Fix folder migration for MySQL < 5.7. - Search: Fix not being able to clear sort value. - Tempo: Fix span name being dropped from the query. * Plugin development fixes & changes - PanelChrome: Implement hover header. - Update to 9.3.7 (2023-02-28) * Bug fixes - Alerting: Validate that tags are 100 characters or less. - Expressions: Fixes the issue showing expressions editor. - Logs: Fix stats not being updated when log results change. - Plugins: Fix circular reference in customOptions leading to MarshalJSON errors. - Time Series Panel: Fix legend text selection in Firefox. OBS-URL: https://build.opensuse.org/request/show/1078603 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/grafana?expand=0&rev=101
2023-04-13 13:52:38 +02:00
# install binaries and service
install -Dm644 {packaging/rpm/systemd/,%{buildroot}%{_unitdir}/}%{name}-server.service
install -dm755 %{buildroot}%{_sbindir}
Accepting request 1078603 from home:mkittler:branches:server:monitoring - Update to 9.4.7 (2023-03-16) * Bug fixes - Alerting: Update scheduler to receive rule updates only from database. - Influxdb: Re-introduce backend migration feature toggle. - Security: Fixes for CVE-2023-1410. * Breaking changes The InfluxDB backend migration feature toggle (influxdbBackendMigration) has been reintroduced in this version as issues were discovered with backend processing of InfluxDB data. Unless this feature toggle is enabled, all InfluxDB data will be parsed in the frontend. This frontend processing is the default behavior. In Grafana 9.4.4, InfluxDB data parsing started to be handled in the backend. If you have upgraded to 9.4.4 and then added new transformations on InfluxDB data, those panels will fail to render. To resolve this either: - Remove the affected panel and re-create it - Edit the `time` field as `Time` in `panel.json` or `dashboard.json` - Remove 0002-Update-exporter-toolkit-to-version-0.7.3.patch as the exporter toolkit has been updated by upstream - Install wrapper scripts under /usr/sbin - Install actual binaries under /usr/libexec/grafana (or /usr/lib under older distributions) and create a simlink for wrapper scripts and the service (which expect the binary to be under /usr/share/grafana/bin) - Update to 9.4.3 (2023-03-02) * Bug fixes - Alerting: Use background context for maintenance function. - Update to 9.4.2 (2023-03-02) * Bug fixes - Alerting: Fix boolean default in migration from false to 0. - Update to 9.4.0 (2023-02-28) * Features and enhancements - Alerting: Add endpoint for querying state history. - Alerting: Add label query parameters to state history endpoint. - Alerting: Add static label to all state history entries. - Alerting: Mark AM configuration as applied. - Azure Monitor: Enable multiple resource queries. - InfluxDB: Move database information into jsondata. - Query Caching: Add per-panel query caching TTL. - Table: Add row number column option. - Tempo: Remove tempoApmTable feature flag. - Transformations: Selectively apply transformation to queries. * Bug fixes - AccessControl: Clear user permission cache for update org user role. - Alerting: Fix handling of special floating-point cases when writing observed values to annotations. - Auth: Rotate token patch. - ContextMenu: Consider y coord when determining bottom collision. - Elasticsearch: Fix consistent label order in alerting. - Explore: Fix graph not updating when changing config. - Heatmap: Support heatmap rows with non-timeseries X axis. - Login: Fix panic when a user is upserted by a background process. - MSSQL: Add support for macro function calls. - MySQL: Quote identifiers that include special characters. - Navigation: Sign in button now works correctly when served under a sub path. - Nested Folder: Fix for SQLite not to overwrite the parent on restarts. - PanelChrome: Adds display mode to support transparent option. - Plugins: Case-sensitive routes for standalone pages. - Plugins: Prefer to use the data source UID when querying. - SQLStore: Fix folder migration for MySQL < 5.7. - Search: Fix not being able to clear sort value. - Tempo: Fix span name being dropped from the query. * Plugin development fixes & changes - PanelChrome: Implement hover header. - Update to 9.3.7 (2023-02-28) * Bug fixes - Alerting: Validate that tags are 100 characters or less. - Expressions: Fixes the issue showing expressions editor. - Logs: Fix stats not being updated when log results change. - Plugins: Fix circular reference in customOptions leading to MarshalJSON errors. - Time Series Panel: Fix legend text selection in Firefox. OBS-URL: https://build.opensuse.org/request/show/1078603 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/grafana?expand=0&rev=101
2023-04-13 13:52:38 +02:00
install -dm755 %{buildroot}%{_libexecdir}/%{name}
install -m755 --target-directory=%{buildroot}%{_sbindir} packaging/wrappers/%{name}*
mv --target-directory=%{buildroot}%{_libexecdir}/%{name} %{buildroot}/%{_bindir}/%{name}*
# create "rc symlink" (https://en.opensuse.org/openSUSE:Systemd_packaging_guidelines#rc_symlink)
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-server
# add symlink to binary where systemd unit file expects it to be
install -dm755 %{buildroot}%{_datadir}/%{name}/bin
ln -s %{_libexecdir}/%{name}/%{name} %{buildroot}%{_datadir}/%{name}/bin/%{name}
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 -m0755 %{buildroot}/%{_localstatedir}/lib/%{name}/plugins
install -d -m0755 %{buildroot}/%{_localstatedir}/lib/%{name}/dashboards
install -d -m0755 %{buildroot}%{_sysconfdir}/%{name}/provisioning/dashboards
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
# 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
# in there being symlinks).
%fdupes %{buildroot}/%{_datadir}
%check
#gotest github.com/grafana/grafana/pkg...
%pre
%service_add_pre %{name}-server.service
%post
%{fillup_only -n %{name}-server}
%service_add_post %{name}-server.service
%preun
%service_del_preun %{name}-server.service
%postun
%service_del_postun %{name}-server.service
%files
%defattr(-,root,root)
%license LICENSE*
%doc CHANGELOG*
%{_sbindir}/%{name}*
%{_sbindir}/rc%{name}-server
Accepting request 1078603 from home:mkittler:branches:server:monitoring - Update to 9.4.7 (2023-03-16) * Bug fixes - Alerting: Update scheduler to receive rule updates only from database. - Influxdb: Re-introduce backend migration feature toggle. - Security: Fixes for CVE-2023-1410. * Breaking changes The InfluxDB backend migration feature toggle (influxdbBackendMigration) has been reintroduced in this version as issues were discovered with backend processing of InfluxDB data. Unless this feature toggle is enabled, all InfluxDB data will be parsed in the frontend. This frontend processing is the default behavior. In Grafana 9.4.4, InfluxDB data parsing started to be handled in the backend. If you have upgraded to 9.4.4 and then added new transformations on InfluxDB data, those panels will fail to render. To resolve this either: - Remove the affected panel and re-create it - Edit the `time` field as `Time` in `panel.json` or `dashboard.json` - Remove 0002-Update-exporter-toolkit-to-version-0.7.3.patch as the exporter toolkit has been updated by upstream - Install wrapper scripts under /usr/sbin - Install actual binaries under /usr/libexec/grafana (or /usr/lib under older distributions) and create a simlink for wrapper scripts and the service (which expect the binary to be under /usr/share/grafana/bin) - Update to 9.4.3 (2023-03-02) * Bug fixes - Alerting: Use background context for maintenance function. - Update to 9.4.2 (2023-03-02) * Bug fixes - Alerting: Fix boolean default in migration from false to 0. - Update to 9.4.0 (2023-02-28) * Features and enhancements - Alerting: Add endpoint for querying state history. - Alerting: Add label query parameters to state history endpoint. - Alerting: Add static label to all state history entries. - Alerting: Mark AM configuration as applied. - Azure Monitor: Enable multiple resource queries. - InfluxDB: Move database information into jsondata. - Query Caching: Add per-panel query caching TTL. - Table: Add row number column option. - Tempo: Remove tempoApmTable feature flag. - Transformations: Selectively apply transformation to queries. * Bug fixes - AccessControl: Clear user permission cache for update org user role. - Alerting: Fix handling of special floating-point cases when writing observed values to annotations. - Auth: Rotate token patch. - ContextMenu: Consider y coord when determining bottom collision. - Elasticsearch: Fix consistent label order in alerting. - Explore: Fix graph not updating when changing config. - Heatmap: Support heatmap rows with non-timeseries X axis. - Login: Fix panic when a user is upserted by a background process. - MSSQL: Add support for macro function calls. - MySQL: Quote identifiers that include special characters. - Navigation: Sign in button now works correctly when served under a sub path. - Nested Folder: Fix for SQLite not to overwrite the parent on restarts. - PanelChrome: Adds display mode to support transparent option. - Plugins: Case-sensitive routes for standalone pages. - Plugins: Prefer to use the data source UID when querying. - SQLStore: Fix folder migration for MySQL < 5.7. - Search: Fix not being able to clear sort value. - Tempo: Fix span name being dropped from the query. * Plugin development fixes & changes - PanelChrome: Implement hover header. - Update to 9.3.7 (2023-02-28) * Bug fixes - Alerting: Validate that tags are 100 characters or less. - Expressions: Fixes the issue showing expressions editor. - Logs: Fix stats not being updated when log results change. - Plugins: Fix circular reference in customOptions leading to MarshalJSON errors. - Time Series Panel: Fix legend text selection in Firefox. OBS-URL: https://build.opensuse.org/request/show/1078603 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/grafana?expand=0&rev=101
2023-04-13 13:52:38 +02:00
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/%{name}*
%{_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) %dir %{_datadir}/%{name}/conf
%attr(0640,root,grafana) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.ini
%attr(0640,root,grafana) %config(noreplace) %{_sysconfdir}/%{name}/ldap.toml
%attr(0755,grafana,grafana) %dir %{_localstatedir}/lib/%{name}
%attr(0755,grafana,grafana) %dir %{_localstatedir}/lib/%{name}/plugins
%attr(0755,grafana,grafana) %dir %{_localstatedir}/lib/%{name}/dashboards
%attr(0750,grafana,grafana) %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