All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] meta-toolchain-arago: Substitute dirname statement
@ 2012-11-17 18:30 Franklin S. Cooper Jr
  2012-11-17 18:38 ` Cooper Jr., Franklin
  0 siblings, 1 reply; 3+ messages in thread
From: Franklin S. Cooper Jr @ 2012-11-17 18:30 UTC (permalink / raw)
  To: meta-arago; +Cc: Franklin S. Cooper Jr

* On 32bit systems, the dirname statement sometimes return an empty string.
* Replace dirname with several statements that provide the same result.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
---
 .../recipes-core/meta/meta-toolchain-arago.bb      |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
index c24fb7e..590aa9c 100644
--- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
+++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
@@ -4,7 +4,7 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-${ARMPKGARCH}-${TARGET_OS}-sdk-${SDK_ARCH}"
 
 require recipes-core/meta/meta-toolchain.bb
 
-PR = "r9"
+PR = "r10"
 
 SDKTARGETSYSROOT = "${SDKPATH}/${ARAGO_TARGET_SYS}"
 
@@ -61,7 +61,11 @@ toolchain_create_sdk_env_script () {
 create_gdb_stub () {
 	# Special case for gdb, that is built as part of canadian-cross-sdk
 	mv ${ARAGO_TARGET_SYS}-gdb ${ARAGO_TARGET_SYS}-gdb.real
-	printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n\t. \x60dirname \x24BASH_SOURCE\x60/../environment-setup\nfi\n" > ${ARAGO_TARGET_SYS}-gdb
+	printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n" > ${ARAGO_TARGET_SYS}-gdb
+	printf "\tfilename\x3D\x60echo \x24\x7BBASH_SOURCE\x23\x23\x2A\x2F\x7D\x60\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "\tdirname\x3D\x24\x7BBASH_SOURCE\x2F\x25\x24filename\x2F\x7D\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "\t\x2E \x24dirname\x2E\x2E\x2Fenvironment-setup\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "fi\n" >> ${ARAGO_TARGET_SYS}-gdb
 	printf "LD_LIBRARY_PATH=\x24SDK_PATH/lib:\x24LD_LIBRARY_PATH \x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/${ARAGO_TARGET_SYS}-gdb.real \x24\x2a\n" >> ${ARAGO_TARGET_SYS}-gdb
 	chmod +x ${ARAGO_TARGET_SYS}-gdb
 }
@@ -71,7 +75,11 @@ populate_sdk_ipk_append () {
 	binfiles=`find ! -name "${ARAGO_TARGET_SYS}-*" -type f -perm +111 -exec file {} \;|grep -v ":.*ASCII.*text"|cut -d":" -f1|cut -c3-`
 	for i in $binfiles; do
 		mv $i $i.real
-		printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n\t. \x60dirname \x24BASH_SOURCE\x60/../environment-setup\nfi\n" > $i
+		printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n" > $i
+		printf "\tfilename\x3D\x60echo \x24\x7BBASH_SOURCE\x23\x23\x2A\x2F\x7D\x60\n" >> $i
+		printf "\tdirname\x3D\x24\x7BBASH_SOURCE\x2F\x25\x24filename\x2F\x7D\n" >> $i
+		printf "\t\x2E \x24dirname\x2E\x2E\x2Fenvironment-setup\n" >> $i
+		printf "fi\n" >> $i
 		printf "LD_LIBRARY_PATH=\x24SDK_PATH/lib:\x24LD_LIBRARY_PATH \x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/$i.real \x24\x2a\n" >> $i
 		chmod +x $i
 	done
-- 
1.7.0.4



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] meta-toolchain-arago: Substitute dirname statement
  2012-11-17 18:30 [PATCH] meta-toolchain-arago: Substitute dirname statement Franklin S. Cooper Jr
@ 2012-11-17 18:38 ` Cooper Jr., Franklin
  2012-11-18  0:05   ` Cooper Jr., Franklin
  0 siblings, 1 reply; 3+ messages in thread
From: Cooper Jr., Franklin @ 2012-11-17 18:38 UTC (permalink / raw)
  To: Franklin S. Cooper Jr, meta-arago

For now just looking for comments while I do final testing.

FYI the statements I am implementing are:
# getting the filename from the entire file path. Similar to basename.
filename=`echo ${BASH_SOURCE##*/}`
# Looking at the entire file path replace $filename with "" but only replace the last occurrence of $filename
dirname=${BASH_SOURCE/%$filename/}
. $dirname../environment-setup


-----Original Message-----
From: Franklin S. Cooper Jr [mailto:fcooperjr27@gmail.com] 
Sent: Saturday, November 17, 2012 12:30 PM
To: meta-arago@arago-project.org
Cc: Cooper Jr., Franklin
Subject: [PATCH] meta-toolchain-arago: Substitute dirname statement

* On 32bit systems, the dirname statement sometimes return an empty string.
* Replace dirname with several statements that provide the same result.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
---
 .../recipes-core/meta/meta-toolchain-arago.bb      |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
index c24fb7e..590aa9c 100644
--- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
+++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
@@ -4,7 +4,7 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-${ARMPKGARCH}-${TARGET_OS}-sdk-${SDK_ARCH}"
 
 require recipes-core/meta/meta-toolchain.bb
 
-PR = "r9"
+PR = "r10"
 
 SDKTARGETSYSROOT = "${SDKPATH}/${ARAGO_TARGET_SYS}"
 
@@ -61,7 +61,11 @@ toolchain_create_sdk_env_script () {  create_gdb_stub () {
 	# Special case for gdb, that is built as part of canadian-cross-sdk
 	mv ${ARAGO_TARGET_SYS}-gdb ${ARAGO_TARGET_SYS}-gdb.real
-	printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n\t. \x60dirname \x24BASH_SOURCE\x60/../environment-setup\nfi\n" > ${ARAGO_TARGET_SYS}-gdb
+	printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n" > ${ARAGO_TARGET_SYS}-gdb
+	printf "\tfilename\x3D\x60echo \x24\x7BBASH_SOURCE\x23\x23\x2A\x2F\x7D\x60\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "\tdirname\x3D\x24\x7BBASH_SOURCE\x2F\x25\x24filename\x2F\x7D\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "\t\x2E \x24dirname\x2E\x2E\x2Fenvironment-setup\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "fi\n" >> ${ARAGO_TARGET_SYS}-gdb
 	printf "LD_LIBRARY_PATH=\x24SDK_PATH/lib:\x24LD_LIBRARY_PATH \x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/${ARAGO_TARGET_SYS}-gdb.real \x24\x2a\n" >> ${ARAGO_TARGET_SYS}-gdb
 	chmod +x ${ARAGO_TARGET_SYS}-gdb
 }
@@ -71,7 +75,11 @@ populate_sdk_ipk_append () {
 	binfiles=`find ! -name "${ARAGO_TARGET_SYS}-*" -type f -perm +111 -exec file {} \;|grep -v ":.*ASCII.*text"|cut -d":" -f1|cut -c3-`
 	for i in $binfiles; do
 		mv $i $i.real
-		printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n\t. \x60dirname \x24BASH_SOURCE\x60/../environment-setup\nfi\n" > $i
+		printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n" > $i
+		printf "\tfilename\x3D\x60echo \x24\x7BBASH_SOURCE\x23\x23\x2A\x2F\x7D\x60\n" >> $i
+		printf "\tdirname\x3D\x24\x7BBASH_SOURCE\x2F\x25\x24filename\x2F\x7D\n" >> $i
+		printf "\t\x2E \x24dirname\x2E\x2E\x2Fenvironment-setup\n" >> $i
+		printf "fi\n" >> $i
 		printf "LD_LIBRARY_PATH=\x24SDK_PATH/lib:\x24LD_LIBRARY_PATH \x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/$i.real \x24\x2a\n" >> $i
 		chmod +x $i
 	done
--
1.7.0.4



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] meta-toolchain-arago: Substitute dirname statement
  2012-11-17 18:38 ` Cooper Jr., Franklin
@ 2012-11-18  0:05   ` Cooper Jr., Franklin
  0 siblings, 0 replies; 3+ messages in thread
From: Cooper Jr., Franklin @ 2012-11-18  0:05 UTC (permalink / raw)
  To: Franklin S. Cooper Jr, meta-arago

. $dirname../environment-setup

Is the only part that is a potential problem. If there is a space in the directory path then the sourcing statement stops at the first space.
Ex 
dirname="/home/franklin/tes sdk/linux-devkit/"

what ends up being executed is:
. "/home/franklin/tes"

Putting quotes around $dirname../environment-setup also did not make a difference.

Any suggestions?

-----Original Message-----
From: meta-arago-bounces@arago-project.org [mailto:meta-arago-bounces@arago-project.org] On Behalf Of Cooper Jr., Franklin
Sent: Saturday, November 17, 2012 12:38 PM
To: Franklin S. Cooper Jr; meta-arago@arago-project.org
Subject: Re: [meta-arago] [PATCH] meta-toolchain-arago: Substitute dirname statement

For now just looking for comments while I do final testing.

FYI the statements I am implementing are:
# getting the filename from the entire file path. Similar to basename.
filename=`echo ${BASH_SOURCE##*/}`
# Looking at the entire file path replace $filename with "" but only replace the last occurrence of $filename dirname=${BASH_SOURCE/%$filename/}
. $dirname../environment-setup


-----Original Message-----
From: Franklin S. Cooper Jr [mailto:fcooperjr27@gmail.com]
Sent: Saturday, November 17, 2012 12:30 PM
To: meta-arago@arago-project.org
Cc: Cooper Jr., Franklin
Subject: [PATCH] meta-toolchain-arago: Substitute dirname statement

* On 32bit systems, the dirname statement sometimes return an empty string.
* Replace dirname with several statements that provide the same result.

Signed-off-by: Franklin S. Cooper Jr <fcooper@ti.com>
---
 .../recipes-core/meta/meta-toolchain-arago.bb      |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
index c24fb7e..590aa9c 100644
--- a/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
+++ b/meta-arago-extras/recipes-core/meta/meta-toolchain-arago.bb
@@ -4,7 +4,7 @@ TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-${ARMPKGARCH}-${TARGET_OS}-sdk-${SDK_ARCH}"
 
 require recipes-core/meta/meta-toolchain.bb
 
-PR = "r9"
+PR = "r10"
 
 SDKTARGETSYSROOT = "${SDKPATH}/${ARAGO_TARGET_SYS}"
 
@@ -61,7 +61,11 @@ toolchain_create_sdk_env_script () {  create_gdb_stub () {
 	# Special case for gdb, that is built as part of canadian-cross-sdk
 	mv ${ARAGO_TARGET_SYS}-gdb ${ARAGO_TARGET_SYS}-gdb.real
-	printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n\t. \x60dirname \x24BASH_SOURCE\x60/../environment-setup\nfi\n" > ${ARAGO_TARGET_SYS}-gdb
+	printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n" > ${ARAGO_TARGET_SYS}-gdb
+	printf "\tfilename\x3D\x60echo \x24\x7BBASH_SOURCE\x23\x23\x2A\x2F\x7D\x60\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "\tdirname\x3D\x24\x7BBASH_SOURCE\x2F\x25\x24filename\x2F\x7D\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "\t\x2E \x24dirname\x2E\x2E\x2Fenvironment-setup\n" >> ${ARAGO_TARGET_SYS}-gdb
+	printf "fi\n" >> ${ARAGO_TARGET_SYS}-gdb
 	printf "LD_LIBRARY_PATH=\x24SDK_PATH/lib:\x24LD_LIBRARY_PATH \x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/${ARAGO_TARGET_SYS}-gdb.real \x24\x2a\n" >> ${ARAGO_TARGET_SYS}-gdb
 	chmod +x ${ARAGO_TARGET_SYS}-gdb
 }
@@ -71,7 +75,11 @@ populate_sdk_ipk_append () {
 	binfiles=`find ! -name "${ARAGO_TARGET_SYS}-*" -type f -perm +111 -exec file {} \;|grep -v ":.*ASCII.*text"|cut -d":" -f1|cut -c3-`
 	for i in $binfiles; do
 		mv $i $i.real
-		printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n\t. \x60dirname \x24BASH_SOURCE\x60/../environment-setup\nfi\n" > $i
+		printf "#!/bin/sh\nif [ -n \x22\x24BASH_SOURCE\x22 ]; then\n" > $i
+		printf "\tfilename\x3D\x60echo \x24\x7BBASH_SOURCE\x23\x23\x2A\x2F\x7D\x60\n" >> $i
+		printf "\tdirname\x3D\x24\x7BBASH_SOURCE\x2F\x25\x24filename\x2F\x7D\n" >> $i
+		printf "\t\x2E \x24dirname\x2E\x2E\x2Fenvironment-setup\n" >> $i
+		printf "fi\n" >> $i
 		printf "LD_LIBRARY_PATH=\x24SDK_PATH/lib:\x24LD_LIBRARY_PATH \x24SDK_PATH/lib/ld-linux.so.2 \x24SDK_PATH/bin/$i.real \x24\x2a\n" >> $i
 		chmod +x $i
 	done
--
1.7.0.4

_______________________________________________
meta-arago mailing list
meta-arago@arago-project.org
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-11-18  0:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-17 18:30 [PATCH] meta-toolchain-arago: Substitute dirname statement Franklin S. Cooper Jr
2012-11-17 18:38 ` Cooper Jr., Franklin
2012-11-18  0:05   ` Cooper Jr., Franklin

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.