diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..34bc0fb --- /dev/null +++ b/Makefile @@ -0,0 +1,30 @@ +NAME = prometheus +SPEC = golang-github-prometheus-prometheus.spec + +default: clean tar + +clean: + rm -f $(NAME)-*.tar $(NAME)-*.tar.gz + +tar: + osc service disabledrun + @version=$$( awk '/^Version:/ {print $$2;exit;}' $(SPEC) ) && \ + echo "Package version is $$version" && \ + basename=$(NAME)-$$version && \ + tar=$$basename.tar && \ + web_ui=web-ui-$$version.tar && \ + wd=$$(pwd) && \ + tmpdir=$$(mktemp -d -p /tmp) && \ + cd $$tmpdir && \ + tar -zxf $$wd/$$tar.gz && \ + cd $$basename && \ + make assets npm_licenses assets-compress && \ + tar -cf $$wd/$$web_ui web/ui/static/react && \ + find web/ui/static -type f -name '*.gz' -exec tar -rf $$wd/$$web_ui "{}" \; && \ + tar -rf $$wd/$$web_ui web/ui/embed.go && \ + cd .. && \ + echo "Creating web assets tarball" && \ + mv $$basename/npm_licenses.tar.bz2 $$wd && \ + cd $$wd && \ + gzip -f $$web_ui && \ + rm -rf $$tmpdir diff --git a/PACKAGING_README.md b/PACKAGING_README.md new file mode 100644 index 0000000..e587bd5 --- /dev/null +++ b/PACKAGING_README.md @@ -0,0 +1,9 @@ +# Packaging prometheus + +In addition to the source code in the tarball, this package also +needs the assets for the web UI. These can be generated by the +`Makefile` that is present in this package. +To do that, you need to have `make` and `npm` installed locally. + +For the OBS workflow you also need `obs-service-go_modules` as well +as `obs-service-tar_scm` and `obs-service-recompress`. diff --git a/_service b/_service index 8b68cd5..fb805db 100644 --- a/_service +++ b/_service @@ -4,7 +4,7 @@ git .git @PARENT_TAG@ - v2.41.0 + v2.42.0 v(.*) v2* @@ -12,10 +12,7 @@ *.tar gz - - prometheus - - prometheus-2.41.0.tar.gz + prometheus-2.42.0.tar.gz diff --git a/golang-github-prometheus-prometheus.changes b/golang-github-prometheus-prometheus.changes index a809bfb..4bf96cd 100644 --- a/golang-github-prometheus-prometheus.changes +++ b/golang-github-prometheus-prometheus.changes @@ -1,3 +1,56 @@ +------------------------------------------------------------------- +Tue Feb 28 15:44:01 UTC 2023 - Johannes Kastl + +- fix boo#1208752 +- adjust packaging to build webassets locally, outside of OBS + * to get the UI working, newer versions of prometheus need the + react app assets + * as running `npm install` inside of OBS is not possible, the + required dependencies need to be prepared outside of OBS + * added a PACKAGING_README.md file, that explains how the new + web-ui-*.tar.gz and npm_licenses.tar.bz2 tarballs can be + created + +------------------------------------------------------------------- +Thu Feb 2 07:19:41 UTC 2023 - Johannes Kastl + +- update to 2.42.0: + This release comes with a bunch of feature coverage for native + histograms and breaking changes. + + If you are trying native histograms already, we recommend you + remove the `wal` directory when upgrading. + Because the old WAL record for native histograms is not + backward compatible in v2.42.0, this will lead to some data + loss for the latest data. + + Additionally, if you scrape "float histograms" or use recording + rules on native histograms in v2.42.0 (which writes float + histograms), + it is a one-way street since older versions do not support + float histograms. + + * [CHANGE] **breaking** TSDB: Changed WAL record format for the + experimental native histograms. #11783 + * [FEATURE] Add 'keep_firing_for' field to alerting rules. + #11827 + * [FEATURE] Promtool: Add support of selecting timeseries for + TSDB dump. #11872 + * [ENHANCEMENT] Agent: Native histogram support. #11842 + * [ENHANCEMENT] Rules: Support native histograms in recording + rules. #11838 + * [ENHANCEMENT] SD: Add container ID as a meta label for pod + targets for Kubernetes. #11844 + * [ENHANCEMENT] SD: Add VM size label to azure service + discovery. #11650 + * [ENHANCEMENT] Support native histograms in federation. #11830 + * [ENHANCEMENT] TSDB: Add gauge histogram support. + #11783 #11840 #11814 + * [ENHANCEMENT] TSDB/Scrape: Support FloatHistogram that + represents buckets as float64 values. #11522 #11817 #11716 + * [ENHANCEMENT] UI: Show individual scrape pools on /targets + page. #11142 + ------------------------------------------------------------------- Tue Jan 10 14:18:30 UTC 2023 - Johannes Kastl diff --git a/golang-github-prometheus-prometheus.spec b/golang-github-prometheus-prometheus.spec index 9bec078..f28a065 100644 --- a/golang-github-prometheus-prometheus.spec +++ b/golang-github-prometheus-prometheus.spec @@ -27,7 +27,7 @@ %endif Name: golang-github-prometheus-prometheus -Version: 2.41.0 +Version: 2.42.0 Release: 0 Summary: The Prometheus monitoring system and time series database License: Apache-2.0 @@ -35,12 +35,15 @@ Group: System/Monitoring URL: https://prometheus.io/ # also includes web assets generated with `make assets` Source: prometheus-%{version}.tar.gz -# generated after applying 0003-Bump-client_golang-to-1.12.1.patch Source1: vendor.tar.gz -Source2: prometheus.service -Source3: prometheus.yml -Source4: prometheus.sysconfig -Source5: prometheus.firewall.xml +Source2: web-ui-%{version}.tar.gz +Source3: prometheus.service +Source4: prometheus.yml +Source5: prometheus.sysconfig +Source6: prometheus.firewall.xml +Source7: npm_licenses.tar.bz2 +Source8: Makefile +Source9: PACKAGING_README.md Patch1: 0001-Do-not-force-the-pure-Go-name-resolver.patch # Lifted from Debian's prometheus package Patch2: 0002-Default-settings.patch @@ -78,7 +81,8 @@ Prometheus's main features are: - multiple modes of graphing and dashboarding support %prep -%autosetup -a1 -p1 -n prometheus-%{version} +%setup -q -a1 -n prometheus-%{version} +%autosetup -D -a2 -p1 -n prometheus-%{version} %build %goprep github.com/prometheus/prometheus @@ -87,9 +91,9 @@ GOPATH=%{_builddir}/go promu build -v %install install -D -m0755 %{_builddir}/prometheus-%{version}/prometheus %{buildroot}/%{_bindir}/prometheus install -D -m0755 %{_builddir}/prometheus-%{version}/promtool %{buildroot}/%{_bindir}/promtool -install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/prometheus.service +install -D -m 0644 %{SOURCE3} %{buildroot}%{_unitdir}/prometheus.service -install -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/prometheus/prometheus.yml +install -D -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/prometheus/prometheus.yml install -d -m 0755 %{buildroot}%{_sbindir} ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rcprometheus @@ -98,16 +102,18 @@ install -m 0755 -d %{buildroot}%{_datarootdir}/prometheus cp -fr console_libraries/ consoles/ %{buildroot}%{_datarootdir}/prometheus install -m 0755 -d %{buildroot}%{_fillupdir} -install -m 0644 %{SOURCE4} %{buildroot}%{_fillupdir}/sysconfig.prometheus +install -m 0644 %{SOURCE5} %{buildroot}%{_fillupdir}/sysconfig.prometheus %if 0%{?suse_version} == 1500 && 0%{?sle_version} < 150300 install -m 0755 -d %{buildroot}%{_prefix}/lib/firewalld/services/ -install -m 0644 %{SOURCE5} %{buildroot}%{_prefix}/lib/firewalld/services/prometheus.xml +install -m 0644 %{SOURCE6} %{buildroot}%{_prefix}/lib/firewalld/services/prometheus.xml %endif install -Dd -m 0750 %{buildroot}%{_localstatedir}/lib/prometheus install -Dd -m 0750 %{buildroot}%{_localstatedir}/lib/prometheus/data install -Dd -m 0750 %{buildroot}%{_localstatedir}/lib/prometheus/metrics + +install -D -m0644 %{SOURCE7} %{buildroot}/%{_defaultlicensedir}/%{name}/npm_licenses.tar.bz2 %gofilelist %fdupes %{buildroot}/%{_prefix} @@ -135,6 +141,7 @@ install -Dd -m 0750 %{buildroot}%{_localstatedir}/lib/prometheus/metrics %defattr(-,root,root,-) %doc README.md %license LICENSE +%license %{_defaultlicensedir}/%{name} %{_bindir}/prometheus %{_bindir}/promtool %{_unitdir}/prometheus.service diff --git a/npm_licenses.tar.bz2 b/npm_licenses.tar.bz2 new file mode 100644 index 0000000..622b07d --- /dev/null +++ b/npm_licenses.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be250b0fed039b63c1eb6be3e0fd088c012b38b4b99fe0251de236e26c90fd68 +size 150687 diff --git a/prometheus-2.41.0.tar.gz b/prometheus-2.41.0.tar.gz deleted file mode 100644 index df7cf0e..0000000 --- a/prometheus-2.41.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:54335745a205d2e117e0f6dfd24e1f361e94aa0ed2ad671a63de9fa817789bb1 -size 6295431 diff --git a/prometheus-2.42.0.tar.gz b/prometheus-2.42.0.tar.gz new file mode 100644 index 0000000..4571617 --- /dev/null +++ b/prometheus-2.42.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76cb8451cda26e3ca965ee4e1ff6d1568465f09b497b883027a6e42fcbace5db +size 6329585 diff --git a/vendor.tar.gz b/vendor.tar.gz index 454707f..6204cfa 100644 --- a/vendor.tar.gz +++ b/vendor.tar.gz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:db00f0c8609146ea5f60a56cee773d8d0ed35f7c203cd85880cbbce1be9ad0d8 -size 12555170 +oid sha256:b80508113f08dc052576587658024c96973c8cc7a9843707f2a1d4963d43f6ef +size 12072331 diff --git a/web-ui-2.42.0.tar.gz b/web-ui-2.42.0.tar.gz new file mode 100644 index 0000000..5e10fa4 --- /dev/null +++ b/web-ui-2.42.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d56177129390906641bb69926fb1bafc015e201c12849cbedd8aa0dc72d79ef +size 9128064