alertmanager/alertmanager.spec

84 lines
2.6 KiB
RPMSpec
Raw Permalink Normal View History

2020-08-12 09:16:07 +08:00
%define debug_package %{nil}
Name: alertmanager
Version: 0.21.0
2025-01-13 16:57:49 +08:00
Release: 4
2020-08-12 09:16:07 +08:00
Summary: Prometheus Alertmanager.
License: ASL 2.0
URL: https://github.com/prometheus/%{name}
2025-01-13 16:57:49 +08:00
Source0: https://github.com/prometheus/%{name}/archive/refs/tags/v%{version}.tar.gz
2020-08-12 09:16:07 +08:00
Source1: %{name}.service
Source2: %{name}.default
2025-01-13 16:57:49 +08:00
Source3: %{name}.yml
Patch3000: Fix-CVE-2022-21698.patch
BuildRequires: golang
BuildRequires: systemd
2020-08-12 09:16:07 +08:00
%{?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
2025-01-13 16:57:49 +08:00
%setup -q -n %{name}-%{version}
%patch3000 -p1
2020-08-12 09:16:07 +08:00
%build
2025-01-13 16:57:49 +08:00
export GOFLAGS="-mod=vendor -buildmode=pie"
go build -ldflags '-w -s -linkmode=external -extldflags "-Wl,-z,relro -Wl,-z,now -pie"' -mod=vendor -o %{_builddir}/%{name}-%{version}/bin/alertmanager ./cmd/alertmanager
go build -ldflags '-w -s -linkmode=external -extldflags "-Wl,-z,relro -Wl,-z,now -pie"' -mod=vendor -o %{_builddir}/%{name}-%{version}/bin/amtool ./cmd/amtool
2020-08-12 09:16:07 +08:00
%install
mkdir -vp %{buildroot}%{_sharedstatedir}/prometheus
2025-01-13 16:57:49 +08:00
install -D -m 755 -vd %{buildroot}%{_bindir}
install -D -m 755 -vp %{_builddir}/%{name}-%{version}/bin/* %{buildroot}%{_bindir}
2020-08-12 09:16:07 +08:00
install -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/default/%{name}
2025-01-13 16:57:49 +08:00
install -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/prometheus/%{name}.yml
2020-08-12 09:16:07 +08:00
%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
2020-08-12 09:16:07 +08:00
%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
2025-01-13 16:57:49 +08:00
* Mon Jan 13 2025 jiangxinyu <jiangxinyu@kylinos.cn> - 0.21.0-4
- Type: CVE
- CVE: CVE-2022-21698
- SUG: NA
- DESC: Fix CVE-2022-21698
* Thu Aug 05 2021 herengui <herengui@uniontech.com> - 0.21.0-3
- Type: bugfix
- ID: #I4431I
- DESC: solve empty postun transaction issue.
2020-08-12 09:16:07 +08:00
* Tue Aug 11 2020 houjian <houjian@kylinos.cn> - 0.21.0-2
- Package init