summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorSander Klein <s.klein@picturae.com>2020-08-19 15:14:26 +0200
committerGitHub <noreply@github.com>2020-08-19 09:14:26 -0400
commit2a798ad5510008abcb3949d17d97ddaa6d2801b8 (patch)
tree9041c7604bcc2efdfa69b805ab70f37c8546e820 /contrib
parentb1505b45f87de267f7a374f5c4a2dee33056a5b8 (diff)
Debian packaging (#8982)
* Add protobuf-compiler This adds the package protobuf-compiler to the dependencies. Without it, prometheus support will not be included. * Remove libraries from dependencies There is no need to include the libraries since they will automaticaly be added by ${shlibs:Depends} * Remove various control files - control.buster - control.eoan - control.xenial Default control file can be used - control.jessie About to be unsupported - control.wheezy unsupported - control.trusty Since Netdata need libuv1-dev to build, it cannot be build on Trusty anymore because it doesn't have that library. * Fix sysv init scripts Set the location of the pidfile using $PIDFILE in the init script and in the defaults file. This way no changes are needed when compiling for systemd or sysv. * Update documentation to reflect the changes * Add note about updating the changelog * Update install instructions * Remove travis control file adjustments Since these control files have been removed, this code is now obsolete. * Remove unused control.focal file
Diffstat (limited to 'contrib')
-rw-r--r--contrib/README.md47
-rw-r--r--contrib/debian/control16
-rw-r--r--contrib/debian/control.buster73
-rw-r--r--contrib/debian/control.eoan73
-rw-r--r--contrib/debian/control.focal73
-rw-r--r--contrib/debian/control.jessie71
-rw-r--r--contrib/debian/control.trusty71
-rw-r--r--contrib/debian/control.wheezy41
-rw-r--r--contrib/debian/control.xenial73
-rw-r--r--contrib/debian/netdata.default6
-rwxr-xr-xcontrib/debian/netdata.init2
11 files changed, 27 insertions, 519 deletions
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"