netdata/contrib/debian/rules

128 lines
3.8 KiB
Makefile
Executable File

#!/usr/bin/make -f
# Find the arch we are building for, as this determines
# the location of plugins in /usr/lib
TOP = $(CURDIR)/debian/netdata
TEMPTOP = $(CURDIR)/debian/tmp
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/netdata.service.v235
else
SYSTEMD_UNIT = system/netdata.service
endif
%:
# For jessie and beyond
#
dh $@ --with autoreconf,systemd
# For wheezy or other non-systemd distributions use the following. You
# should also see contrib/README.md which gives details of updates to
# make to debian/control.
#
#dh $@ --with autoreconf
override_dh_installinit:
echo "SystemD Version: $(SYSTEMD_VERSION)"
echo "Using SystemD Unit: $(SYSTEMD_UNIT)"
cp -v $(SYSTEMD_UNIT) debian/netdata.service
dh_installinit
override_dh_auto_configure:
packaging/bundle-mosquitto.sh .
packaging/bundle-lws.sh .
packaging/bundle-libbpf.sh .
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 \
--with-bundled-lws=externaldeps/libwebsockets
override_dh_install:
cp -v $(BASE_CONFIG) debian/netdata.conf
dh_install
# Set the CUPS plugin install rule
#
mkdir -p $(TOP)-plugin-cups/usr/libexec/netdata/plugins.d
mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/cups.plugin \
$(TOP)-plugin-cups/usr/libexec/netdata/plugins.d/cups.plugin
# Add free IPMI plugin install rules
#
mkdir -p $(TOP)-plugin-freeipmi/usr/libexec/netdata/plugins.d
mv -f $(TEMPTOP)/usr/libexec/netdata/plugins.d/freeipmi.plugin \
$(TOP)-plugin-freeipmi/usr/libexec/netdata/plugins.d/freeipmi.plugin
# Set the rest of the software in the main package
#
cp -rp $(TEMPTOP)/usr $(TOP)
cp -rp $(TEMPTOP)/var $(TOP)
cp -rp $(TEMPTOP)/etc $(TOP)
mkdir -p "$(TOP)/var/log/netdata"
mkdir -p "$(TOP)/var/cache/netdata"
mkdir -p "$(TOP)/var/run/netdata"
# Move files that local user shouldn't be editing to /usr/share/netdata
#
packaging/bundle-dashboard.sh . ${TOP}/var/lib/netdata/www
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
packaging/bundle-ebpf.sh . ${TOP}/usr/libexec/netdata/plugins.d
# Install go
#
debian/install_go.sh $$(cat ${CURDIR}/packaging/go.d.version) $(TOP)/usr/lib/netdata $(TOP)/usr/libexec/netdata
override_dh_installdocs:
dh_installdocs
find . \
-name README.md \
-not -path './.travis/*' \
-not -path './debian/*' \
-not -path './contrib/*' \
-exec cp \
--parents \
--target $(TOP)/usr/share/doc/netdata/ \
{} \;
override_dh_fixperms:
dh_fixperms
# apps.plugin should only be runnable by the netdata user. It will be
# given extra capabilities in the postinst script.
#
chmod 0754 $(TOP)/usr/libexec/netdata/plugins.d/apps.plugin
chmod 0754 $(TOP)/usr/libexec/netdata/plugins.d/perf.plugin
chmod 0754 $(TOP)/usr/libexec/netdata/plugins.d/slabinfo.plugin
chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/go.d.plugin
# CUPS plugin package
chmod 0750 $(TOP)-plugin-cups/usr/libexec/netdata/plugins.d/cups.plugin
# freeIPMI plugin package
chmod 4750 $(TOP)-plugin-freeipmi/usr/libexec/netdata/plugins.d/freeipmi.plugin
override_dh_installlogrotate:
cp system/netdata.logrotate debian/netdata.logrotate
dh_installlogrotate
override_dh_clean:
dh_clean
# Tidy up copied/generated files
#
-[ -r $(CURDIR)/debian/netdata.logrotate ] && rm $(CURDIR)/debian/netdata.logrotate
-[ -r $(CURDIR)/debian/netdata.conffiles ] && rm $(CURDIR)/debian/netdata.conffiles