* [PATCH V2 1/1] opkg: update-alternatives fails for "[" and "[[" in busybox
@ 2014-10-22 8:43 Liu Jian
2014-10-22 8:59 ` Paul Barker
0 siblings, 1 reply; 2+ messages in thread
From: Liu Jian @ 2014-10-22 8:43 UTC (permalink / raw)
To: OE Core
Building a small filesystem with busybox gives the following error lines:
(see log.do_rootfs under bitbake_build/tmp/work/)
sed: -e expression #1, char 41: unterminated address regex
sed: -e expression #1, char 42: unterminated address regex
This is caused by the script
bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/update-alternatives.
"[" can not be used directly in sed expression.
Signed-off-by: Jian Liu <jian.liu@windriver.com>
---
...andle-leftbracket-for-update-alternatives.patch | 23
++++++++++++++++++++++
meta/recipes-devtools/opkg/opkg_0.2.2.bb | 1 +
2 files changed, 24 insertions(+)
create mode 100644
meta/recipes-devtools/opkg/opkg/handle-leftbracket-for-update-alternatives.patch
diff --git
a/meta/recipes-devtools/opkg/opkg/handle-leftbracket-for-update-alternatives.patch
b/meta/recipes-devtools/opkg/opkg/handle-leftbracket-for-update-alternatives.patch
new file mode 100644
index 0000000..7c9eac7
--- /dev/null
+++
b/meta/recipes-devtools/opkg/opkg/handle-leftbracket-for-update-alternatives.patch
@@ -0,0 +1,23 @@
+diff -Nur trunk.orig/utils/update-alternatives.in
trunk/utils/update-alternatives.in
+--- trunk.orig/utils/update-alternatives.in 2013-08-16
04:22:29.000000000 +0800
++++ trunk/utils/update-alternatives.in 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/opkg_0.2.2.bb
b/meta/recipes-devtools/opkg/opkg_0.2.2.bb
index 867ff7a..9d09194 100644
--- a/meta/recipes-devtools/opkg/opkg_0.2.2.bb
+++ b/meta/recipes-devtools/opkg/opkg_0.2.2.bb
@@ -5,6 +5,7 @@ SRC_URI =
"http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz
file://add-exclude.patch \
file://opkg-configure.service \
file://libopkg-opkg_remove.c-avoid-remove-pkg-repeatly-with.patch \
+ file://handle-leftbracket-for-update-alternatives.patch \
"
S = "${WORKDIR}/${BPN}-${PV}"
--
1.8.5.2.233.g932f7e4
--
Jian Liu
Email: jian.liu@windriver.com
Office Phone: 86-10-84778539
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH V2 1/1] opkg: update-alternatives fails for "[" and "[[" in busybox
2014-10-22 8:43 [PATCH V2 1/1] opkg: update-alternatives fails for "[" and "[[" in busybox Liu Jian
@ 2014-10-22 8:59 ` Paul Barker
0 siblings, 0 replies; 2+ messages in thread
From: Paul Barker @ 2014-10-22 8:59 UTC (permalink / raw)
To: Liu Jian; +Cc: OE Core
On 22 October 2014 09:43, Liu Jian <jian.liu@windriver.com> wrote:
> Building a small filesystem with busybox gives the following error lines:
> (see log.do_rootfs under bitbake_build/tmp/work/)
> sed: -e expression #1, char 41: unterminated address regex
> sed: -e expression #1, char 42: unterminated address regex
> This is caused by the script
> bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/update-alternatives.
> "[" can not be used directly in sed expression.
>
> Signed-off-by: Jian Liu <jian.liu@windriver.com>
> ---
> ...andle-leftbracket-for-update-alternatives.patch | 23
> ++++++++++++++++++++++
> meta/recipes-devtools/opkg/opkg_0.2.2.bb | 1 +
> 2 files changed, 24 insertions(+)
> create mode 100644
> meta/recipes-devtools/opkg/opkg/handle-leftbracket-for-update-alternatives.patch
>
> diff --git
> a/meta/recipes-devtools/opkg/opkg/handle-leftbracket-for-update-alternatives.patch
> b/meta/recipes-devtools/opkg/opkg/handle-leftbracket-for-update-alternatives.patch
> new file mode 100644
> index 0000000..7c9eac7
> --- /dev/null
> +++
> b/meta/recipes-devtools/opkg/opkg/handle-leftbracket-for-update-alternatives.patch
> @@ -0,0 +1,23 @@
> +diff -Nur trunk.orig/utils/update-alternatives.in
> trunk/utils/update-alternatives.in
> +--- trunk.orig/utils/update-alternatives.in 2013-08-16
> 04:22:29.000000000 +0800
> ++++ trunk/utils/update-alternatives.in 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/opkg_0.2.2.bb
> b/meta/recipes-devtools/opkg/opkg_0.2.2.bb
> index 867ff7a..9d09194 100644
> --- a/meta/recipes-devtools/opkg/opkg_0.2.2.bb
> +++ b/meta/recipes-devtools/opkg/opkg_0.2.2.bb
> @@ -5,6 +5,7 @@ SRC_URI =
> "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz
> file://add-exclude.patch \
> file://opkg-configure.service \
> file://libopkg-opkg_remove.c-avoid-remove-pkg-repeatly-with.patch \
> + file://handle-leftbracket-for-update-alternatives.patch \
> "
>
> S = "${WORKDIR}/${BPN}-${PV}"
> --
> 1.8.5.2.233.g932f7e4
>
> --
> Jian Liu
> Email: jian.liu@windriver.com
> Office Phone: 86-10-84778539
>
update-alternatives is now provided by the opkg-utils recipe, not
opkg. opkg-utils is part of the Yocto Project so we maintain upstream
as well. Could you take a look at the contribution guidelines for
opkg-utils (http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/tree/CONTRIBUTING)
and submit the patch against that? We can then just bump the SRCREV
which is used within OpenEmbedded, rather than maintaining an isolated
patch.
This should hopefully be fairly straightforward to do, the patch you
have should apply cleanly to update-alternatives (there is no
'update-alternatives.in' anymore) and then just commit and send to the
appropriate email addresses. If there's any issues let me know.
When opkg v0.3.0 is released, it will no longer contain the
update-alternatives script so hopefully that will make things less
confusing.
Thanks,
--
Paul Barker
Email: paul@paulbarker.me.uk
http://www.paulbarker.me.uk
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-10-22 8:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-22 8:43 [PATCH V2 1/1] opkg: update-alternatives fails for "[" and "[[" in busybox Liu Jian
2014-10-22 8:59 ` Paul Barker
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.