Use new, daemon-less sysrepo for YANG management

Updating all dependencies so that we're using the new sysrepo. The easiest way
there was via bringing in the new buildroot as well, which meant:

- new RAUC, hence no patch needed anymore,
- newer systemd, hence an updated patch,
- New spdlog and fmt, which means that the version we ship in
  submodules/dependencies no longer works. Fix that by just relying on
  systemwide spdlog.
- uboot-tools needed a patch because there's no /var/lock,
- OpenSSH was previously started autmagically, now we're explicitly
  adding that to the list of packages (I really like SSH, don't you?).

New sysrepo means that there's no `sysrepod` anymore, which required
changing a bunch of other units so that they are not marked as
`PartOf=sysrepod.service` anymore. Also, the command-line options for
`sysrepocfg` and `sysrepoctl` changed.

I had to patch buildroot so that it doesn't create SSH keys for the
NETCONF server at build time, and that all required modules are actually
installed. It turns out that new sysrepo doesn't really install
anything, and the fun only starts with Netopeer2. Their install scripts
a wee bit picky, but hey, we have bash, we can make it work.

On the other hand, installation of *our* YANG modules is a bit hairy.
There's just too much parallel activities going on, and therefore I have
no idea how robust our callout to `sysrepoctl --apply` really is. As a
cherry on top, `sysrepocfg` is particularly inconsistent when it comes
to how the **** one is supposed to provision the initial config, etc
etc. In the end, I ended up with a big hammer.

Installation of all non-netopeer2 YANG modules now happens from just a
single script, the previous way was very fragile and failed quite often
-- probably because that "wonderful" new way of installing a module and
possibly enabling a feature and also importing some data which might or
might not be the required initial data, so *THAT* thing, depended on
whether there already was or was not another SW connection. Wonderful.
If only there was a oneliner for that, then we could have avoided all
this stupid boilerplate. Oh well.

On the other hand, the `cla-sysrepod` is now properly signalling its
"up-and-running" status to systemd, *and* this up-and-running state is
only reached once the configuration has been propagated to the optical
HW. As a result, the HW watchdog will recover from an upload of a broken
FW (or, alternatively, it will keep rebooting if the optical HW is
FUBAR -- pick your poison, sir).

Change-Id: I4b65a8fb345bfe7907a331d0de16294af1c36a78
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
index 7c5f7fe..dde5b6b 100644
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
+++ b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-i2c-adt7463.service
@@ -4,7 +4,7 @@
 ConditionKernelCommandLine=|czechlight=sdn-roadm-line
 ConditionKernelCommandLine=|czechlight=sdn-roadm-coherent-a-d
 ConditionKernelCommandLine=|czechlight=sdn-inline
-Before=sysrepod.service
+Before=netopeer2.service
 
 [Service]
 Type=oneshot
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-install-yang-ietf-hardware.service b/board/czechlight/common/overlay/usr/lib/systemd/system/cla-install-yang-ietf-hardware.service
deleted file mode 100644
index 51fc8cc..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/cla-install-yang-ietf-hardware.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=Install YANG model ietf-hardware-state and its dependencies
-Requires=sysrepod.service
-ConditionKernelCommandLine=|czechlight=sdn-roadm-line
-ConditionKernelCommandLine=|czechlight=sdn-roadm-add-drop
-ConditionKernelCommandLine=|czechlight=sdn-roadm-coherent-a-d
-ConditionKernelCommandLine=|czechlight=sdn-inline
-ConditionKernelCommandLine=|czechlight=calibration-box
-ConditionPathExistsGlob=!/etc/sysrepo/yang/ietf-hardware-state@2018-03-13yang
-Before=cla-install-yang-sdn-roadm-line.service cla-install-yang-sdn-roadm-add-drop.service cla-install-yang-sdn-roadm-coherent-a-d.service cla-install-yang-sdn-inline.service cla-install-yang-calibration-box.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/sysrepoctl --install --yang /usr/share/cla-sysrepo/yang/iana-hardware@2018-03-13.yang
-ExecStart=/usr/bin/sysrepoctl --install --yang /usr/share/cla-sysrepo/yang/ietf-hardware-state@2018-03-13.yang
-ExecStart=/usr/bin/sysrepoctl --module ietf-hardware-state --feature-enable hardware-sensor
-
-[Install]
-WantedBy=multi-user.target
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-CL-ROADMv2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-CL-ROADMv2.service
deleted file mode 120000
index 1beafb9..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-CL-ROADMv2.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-CL-ROADMv2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-STATIC-CL-ROADMv2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-STATIC-CL-ROADMv2.service
deleted file mode 120000
index 0dcdd20..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-STATIC-CL-ROADMv2.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-STATIC-CL-ROADMv2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-CL-ROADMv2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-CL-ROADMv2.service
deleted file mode 120000
index 7af2690..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-CL-ROADMv2.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-install-yang-CL-ROADMv2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-STATIC-CL-ROADMv2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-STATIC-CL-ROADMv2.service
deleted file mode 120000
index a7cdfe5..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-STATIC-CL-ROADMv2.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-install-yang-STATIC-CL-ROADMv2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-ietf-hardware.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-ietf-hardware.service
deleted file mode 120000
index a3806a0..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/cla-install-yang-ietf-hardware.service
+++ /dev/null
@@ -1 +0,0 @@
-../cla-install-yang-ietf-hardware.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2-server.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2-server.service
deleted file mode 120000
index da297bb..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2-server.service
+++ /dev/null
@@ -1 +0,0 @@
-../netopeer2-server.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2.service
new file mode 120000
index 0000000..89c2903
--- /dev/null
+++ b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/netopeer2.service
@@ -0,0 +1 @@
+../netopeer2.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepo-plugind.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepo-plugind.service
deleted file mode 120000
index 18d911d..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepo-plugind.service
+++ /dev/null
@@ -1 +0,0 @@
-../sysrepo-plugind.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepod.service b/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepod.service
deleted file mode 120000
index a248cd0..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/multi-user.target.wants/sysrepod.service
+++ /dev/null
@@ -1 +0,0 @@
-../sysrepod.service
\ No newline at end of file
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/netopeer2-server.service b/board/czechlight/common/overlay/usr/lib/systemd/system/netopeer2-server.service
deleted file mode 100644
index ce102d4..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/netopeer2-server.service
+++ /dev/null
@@ -1,20 +0,0 @@
-[Unit]
-Description=A NETCONF server on top of sysrepo
-After=syslog.target network.target sysrepod.service
-Requires=sysrepod.service
-PartOf=sysrepod.service
-StartLimitIntervalSec=0
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/netopeer2-server
-PIDFile=/var/run/netopeer2-server.pid
-PrivateTmp=yes
-PrivateDevices=yes
-ProtectSystem=yes
-ProtectHome=yes
-SystemCallArchitectures=native
-Restart=always
-
-[Install]
-WantedBy=multi-user.target
diff --git a/board/czechlight/common/overlay/usr/lib/systemd/system/sysrepod.service b/board/czechlight/common/overlay/usr/lib/systemd/system/sysrepod.service
deleted file mode 100644
index 42ffd41..0000000
--- a/board/czechlight/common/overlay/usr/lib/systemd/system/sysrepod.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=Sysrepo YANG configuration storage and management
-After=syslog.target network.target
-PartOf=netopeer2-server.service
-StartLimitIntervalSec=0
-
-[Service]
-Type=forking
-ExecStart=/usr/bin/sysrepod
-PIDFile=/var/run/sysrepod.pid
-PrivateTmp=yes
-PrivateDevices=yes
-ProtectSystem=yes
-ProtectHome=yes
-SystemCallArchitectures=native
-Restart=always
-
-[Install]
-WantedBy=multi-user.target