clearfog: Unit files for the SDN ROADM
Change-Id: I1df79eddd217bb757f4ad2e8e67ad7914d6b9aee
diff --git a/package/cla-sysrepo/cla-sysrepo.mk b/package/cla-sysrepo/cla-sysrepo.mk
index ace8f9c..ddef562 100644
--- a/package/cla-sysrepo/cla-sysrepo.mk
+++ b/package/cla-sysrepo/cla-sysrepo.mk
@@ -6,4 +6,31 @@
CLA_SYSREPO_CONF_OPTS = -DTHREADS_PTHREAD_ARG:STRING=-pthread
CLA_SYSREPO_LICENSE_FILES = LICENSE.md
+define CLA_SYSREPO_ONE_MODEL
+ sed \
+ -e "s/__MODEL__/$1/g" \
+ -e "s/__YANG__/$2/g" \
+ $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/cla-sysrepo/cla-install-yang.service.in \
+ > $(TARGET_DIR)/usr/lib/systemd/system/cla-install-yang-$1.service
+ # FIXME: zero or multiple features...
+ sed -i 's|__FEATURE__|ExecStart=/usr/bin/sysrepoctl --module $2 --feature-enable $3\n__FEATURE__|' \
+ $(TARGET_DIR)/usr/lib/systemd/system/cla-install-yang-$1.service
+ sed -i '/__FEATURE__/d' $(TARGET_DIR)/usr/lib/systemd/system/cla-install-yang-$1.service
+ sed \
+ -e "s/__MODEL__/$1/g" \
+ -e "s/__YANG__/$2/g" \
+ $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/cla-sysrepo/cla-appliance.service.in \
+ > $(TARGET_DIR)/usr/lib/systemd/system/cla-$1.service
+ mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants
+ ln -sf ../cla-install-yang-$1.service \
+ $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/
+ ln -sf ../cla-$1.service \
+ $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/
+endef
+
+define CLA_SYSREPO_INSTALL_INIT_SYSTEMD
+ $(call CLA_SYSREPO_ONE_MODEL,sdn-roadm-add-drop,czechlight-roadm-device,hw-add-drop-20)
+ $(call CLA_SYSREPO_ONE_MODEL,sdn-roadm-line,czechlight-roadm-device,hw-line-9)
+endef
+
$(eval $(cmake-package))