Name: prometheus Version: 3.3.0 Release: %autorelease Summary: The Prometheus monitoring system and time series database License: Apache-2.0 URL: https://github.com/prometheus/prometheus Source0: https://github.com/prometheus/prometheus/archive/refs/tags/v%{version}.tar.gz Source1: prometheus.service Source2: prometheus.sysusers Source3: prometheus.conf ExclusiveArch: x86_64 aarch64 BuildRequires: golang >= 1.23.0 BuildRequires: git BuildRequires: make BuildRequires: nodejs BuildRequires: nodejs-npm BuildRequires: systemd-rpm-macros BuildRequires: typescript BuildRequires: yamllint BuildRequires: yarnpkg %{?systemd_requires} %{?sysusers_requires_compat} Provides: group(prometheus) Provides: user(prometheus) %description %{summary}. %prep %setup -q -n prometheus-%{version} %build pushd web/ui GOOS= GOARCH= go generate -x -v popd make ui-install make assets make npm_licenses make assets-compress go generate -tags plugins ./plugins RPM_LD_FLAGS="-extldflags '%{build_ldflags}' \ -X github.com/prometheus/common/version.Version=%{version} \ -X github.com/prometheus/common/version.Revision=%{version} \ -X github.com/prometheus/common/version.Branch=tarball \ -X github.com/prometheus/common/version.BuildUser=pgdev@fedora-copr \ -X github.com/prometheus/common/version.BuildDate=$(date -u '+%%Y%%m%%d-%%H:%%M:%%S' --date=@${SOURCE_DATE_EPOCH})" go build \ -buildmode=pie \ -mod=readonly \ -modcacherw \ -ldflags "-compressdwarf=false -linkmode external $RPM_LD_FLAGS" \ ./cmd/prometheus go build \ -buildmode=pie \ -mod=readonly \ -modcacherw \ -ldflags "-compressdwarf=false -linkmode external $RPM_LD_FLAGS" \ ./cmd/promtool %install install --mode=755 -D prometheus %{buildroot}%{_bindir}/prometheus install --mode=755 -D promtool %{buildroot}%{_bindir}/promtool install --mode=755 --directory %{buildroot}%{_datadir}/prometheus/web/ui cp --recursive web/ui/static %{buildroot}%{_datadir}/prometheus/web/ui/ install --mode=640 -D documentation/examples/prometheus.yml %{buildroot}%{_sysconfdir}/prometheus/prometheus.yml install --mode=755 --directory %{buildroot}%{_docdir}/prometheus/examples cp --recursive documentation/examples/prometheus*.yml %{buildroot}%{_docdir}/prometheus/examples/ install --mode=644 -D %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service install --mode=644 -D %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf install --mode=640 -D %{SOURCE3} %{buildroot}%{_sysconfdir}/conf.d/prometheus install --mode=700 --directory %{buildroot}%{_sharedstatedir}/prometheus %files %license LICENSE %{_bindir}/prometheus %{_bindir}/promtool %{_datadir}/prometheus/web/ui %attr(750,root,prometheus) %dir %{_sysconfdir}/prometheus %attr(640,root,prometheus) %config %{_sysconfdir}/prometheus/prometheus.yml %{_docdir}/prometheus/examples %{_unitdir}/%{name}.service %{_sysusersdir}/%{name}.conf %attr(640,root,prometheus) %config %{_sysconfdir}/conf.d/prometheus %attr(700,prometheus,prometheus) %dir %{_sharedstatedir}/prometheus %pre %sysusers_create_compat %{SOURCE1} %post %systemd_post prometheus.service %preun %systemd_preun prometheus.service %postun %systemd_postun prometheus.service %changelog %autochangelog