meta.mk: fix escapeing strings

meta.mk: fix escapeing strings

diff --git a/fake-top/include/package.mk b/fake-top/include/package.mk
index 1961456..fbc1ec2 100644
--- a/fake-top/include/package.mk
+++ b/fake-top/include/package.mk
@@ -1,4 +1,4 @@
 define BuildPackage
 info:
-	@echo "$(call escape_json,$(call Package/$(PKG_NAME)/JsonInfo))"
-endef
\ No newline at end of file
+	@echo "$(call escape_make,$(Package/$(PKG_NAME)/JsonInfo))"
+endef
diff --git a/fake-top/rules.mk b/fake-top/rules.mk
index 67d923a..25b6d32 100644
--- a/fake-top/rules.mk
+++ b/fake-top/rules.mk
@@ -2,4 +2,9 @@ empty:=
 space:= $(empty) $(empty)
 comma:=,
 
+define newline
+
+
+endef
+
 INCLUDE_DIR:=$(TOPDIR)/include
diff --git a/meta.mk b/meta.mk
index f44242a..3c6c8b5 100644
--- a/meta.mk
+++ b/meta.mk
@@ -18,7 +18,10 @@ PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
 
 include $(INCLUDE_DIR)/package.mk
 
-escape_json=$(strip $(subst ",\",$(subst \,\\\\,$(1))))
+escape_json=$(strip $(subst $(newline),\n,$(subst ",\",$(subst \,\\,$(strip $(1))))))
+escape_make=$(strip $(subst ",\",$(subst $$,\$$$$,$(subst \,\\\\,$(subst $(newline),,$(1))))))
+escape_ipkg=$(strip $(subst ",\",$(subst $$,\$$$$,$(subst \,\\,$(subst $(newline),,$(1))))))
+META_ESCAPED_AUTHOR:=$(call escape_json,$(META_AUTHOR))
 META_ESCAPED_TITLE:=$(call escape_json,$(META_TITLE))
 META_ESCAPED_DESCRIPTION:=$(call escape_json,$(META_DESCRIPTION))
 META_ESCAPED_TITLE.en:=$(call escape_json,$(META_TITLE.en))
@@ -53,7 +56,7 @@ define Package/$(PKG_NAME)/JsonInfo
   "title": "$(META_ESCAPED_TITLE)",
 $(if $(META_ESCAPED_TITLE.en),  "title_en": "$(META_ESCAPED_TITLE.en)"$(comma))
   "entry": "$(META_LUCI_ENTRY)",
-  "author": "$(META_AUTHOR)",
+  "author": "$(META_ESCAPED_AUTHOR)",
   "website": "$(META_WEBSITE)",
 $(if $(META_TUTORIAL),  "tutorial": "$(META_TUTORIAL)"$(comma))
   "version": "$(PKG_VERSION)",
@@ -83,7 +86,7 @@ define Package/$(PKG_NAME)/install
 	if [ -f ./entry.sh ]; then \
 		$(INSTALL_BIN) ./entry.sh $(1)/usr/libexec/istoree/$(META_BASENAME).sh ; \
 	fi;
-	echo "$(call escape_json,$(call Package/$(PKG_NAME)/JsonInfo))" > $(1)/usr/lib/opkg/meta/$(META_BASENAME).json
+	echo "$(call escape_ipkg,$(Package/$(PKG_NAME)/JsonInfo))" > $(1)/usr/lib/opkg/meta/$(META_BASENAME).json
 endef
 
 $(eval $(call BuildPackage,$(PKG_NAME)))

GitHub
sha: 082f5f0a4ed00b9f5c5052b70a86700489fa5710