# netdata contrib

## Building .deb packages

The `contrib/debian/` directory contains basic rules to build a
Debian package.  It has been tested on Debian Jessie and Wheezy,
but should work, possibly with minor changes, if you have other
dpkg-based systems such as Ubuntu or Mint.

To build netdata for a Debian Jessie system, the debian directory
has to be available in the root of the netdata source. The easiest
way to do this is with a symlink:

    ~/netdata$ ln -s contrib/debian

Then build the debian package:

    ~/netdata$ dpkg-buildpackage -us -uc -rfakeroot

This should give a package that can be installed in the parent
directory, which you can install manually with dpkg.

    ~/netdata$ ls ../*.deb
    ../netdata_1.0.0_amd64.deb
    ~/netdata$ sudo dpkg -i ../netdata_1.0.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
source is to remove the current package from your system, then
install the new package. Upgrading on wheezy is known to not
work cleanly; Jessie may behave as expected.
