Author: nbd
Date: 2014-07-29 15:30:23 +0200 (Tue, 29 Jul 2014)
New Revision: 41885

Modified:
   trunk/include/version.mk
   trunk/package/base-files/Makefile
   trunk/package/base-files/files/etc/device_info
   trunk/package/base-files/files/etc/openwrt_release
Log:
base-files: properly escape strings for version info

Make sure they don't break the sed command, and also make device_info
and openwrt_release more robust for parsing by scripts

Signed-off-by: Felix Fietkau <[email protected]>

Modified: trunk/include/version.mk
===================================================================
--- trunk/include/version.mk    2014-07-29 13:30:12 UTC (rev 41884)
+++ trunk/include/version.mk    2014-07-29 13:30:23 UTC (rev 41885)
@@ -17,28 +17,31 @@
        CONFIG_VERSION_PRODUCT \
        CONFIG_VERSION_HWREV \
 
-VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
+qstrip_escape=$(subst ','\'',$(call qstrip,$(1)))
+#'
+
+VERSION_NUMBER:=$(call qstrip_escape,$(CONFIG_VERSION_NUMBER))
 VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),$(REVISION))
 
-VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
+VERSION_CODE:=$(call qstrip_escape,$(CONFIG_VERSION_NUMBER))
 VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),Bleeding Edge)
 
-VERSION_NICK:=$(call qstrip,$(CONFIG_VERSION_NICK))
+VERSION_NICK:=$(call qstrip_escape,$(CONFIG_VERSION_NICK))
 VERSION_NICK:=$(if $(VERSION_NICK),$(VERSION_NICK),$(RELEASE))
 
-VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO))
+VERSION_REPO:=$(call qstrip_escape,$(CONFIG_VERSION_REPO))
 VERSION_REPO:=$(if 
$(VERSION_REPO),$(VERSION_REPO),http://downloads.openwrt.org/snapshots/trunk/%T/packages)
 
-VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
+VERSION_DIST:=$(call qstrip_escape,$(CONFIG_VERSION_DIST))
 VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt)
 
-VERSION_MANUFACTURER:=$(call qstrip,$(CONFIG_VERSION_MANUFACTURER))
+VERSION_MANUFACTURER:=$(call qstrip_escape,$(CONFIG_VERSION_MANUFACTURER))
 VERSION_MANUFACTURER:=$(if 
$(VERSION_MANUFACTURER),$(VERSION_MANUFACTURER),OpenWrt)
 
-VERSION_PRODUCT:=$(call qstrip,$(CONFIG_VERSION_PRODUCT))
+VERSION_PRODUCT:=$(call qstrip_escape,$(CONFIG_VERSION_PRODUCT))
 VERSION_PRODUCT:=$(if $(VERSION_PRODUCT),$(VERSION_PRODUCT),Generic)
 
-VERSION_HWREV:=$(call qstrip,$(CONFIG_VERSION_HWREV))
+VERSION_HWREV:=$(call qstrip_escape,$(CONFIG_VERSION_HWREV))
 VERSION_HWREV:=$(if $(VERSION_HWREV),$(VERSION_HWREV),v0)
 
 define taint2sym
@@ -80,3 +83,5 @@
        -e 's,%M,$(VERSION_MANUFACTURER),g' \
        -e 's,%P,$(VERSION_PRODUCT),g' \
        -e 's,%h,$(VERSION_HWREV),g'
+
+VERSION_SED_SCRIPT:=$(subst '\'','\'\\\\\'\'',$(VERSION_SED))

Modified: trunk/package/base-files/Makefile
===================================================================
--- trunk/package/base-files/Makefile   2014-07-29 13:30:12 UTC (rev 41884)
+++ trunk/package/base-files/Makefile   2014-07-29 13:30:23 UTC (rev 41885)
@@ -110,7 +110,9 @@
 
        $(VERSION_SED) \
                $(1)/etc/banner \
-               $(1)/etc/openwrt_version \
+               $(1)/etc/openwrt_version
+
+       $(VERSION_SED_SCRIPT) \
                $(1)/etc/openwrt_release \
                $(1)/etc/device_info
 

Modified: trunk/package/base-files/files/etc/device_info
===================================================================
--- trunk/package/base-files/files/etc/device_info      2014-07-29 13:30:12 UTC 
(rev 41884)
+++ trunk/package/base-files/files/etc/device_info      2014-07-29 13:30:23 UTC 
(rev 41885)
@@ -1,3 +1,3 @@
-DEVICE_MANUFACTURER="%M"
-DEVICE_PRODUCT="%P"
-DEVICE_REVISION="%h"
+DEVICE_MANUFACTURER='%M'
+DEVICE_PRODUCT='%P'
+DEVICE_REVISION='%h'

Modified: trunk/package/base-files/files/etc/openwrt_release
===================================================================
--- trunk/package/base-files/files/etc/openwrt_release  2014-07-29 13:30:12 UTC 
(rev 41884)
+++ trunk/package/base-files/files/etc/openwrt_release  2014-07-29 13:30:23 UTC 
(rev 41885)
@@ -1,7 +1,7 @@
-DISTRIB_ID="%D"
-DISTRIB_RELEASE="%C"
-DISTRIB_REVISION="%R"
-DISTRIB_CODENAME="%n"
-DISTRIB_TARGET="%S"
-DISTRIB_DESCRIPTION="%D %N %V"
-DISTRIB_TAINTS="%t"
+DISTRIB_ID='%D'
+DISTRIB_RELEASE='%C'
+DISTRIB_REVISION='%R'
+DISTRIB_CODENAME='%n'
+DISTRIB_TARGET='%S'
+DISTRIB_DESCRIPTION='%D %N %V'
+DISTRIB_TAINTS='%t'
_______________________________________________
openwrt-commits mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-commits

Reply via email to