## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 7; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Generated by go2rpm 1.5.0 %global shortname prometheus-alertmanager %define gobuild(o:) %{expand: # https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12 %global _dwz_low_mem_die_limit 0 %ifnarch ppc64 go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-}%{?currentgoldflags} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags %{?__golang_extldflags}' -compressdwarf=false" -a -v -x %{?**}; %else go build -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-}%{?currentgoldflags} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags %{?__golang_extldflags}' -compressdwarf=false" -a -v -x %{?**}; %endif } # https://github.com/prometheus/alertmanager %global goipath github.com/prometheus/alertmanager Version: 0.23.0 %global common_description %{expand: 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 integrations such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts.} %global golicenses COPYRIGHT.txt LICENSE NOTICE %global godocs doc examples MAINTAINERS.md README.md CHANGELOG.md SECURITY.md Name: golang-github-prometheus-alertmanager Release: %autorelease Summary: Prometheus Alertmanager # Upstream license specification: Apache-2.0 License: ASL 2.0 URL: https://github.com/prometheus/alertmanager Source0: %url/archive/v%{version}/alertmanager-%{version}.tar.gz Source1: %{shortname}.service # Source2: %%{shortname}.sysusers Source3: %{shortname}.conf Source4: %{shortname}.yml Source5: README.templates Source6: %{shortname}.logrotate # git clone https://github.com/prometheus/alertmanager # cd alertmanager # git checkout v%%{version} # go mod vendor # tar -czvf ../vendor-%%{version}.tar.gz vendor/ Source10: vendor-%{version}.tar.gz # Replace defaults paths for config files Patch0: defaults-paths.patch ExcludeArch: s390x # e.g. el6 has ppc64 arch without gcc-go, so EA tag is required ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}} # If go_compiler is not set to 1, there is no virtual provide. Use golang instead. BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} BuildRequires: systemd-rpm-macros Requires(pre): shadow-utils %description %{common_description} %prep %autosetup -p1 -n alertmanager-%{version} %setup -q -T -D -a 10 -n alertmanager-%{version} %build export GO111MODULE=on export GOFLAGS=-mod=vendor LDFLAGS="-X github.com/prometheus/common/version.Version=%{version} \ -X github.com/prometheus/common/version.Revision=%{release} \ -X github.com/prometheus/common/version.Branch=tarball \ -X github.com/prometheus/common/version.BuildDate=$(date +%%Y%%m%%d) " for cmd in cmd/* ; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd done %install install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ mv %{buildroot}%{_bindir}/alertmanager %{buildroot}%{_bindir}/%{shortname} pushd %{buildroot}%{_bindir} ln -s %{shortname} alertmanager popd install -Dpm0644 %{S:4} %{buildroot}%{_sysconfdir}/prometheus/alertmanager.yml install -Dpm0644 %{S:5} %{buildroot}%{_sysconfdir}/prometheus/alertmanager_templates/README.templates mkdir -vp %{buildroot}%{_sharedstatedir}/prometheus/alertmanager install -Dpm0644 %{S:1} %{buildroot}%{_unitdir}/%{shortname}.service # install -Dpm0644 %%{S:2} %%{buildroot}%%{_sysusersdir}/%%{shortname}.conf install -Dpm0644 %{S:3} %{buildroot}%{_sysconfdir}/default/%{shortname} install -Dpm0644 %{S:6} %{buildroot}%{_sysconfdir}/logrotate.d/%{shortname} install -Dpm0644 template/default.tmpl %{buildroot}/%{_datadir}/prometheus/alertmanager/template/default.tmpl # Build man pages. mkdir -vp %{buildroot}/%{_mandir}/man1/ %{buildroot}%{_bindir}/%{shortname} --help-man > \ %{buildroot}/%{_mandir}/man1/%{shortname}.1 %{buildroot}%{_bindir}/amtool --help-man > \ %{buildroot}/%{_mandir}/man1/amtool.1 sed -i '/^ /d; /^.SH "NAME"/,+1c.SH "NAME"\nprometheus-alertmanager \\- The Prometheus alert manager' \ %{buildroot}/%{_mandir}/man1/%{shortname}.1 sed -i '/^ /d; /^.SH "NAME"/,+1c.SH "NAME"\namtool \\- Tooling for the Prometheus alert manager' \ %{buildroot}/%{_mandir}/man1/amtool.1 # Fix executable path in amtool examples sed -i 's/\.\/amtool/amtool/' %{buildroot}/%{_mandir}/man1/amtool.1 %pre getent group prometheus >/dev/null || groupadd -r prometheus getent passwd prometheus >/dev/null || \ useradd -r -g prometheus -d /var/lib/prometheus -s /sbin/nologin \ -c "Shared system user for all Prometheus components" prometheus exit 0 %post %systemd_post %{shortname}.service %preun %systemd_preun %{shortname}.service %postun %systemd_postun_with_restart %{shortname}.service %files %license COPYRIGHT.txt LICENSE NOTICE %doc doc examples MAINTAINERS.md README.md CHANGELOG.md SECURITY.md %{_bindir}/* %{_datadir}/prometheus %{_mandir}/man1/%{shortname}.1* %{_mandir}/man1/amtool.1* %dir %{_sysconfdir}/prometheus %config(noreplace) %{_sysconfdir}/prometheus/alertmanager.yml %config(noreplace) %{_sysconfdir}/logrotate.d/%{shortname} %{_sysconfdir}/prometheus/alertmanager_templates %config(noreplace) %{_sysconfdir}/default/%{shortname} %dir %attr(0755,prometheus,prometheus) %{_sharedstatedir}/prometheus %dir %attr(0755,prometheus,prometheus) %{_sharedstatedir}/prometheus/alertmanager # %%{_sysusersdir}/%%{shortname}.conf %{_unitdir}/%{shortname}.service %changelog ## START: Generated by rpmautospec * Sun Jan 16 2022 Robert-André Mauchin - 0.23.0-7 - Add logrotate file * Sat Jan 15 2022 Robert-André Mauchin - 0.23.0-6 - Use legacy user creation * Fri Jan 14 2022 Robert-André Mauchin - 0.23.0-5 - Fix home directory permissions * Wed Jan 12 2022 Robert-André Mauchin - 0.23.0-4 - Convert for EPEL8 Close: rhbz#2039069 * Tue Jan 11 2022 Robert-André Mauchin - 0.23.0-3 - Breaking changes: the binary is now named prometheus-alertmanager * Sun Aug 29 2021 Fabian Affolter - 0.23.0-2 - Exclude s390x * Sun Aug 29 2021 Fabian Affolter - 0.23.0-1 - Update to latest upstream release 0.23.0 (closes rhbz#1997579) * Thu Aug 12 2021 Robert-André Mauchin - 0.22.2-1 - Update to 0.22.2 Close: rhbz#1957155,rhbz#1992361,rhbz#1991473 * Thu Jul 22 2021 Fedora Release Engineering - 0.21.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jan 26 2021 Fedora Release Engineering - 0.21.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Mon Dec 21 11:26:23 CET 2020 Robert-André Mauchin - 0.21.0-2 - Add patch to use newer common. - Fix FTBFS * Thu Jul 30 23:17:24 CEST 2020 Robert-André Mauchin - 0.21.0-1 - Update to 0.21.0 * Mon Jul 27 2020 Fedora Release Engineering - 0.20.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Sun Feb 02 01:22:57 CET 2020 Robert-André Mauchin - 0.20.0-1 - Update to 0.20.0 * Wed Jan 29 2020 Fedora Release Engineering - 0.18.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Thu Jul 25 2019 Fedora Release Engineering - 0.18.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Tue Jul 09 20:05:46 CEST 2019 Robert-André Mauchin - 0.18.0-1 - Initial package ## END: Generated by rpmautospec