Skip to contentSkip to conversation

opkg_svn: update-alternatives fails for "[" and "[[" in busybox

PATCH Superseded Liu Jian 3 participants 4 messages Oct 20, 2014 – Oct 22, 2014

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore

Liu Jian

author
#0 lore raw

PATCH 1/1 opkg_svn: update-alternatives fails for "[" and "[[" in busybox

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.

---
...andle-leftbracket-for-update-alternatives.patch | 23
++++++++++++++++++++++
meta/recipes-devtools/opkg/opkg_svn.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
+ }

(quoted diff) +0 -0

b/meta/recipes-devtools/opkg/opkg_svn.bb
index cd0485f..a6de6a5 100644

meta/recipes-devtools/opkg/opkg_svn.bb +0 -0
@@ -4,6 +4,7 @@ SRC_URI =

"svn://opkg.googlecode.com/svn;module=trunk;protocol=http \
file://no-install-recommends.patch \
file://add-exclude.patch \
file://opkg-configure.service \
+ file://handle-leftbracket-for-update-alternatives.patch \
"

S = "${WORKDIR}/trunk"

Signature · 6 lines
1.8.5.2.233.g932f7e4

-- 
Jian Liu
Email: [email protected]
Office Phone: 86-10-84778539
#1 lore raw
Quoted 10 lines · Liu Jian

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.

This patch looks to be corrupted, opkg_svn.bb no longer exists in oe-core (it's now opkg_0.2.2.bb) and your commit message is very confusing as it references a log file and a path which only exists on your system.

What version of poky or oe-core are you sending a patch against? And have you read the contribution guidelines in
http://openembedded.org/wiki/Commit_Patch_Message_Guidelines and
http://openembedded.org/wiki/Styleguide?

Thanks,

Signature · 4 lines
Paul Barker

Email: [email protected]
http://www.paulbarker.me.uk
#2 lore raw
Quoted 9 lines · Paul Barker

This patch looks to be corrupted, opkg_svn.bb no longer exists in oe-core (it's now opkg_0.2.2.bb) and your commit message is very confusing as it references a log file and a path which only exists on your system.

What version of poky or oe-core are you sending a patch against? And have you read the contribution guidelines in
http://openembedded.org/wiki/Commit_Patch_Message_Guidelines and
http://openembedded.org/wiki/Styleguide?

Specifically the patch is missing an Upstream-Status tag, and as opkg is part of the Yocto Project this should be Backport as obviously we'd fix our own software instead of patching it.

Ross

author
#3 lore raw

Hi Ross and Barker,

You are right and I make a mistake.

Sorry.

Liu Jian

Quoted 16 lines · Ross
Quoted 9 lines · Paul Barker

This patch looks to be corrupted, opkg_svn.bb no longer exists in oe-core (it's now opkg_0.2.2.bb) and your commit message is very confusing as it references a log file and a path which only exists on your system.

What version of poky or oe-core are you sending a patch against? And have you read the contribution guidelines in
http://openembedded.org/wiki/Commit_Patch_Message_Guidelines and
http://openembedded.org/wiki/Styleguide?

Specifically the patch is missing an Upstream-Status tag, and as opkg is part of the Yocto Project this should be Backport as obviously we'd fix our own software instead of patching it.

Ross

Signature · 3 lines
Jian Liu
Email: [email protected]
Office Phone: 86-10-84778539