dhcp: switch IPv4 "internal" DHCP client to use "nettools" backend instead of "systemd"

Previously, our "internal" DHCPv4 client is based on a fork of
systemd code. This manner of maintaining the fork is problematic.
The solution is to use a proper library: n-dhcp4 from the nettools
project.

We already have these two as undocumented plugins available, by
setting either "dhcp=systemd" or "dhcp=nettools". This is only for
testing. Users are only supposed to use the "internal" plugin.

Up until now, the "internal" DHCPv4 plugin was based on "systemd" code.
Change that to use "nettools" instead.

Possibly this breaks something, and we need to fix it. But do this
early so we have time to test the nettools plugin and identify issues.

For the user, this change should be entirely transparant.
18 jobs for th/nettools-n-dhcp4-as-internal-plugin in 28 minutes and 19 seconds (queued for 15 seconds)
Status Job ID Name Coverage
  Test
passed #1001674
checkpatch

00:01:10

manual #1001680
allowed to fail manual
t_centos:7.5.1804
failed #1001681
t_centos:7.6.1810

00:14:57

failed #1001687
t_debian:10

00:10:06

failed #1001686
t_debian:9

00:01:25

failed #1001689
t_debian:sid

00:00:29

manual #1001688
allowed to fail manual
t_debian:testing
manual #1001675
allowed to fail manual
t_fedora:28
failed #1001676
t_fedora:29

00:12:30

failed #1001677
t_fedora:30

00:16:02

failed #1001678
t_fedora:31

00:13:07

manual #1001679
allowed to fail manual
t_fedora:rawhide
failed #1001682
t_ubuntu:16.04

00:07:19

failed #1001683
t_ubuntu:18.04

00:00:26

manual #1001685
allowed to fail manual
t_ubuntu:devel
manual #1001684
allowed to fail manual
t_ubuntu:rolling
 
  External
failed https://desktopqe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/beaker-NetworkManager-gitlab-trigger-code-upstream/908/

failed https://desktopqe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/beaker-NetworkManager-gitlab-trigger-code-upstream/908/

05:03:04

 
Name Stage Failure
failed
t_fedora:29 Test
                                        ^~~
1 error generated.
make[2]: *** [Makefile:14086: src/dhcp/libNetworkManagerBase_la-nm-dhcp-nettools.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/builds/NetworkManager/NetworkManager/build'
make[1]: *** [Makefile:16835: all-recursive] Error 1
make[1]: Leaving directory '/builds/NetworkManager/NetworkManager/build'
make: *** [Makefile:7606: all] Error 2
ERROR: Job failed: exit code 1
failed
t_fedora:30 Test
                                        ^~~
1 error generated.
make[2]: *** [Makefile:14086: src/dhcp/libNetworkManagerBase_la-nm-dhcp-nettools.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/builds/NetworkManager/NetworkManager/build'
make[1]: *** [Makefile:16835: all-recursive] Error 1
make[1]: Leaving directory '/builds/NetworkManager/NetworkManager/build'
make: *** [Makefile:7606: all] Error 2
ERROR: Job failed: exit code 1
failed
t_debian:10 Test
make[2]: *** [src/dhcp/src_libNetworkManagerBase_la-nm-dhcp-nettools.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/builds/NetworkManager/NetworkManager/build'
make[1]: *** [all-recursive] Error 1
Makefile:16249: recipe for target 'all-recursive' failed
make[1]: Leaving directory '/builds/NetworkManager/NetworkManager/build'
Makefile:6999: recipe for target 'all' failed
make: *** [all] Error 2
ERROR: Job failed: exit code 1
failed
t_fedora:31 Test
                                        ^~~
1 error generated.
make[2]: *** [Makefile:14086: src/dhcp/libNetworkManagerBase_la-nm-dhcp-nettools.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/builds/NetworkManager/NetworkManager/build'
make[1]: *** [Makefile:16835: all-recursive] Error 1
make[1]: Leaving directory '/builds/NetworkManager/NetworkManager/build'
make: *** [Makefile:7606: all] Error 2
ERROR: Job failed: exit code 1
failed
t_ubuntu:16.04 Test
Processing triggers for libc-bin (2.23-0ubuntu11) ...
E: You don't have enough free space in /var/cache/apt/archives/.
E: You don't have enough free space in /var/cache/apt/archives/.
$ date '+%Y%m%d-%H%M%S'; dbus-uuidgen --ensure
20191122-105047
$ date '+%Y%m%d-%H%M%S'; sed -i 's/^# \(pl_PL.UTF-8 .*\)$/\1/p' /etc/locale.gen ; true
20191122-105047
sed: can't read /etc/locale.gen: No such file or directory
ERROR: Job failed: exit code 1
failed
t_ubuntu:18.04 Test
W: GPG error: http://security.ubuntu.com/ubuntu bionic-security InRelease: At least one invalid signature was encountered.
E: The repository 'http://security.ubuntu.com/ubuntu bionic-security InRelease' is not signed.
W: GPG error: http://archive.ubuntu.com/ubuntu bionic InRelease: At least one invalid signature was encountered.
E: The repository 'http://archive.ubuntu.com/ubuntu bionic InRelease' is not signed.
W: GPG error: http://archive.ubuntu.com/ubuntu bionic-updates InRelease: At least one invalid signature was encountered.
E: The repository 'http://archive.ubuntu.com/ubuntu bionic-updates InRelease' is not signed.
W: GPG error: http://archive.ubuntu.com/ubuntu bionic-backports InRelease: At least one invalid signature was encountered.
E: The repository 'http://archive.ubuntu.com/ubuntu bionic-backports InRelease' is not signed.
ERROR: Job failed: exit code 1
failed
t_debian:9 Test
E: You don't have enough free space in /var/cache/apt/archives/.
E: You don't have enough free space in /var/cache/apt/archives/.
E: You don't have enough free space in /var/cache/apt/archives/.
E: You don't have enough free space in /var/cache/apt/archives/.
E: You don't have enough free space in /var/cache/apt/archives/.
$ date '+%Y%m%d-%H%M%S'; dbus-uuidgen --ensure
20191122-105248
/bin/bash: line 90: dbus-uuidgen: command not found
ERROR: Job failed: exit code 1
failed
t_centos:7.6.1810 Test
                                        ^~~
1 error generated.
make[2]: *** [src/dhcp/src_libNetworkManagerBase_la-nm-dhcp-nettools.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/builds/NetworkManager/NetworkManager/build'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/builds/NetworkManager/NetworkManager/build'
make: *** [all] Error 2
ERROR: Job failed: exit code 1
failed
t_debian:sid Test
$ date '+%Y%m%d-%H%M%S'; apt-get update
20191122-105313
Get:1 http://cdn-fastly.deb.debian.org/debian sid InRelease [139 kB]
Err:1 http://cdn-fastly.deb.debian.org/debian sid InRelease
At least one invalid signature was encountered.
Reading package lists...
W: GPG error: http://cdn-fastly.deb.debian.org/debian sid InRelease: At least one invalid signature was encountered.
E: The repository 'http://deb.debian.org/debian sid InRelease' is not signed.
ERROR: Job failed: exit code 1