From 7a41ef82835060b6ac24b7eaf00ff21e761deda6 Mon Sep 17 00:00:00 2001
From: Florian Eckert <fe@dev.tdt.de>
Date: Fri, 18 Sep 2020 10:41:57 +0200
Subject: [PATCH] ddns-scripts: update cloudflare.com-v4 to json

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
---
 net/ddns-scripts/Makefile                       | 17 +++++++----------
 .../lib/ddns}/update_cloudflare_com_v4.sh       |  0
 .../share/ddns/services/cloudflare.com-v4.json  |  9 +++++++++
 3 files changed, 16 insertions(+), 10 deletions(-)
 rename net/ddns-scripts/files/{ => usr/lib/ddns}/update_cloudflare_com_v4.sh (100%)
 mode change 100755 => 100644
 create mode 100644 net/ddns-scripts/files/usr/share/ddns/services/cloudflare.com-v4.json

diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile
index 7bb4abce7..c0284f61d 100755
--- a/net/ddns-scripts/Makefile
+++ b/net/ddns-scripts/Makefile
@@ -242,17 +242,17 @@ endef
 define Package/ddns-scripts_cloudflare.com-v4/install
 	$(INSTALL_DIR) $(1)/etc/uci-defaults
 	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/ddns.defaults $(1)/etc/uci-defaults/ddns_cloudflare.com-v4
+
 	$(INSTALL_DIR) $(1)/usr/lib/ddns
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/files/update_cloudflare_com_v4.sh $(1)/usr/lib/ddns
+	$(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \
+		$(1)/usr/lib/ddns
+
+	$(INSTALL_DIR) $(1)/usr/share/ddns/services
+	$(INSTALL_DATA) ./files/usr/share/ddns/services/cloudflare.com-v4.json \
+		$(1)/usr/share/ddns/services/
 endef
 define Package/ddns-scripts_cloudflare.com-v4/postinst
 	#!/bin/sh
-	# remove old services file entries
-	/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services		>/dev/null 2>&1
-	/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
-	# and create new
-	printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services
-	printf "%s\\t%s\\n" '"cloudflare.com-v4"' '"update_cloudflare_com_v4.sh"' >> $${IPKG_INSTROOT}/etc/ddns/services_ipv6
 	# on real system restart service if enabled
 	[ -z "$${IPKG_INSTROOT}" ] && {
 		[ -x /etc/uci-defaults/ddns_cloudflare.com-v4 ] && \
@@ -267,9 +267,6 @@ define Package/ddns-scripts_cloudflare.com-v4/prerm
 	#!/bin/sh
 	# if NOT run buildroot then stop service
 	[ -z "$${IPKG_INSTROOT}" ] && /etc/init.d/ddns stop				>/dev/null 2>&1
-	# remove services file entries
-	/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services		>/dev/null 2>&1
-	/bin/sed -i '/cloudflare\.com-v4/d' $${IPKG_INSTROOT}/etc/ddns/services_ipv6	>/dev/null 2>&1
 	exit 0	# suppress errors
 endef
 
diff --git a/net/ddns-scripts/files/update_cloudflare_com_v4.sh b/net/ddns-scripts/files/usr/lib/ddns/update_cloudflare_com_v4.sh
old mode 100755
new mode 100644
similarity index 100%
rename from net/ddns-scripts/files/update_cloudflare_com_v4.sh
rename to net/ddns-scripts/files/usr/lib/ddns/update_cloudflare_com_v4.sh
diff --git a/net/ddns-scripts/files/usr/share/ddns/services/cloudflare.com-v4.json b/net/ddns-scripts/files/usr/share/ddns/services/cloudflare.com-v4.json
new file mode 100644
index 000000000..66a1d118f
--- /dev/null
+++ b/net/ddns-scripts/files/usr/share/ddns/services/cloudflare.com-v4.json
@@ -0,0 +1,9 @@
+{
+	"name": "cloudflare.com-v4",
+	"ipv4": {
+		"url": "update_cloudflare_com_v4.sh"
+	},
+	"ipv6": {
+		"url": "update_cloudflare_com_v4.sh"
+	}
+}