[openwrt/openwrt] include/package-pack: escape package description for APK mkpkg
LEDE Commits
lede-commits at lists.infradead.org
Sun Nov 17 10:11:32 PST 2024
ansuel pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/43455f1075855d9ed2760f70b2d8acbe8e8bb16c
commit 43455f1075855d9ed2760f70b2d8acbe8e8bb16c
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Sun Nov 17 19:09:31 2024 +0100
include/package-pack: escape package description for APK mkpkg
Escape special char for package description for APK mkpkg as the
description is passed as an args to mkpkg with --info option and can
easily escape from the "".
Currently escaped char `, $, ", \.
Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
include/package-pack.mk | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/include/package-pack.mk b/include/package-pack.mk
index 9d06c8b647..830b39f8d7 100644
--- a/include/package-pack.mk
+++ b/include/package-pack.mk
@@ -8,6 +8,10 @@ endif
IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg
+define description_escape
+$(subst `,\`,$(subst $$,\$$,$(subst ",\",$(subst \,\\,$(1)))))
+endef
+
# Generates a make statement to return a wildcard for candidate ipkg files
# 1: package name
define gen_package_wildcard
@@ -339,7 +343,7 @@ else
$(FAKEROOT) $(STAGING_DIR_HOST)/bin/apk mkpkg \
--info "name:$(1)$$(ABIV_$(1))" \
--info "version:$(VERSION)" \
- --info "description:$$(strip $$(Package/$(1)/description))" \
+ --info "description:$$(call description_escape,$$(strip $$(Package/$(1)/description)))" \
--info "arch:$(PKGARCH)" \
--info "license:$(LICENSE)" \
--info "origin:$(SOURCE)" \
More information about the lede-commits
mailing list