pushgateway/pushgateway.spec
cherry530 351082dfa2 Set flags for build
Signed-off-by: cherry530 <xuping33@huawei.com>
(cherry picked from commit e104df79e00e3d214a8981d9bf51f46b5aba723d)
2023-02-09 11:47:20 +08:00

84 lines
2.3 KiB
RPMSpec

%define debug_package %{nil}
%ifarch aarch64
%global hostarch arm64
%endif
%ifarch x86_64
%global hostarch amd64
%endif
Name: pushgateway
Version: 1.4.1
Release: 4
Summary: Prometheus pushgateway.
License: ASL 2.0
URL: https://github.com/prometheus/%{name}
Source0: https://github.com/prometheus/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
Source1: %{name}.service
Source2: %{name}.default
Source3: vendor.tar.gz
Patch0: 0001-fix-promu-dependence-and-fix-not-found-web.patch
Patch1: 0001-Log-shutdown-gracefully-428.patch
BuildRequires: golang >= 1.13
BuildRequires: promu
BuildRequires: systemd
%{?systemd_requires}
Requires(pre): shadow-utils
%description
The Prometheus Pushgateway exists to allow ephemeral and batch jobs to expose their metrics to Prometheus.
Since these kinds of jobs may not exist long enough to be scraped, they can instead push their metrics to a Pushgateway.
The Pushgateway then exposes these metrics to Prometheus.
%prep
%autosetup -p1 -n %{name}-%{version}
%setup -T -D -a 3 -n %{name}-%{version}
%build
mkdir -p $(pwd)/bin
export GOBIN=$(pwd)/bin
go build -mod=vendor -buildmode=pie -ldflags "-s -w" -o bin ./ ...
%install
mkdir -p %{buildroot}%{_bindir}
install -D -m 755 bin/%{name} %{buildroot}%{_bindir}/
mkdir -vp %{buildroot}%{_sharedstatedir}/prometheus
install -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/default/%{name}
%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 %{name}.service
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_unitdir}/%{name}.service
%config(noreplace) %{_sysconfdir}/default/%{name}
%dir %attr(755, prometheus, prometheus)%{_sharedstatedir}/prometheus
%changelog
* Thu Feb 09 2023 xu_ping <xuping33@h-partners.com> - 1.4.1-4
- set flags for build
* Thu Jan 5 2023 caodongxia <caodongxia@h-partners.com> - 1.4.1-3
- Add buildRequires systemd
* Mon Oct 11 2021 chenchen <chen_aka_jan@163.com> - 1.4.1-2
- Logr shutdownr gracefully(#428
* Wed Jul 14 2021 baizhonggui <baizhonggui@huawei.com> - 1.4.1-1
- Package init