diff --git a/.travis/package_management/configure_deb_lxc_environment.py b/.travis/package_management/configure_deb_lxc_environment.py index 1ffda6135f..627493bf54 100755 --- a/.travis/package_management/configure_deb_lxc_environment.py +++ b/.travis/package_management/configure_deb_lxc_environment.py @@ -80,30 +80,6 @@ tar_file="%s/netdata-%s.tar.gz" % (os.path.dirname(dest_archive), friendly_versi print("5. I will be building version '%s' of netdata." % os.environ['BUILD_VERSION']) dest_archive="%s/netdata-%s.tar.gz" % (build_path, friendly_version) -### Debian -if str(os.environ["BUILD_STRING"]).count("debian/jessie") == 1: - print("5.1 We are building for Jessie, adjusting control file") - common.run_command_in_host(['sudo', 'rm', 'contrib/debian/control']) - common.run_command_in_host(['sudo', 'cp', 'contrib/debian/control.jessie', 'contrib/debian/control']) -if str(os.environ["BUILD_STRING"]).count("debian/buster") == 1: - print("5.1 We are building for Buster, adjusting control file") - common.run_command_in_host(['sudo', 'rm', 'contrib/debian/control']) - common.run_command_in_host(['sudo', 'cp', 'contrib/debian/control.buster', 'contrib/debian/control']) - -### Ubuntu -if str(os.environ["BUILD_STRING"]).count("ubuntu/focal") == 1: - print("5.1 We are building for Focal, adjusting control file") - common.run_command_in_host(['sudo', 'rm', 'contrib/debian/control']) - common.run_command_in_host(['sudo', 'cp', 'contrib/debian/control.focal', 'contrib/debian/control']) -if str(os.environ["BUILD_STRING"]).count("ubuntu/xenial") == 1: - print("5.1 We are building for Xenial, adjusting control file") - common.run_command_in_host(['sudo', 'rm', 'contrib/debian/control']) - common.run_command_in_host(['sudo', 'cp', 'contrib/debian/control.xenial', 'contrib/debian/control']) -if str(os.environ["BUILD_STRING"]).count("ubuntu/eoan") == 1: - print("5.1 We are building for Eoan, adjusting control file") - common.run_command_in_host(['sudo', 'rm', 'contrib/debian/control']) - common.run_command_in_host(['sudo', 'cp', 'contrib/debian/control.eoan', 'contrib/debian/control']) - common.prepare_version_source(dest_archive, friendly_version, tag=tag) print("6. Installing build.sh script to build path") diff --git a/contrib/README.md b/contrib/README.md index d13fe5786e..a9e89ce11a 100644 --- a/contrib/README.md +++ b/contrib/README.md @@ -22,6 +22,17 @@ way to do this is with a symlink: ln -s contrib/debian ``` +Edit the `debian/changelog` file to reflect the package version and +the build time: + +```sh +netdata (1.21.0) unstable; urgency=medium + + * Initial Release + + -- Netdata Builder <bot@netdata.cloud> Tue, 12 May 2020 10:36:52 +0200 +``` + Then build the debian package: ```sh @@ -32,36 +43,16 @@ This should give a package that can be installed in the parent directory, which you can install manually with dpkg. ```sh -ls ../*.deb -../netdata_1.0.0_amd64.deb -sudo dpkg -i ../netdata_1.0.0_amd64.deb +ls -1 ../*.deb +../netdata_1.21.0_amd64.deb +../netdata-dbgsym_1.21.0_amd64.deb +../netdata-plugin-cups_1.21.0_amd64.deb +../netdata-plugin-cups-dbgsym_1.21.0_amd64.deb +../netdata-plugin-freeipmi_1.21.0_amd64.deb +../netdata-plugin-freeipmi-dbgsym_1.21.0_amd64.deb +sudo dpkg -i ../netdata_1.21.0_amd64.deb ``` -### Building for a Debian system without systemd - -The included packaging is designed for modern Debian systems that -are based on systemd. To build non-systemd packages (for example, -for Debian wheezy), you will need to make a couple of minor -updates first. - -- edit `contrib/debian/rules` and adjust the `dh` rule near the - top to remove systemd (see comments in that file). - -- rename `contrib/debian/control.wheezy` to `contrib/debian/control`. - -- change `control.wheezy from contrib/Makefile* to control`. - -- uncomment `EXTRA_OPTS="-P /var/run/netdata.pid"` in - `contrib/debian/netdata.default` - -- edit `contrib/debian/netdata.init` and change `PIDFILE` to - `/var/run/netdata.pid` - -- remove `dpkg-statoverride --update --add --force root netdata 0775 /var/lib/netdata/registry` from - `contrib/debian/netdata.postinst.in`. If you are going to handle the unique id file differently. - -Then proceed as the main instructions above. - ### Reinstalling Netdata The recommended way to upgrade Netdata packages built from this diff --git a/contrib/debian/control b/contrib/debian/control index f0c4bf303e..184401c810 100644 --- a/contrib/debian/control +++ b/contrib/debian/control @@ -24,7 +24,8 @@ Build-Depends: debhelper (>= 9), pkg-config, curl, gcc, - g++ + g++, + protobuf-compiler Section: net Priority: optional Maintainer: Netdata Builder <bot@netdata.cloud> @@ -36,18 +37,7 @@ Architecture: any Depends: adduser, libcap2-bin (>= 1:2.0), lsb-base (>= 3.1-23.2), - zlib1g, - libuuid1, - libuv1, - liblz4-1, - libjudydebian1, openssl, - libmnl0, - libjson-c3, - libnetfilter-acct1, - libprotobuf-c1, - libsnappy1v5, - libprotoc10, ${misc:Depends}, ${shlibs:Depends} Pre-Depends: dpkg (>= 1.17.14) @@ -69,5 +59,5 @@ Depends: freeipmi, netdata (= ${source:Version}) Description: FreeIPMI - The Intelligent Platform Management System. The IPMI specification defines a set of interfaces for platform management. - It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in + It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). diff --git a/contrib/debian/control.buster b/contrib/debian/control.buster deleted file mode 100644 index b601ddb993..0000000000 --- a/contrib/debian/control.buster +++ /dev/null @@ -1,73 +0,0 @@ -Source: netdata -Build-Depends: debhelper (>= 9), - dh-autoreconf, - dh-systemd (>= 1.5), - dpkg-dev (>= 1.13.19), - zlib1g-dev, - uuid-dev, - libuv1-dev, - liblz4-dev, - libjudy-dev, - libssl-dev, - libmnl-dev, - libjson-c-dev, - libcups2-dev, - libipmimonitoring-dev, - libnetfilter-acct-dev, - libsnappy-dev, - libprotobuf-dev, - libprotoc-dev, - cmake, - autogen, - autoconf, - automake, - pkg-config, - curl, - gcc, - g++ -Section: net -Priority: optional -Maintainer: Netdata Builder <bot@netdata.cloud> -Standards-Version: 3.9.6 -Homepage: https://netdata.cloud - -Package: netdata -Architecture: any -Depends: adduser, - libcap2-bin (>= 1:2.0), - lsb-base (>= 3.1-23.2), - zlib1g, - libuuid1, - libuv1, - liblz4-1, - libjudydebian1, - openssl, - libmnl0, - libjson-c3, - libnetfilter-acct1, - libprotobuf-c1, - libsnappy1v5, - libprotoc17, - ${misc:Depends}, - ${shlibs:Depends} -Pre-Depends: dpkg (>= 1.17.14) -Description: real-time charts for system monitoring - Netdata is a daemon that collects data in realtime (per second) - 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 cupsd - -Package: netdata-plugin-freeipmi -Architecture: any -Depends: freeipmi, - netdata (= ${source:Version}) -Description: FreeIPMI - The Intelligent Platform Management System. - The IPMI specification defines a set of interfaces for platform management. - It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in - are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). diff --git a/contrib/debian/control.eoan b/contrib/debian/control.eoan deleted file mode 100644 index d50458e650..0000000000 --- a/contrib/debian/control.eoan +++ /dev/null @@ -1,73 +0,0 @@ -Source: netdata -Build-Depends: debhelper (>= 9), - dh-autoreconf, - dh-systemd (>= 1.5), - dpkg-dev (>= 1.13.19), - zlib1g-dev, - uuid-dev, - libuv1-dev, - liblz4-dev, - libjudy-dev, - libssl-dev, - libmnl-dev, - libjson-c-dev, - libcups2-dev, - libipmimonitoring-dev, - libnetfilter-acct-dev, - libsnappy-dev, - libprotobuf-dev, - libprotoc-dev, - cmake, - autogen, - autoconf, - automake, - pkg-config, - curl, - gcc, - g++ -Section: net -Priority: optional -Maintainer: Netdata Builder <bot@netdata.cloud> -Standards-Version: 3.9.6 -Homepage: https://netdata.cloud - -Package: netdata -Architecture: any -Depends: adduser, - libcap2-bin (>= 1:2.0), - lsb-base (>= 3.1-23.2), - zlib1g, - libuuid1, - libuv1, - liblz4-1, - libjudydebian1, - openssl, - libmnl0, - libjson-c4, - libnetfilter-acct1, - libprotobuf-c1, - libsnappy1v5, - libprotoc17, - ${misc:Depends}, - ${shlibs:Depends} -Pre-Depends: dpkg (>= 1.17.14) -Description: real-time charts for system monitoring - Netdata is a daemon that collects data in realtime (per second) - 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 cupsd - -Package: netdata-plugin-freeipmi -Architecture: any -Depends: freeipmi, - netdata (= ${source:Version}) -Description: FreeIPMI - The Intelligent Platform Management System. - The IPMI specification defines a set of interfaces for platform management. - It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in - are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). diff --git a/contrib/debian/control.focal b/contrib/debian/control.focal deleted file mode 100644 index d50458e650..0000000000 --- a/contrib/debian/control.focal +++ /dev/null @@ -1,73 +0,0 @@ -Source: netdata -Build-Depends: debhelper (>= 9), - dh-autoreconf, - dh-systemd (>= 1.5), - dpkg-dev (>= 1.13.19), - zlib1g-dev, - uuid-dev, - libuv1-dev, - liblz4-dev, - libjudy-dev, - libssl-dev, - libmnl-dev, - libjson-c-dev, - libcups2-dev, - libipmimonitoring-dev, - libnetfilter-acct-dev, - libsnappy-dev, - libprotobuf-dev, - libprotoc-dev, - cmake, - autogen, - autoconf, - automake, - pkg-config, - curl, - gcc, - g++ -Section: net -Priority: optional -Maintainer: Netdata Builder <bot@netdata.cloud> -Standards-Version: 3.9.6 -Homepage: https://netdata.cloud - -Package: netdata -Architecture: any -Depends: adduser, - libcap2-bin (>= 1:2.0), - lsb-base (>= 3.1-23.2), - zlib1g, - libuuid1, - libuv1, - liblz4-1, - libjudydebian1, - openssl, - libmnl0, - libjson-c4, - libnetfilter-acct1, - libprotobuf-c1, - libsnappy1v5, - libprotoc17, - ${misc:Depends}, - ${shlibs:Depends} -Pre-Depends: dpkg (>= 1.17.14) -Description: real-time charts for system monitoring - Netdata is a daemon that collects data in realtime (per second) - 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 cupsd - -Package: netdata-plugin-freeipmi -Architecture: any -Depends: freeipmi, - netdata (= ${source:Version}) -Description: FreeIPMI - The Intelligent Platform Management System. - The IPMI specification defines a set of interfaces for platform management. - It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in - are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). diff --git a/contrib/debian/control.jessie b/contrib/debian/control.jessie deleted file mode 100644 index 42247b345c..0000000000 --- a/contrib/debian/control.jessie +++ /dev/null @@ -1,71 +0,0 @@ -Source: netdata -Build-Depends: debhelper (>= 9), - dh-autoreconf, - dh-systemd (>= 1.5), - dpkg-dev (>= 1.13.19), - zlib1g-dev, - uuid-dev, - liblz4-dev, - libjudy-dev, - libssl-dev, - libmnl-dev, - libjson-c-dev, - libcups2-dev, - libipmimonitoring-dev, - libnetfilter-acct-dev, - libsnappy-dev, - libprotobuf-dev, - libprotoc-dev, - cmake, - autogen, - autoconf, - automake, - pkg-config, - curl, - gcc, - g++ -Section: net -Priority: optional -Maintainer: Costa Tsaousis <costa@tsaousis.gr> -Standards-Version: 3.9.6 -Homepage: https://github.com/netdata/netdata/wiki - -Package: netdata -Architecture: any -Depends: adduser, - libcap2-bin (>= 1:2.0), - lsb-base (>= 3.1-23.2), - zlib1g, - libuuid1, - liblz4-1, - libjudydebian1, - openssl, - libmnl0, - libjson-c2, - libnetfilter-acct1, - libprotobuf-c1, - libsnappy1, - libprotoc9, - ${misc:Depends}, - ${shlibs:Depends} -Pre-Depends: dpkg (>= 1.17.14) -Description: real-time charts for system monitoring - Netdata is a daemon that collects data in realtime (per second) - 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 cupsd - -Package: netdata-plugin-freeipmi -Architecture: any -Depends: freeipmi, - netdata (= ${source:Version}) -Description: FreeIPMI - The Intelligent Platform Management System. - The IPMI specification defines a set of interfaces for platform management. - It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in - are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). diff --git a/contrib/debian/control.trusty b/contrib/debian/control.trusty deleted file mode 100644 index 3b8873c02e..0000000000 --- a/contrib/debian/control.trusty +++ /dev/null @@ -1,71 +0,0 @@ -Source: netdata -Build-Depends: debhelper (>= 9), - dh-autoreconf, - dh-systemd (>= 1.5), - dpkg-dev (>= 1.13.19), - zlib1g-dev, - uuid-dev, - liblz4-dev, - libjudy-dev, - libssl-dev, - libmnl-dev, - libjson-c-dev, - libcups2-dev, - libipmimonitoring-dev, - libnetfilter-acct-dev, - libsnappy-dev, - libprotobuf-dev, - libprotoc-dev, - cmake, - autogen, - autoconf, - automake, - pkg-config, - curl, - gcc, - g++ -Section: net -Priority: optional -Maintainer: Netdata Builder <bot@netdata.cloud> -Standards-Version: 3.9.6 -Homepage: https://netdata.cloud - -Package: netdata -Architecture: any -Depends: adduser, - libcap2-bin (>= 1:2.0), - lsb-base (>= 3.1-23.2), - zlib1g, - libuuid1, - liblz4-1, - libjudydebian1, - openssl, - libmnl0, - libjson-c2, - libnetfilter-acct1, - libprotobuf-c0, - libsnappy1, - libprotoc8, - ${misc:Depends}, - ${shlibs:Depends} -Pre-Depends: dpkg (>= 1.17.14) -Description: real-time charts for system monitoring - Netdata is a daemon that collects data in realtime (per second) - 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 cupsd - -Package: netdata-plugin-freeipmi -Architecture: any -Depends: freeipmi, - netdata (= ${source:Version}) -Description: FreeIPMI - The Intelligent Platform Management System. - The IPMI specification defines a set of interfaces for platform management. - It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in - are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). diff --git a/contrib/debian/control.wheezy b/contrib/debian/control.wheezy deleted file mode 100644 index 8441d9d666..0000000000 --- a/contrib/debian/control.wheezy +++ /dev/null @@ -1,41 +0,0 @@ -Source: netdata -Build-Depends: debhelper (>= 9), - dh-autoreconf, - pkg-config, - dpkg-dev (>= 1.13.19), - cmake, - zlib1g-dev, - uuid-dev -Section: net -Priority: optional -Maintainer: Costa Tsaousis <costa@tsaousis.gr> -Standards-Version: 3.9.6 -Homepage: https://github.com/netdata/netdata/wiki - -Package: netdata -Architecture: any -Depends: adduser, - libcap2-bin (>= 1:2.0), - lsb-base (>= 3.1-23.2), - ${misc:Depends}, - ${shlibs:Depends} -Description: real-time charts for system monitoring - Netdata is a daemon that collects data in realtime (per second) - 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 cupsd - -Package: netdata-plugin-freeipmi -Architecture: any -Depends: freeipmi, - netdata (= ${source:Version}) -Description: FreeIPMI - The Intelligent Platform Management System. - The IPMI specification defines a set of interfaces for platform management. - It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in - are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). diff --git a/contrib/debian/control.xenial b/contrib/debian/control.xenial deleted file mode 100644 index 43796567cd..0000000000 --- a/contrib/debian/control.xenial +++ /dev/null @@ -1,73 +0,0 @@ -Source: netdata -Build-Depends: debhelper (>= 9), - dh-autoreconf, - dh-systemd (>= 1.5), - dpkg-dev (>= 1.13.19), - zlib1g-dev, - uuid-dev, - libuv1-dev, - liblz4-dev, - libjudy-dev, - libssl-dev, - libmnl-dev, - libjson-c-dev, - libcups2-dev, - libipmimonitoring-dev, - libnetfilter-acct-dev, - libsnappy-dev, - libprotobuf-dev, - libprotoc-dev, - cmake, - autogen, - autoconf, - automake, - pkg-config, - curl, - gcc, - g++ -Section: net -Priority: optional -Maintainer: Netdata Builder <bot@netdata.cloud> -Standards-Version: 3.9.6 -Homepage: https://netdata.cloud - -Package: netdata -Architecture: any -Depends: adduser, - libcap2-bin (>= 1:2.0), - lsb-base (>= 3.1-23.2), - zlib1g, - libuuid1, - libuv1, - liblz4-1, - libjudydebian1, - openssl, - libmnl0, - libjson-c2, - libnetfilter-acct1, - libprotobuf-c1, - libsnappy1v5, - libprotoc9v5, - ${misc:Depends}, - ${shlibs:Depends} -Pre-Depends: dpkg (>= 1.17.14) -Description: real-time charts for system monitoring - Netdata is a daemon that collects data in realtime (per second) - 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 cupsd - -Package: netdata-plugin-freeipmi -Architecture: any -Depends: freeipmi, - netdata (= ${source:Version}) -Description: FreeIPMI - The Intelligent Platform Management System. - The IPMI specification defines a set of interfaces for platform management. - It is implemented by a number vendors for system management. The features of IPMI that most users will be interested in - are sensor monitoring, system event monitoring, power control, and serial-over-LAN (SOL). diff --git a/contrib/debian/netdata.default b/contrib/debian/netdata.default index 9e7f8ae6ed..1d9a9c4e98 100644 --- a/contrib/debian/netdata.default +++ b/contrib/debian/netdata.default @@ -1,5 +1,7 @@ # Extra arguments to pass to netdata # #EXTRA_OPTS="" -#uncomment following line if you are building a wheezy-package -#EXTRA_OPTS="-P /var/run/netdata.pid" +# +# Location of pidfile. Only used on SysV init based systems. +# +#PIDFILE="/var/run/netdata/netdata.pid" diff --git a/contrib/debian/netdata.init b/contrib/debian/netdata.init index c1b2b74dee..c2706caa55 100755 --- a/contrib/debian/netdata.init +++ b/contrib/debian/netdata.init @@ -31,7 +31,7 @@ test -f $DAEMON || exit 0 case "$1" in start) log_daemon_msg "Starting real-time system monitoring" "netdata" - start_daemon -p $PIDFILE $DAEMON $EXTRA_OPTS + start_daemon -p $PIDFILE $DAEMON -P $PIDFILE $EXTRA_OPTS log_end_msg $? ;; stop) log_daemon_msg "Stopping real-time system monitoring" "netdata"