# Generated by go2rpm 1.6.0 %ifnarch s390x %bcond_without check %endif %global shortname prometheus # https://github.com/prometheus/prometheus %global goipath github.com/prometheus/prometheus Version: 2.32.1 %gometa %global common_description %{expand: The Prometheus monitoring system and time series database.} %global golicenses LICENSE NOTICE %global godocs docs CODE_OF_CONDUCT.md CONTRIBUTING.md\\\ MAINTAINERS.md SECURITY.md CHANGELOG.md README.md\\\ RELEASE.md Name: %{goname} Release: %autorelease Summary: Prometheus monitoring system and time series database # Upstream license specification: Apache-2.0 License: ASL 2.0 URL: %{gourl} Source0: %{gosource} # unzip Source0 # run 'make assets' in it # rm -rf web/ui/react-app # tar czvf ../web-ui-2.32.1.tar.gz web/ui Source20: web-ui-%{version}.tar.gz Source1: %{shortname}.service Source2: %{shortname}.sysusers Source3: %{shortname}.yml Source4: %{shortname}.conf Source5: %{shortname}.logrotate Source6: README.consoles # Debian patch for default settings Patch0: defaults-paths.patch BuildRequires: systemd-rpm-macros BuildRequires: golang(github.com/aws/aws-sdk-go/aws) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/awserr) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials/stscreds) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/ec2metadata) BuildRequires: golang(github.com/aws/aws-sdk-go/aws/session) BuildRequires: golang(github.com/aws/aws-sdk-go/service/ec2) BuildRequires: golang(github.com/aws/aws-sdk-go/service/lightsail) BuildRequires: golang(github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2018-10-01/compute) BuildRequires: golang(github.com/Azure/azure-sdk-for-go/services/network/mgmt/2018-10-01/network) BuildRequires: golang(github.com/Azure/go-autorest/autorest) BuildRequires: golang(github.com/Azure/go-autorest/autorest/adal) BuildRequires: golang(github.com/Azure/go-autorest/autorest/azure) BuildRequires: golang(github.com/cespare/xxhash/v2) BuildRequires: golang(github.com/dennwc/varint) BuildRequires: golang(github.com/digitalocean/godo) BuildRequires: golang(github.com/docker/docker/api/types) BuildRequires: golang(github.com/docker/docker/api/types/filters) BuildRequires: golang(github.com/docker/docker/api/types/swarm) BuildRequires: golang(github.com/docker/docker/client) BuildRequires: golang(github.com/edsrzf/mmap-go) BuildRequires: golang(github.com/envoyproxy/go-control-plane/envoy/config/core/v3) BuildRequires: golang(github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3) BuildRequires: golang(github.com/envoyproxy/protoc-gen-validate/validate) BuildRequires: golang(github.com/fsnotify/fsnotify) BuildRequires: golang(github.com/go-kit/log) BuildRequires: golang(github.com/go-kit/log/level) BuildRequires: golang(github.com/go-logfmt/logfmt) BuildRequires: golang(github.com/go-openapi/strfmt) BuildRequires: golang(github.com/go-zookeeper/zk) BuildRequires: golang(github.com/gogo/protobuf/gogoproto) BuildRequires: golang(github.com/gogo/protobuf/proto) BuildRequires: golang(github.com/golang/snappy) BuildRequires: golang(github.com/google/pprof/profile) BuildRequires: golang(github.com/gophercloud/gophercloud) BuildRequires: golang(github.com/gophercloud/gophercloud/openstack) BuildRequires: golang(github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/floatingips) BuildRequires: golang(github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/hypervisors) BuildRequires: golang(github.com/gophercloud/gophercloud/openstack/compute/v2/servers) BuildRequires: golang(github.com/gophercloud/gophercloud/pagination) BuildRequires: golang(github.com/hashicorp/consul/api) BuildRequires: golang(github.com/hetznercloud/hcloud-go/hcloud) # BuildRequires: golang(github.com/influxdata/influxdb/client/v2) BuildRequires: golang(github.com/json-iterator/go) BuildRequires: golang(github.com/kolo/xmlrpc) BuildRequires: golang(github.com/linode/linodego) BuildRequires: golang(github.com/miekg/dns) BuildRequires: golang(github.com/mwitkow/go-conntrack) BuildRequires: golang(github.com/oklog/run) BuildRequires: golang(github.com/oklog/ulid) BuildRequires: golang(github.com/opentracing-contrib/go-stdlib/nethttp) BuildRequires: golang(github.com/opentracing/opentracing-go) BuildRequires: golang(github.com/opentracing/opentracing-go/ext) BuildRequires: golang(github.com/pkg/errors) BuildRequires: golang(github.com/prometheus/alertmanager/api/v2/models) BuildRequires: golang(github.com/prometheus/client_golang/api) BuildRequires: golang(github.com/prometheus/client_golang/api/prometheus/v1) BuildRequires: golang(github.com/prometheus/client_golang/prometheus) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/promauto) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/promhttp) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/testutil) BuildRequires: golang(github.com/prometheus/client_golang/prometheus/testutil/promlint) BuildRequires: golang(github.com/prometheus/client_model/go) BuildRequires: golang(github.com/prometheus/common/config) BuildRequires: golang(github.com/prometheus/common/expfmt) BuildRequires: golang(github.com/prometheus/common/model) BuildRequires: golang(github.com/prometheus/common/promlog) BuildRequires: golang(github.com/prometheus/common/promlog/flag) BuildRequires: golang(github.com/prometheus/common/route) BuildRequires: golang(github.com/prometheus/common/server) BuildRequires: golang(github.com/prometheus/common/sigv4) BuildRequires: golang(github.com/prometheus/common/version) BuildRequires: golang(github.com/prometheus/exporter-toolkit/web) BuildRequires: golang(github.com/prometheus/exporter-toolkit/web/kingpinflag) BuildRequires: golang(github.com/scaleway/scaleway-sdk-go/api/baremetal/v1) BuildRequires: golang(github.com/scaleway/scaleway-sdk-go/api/instance/v1) BuildRequires: golang(github.com/scaleway/scaleway-sdk-go/scw) BuildRequires: golang(github.com/shurcooL/httpfs/filter) BuildRequires: golang(github.com/shurcooL/httpfs/union) BuildRequires: golang(github.com/shurcooL/vfsgen) BuildRequires: golang(github.com/stretchr/testify/require) BuildRequires: golang(github.com/uber/jaeger-client-go) BuildRequires: golang(github.com/uber/jaeger-client-go/config) BuildRequires: golang(github.com/uber/jaeger-lib/metrics/prometheus) BuildRequires: golang(go.uber.org/atomic) BuildRequires: golang(go.uber.org/goleak) BuildRequires: golang(golang.org/x/net/netutil) BuildRequires: golang(golang.org/x/oauth2/google) BuildRequires: golang(golang.org/x/sync/errgroup) BuildRequires: golang(golang.org/x/sys/unix) BuildRequires: golang(golang.org/x/time/rate) BuildRequires: golang(google.golang.org/api/compute/v1) BuildRequires: golang(google.golang.org/api/option) BuildRequires: golang(google.golang.org/genproto/googleapis/api/annotations) BuildRequires: golang(google.golang.org/protobuf/encoding/protojson) BuildRequires: golang(google.golang.org/protobuf/proto) BuildRequires: golang(google.golang.org/protobuf/reflect/protoreflect) BuildRequires: golang(google.golang.org/protobuf/reflect/protoregistry) BuildRequires: golang(google.golang.org/protobuf/runtime/protoimpl) BuildRequires: golang(google.golang.org/protobuf/types/known/anypb) BuildRequires: golang(gopkg.in/alecthomas/kingpin.v2) BuildRequires: golang(gopkg.in/yaml.v2) BuildRequires: golang(gopkg.in/yaml.v3) BuildRequires: golang(k8s.io/api/core/v1) BuildRequires: golang(k8s.io/api/discovery/v1beta1) BuildRequires: golang(k8s.io/api/networking/v1) BuildRequires: golang(k8s.io/api/networking/v1beta1) BuildRequires: golang(k8s.io/apimachinery/pkg/apis/meta/v1) BuildRequires: golang(k8s.io/apimachinery/pkg/fields) BuildRequires: golang(k8s.io/apimachinery/pkg/labels) BuildRequires: golang(k8s.io/apimachinery/pkg/runtime) BuildRequires: golang(k8s.io/apimachinery/pkg/util/version) BuildRequires: golang(k8s.io/apimachinery/pkg/watch) BuildRequires: golang(k8s.io/client-go/kubernetes) BuildRequires: golang(k8s.io/client-go/rest) BuildRequires: golang(k8s.io/client-go/tools/cache) BuildRequires: golang(k8s.io/client-go/tools/clientcmd) BuildRequires: golang(k8s.io/client-go/tools/metrics) BuildRequires: golang(k8s.io/client-go/util/workqueue) BuildRequires: golang(github.com/simonpasquier/klog-gokit) BuildRequires: golang(github.com/simonpasquier/klog-gokit/v2) %if %{with check} # Tests BuildRequires: golang(k8s.io/apimachinery/pkg/types) BuildRequires: golang(k8s.io/apimachinery/pkg/version) BuildRequires: golang(k8s.io/client-go/discovery/fake) BuildRequires: golang(k8s.io/client-go/kubernetes/fake) %endif Requires(pre): shadow-utils %description %{common_description} %gopkg %prep %goprep %autosetup -N -T -D -a 20 -n prometheus-%{version} sed -i "s|klog \"k8s.io/klog\"|klog \"github.com/simonpasquier/klog-gokit\"|" $(find . -iname "*.go" -type f) sed -i "s|klogv2 \"k8s.io/klog/v2\"|klogv2 \"github.com/simonpasquier/klog-gokit/v2\"|" $(find . -iname "*.go" -type f) %patch -P0 -p1 %build export BUILDTAGS="netgo builtinassets" 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)" for cmd in cmd/* ; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd done %install %gopkginstall install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ install -Dpm0644 %{S:2} %{buildroot}%{_sysusersdir}/%{shortname}.conf install -Dpm0644 %{S:1} %{buildroot}%{_unitdir}/%{shortname}.service install -Dpm0644 %{S:4} %{buildroot}%{_sysconfdir}/default/%{shortname} install -Dpm0644 %{S:3} %{buildroot}%{_sysconfdir}/prometheus/prometheus.yml install -Dpm0644 %{S:5} %{buildroot}%{_sysconfdir}/logrotate.d/prometheus mkdir -vp %{buildroot}%{_sysconfdir}/prometheus/consoles install -Dpm0644 %{S:6} %{buildroot}%{_sysconfdir}/prometheus/consoles/README.consoles mkdir -vp %{buildroot}%{_sysconfdir}/prometheus/console_libraries install -Dpm0644 %{S:6} %{buildroot}%{_sysconfdir}/prometheus/console_libraries/README.consoles mkdir -vp %{buildroot}%{_sharedstatedir}/prometheus # Build man pages. mkdir -vp %{buildroot}/%{_mandir}/man1/ %{buildroot}%{_bindir}/%{shortname} --help-man > \ %{buildroot}/%{_mandir}/man1/%{shortname}.1 %{buildroot}%{_bindir}/promtool --help-man > \ %{buildroot}/%{_mandir}/man1/promtool.1 sed -i '/^ /d; /^.SH "NAME"/,+1c.SH "NAME"\nprometheus \\- The Prometheus monitoring server' \ %{buildroot}/%{_mandir}/man1/%{shortname}.1 sed -i '/^ /d; /^.SH "NAME"/,+1c.SH "NAME"\npromtool \\- Tooling for the Prometheus monitoring system' \ %{buildroot}/%{_mandir}/man1/promtool.1 %pre %sysusers_create_compat %{SOURCE2} %post %systemd_post %{shortname}.service %preun %systemd_preun %{shortname}.service %postun %systemd_postun_with_restart %{shortname}.service %if %{with check} %check # scrape: needs network %gocheck -t cmd -d scrape -d template -d promql -t discovery -d web -d config %endif %files %license LICENSE NOTICE %doc docs CODE_OF_CONDUCT.md CONTRIBUTING.md MAINTAINERS.md SECURITY.md %doc CHANGELOG.md README.md RELEASE.md %{_bindir}/* %dir %{_sysconfdir}/prometheus/ %dir %{_sysconfdir}/prometheus/consoles %dir %{_sysconfdir}/prometheus/console_libraries %config(noreplace) %{_sysconfdir}/prometheus/prometheus.yml %config(noreplace) %{_sysconfdir}/default/%{shortname} %config(noreplace) %{_sysconfdir}/logrotate.d/prometheus %{_sysconfdir}/prometheus/consoles/README.consoles %{_sysconfdir}/prometheus/console_libraries/README.consoles %{_mandir}/man1/%{shortname}.1* %{_mandir}/man1/promtool.1* %{_unitdir}/prometheus.service %{_sysusersdir}/prometheus.conf %dir %attr(0755,prometheus,prometheus) %{_sharedstatedir}/prometheus %gopkgfiles %changelog %autochangelog