Explorar o código

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 <[email protected]>
Christian Marangi hai 1 ano
pai
achega
43455f1075
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      include/package-pack.mk

+ 5 - 1
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)" \