[yocto] [OE-core] [PATCH] opkg-utils: update-alternatives fails for "[" and "[[" in busybox

Paul Barker paul at paulbarker.me.uk
Mon Oct 27 02:52:35 PDT 2014


On 27 October 2014 09:35, Liu Jian <jian.liu at windriver.com> wrote:
> Building a small filesystem with busybox gives the following error lines:
> sed: -e expression #1, char 41: unterminated address regex
> sed: -e expression #1, char 42: unterminated address regex
> This is caused by the script update-alternatives.
> "[" can not be used directly in sed expression.
>
> Signed-off-by: Jian Liu <jian.liu at windriver.com>
> ---
> ...andle-leftbracket-for-update-alternatives.patch | 25
> ++++++++++++++++++++++
> meta/recipes-devtools/opkg-utils/opkg-utils_git.bb | 4 +++-
> 2 files changed, 28 insertions(+), 1 deletion(-)
> create mode 100644
> meta/recipes-devtools/opkg-utils/opkg-utils/handle-leftbracket-for-update-alternatives.patch
>
> diff --git
> a/meta/recipes-devtools/opkg-utils/opkg-utils/handle-leftbracket-for-update-alternatives.patch
> b/meta/recipes-devtools/opkg-utils/opkg-utils/handle-leftbracket-for-update-alternatives.patch
> new file mode 100644
> index 0000000..0cdc4e2
> --- /dev/null
> +++
> b/meta/recipes-devtools/opkg-utils/opkg-utils/handle-leftbracket-for-update-alternatives.patch
> @@ -0,0 +1,25 @@
> +"[" should be escaped in sed expression. This patch is suitable for
> opkg-0.2.2
> +
> +diff -Nur utils.orig/update-alternatives utils/update-alternatives
> +--- utils.orig/update-alternatives 2013-08-16 04:22:29.000000000 +0800
> ++++ utils/update-alternatives 2014-09-19 10:55:22.238159317 +0800
> +@@ -68,6 +68,10 @@
> + sed -e 's/\//\\\//g'
> + }
> +
> ++protect_special_character() {
> ++ sed -e 's/\[/\\\[/g'
> ++}
> ++
> + remove_alt() {
> + [ $# -lt 2 ] && return 1
> + local name="$1"
> +@@ -75,7 +79,7 @@
> +
> + [ ! -f $ad/$name ] && return 0
> +
> +- path=`echo $path | protect_slashes`
> ++ path=`echo $path | protect_slashes | protect_special_character`
> + sed -ne "/^$path\>.*/!p" $ad/$name > $ad/$name.new
> + mv $ad/$name.new $ad/$name
> + }
> diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
> b/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
> index 693c216..04412d1 100644
> --- a/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
> +++ b/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb
> @@ -10,7 +10,9 @@ PROVIDES += "virtual/update-alternatives"
> SRCREV = "eae0d8fa44e8594aa90eadf06e5f4fbeef314509"
> PV = "0.1.8+git${SRCPV}"
>
> -SRC_URI = "git://git.yoctoproject.org/opkg-utils"
> +SRC_URI = "git://git.yoctoproject.org/opkg-utils \
> + file://handle-leftbracket-for-update-alternatives.patch \
> +"
>
> S = "${WORKDIR}/git"
>
> --
> 1.8.5.2.233.g932f7e4
>

Sorry, you've sent a patch for oe-core to the wrong mailing lists here.

Also, this patch doesn't apply against oe-core anyway, it looks like
your email program has corrupted it by wrapping lines. Please use 'git
send-email' if you can.

To make this change, please submit a patch for opkg-utils itself
rather than for oe-core. In oe-core, we can then simply change SRCREV
rather than holding additional patches.

Thanks,

-- 
Paul Barker

Email: paul at paulbarker.me.uk
http://www.paulbarker.me.uk



More information about the yocto mailing list