czechlight-cfg-fs: add YANG install script

Let's move cla-sysrepo's install-yang shell script to this package.
Normally, all the packages would have installed these YANGs by
themselves, but because there's no shared state in rootfs, only
in /cfg, so that's where all these modifications belong

Change-Id: Ia5f4ade46098d66a92d940366659e44f9ea74456
diff --git a/doc/architecture.md b/doc/architecture.md
index ec44e4e..3abd868 100644
--- a/doc/architecture.md
+++ b/doc/architecture.md
@@ -30,7 +30,7 @@
 The required modules (and configuration) is added in several steps:
 
 - the YANG modules for `netopeer2-server` are added via `netopeer2-install-yang.service` (via our Buildroot patches),
-- CzechLight-specific YANG modules and their initial data are added via [`czechlight-install-yang.service`](../package/cla-sysrepo/czechlight-install-yang.service),
+- CzechLight-specific YANG modules and their initial data are added via [`czechlight-install-yang.service`](../package/czechlight-cfg-fs/czechlight-install-yang.service),
 - system configuration is restored from the persistent location in `/cfg` via [`cfg-restore-sysrepo.service`](../package/czechlight-cfg-fs/cfg-restore-sysrepo.service),
 - configuration of the Netopeer server gets re-checked via `netopeer2-setup.service` (once again in our Buildroot patches); this is needed especially during the first boot with no previous configuration to restore,
 - configuration of NACM is applied via [`nacm-restore.service`](../package/czechlight-cfg-fs/nacm-restore.service),
diff --git a/package/cla-sysrepo/Config.in b/package/cla-sysrepo/Config.in
index e9804e6..0a40ee3 100644
--- a/package/cla-sysrepo/Config.in
+++ b/package/cla-sysrepo/Config.in
@@ -9,5 +9,6 @@
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_CPPCODEC
 	select BR2_PACKAGE_LIBEV
+	select BR2_PACKAGE_CZECHLIGHT_CFG_FS
 	help
 	  Control CzechLight devices over YANG with sysrepo
diff --git a/package/cla-sysrepo/cla-sysrepo.mk b/package/cla-sysrepo/cla-sysrepo.mk
index a54755c..9ef7eee 100644
--- a/package/cla-sysrepo/cla-sysrepo.mk
+++ b/package/cla-sysrepo/cla-sysrepo.mk
@@ -16,11 +16,7 @@
 endef
 
 define CLA_SYSREPO_INSTALL_INIT_SYSTEMD
-	$(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/bin/ \
-		$(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/cla-sysrepo/czechlight-install-yang.sh
 	mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants
-	$(INSTALL) -D -m 0644 -t $(TARGET_DIR)/usr/lib/systemd/system/ \
-		$(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/cla-sysrepo/czechlight-install-yang.service
 
 	$(call CLA_SYSREPO_PREPARE_SERVICE,sdn-roadm-add-drop)
 	$(call CLA_SYSREPO_PREPARE_SERVICE,sdn-roadm-hires-add-drop)
diff --git a/package/czechlight-cfg-fs/Config.in b/package/czechlight-cfg-fs/Config.in
index e47d42f..40e6409 100644
--- a/package/czechlight-cfg-fs/Config.in
+++ b/package/czechlight-cfg-fs/Config.in
@@ -1,11 +1,14 @@
 config BR2_PACKAGE_CZECHLIGHT_CFG_FS
-	bool "Prepare persistent /cfg partition and /etc overlay"
+	bool "Prepare persistent /cfg partition and /etc overlay. Install required YANG models."
 	depends on BR2_INIT_SYSTEMD
+	depends on BR2_PACKAGE_NETOPEER2
 	help
 	  This is required for RAUC to work properly.  It creates a blank FS
 	  image, configures systemd to mount it, and ensures that its contents
 	  get restored to /etc at boot.  The /etc is set up as a RW overlay on
 	  top of a read-only rootfs.
+	  This takes care of installing YANG files used by czechlight system
+	  daemons into sysrepo.
 
 if BR2_PACKAGE_CZECHLIGHT_CFG_FS
 
diff --git a/package/czechlight-cfg-fs/czechlight-cfg-fs.mk b/package/czechlight-cfg-fs/czechlight-cfg-fs.mk
index bf000bd..4d79447 100644
--- a/package/czechlight-cfg-fs/czechlight-cfg-fs.mk
+++ b/package/czechlight-cfg-fs/czechlight-cfg-fs.mk
@@ -1,5 +1,5 @@
 CZECHLIGHT_CFG_FS_INSTALL_IMAGES = YES
-CZECHLIGHT_CFG_FS_DEPENDENCIES = host-e2fsprogs host-libyang netopeer2
+CZECHLIGHT_CFG_FS_DEPENDENCIES = host-e2fsprogs host-libyang netopeer2 systemd
 
 CZECHLIGHT_CFG_FS_LOCATION = $(BINARIES_DIR)/cfg.ext4
 
@@ -25,6 +25,11 @@
 		$(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/init-czechlight.sh \
 		$(TARGET_DIR)/sbin/init-czechlight.sh
 	$(INSTALL) -D -m 0755 $(@D)/czechlight-random-seed $(TARGET_DIR)/sbin/czechlight-random-seed
+	$(INSTALL) -m 0755 -t $(TARGET_DIR)/usr/bin/ \
+		$(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/czechlight-install-yang.sh
+	$(INSTALL) -D -m 0644 -t $(TARGET_DIR)/usr/lib/systemd/system/ \
+		$(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/czechlight-install-yang.service
+	ln -sf ../czechlight-install-yang.service $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/
 	mkdir -p $(TARGET_DIR)/cfg
 	$(INSTALL) -D -m 0644 \
 	    --target-directory $(TARGET_DIR)/usr/lib/systemd/system/ \
diff --git a/package/cla-sysrepo/czechlight-install-yang.service b/package/czechlight-cfg-fs/czechlight-install-yang.service
similarity index 100%
rename from package/cla-sysrepo/czechlight-install-yang.service
rename to package/czechlight-cfg-fs/czechlight-install-yang.service
diff --git a/package/cla-sysrepo/czechlight-install-yang.sh b/package/czechlight-cfg-fs/czechlight-install-yang.sh
similarity index 100%
rename from package/cla-sysrepo/czechlight-install-yang.sh
rename to package/czechlight-cfg-fs/czechlight-install-yang.sh
diff --git a/package/velia/Config.in b/package/velia/Config.in
index 4499ba0..cfec923 100644
--- a/package/velia/Config.in
+++ b/package/velia/Config.in
@@ -9,6 +9,7 @@
 	select BR2_PACKAGE_SYSREPO
 	select BR2_PACKAGE_SYSREPO_CPP
 	select BR2_PACKAGE_JSON_FOR_MODERN_CPP
+	select BR2_PACKAGE_CZECHLIGHT_CFG_FS
 	help
 	  Health tracking for embedded devices running Linux