diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-21 17:19:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-03-21 17:19:04 +0000 |
commit | 310edf444908b09ea6d00c03baceb7925f3bb7a2 (patch) | |
tree | 7064577c7fa7a851e2e930beb606ea8237b0bbd2 /contrib/debian/rules | |
parent | Releasing debian version 1.44.3-2. (diff) | |
download | netdata-310edf444908b09ea6d00c03baceb7925f3bb7a2.tar.xz netdata-310edf444908b09ea6d00c03baceb7925f3bb7a2.zip |
Merging upstream version 1.45.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'contrib/debian/rules')
-rwxr-xr-x | contrib/debian/rules | 136 |
1 files changed, 107 insertions, 29 deletions
diff --git a/contrib/debian/rules b/contrib/debian/rules index d0aa35394..e9231cdca 100755 --- a/contrib/debian/rules +++ b/contrib/debian/rules @@ -2,28 +2,58 @@ # Find the arch we are building for, as this determines # the location of plugins in /usr/lib +SRC_DIR = /usr/src/netdata TOP = $(CURDIR)/debian/netdata TEMPTOP = $(CURDIR)/debian/tmp +BUILDDIR = $(CURDIR)/debian/build BASE_CONFIG = system/netdata.conf SYSTEMD_VERSION = $(shell /bin/sh -c "systemd --version 2>&1 | head -n 1 | cut -f 2 -d ' '") -ifeq ($(shell test $(SYSTEMD_VERSION) -ge 235 && echo "1"), 1) -SYSTEMD_UNIT = system/systemd/netdata.service.v235 +ifeq ($(shell test $(SYSTEMD_VERSION) -gt 235 && echo "1"), 1) +SYSTEMD_UNIT = $(BUILDDIR)/system/systemd/netdata.service else -SYSTEMD_UNIT = system/systemd/netdata.service +SYSTEMD_UNIT = $(BUILDDIR)/system/systemd/netdata.service.v235 endif ifeq ($(shell test ${DEB_TARGET_ARCH} != "amd64" && echo "1"), 1) HAVE_EBPF = 0 -EBPF_CONFIG = --disable-ebpf +EBPF_CONFIG = -DENABLE_PLUGIN_EBPF=Off else HAVE_EBPF = 1 +EBPF_CONFIG = -DENABLE_PLUGIN_EBPF=On endif +ifeq ($(shell test ${DEB_TARGET_ARCH} != "amd64" && echo "1"), 1) +ifeq ($(shell test ${DEB_TARGET_ARCH} != "arm64" && echo "1"), 1) +HAVE_XENSTAT = 0 +XENSTAT_CONFIG = -DENABLE_PLUGIN_XENSTAT=Off +else +HAVE_XENSTAT = 1 +XENSTAT_CONFIG = -DENABLE_PLUGIN_XENSTAT=On +endif +else +HAVE_XENSTAT = 1 +XENSTAT_CONFIG = -DENABLE_PLUGIN_XENSTAT=On +endif + +ifeq ($(ENABLE_SENTRY),true) + RELEASE_PIPELINE ?= Unknown + VERSION ?= Unknown + BUILD_DESTINATION ?= Unknown + SENTRY_CONFIG := -DENABLE_SENTRY=On \ + -DNETDATA_SENTRY_ENVIRONMENT=$(RELEASE_PIPELINE) \ + -DNETDATA_SENTRY_RELEASE=$(VERSION) \ + -DNETDATA_SENTRY_DIST=$(BUILD_DESTINATION) \ + -DNETDATA_SENTRY_DSN=$(SENTRY_DSN) +else + SENTRY_CONFIG := -DENABLE_SENTRY=Off +endif + + %: - dh $@ + dh $@ --builddirectory=$(BUILDDIR) override_dh_installinit: echo "SystemD Version: $(SYSTEMD_VERSION)" @@ -38,10 +68,44 @@ override_dh_auto_configure: packaging/bundle-libbpf.sh . ${TOP}/usr/libexec/netdata/plugins.d; \ packaging/bundle-ebpf-co-re.sh . ${TOP}/usr/libexec/netdata/plugins.d; \ fi - autoreconf -ivf - dh_auto_configure -- --prefix=/usr --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib \ - --libexecdir=/usr/libexec --with-user=netdata --with-math --with-zlib --with-webdir=/var/lib/netdata/www \ - --disable-dependency-tracking $(EBPF_CONFIG) + dh_auto_configure -- -G Ninja \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_INSTALL_PREFIX=/ \ + -DWEB_DIR=/var/lib/netdata/www \ + -DCMAKE_C_FLAGS='-ffile-prefix-map=${SRC_DIR}=${SRC_DIR}' \ + -DENABLE_ACLK=On \ + -DENABLE_CLOUD=On \ + -DENABLE_DBENGINE=On \ + -DENABLE_H2O=On \ + -DENABLE_ML=On \ + -DENABLE_PLUGIN_APPS=On \ + -DENABLE_PLUGIN_CGROUP_NETWORK=On \ + -DENABLE_PLUGIN_DEBUGFS=On \ + $(EBPF_CONFIG) \ + -DENABLE_PLUGIN_FREEIPMI=On \ + -DENABLE_PLUGIN_GO=On \ + -DENABLE_PLUGIN_LOCAL_LISTENERS=On \ + -DENABLE_PLUGIN_LOGS_MANAGEMENT=On \ + -DENABLE_PLUGIN_NFACCT=On \ + -DENABLE_PLUGIN_PERF=On \ + -DENABLE_PLUGIN_SLABINFO=On \ + -DENABLE_PLUGIN_SYSTEMD_JOURNAL=On \ + $(XENSTAT_CONFIG) \ + -DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=On \ + -DENABLE_EXPORTER_MONGODB=On \ + -DENABLE_BUNDLED_PROTOBUF=Off \ + -DENABLE_BUNDLED_JSONC=Off \ + ${SENTRY_CONFIG} \ + -DENABLE_BUNDLED_YAML=Off + +override_dh_auto_test: + true + +override_dh_strip: + if [ "${ENABLE_SENTRY}" = "true" ] && [ "${UPLOAD_SENTRY}" = "true" ]; then \ + sentry-cli debug-files upload -o netdata-inc -p netdata-agent --force-foreground --log-level=debug --wait --include-sources /usr/src/netdata/debian/netdata/usr/sbin/netdata; \ + fi + dh_strip override_dh_install: cp -v $(BASE_CONFIG) debian/netdata.conf @@ -60,7 +124,7 @@ override_dh_install: mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/freeipmi.plugin \ $(TOP)-plugin-freeipmi/usr/libexec/netdata/plugins.d/freeipmi.plugin - # Add free IPMI plugin install rules + # Add NFACCT plugin install rules # mkdir -p $(TOP)-plugin-nfacct/usr/libexec/netdata/plugins.d mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/nfacct.plugin \ @@ -140,6 +204,29 @@ override_dh_install: mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/logsmanagement.d/ \ $(TOP)-plugin-logs-management/usr/lib/netdata/conf.d/logsmanagement.d/ + # Add xenstat plugin install rules + if [ $(HAVE_XENSTAT) -eq 1 ]; then \ + mkdir -p $(TOP)-plugin-xenstat/usr/libexec/netdata/plugins.d/ ; \ + mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/xenstat.plugin \ + $(TOP)-plugin-xenstat/usr/libexec/netdata/plugins.d/xenstat.plugin; \ + fi + + # Install go to it's own package directory + # + mkdir -p $(TOP)-plugin-go/usr/libexec/netdata/plugins.d + mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/go.d.plugin \ + $(TOP)-plugin-go/usr/libexec/netdata/plugins.d/go.d.plugin + mkdir -p $(TOP)-plugin-go/usr/lib/netdata/conf.d + mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/go.d.conf \ + $(TOP)-plugin-go/usr/lib/netdata/conf.d/go.d.conf + mv -f $(TEMPTOP)/usr/lib/netdata/conf.d/go.d \ + $(TOP)-plugin-go/usr/lib/netdata/conf.d/go.d + + # Add network-viewer plugin install rules + mkdir -p $(TOP)-plugin-network-viewer/usr/libexec/netdata/plugins.d/ + mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/network-viewer.plugin \ + $(TOP)-plugin-network-viewer/usr/libexec/netdata/plugins.d/network-viewer.plugin + # Set the rest of the software in the main package # cp -rp $(TEMPTOP)/usr $(TOP) @@ -153,15 +240,6 @@ override_dh_install: # cp -v packaging/installer/netdata-updater.sh $(TOP)/usr/libexec/netdata/netdata-updater.sh - # Move files that local user shouldn't be editing to /usr/share/netdata - # - mkdir -p "$(TOP)/usr/share/netdata/www" - for D in $$(find "$(TOP)/var/lib/netdata/www/" -maxdepth 1 -type d -printf '%f '); do \ - echo Relocating $$D; \ - mv "$(TOP)/var/lib/netdata/www/$$D" "$(TOP)/usr/share/netdata/www/$$D"; \ - ln -s "/usr/share/netdata/www/$$D" "$(TOP)/var/lib/netdata/www/$$D"; \ - done - # Handle eBPF code # if [ $(HAVE_EBPF) -eq 1 ]; then \ @@ -169,13 +247,6 @@ override_dh_install: packaging/bundle-ebpf.sh . ${TOP}-ebpf-code-legacy/usr/libexec/netdata/plugins.d/ force; \ fi - # Install go to it's own package directory - # - mkdir -p $(TOP)-plugin-go/usr/lib/netdata/conf.d - mkdir -p $(TOP)-plugin-go/usr/libexec/netdata/plugins.d - debian/install_go.sh $$(cat ${CURDIR}/packaging/go.d.version) \ - $(TOP)-plugin-go/usr/lib/netdata \ - $(TOP)-plugin-go/usr/libexec/netdata override_dh_installdocs: dh_installdocs @@ -201,7 +272,6 @@ override_dh_fixperms: # apps.plugin should only be runnable by the netdata user. It will be # given extra capabilities in the postinst script. - # chmod 0750 $(TOP)-plugin-apps/usr/libexec/netdata/plugins.d/apps.plugin # slabinfo package @@ -228,14 +298,22 @@ override_dh_fixperms: # local-listeners chmod 4750 $(TOP)/usr/libexec/netdata/plugins.d/local-listeners + # network-viewer + chmod 4750 $(TOP)-plugin-network-viewer/usr/libexec/netdata/plugins.d/network-viewer.plugin + # systemd-journal chmod 4750 $(TOP)-plugin-systemd-journal/usr/libexec/netdata/plugins.d/systemd-journal.plugin - # systemd-journal + # xenstat + if [ $(HAVE_XENSTAT) -eq 1 ]; then \ + chmod 4750 $(TOP)-plugin-xenstat/usr/libexec/netdata/plugins.d/xenstat.plugin; \ + fi + + # logs-management chmod 4750 $(TOP)-plugin-logs-management/usr/libexec/netdata/plugins.d/logs-management.plugin override_dh_installlogrotate: - cp system/logrotate/netdata debian/netdata.logrotate + cp $(BUILDDIR)/system/logrotate/netdata debian/netdata.logrotate dh_installlogrotate override_dh_installdeb: |