127 lines
3.7 KiB
Makefile
Executable File
127 lines
3.7 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
|
|
|
|
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
|
|
#
|
|
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 0750 $(TOP)/usr/libexec/netdata/plugins.d/apps.plugin
|
|
chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/perf.plugin
|
|
chmod 0750 $(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
|