alertmanager/alertmanager.spec
iGxnon 5f6854843f temporarily fix building for riscv
Signed-off-by: iGxnon <igxnon@gmail.com>
(cherry picked from commit 2a25b4ae0fd8527354002eed5103b271b6867f61)
2024-04-03 09:45:38 +08:00

109 lines
3.1 KiB
RPMSpec

%define debug_package %{nil}
Name: alertmanager
Version: 0.26.0
Release: 2
Summary: Prometheus Alertmanager.
License: Apache-2.0
URL: https://github.com/prometheus/%{name}
Source0: https://github.com/prometheus/%{name}/archive/refs/tags/v%{version}.tar.gz
Source1: %{name}.service
Source2: %{name}.default
Source3: %{name}.yml
Source4: vendor.tar.gz
Patch0: 0001-use-local-promu.patch
BuildRequires: make
BuildRequires: golang >= 1.18.0
BuildRequires: promu
BuildRequires: systemd
%{?systemd_requires}
Requires(pre): shadow-utils
%description
The Alertmanager handles alerts sent by client applications such as the
Prometheus server. It takes care of deduplicating, grouping, and routing them to
the correct receiver integration such as email, PagerDuty, or OpsGenie. It also
takes care of silencing and inhibition of alerts.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1
tar -xzvf %{SOURCE4}
%build
mkdir -p $(go env GOPATH)/bin/
cp -n $(which promu) $(go env GOPATH)/bin/
export GOFLAGS="-mod=vendor -buildmode=pie
%ifarch riscv64
-gcflags=all=-d=wrapglobalmapctl=1
%endif
"
make build
%install
mkdir -vp %{buildroot}%{_sharedstatedir}/prometheus
install -D -m 755 -vd %{buildroot}%{_bindir}
install -D -m 755 -vp alertmanager %{buildroot}%{_bindir}
install -D -m 755 -vp amtool %{buildroot}%{_bindir}
install -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/default/%{name}
install -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/prometheus/%{name}.yml
%pre
getent group prometheus >/dev/null || groupadd -r prometheus
getent passwd prometheus >/dev/null || \
useradd -r -g prometheus -d %{_sharedstatedir}/prometheus -s /sbin/nologin \
-c "Prometheus services" prometheus
exit 0
%post
%systemd_post %{name}.service
%preun
%systemd_preun %{name}.service
%postun
%systemd_postun_with_restart %{name}.service
%files
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/prometheus/%{name}.yml
%{_bindir}/%{name}
%{_bindir}/amtool
%{_unitdir}/%{name}.service
%config(noreplace) %{_sysconfdir}/default/%{name}
%dir %attr(755, prometheus, prometheus)%{_sharedstatedir}/prometheus
%changelog
* Sat Mar 23 2024 Wenhui Tang <wenhui.oerv@isrc.iscas.ac.cn> - 0.26.0-2
- Append flags to GOFLAGS to fix go linker bugs for riscv
- Related issue: https://github.com/golang/go/issues/62465
- This is a temporary solution that requires fixing the upstream riscv support for golang.
* Tue Sep 5 2023 Zhengxin Guo <guozhengxin@kylinos.cn> - 0.26.0-1
- update to 0.26.0 to fix CVE-2023-40577
* Wed May 31 2023 Wenlong Zhang<zhangwenlong@loongson.cn> - 0.21.0-7
- update sys and net to support loong64
* Tue Mar 07 2023 jiangxinyu <jiangxinyu@kylinos.cn> - 0.21.0-6
- Add strip and pie
* Fri Feb 03 2023 jiangxinyu <jiangxinyu@kylinos.cn> - 0.21.0-5
- Add buildRequires systemd
* Sat Jan 29 2022 yangzhao <yangzhao1@kylinos.cn> - 0.21.0-4
- Build from source code
* Thu Aug 05 2021 herengui <herengui@uniontech.com> - 0.21.0-3
- Type: bugfix
- ID: #I4431I
- DESC: solve empty postun transaction issue.
* Tue Aug 11 2020 houjian <houjian@kylinos.cn> - 0.21.0-2
- Package init