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 1098331 from home:mkittler:branches:server:monitoring - Update to version 10.0.2: * Features and enhancements - Alerting: Add limit query parameter to Loki-based ASH api, drop default limit from 5000 to 1000, extend visible time range for new ASH UI. - Alerting: Allow selecting the same custom group when swapping folders. - Alerting: Move rule UID from Loki stream labels into log lines. - Explore: Clean up query subscriptions when a query is canceled. * Bug fixes - Logs: Fix wrong before and after texts in log context. - Alerting: Add file and rule_group query params in request for filtering the res…. - Alerting: Convert 'Both' type Prometheus queries to 'Range' in migration. - Alerting: Display correct results when using different filters on alerting panels. - Alerting: Fix HA alerting membership sync. - Alerting: Fix unique violation when updating rule group with title chains/cycles. - Dashboard: Fix issue where a panel with a description and a cached response displays 2 info icons. - Elasticsearch: Make it compatible with the new log context functionality. - Fix: Change getExistingDashboardByTitleAndFolder to get dashboard by title, not slug. - LogContext: Fix filtering out log lines with the same entry. - Login: Fix footer from displaying under the login box. - Navigation: Fix toolbar actions flickering on mobile. - Variables: Detect a name for duplicated variable. - XYChart: Ensure color scale is field-local and synced with data updates. - XYChart: Fix axis range and scale overrides. * Plugin development fixes & changes - Grafana UI: Fix behaviour regression on Tooltip component. OBS-URL: https://build.opensuse.org/request/show/1098331 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/grafana?expand=0&rev=113
2023-07-19 17:50:47 +02:00
Version: 10.0.2
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