summaryrefslogtreecommitdiffstats
path: root/contrib/debian/rules
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-03-21 17:19:04 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-03-21 17:19:04 +0000
commit310edf444908b09ea6d00c03baceb7925f3bb7a2 (patch)
tree7064577c7fa7a851e2e930beb606ea8237b0bbd2 /contrib/debian/rules
parentReleasing debian version 1.44.3-2. (diff)
downloadnetdata-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-xcontrib/debian/rules136
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: