fs/ext2: fix double quoted label
PATCH v2 1/1 fs/ext2: fix double quoted label
Since the commit 6dd7bbb59134799ed3d7343f238b3b02592faebf, the label does not need anymore to be quoted. Even worse it *must* not be simple-quoted, unless the label will contain the double-quotes from the config variable BR2_TARGET_ROOTFS_EXT2_LABEL.
The commit mentionned above has replaced echo by printf:
- echo "$$(ROOTFS_$(2)_CMD)" >> $$(FAKEROOT_SCRIPT)
+ $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
Since this commit the rootfs label contains extra double-quotes.
$ blkid
/dev/mmcblk0: LABEL=""BR 2016.08"" UUID="xxx"
^ ^With this fix, the extra double-quotes have disappeared:/dev/mmcblk0: LABEL="BR 2016.11-rc2" UUID="yyy"
--- fs/ext2/ext2.mk | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
fs/ext2/ext2.mk +5 -6
@@ -20,12 +20,11 @@ ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0) EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) endif -# Not qstrip-ing the variable, because it may contain spaces, but we must -# qstrip it when checking. Furthermore, we need to further quote it, so -# that the quotes do not get eaten by the echo statement when creating the -# fakeroot script -ifneq ($(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_LABEL)),) -EXT2_OPTS += -l '$(BR2_TARGET_ROOTFS_EXT2_LABEL)' +# qstrip results in stripping consecutive spaces into a single one. So the +# variable is not qstrip-ed to preserve the integrity of the string value. +EXT2_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL)) +ifneq ($(EXT2_LABEL),) +EXT2_OPTS += -l "$(EXT2_LABEL)" endif ROOTFS_EXT2_DEPENDENCIES = host-mke2img
Signature · 1 line
2.10.2
PATCH v2 1/1 fs/ext2: fix double quoted label
Ga?l, All,
On 2016-11-16 18:00 -0500, Ga?l PORTAY spake thusly:
Quoted 9 lines
Since the commit
6dd7bbb59134799ed3d7343f238b3b02592faebf, the label does not need anymore to be quoted. Even worse it *must* not be simple-quoted, unless the label will contain the double-quotes from the config variableBR2_TARGET_ROOTFS_EXT2_LABEL.The commit mentionned above has replaced echo by printf:
(quoted diff) +1
-1- echo "$$(ROOTFS_$(2)_CMD)" >> $$(FAKEROOT_SCRIPT) + $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
Quoted 7 lines
Since this commit the rootfs label contains extra double-quotes.
$ blkid /dev/mmcblk0: LABEL=""BR 2016.08"" UUID="xxx" ^ ^With this fix, the extra double-quotes have disappeared:
/dev/mmcblk0: LABEL="BR 2016.11-rc2" UUID="yyy"
You forgot to sign-off your patch.
Otherwise:
Regards,
Yann E. MORIN.
Quoted 33 lines
--- fs/ext2/ext2.mk | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)fs/ext2/ext2.mk +5
-6@@ -20,12 +20,11 @@ ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0) EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) endif -# Not qstrip-ing the variable, because it may contain spaces, but we must -# qstrip it when checking. Furthermore, we need to further quote it, so -# that the quotes do not get eaten by the echo statement when creating the -# fakeroot script -ifneq ($(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_LABEL)),) -EXT2_OPTS += -l '$(BR2_TARGET_ROOTFS_EXT2_LABEL)' +# qstrip results in stripping consecutive spaces into a single one. So the +# variable is not qstrip-ed to preserve the integrity of the string value. +EXT2_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL)) +ifneq ($(EXT2_LABEL),) +EXT2_OPTS += -l "$(EXT2_LABEL)" endif ROOTFS_EXT2_DEPENDENCIES = host-mke2imgSignature · 6 lines
2.10.2 _______________________________________________ buildroot mailing list buildroot at busybox.net http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'