netdata/packaging: Introduce separate CUPS package for debian distributions (#6724)

* netdata/packaging: baby steps, create the new package and introduce the install file

* netdata/packaging: [ci skip] change branch to be able to test

* netdata/packaging: we do define usrlib path to be /usr/lib

* netdata/packaging: silence sign errors for now

* netdata/packaging: Add rules for plugin-cups sub package

* netdata/packaging: [ci skip] That is libexec, not lib, duh

* netdata/packaging: [ci skip] explicitly arrange the other plugins also

* netdata/packaging: [ci skip] fix bug

* netdata/packaging: copy, dont move

* netdata/packaging: move all plugins around, also remove a slash

* netdata/packaging: [ci skip] align travis.yml changes with the ones we used on rpm cups pkg split

* netdata/packaging:[ci skip] add netdata dependency

* netdata/packaging:[ci skip] Update control files

* netdata/packaging: Add separate control file for buster, dependencies deviate (libprotoc17 instead of libprotoc10....)

* netdata/packaging: [ci skip] whoops

* netdata/packaging: [ci skip] Copy over files from temp dir, if destination non existent

* netdata/packaging:[ci skip] -d, not -f

* netdata/packaging: [ci skip] long shot

* netdata/packaging: [ci skip] revert this - need to retest

* netdata/packaging: [ci skip] remove the .install, as per an article input (https://askubuntu.com/questions/660373/dh-install-fails-with-missing-files) these files are for handling items not managed by the upstream build system, so bye bye

* netdata/packaging: Ok, lets ditch dh_auto_configure

* Revert "netdata/packaging: Ok, lets ditch dh_auto_configure"

This reverts commit 3b497cf5f6e157ce5429ffce38452515670a934a.
Well, that didn't affect anything

* netdata/packaging: [ci skip] here's a crazy thought

Okay, assuming that packager decided to use debian/tmp because we introduced multiple packages.
If that is the case, then move the custom stuff out first and then just move all debian/tmp to debian/netdata.
In theory, that should get me back on track for the rest of the package processing.

Lets see if i was right

* netdata/packaging: [ci skip] mv complains, forgot about that, fix

forgot about that, just copy for now to verify the use case and we will consider rsync approach for faster processing afterwards

* netdata/packaging: nope, that didn't work. rollback and remove also a suspicious backslash

* netdata/packaging: ok, trying this

* netdata/packaging: really?

* netdata/packaging: [ci skip] reinstate original setup, the bug probably was too obvious to spot

* netdata/packaging:[ci skip] now that you finally noted the www bug, try to copy over the rest of the stuff in

* netdata/packaging: [ci skip] long shot, etc is not properly created, lets see if it was already there and we messed it up

* netdata/packaging: [ci skip] fix perms, add placeholder folders in etc

* netdata/packaging: [ci skip] preserve ownership details when copying over

* netdata/packaging:[ci skip] reinstate branch condition

* netdata/packaging: redudant

* netdata/packaging: xenial - add cups subpackage

* netdata/packaging: remove cups dependency from those distros, missed to update the control file

* netdata/packaging: dont use personal account info
This commit is contained in:
Paul Emm. Katsoulakis 2019-09-16 11:52:10 +03:00 committed by Chris Akritidis
parent f457afa30d
commit 00a828d4ab
9 changed files with 77 additions and 10 deletions

View File

@ -27,9 +27,10 @@ install:
- export LATEST_RELEASE_DATE="$(git log -1 --format=%aD "${LATEST_RELEASE_VERSION}" | cat)"
- if [[ "${TRAVIS_COMMIT_MESSAGE}" = *"[Build latest]"* ]]; then export BUILD_VERSION="$(cat packaging/version | cut -d'-' -f1,2 | sed -e 's/-/./g').latest"; fi;
- export DEPLOY_REPO="netdata" # Default production packaging repository
- export PACKAGING_USER="netdata" # Standard package cloud account
- if [[ "${TRAVIS_COMMIT_MESSAGE}" = *"[Build latest]"* ]]; then export DEPLOY_REPO="netdata-edge"; fi;
- export PACKAGING_USER="$(echo ${TRAVIS_REPO_SLUG} | cut -d'/' -f1)"
- export PACKAGE_CLOUD_RETENTION_DAYS=30
- if [ ! "${TRAVIS_REPO_SLUG}" = "netdata/netdata" ]; then export DEPLOY_REPO="netdata-devel"; fi;

View File

@ -24,9 +24,9 @@ ln -sf contrib/debian debian
echo "Executing dpkg-buildpackage"
# pre/post options are after 1.18.8, is simpler to just check help for their existence than parsing version
if dpkg-buildpackage --help | grep "\-\-post\-clean" 2> /dev/null > /dev/null; then
dpkg-buildpackage --post-clean --pre-clean --build=binary
dpkg-buildpackage --post-clean --pre-clean --build=binary -us -uc
else
dpkg-buildpackage -b
dpkg-buildpackage -b -us -uc
fi
echo "DEB build script completed!"

View File

@ -43,7 +43,6 @@ Depends: adduser,
openssl,
libmnl0,
libjson-c3,
cups,
freeipmi,
libnetfilter-acct1,
libprotobuf-c1,
@ -56,3 +55,9 @@ Description: real-time charts for system monitoring
and presents a web site to view and analyze them. The presentation
is also real-time and full of interactive charts that precisely
render all collected values.
Package: netdata-plugin-cups
Architecture: any
Depends: cups,
netdata (>= ${source:Version})
Description: The Common Unix Printing System plugin for metrics collection from cupds

View File

@ -43,7 +43,6 @@ Depends: adduser,
openssl,
libmnl0,
libjson-c3,
cups,
freeipmi,
libnetfilter-acct1,
libprotobuf-c1,
@ -56,3 +55,9 @@ Description: real-time charts for system monitoring
and presents a web site to view and analyze them. The presentation
is also real-time and full of interactive charts that precisely
render all collected values.
Package: netdata-plugin-cups
Architecture: any
Depends: cups,
netdata (>= ${source:Version})
Description: The Common Unix Printing System plugin for metrics collection from cupds

View File

@ -41,7 +41,6 @@ Depends: adduser,
openssl,
libmnl0,
libjson-c3,
cups,
freeipmi,
libnetfilter-acct1,
libprotobuf-c1,
@ -54,3 +53,9 @@ Description: real-time charts for system monitoring
and presents a web site to view and analyze them. The presentation
is also real-time and full of interactive charts that precisely
render all collected values.
Package: netdata-plugin-cups
Architecture: any
Depends: cups,
netdata (>= ${source:Version})
Description: The Common Unix Printing System plugin for metrics collection from cupds

View File

@ -41,7 +41,6 @@ Depends: adduser,
openssl,
libmnl0,
libjson-c2,
cups,
freeipmi,
libnetfilter-acct1,
libprotobuf-c0,
@ -54,3 +53,9 @@ Description: real-time charts for system monitoring
and presents a web site to view and analyze them. The presentation
is also real-time and full of interactive charts that precisely
render all collected values.
Package: netdata-plugin-cups
Architecture: any
Depends: cups,
netdata (>= ${source:Version})
Description: The Common Unix Printing System plugin for metrics collection from cupds

View File

@ -23,3 +23,9 @@ Description: real-time charts for system monitoring
and presents a web site to view and analyze them. The presentation
is also real-time and full of interactive charts that precisely
render all collected values.
Package: netdata-plugin-cups
Architecture: any
Depends: cups,
netdata (>= ${source:Version})
Description: The Common Unix Printing System plugin for metrics collection from cupds

View File

@ -43,7 +43,6 @@ Depends: adduser,
openssl,
libmnl0,
libjson-c2,
cups,
freeipmi,
libnetfilter-acct1,
libprotobuf-c1,
@ -56,3 +55,9 @@ Description: real-time charts for system monitoring
and presents a web site to view and analyze them. The presentation
is also real-time and full of interactive charts that precisely
render all collected values.
Package: netdata-plugin-cups
Architecture: any
Depends: cups,
netdata (>= ${source:Version})
Description: The Common Unix Printing System plugin for metrics collection from cupds

View File

@ -4,6 +4,7 @@
# the location of plugins in /usr/lib
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
TOP = $(CURDIR)/debian/netdata
TEMPTOP = $(CURDIR)/debian/tmp
%:
# For jessie and beyond
@ -31,9 +32,36 @@ override_dh_install: debian/netdata.postinst
#
find "$(TOP)" -name .keep -exec rm '{}' ';'
# 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
# Set the rest of the software in the main package
#
cp -rp $(TEMPTOP)/usr $(TOP)/usr
cp -rp $(TEMPTOP)/var $(TOP)/var
#cp -rp $(TEMPTOP)/etc $(TOP)/etc
# Copy sample netdata.conf
cp -p $(CURDIR)/system/edit-config $(TOP)/etc/netdata/
# Create placeholder dirs in netdata configuration directory
#
mkdir -p $(TOP)/etc/netdata/health.d
mkdir -p $(TOP)/etc/netdata/python.d
mkdir -p $(TOP)/etc/netdata/charts.d
mkdir -p $(TOP)/etc/netdata/cystonm-plugins.d
mkdir -p $(TOP)/etc/netdata/go.d
mkdir -p $(TOP)/etc/netdata/ssl
mkdir -p $(TOP)/etc/netdata/node.d
mkdir -p $(TOP)/etc/netdata/statsd.d
# Move files that local user shouldn't be editing to /usr/share/netdata
#
mkdir -p "$(TOP)/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"; \
@ -55,7 +83,7 @@ override_dh_install: debian/netdata.postinst
# Install go
#
debian/install_go.sh $$(cat ${CURDIR}/packaging/go.d.version) $(TOP)/usr/lib/$(DEB_HOST_MULTIARCH)/netdata/ $(TOP)/usr/libexec/netdata
debian/install_go.sh $$(cat ${CURDIR}/packaging/go.d.version) $(TOP)/usr/lib/netdata $(TOP)/usr/libexec/netdata
override_dh_installdocs:
dh_installdocs
@ -81,6 +109,13 @@ override_dh_fixperms:
chmod 0754 $(TOP)/usr/libexec/netdata/plugins.d/perf.plugin
chmod 0750 $(TOP)/usr/libexec/netdata/plugins.d/go.d.plugin
# Support script for configuration file management
#
chmod 0750 $(TOP)/etc/netdata/edit-config
# CUPS plugin package
chmod 0750 $(TOP)-plugin-cups/usr/libexec/netdata/plugins.d/cups.plugin
override_dh_installlogrotate:
cp system/netdata.logrotate debian/netdata.logrotate
dh_installlogrotate