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