0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-28 06:32:30 +00:00

Debian packaging ()

* 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
This commit is contained in:
Sander Klein 2020-08-19 15:14:26 +02:00 committed by GitHub
parent b1505b45f8
commit 2a798ad551
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 27 additions and 543 deletions

View file

@ -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")

View file

@ -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

View file

@ -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).

View file

@ -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).

View file

@ -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).

View file

@ -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).

View file

@ -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).

View file

@ -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).

View file

@ -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).

View file

@ -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).

View file

@ -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"

View file

@ -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"