159254a17b
- 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
164 lines
6.3 KiB
RPMSpec
164 lines
6.3 KiB
RPMSpec
#
|
|
# 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
|
|
Version: 9.4.7
|
|
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
|
|
|
|
# install binaries and service
|
|
install -Dm644 {packaging/rpm/systemd/,%{buildroot}%{_unitdir}/}%{name}-server.service
|
|
install -dm755 %{buildroot}%{_sbindir}
|
|
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
|
|
%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
|