## START: Set by rpmautospec ## (rpmautospec version 0.3.0) %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 13; 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.3 %bcond_without check %global shortname prometheus-node-exporter # https://github.com/prometheus/node_exporter %global goipath github.com/prometheus/node_exporter Version: 1.3.1 %gometa %global common_description %{expand: Prometheus exporter for hardware and OS metrics exposed by *NIX kernels, written in Go with pluggable metric collectors.} %global golicenses LICENSE NOTICE %global godocs docs examples CHANGELOG.md CODE_OF_CONDUCT.md\\\ CONTRIBUTING.md MAINTAINERS.md SECURITY.md README.md Name: %{goname} Release: %autorelease Summary: Exporter for machine metrics # Upstream license specification: Apache-2.0 License: ASL 2.0 and MIT URL: %{gourl} Source0: %{gosource} Source1: %{shortname}.sysusers Source2: %{shortname}.service Source3: %{shortname}.conf Source4: %{shortname}.logrotate # Replace defaults paths for config files Patch0: defaults-paths.patch # https://github.com/prometheus/node_exporter/pull/2190 Patch1: 0001-Refactor-perf-collector.patch BuildRequires: systemd-rpm-macros BuildRequires: golang(github.com/beevik/ntp) BuildRequires: golang(github.com/coreos/go-systemd/dbus) BuildRequires: golang(github.com/ema/qdisc) BuildRequires: golang(github.com/go-kit/log) BuildRequires: golang(github.com/go-kit/log/level) BuildRequires: golang(github.com/godbus/dbus) BuildRequires: golang(github.com/hashicorp/go-envparse) BuildRequires: golang(github.com/hodgesds/perf-utils) BuildRequires: golang(github.com/jsimonetti/rtnetlink) BuildRequires: golang(github.com/mattn/go-xmlrpc) BuildRequires: golang(github.com/mdlayher/wifi) BuildRequires: golang(github.com/prometheus/client_golang/prometheus) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/collectors) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/promhttp) BuildRequires: golang(github.com/prometheus/client_model/go) BuildRequires: golang(github.com/prometheus/common/expfmt) BuildRequires: golang(github.com/prometheus/common/promlog) BuildRequires: golang(github.com/prometheus/common/promlog/flag) BuildRequires: golang(github.com/prometheus/common/version) BuildRequires: golang(github.com/prometheus/exporter-toolkit/web) BuildRequires: golang(github.com/prometheus/procfs) BuildRequires: golang(github.com/prometheus/procfs/bcache) BuildRequires: golang(github.com/prometheus/procfs/blockdevice) BuildRequires: golang(github.com/prometheus/procfs/btrfs) BuildRequires: golang(github.com/prometheus/procfs/nfs) BuildRequires: golang(github.com/prometheus/procfs/sysfs) BuildRequires: golang(github.com/prometheus/procfs/xfs) BuildRequires: golang(github.com/safchain/ethtool) BuildRequires: golang(github.com/soundcloud/go-runit/runit) BuildRequires: golang(golang.org/x/sys/unix) BuildRequires: golang(gopkg.in/alecthomas/kingpin.v2) %if %{with check} # Tests BuildRequires: golang(github.com/prometheus/client_golang/prometheus/testutil) %endif Requires(pre): shadow-utils %description %{common_description} %gopkg %prep %goprep %patch0 -p1 %patch1 -p1 %build export BUILDTAGS="netgo osusergo static_build" 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 -u -d@$SOURCE_DATE_EPOCH +%%Y%%m%%d)" %gobuild -o %{gobuilddir}/bin/node_exporter %{goipath} %install %gopkginstall install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ mv %{buildroot}%{_bindir}/node_exporter %{buildroot}%{_bindir}/%{shortname} pushd %{buildroot}%{_bindir} ln -s %{shortname} node_exporter popd install -Dpm0644 %{S:1} %{buildroot}%{_sysusersdir}/%{shortname}.conf install -Dpm0644 %{S:2} %{buildroot}%{_unitdir}/%{shortname}.service pushd %{buildroot}%{_unitdir} ln -s %{shortname}.service node_exporter.service popd install -Dpm0644 %{S:3} %{buildroot}%{_sysconfdir}/default/%{shortname} install -Dpm0644 example-rules.yml %{buildroot}%{_datadir}/prometheus/node-exporter/example-rules.yml install -Dpm0644 %{S:4} %{buildroot}%{_sysconfdir}/logrotate.d/%{shortname} mkdir -vp %{buildroot}%{_sharedstatedir}/prometheus/node-exporter # Build man pages. mkdir -vp %{buildroot}/%{_mandir}/man1/ %{buildroot}%{_bindir}/%{shortname} --help-man > \ %{buildroot}/%{_mandir}/man1/%{shortname}.1 sed -i '/^ /d; /^.SH "NAME"/,+1c.SH "NAME"\nprometheus-node-exporter \\- The Prometheus Node-Exporter' \ %{buildroot}/%{_mandir}/man1/%{shortname}.1 %if %{with check} %check %gocheck -d collector %endif %pre %sysusers_create_compat %{SOURCE1} %post %systemd_post %{shortname}.service %preun %systemd_preun %{shortname}.service %postun %systemd_postun_with_restart %{shortname}.service %files %license LICENSE NOTICE %doc docs examples CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md %doc MAINTAINERS.md SECURITY.md README.md %{_bindir}/* %config(noreplace) %{_sysconfdir}/default/%{shortname} %config(noreplace) %{_sysconfdir}/logrotate.d/%{shortname} %{_sysusersdir}/%{shortname}.conf %{_unitdir}/%{shortname}.service %{_unitdir}/node_exporter.service %{_mandir}/man1/%{shortname}.1* %{_datadir}/prometheus/node-exporter/example-rules.yml %dir %attr(0755,prometheus,prometheus) %{_sharedstatedir}/prometheus %dir %attr(0755,prometheus,prometheus) %{_sharedstatedir}/prometheus/node-exporter %gopkgfiles %changelog * Thu Jan 19 2023 Fedora Release Engineering 1.3.1-13 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Wed Aug 10 2022 Maxwell G 1.3.1-12 - Rebuild to fix FTBFS * Thu Jul 21 2022 Fedora Release Engineering 1.3.1-11 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jul 19 2022 Maxwell G 1.3.1-10 - Rebuild for CVE-2022-{1705,32148,30631,30633,28131,30635,30632,30630,1962} in golang * Thu Jun 23 2022 Maxwell G 1.3.1-9 - Rebuild to mitigate CVE-2022-21698 (rhbz#2067400). * Sat Jun 18 2022 Robert-André Mauchin 1.3.1-8 - Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 * Sat Apr 16 2022 Fabio Alessandro Locati 1.3.1-7 - Rebuilt for CVE-2022-27191 * Fri Jan 28 2022 Robert-André Mauchin 1.3.1-6 - Symlink for older service name * Thu Jan 20 2022 Fedora Release Engineering 1.3.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Sun Jan 16 2022 Robert-André Mauchin 1.3.1-4 - Add logrotate file * Sat Jan 15 2022 Robert-André Mauchin 1.3.1-3 - Add LDFLAGS * Fri Jan 14 2022 Robert-André Mauchin 1.3.1-2 - Fix home directory permissions * Fri Jan 14 2022 Robert-André Mauchin 1.3.1-1 - Update to 1.3.1 Close: rhbz#2024811 Close: rhbz#2039257 * Thu Aug 12 2021 Robert-André Mauchin 1.2.2-1 - Update to 1.2.2 Close: rhbz#1945422 * Thu Jul 22 2021 Fedora Release Engineering - 1.1.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sun Mar 28 18:14:35 CEST 2021 Robert-André Mauchin - 1.1.1-2 - Fix binary location * Wed Feb 17 22:48:22 CET 2021 Robert-André Mauchin - 1.1.1-1 - Initial package