Patchwork [meta-java,3/3] jamvm/java: allow spaces in arguments

login
register
mail settings
Submitter Riku Voipio
Date Sept. 30, 2013, 1:46 p.m.
Message ID <1380548771-13812-3-git-send-email-riku.voipio@linaro.org>
Download mbox | patch
Permalink /patch/59143/
State New, archived
Headers show

Comments

Riku Voipio - Sept. 30, 2013, 1:46 p.m.
Current IFS mangling blows up on the face:

    | configure:2341: javac  -classpath .: Test.java
    | Invalid maximum heap size: -Xmx1024m-cp/srv/oe/b

Simpler command line expansion works just as easy.
---
 recipes-core/jamvm/files/java | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
Eric BENARD - Sept. 30, 2013, 1:58 p.m.
Hi Riku,

Le Mon, 30 Sep 2013 16:46:11 +0300,
Riku Voipio <riku.voipio@linaro.org> a écrit :

> Current IFS mangling blows up on the face:
> 
>     | configure:2341: javac  -classpath .: Test.java
>     | Invalid maximum heap size: -Xmx1024m-cp/srv/oe/b
> 
> Simpler command line expansion works just as easy.
> ---
>  recipes-core/jamvm/files/java | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/recipes-core/jamvm/files/java b/recipes-core/jamvm/files/java
> index 27cf094..9a396a7 100755
> --- a/recipes-core/jamvm/files/java
> +++ b/recipes-core/jamvm/files/java
> @@ -1,6 +1,5 @@
>  #!/bin/sh
>  
> -IFS=""
> -export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:STAGING_LIBDIR_NATIVE/classpath:STAGING_LIBDIR_NATIVE/jamvm"
> -export BOOTCLASSPATH="STAGING_DATADIR_NATIVE/jamvm/classes.zip:STAGING_DATADIR_NATIVE/classpath/glibj.zip"
> -exec jamvm ${1+"$@"}
> +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/classpath:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/jamvm"
> +export BOOTCLASSPATH="/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/share/jamvm/classes.zip:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/share/classpath/glibj.zip"
> +exec jamvm "$@"

so now we have your path "/srv/oe/build/tmp-eglibc/" hardcoded in the
recipe ;-)

Eric
Riku Voipio - Sept. 30, 2013, 7:22 p.m.
On 30 September 2013 16:58, Eric Bénard <eric@eukrea.com> wrote:
> Hi Riku,
>
> Le Mon, 30 Sep 2013 16:46:11 +0300,
> Riku Voipio <riku.voipio@linaro.org> a écrit :
>
>> Current IFS mangling blows up on the face:
>>
>>     | configure:2341: javac  -classpath .: Test.java
>>     | Invalid maximum heap size: -Xmx1024m-cp/srv/oe/b
>>
>> Simpler command line expansion works just as easy.
>> ---
>>  recipes-core/jamvm/files/java | 7 +++----
>>  1 file changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/recipes-core/jamvm/files/java b/recipes-core/jamvm/files/java
>> index 27cf094..9a396a7 100755
>> --- a/recipes-core/jamvm/files/java
>> +++ b/recipes-core/jamvm/files/java
>> @@ -1,6 +1,5 @@
>>  #!/bin/sh
>>
>> -IFS=""
>> -export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:STAGING_LIBDIR_NATIVE/classpath:STAGING_LIBDIR_NATIVE/jamvm"
>> -export BOOTCLASSPATH="STAGING_DATADIR_NATIVE/jamvm/classes.zip:STAGING_DATADIR_NATIVE/classpath/glibj.zip"
>> -exec jamvm ${1+"$@"}
>> +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/classpath:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/jamvm"
>> +export BOOTCLASSPATH="/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/share/jamvm/classes.zip:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/share/classpath/glibj.zip"
>> +exec jamvm "$@"

> so now we have your path "/srv/oe/build/tmp-eglibc/" hardcoded in the
> recipe ;-)

That is indeed not intended.. I was a bit uncertain with this patch,
as it was not clear to me why the IFS setting was needed.

Riku
Henning Heinold - Sept. 30, 2013, 7:30 p.m.
On Mon, Sep 30, 2013 at 03:58:38PM +0200, Eric Bénard wrote:
> Hi Riku,
> 
> Le Mon, 30 Sep 2013 16:46:11 +0300,
> Riku Voipio <riku.voipio@linaro.org> a écrit :
> 
> > Current IFS mangling blows up on the face:
> > 
> >     | configure:2341: javac  -classpath .: Test.java
> >     | Invalid maximum heap size: -Xmx1024m-cp/srv/oe/b
> > 

Which shell blows it up? With dash on ubuntu its working fine.

Bye Henning
Eric BENARD - Sept. 30, 2013, 7:44 p.m.
Le Mon, 30 Sep 2013 22:22:32 +0300,
Riku Voipio <riku.voipio@linaro.org> a écrit :

> On 30 September 2013 16:58, Eric Bénard <eric@eukrea.com> wrote:
> > Hi Riku,
> >
> > Le Mon, 30 Sep 2013 16:46:11 +0300,
> > Riku Voipio <riku.voipio@linaro.org> a écrit :
> >
> >> Current IFS mangling blows up on the face:
> >>
> >>     | configure:2341: javac  -classpath .: Test.java
> >>     | Invalid maximum heap size: -Xmx1024m-cp/srv/oe/b
> >>
> >> Simpler command line expansion works just as easy.
> >> ---
> >>  recipes-core/jamvm/files/java | 7 +++----
> >>  1 file changed, 3 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/recipes-core/jamvm/files/java b/recipes-core/jamvm/files/java
> >> index 27cf094..9a396a7 100755
> >> --- a/recipes-core/jamvm/files/java
> >> +++ b/recipes-core/jamvm/files/java
> >> @@ -1,6 +1,5 @@
> >>  #!/bin/sh
> >>
> >> -IFS=""
> >> -export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:STAGING_LIBDIR_NATIVE/classpath:STAGING_LIBDIR_NATIVE/jamvm"
> >> -export BOOTCLASSPATH="STAGING_DATADIR_NATIVE/jamvm/classes.zip:STAGING_DATADIR_NATIVE/classpath/glibj.zip"
> >> -exec jamvm ${1+"$@"}
> >> +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/classpath:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/jamvm"
> >> +export BOOTCLASSPATH="/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/share/jamvm/classes.zip:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/share/classpath/glibj.zip"
> >> +exec jamvm "$@"
> 
> > so now we have your path "/srv/oe/build/tmp-eglibc/" hardcoded in the
> > recipe ;-)
> 
> That is indeed not intended.. I was a bit uncertain with this patch,
> as it was not clear to me why the IFS setting was needed.
> 
sorry can't help you on this point but I've added in copy Henning which
is the original author of this file and the maintainer of meta-java so
he must be the best placed to answer your question.

Eric



Eric
Riku Voipio - Oct. 1, 2013, 7:44 a.m.
On 30 September 2013 22:30, Henning Heinold <heinold@inf.fu-berlin.de> wrote:
> On Mon, Sep 30, 2013 at 03:58:38PM +0200, Eric Bénard wrote:
>> Hi Riku,
>>
>> Le Mon, 30 Sep 2013 16:46:11 +0300,
>> Riku Voipio <riku.voipio@linaro.org> a écrit :
>>
>> > Current IFS mangling blows up on the face:
>> >
>> >     | configure:2341: javac  -classpath .: Test.java
>> >     | Invalid maximum heap size: -Xmx1024m-cp/srv/oe/b
>> >
>
> Which shell blows it up? With dash on ubuntu its working fine.

I'm using bash (oe handbook tells to switch /bin/sh from dash to bash.

$ cat test.sh
#!/bin/sh
IFS=""

exec echo jamvm ${1+"$@"}
$ dash test.sh foo bar bar bar
jamvm foo bar bar bar
$ bash test.sh foo bar bar bar
jamvm foobarbarbar
$ vi test.sh

While the simpler version:
$ cat test.sh
#!/bin/sh

exec echo jamvm "$@"
$ dash test.sh foo bar bar bar
jamvm foo bar bar bar
$ bash test.sh foo bar bar bar
jamvm foo bar bar bar

seems to run fine (echo added in both for clarity)

Riku
Henning Heinold - Oct. 1, 2013, 8:17 a.m.
On Tue, Oct 01, 2013 at 10:44:56AM +0300, Riku Voipio wrote:
> On 30 September 2013 22:30, Henning Heinold <heinold@inf.fu-berlin.de> wrote:
> > On Mon, Sep 30, 2013 at 03:58:38PM +0200, Eric Bénard wrote:
> >> Hi Riku,
> >>
> >> Le Mon, 30 Sep 2013 16:46:11 +0300,
> >> Riku Voipio <riku.voipio@linaro.org> a écrit :
> >>
> >> > Current IFS mangling blows up on the face:
> >> >
> >> >     | configure:2341: javac  -classpath .: Test.java
> >> >     | Invalid maximum heap size: -Xmx1024m-cp/srv/oe/b
> >> >
> >
> > Which shell blows it up? With dash on ubuntu its working fine.
> 
> I'm using bash (oe handbook tells to switch /bin/sh from dash to bash.
> 
> $ cat test.sh
> #!/bin/sh
> IFS=""
> 
> exec echo jamvm ${1+"$@"}
> $ dash test.sh foo bar bar bar
> jamvm foo bar bar bar
> $ bash test.sh foo bar bar bar
> jamvm foobarbarbar
> $ vi test.sh
> 
> While the simpler version:
> $ cat test.sh
> #!/bin/sh
> 
> exec echo jamvm "$@"
> $ dash test.sh foo bar bar bar
> jamvm foo bar bar bar
> $ bash test.sh foo bar bar bar
> jamvm foo bar bar bar
> 
> seems to run fine (echo added in both for clarity)
> 
> Riku

Okay thanks,

patch is now applied.

Bye Henning

Patch

diff --git a/recipes-core/jamvm/files/java b/recipes-core/jamvm/files/java
index 27cf094..9a396a7 100755
--- a/recipes-core/jamvm/files/java
+++ b/recipes-core/jamvm/files/java
@@ -1,6 +1,5 @@ 
 #!/bin/sh
 
-IFS=""
-export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:STAGING_LIBDIR_NATIVE/classpath:STAGING_LIBDIR_NATIVE/jamvm"
-export BOOTCLASSPATH="STAGING_DATADIR_NATIVE/jamvm/classes.zip:STAGING_DATADIR_NATIVE/classpath/glibj.zip"
-exec jamvm ${1+"$@"}
+export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/classpath:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/jamvm"
+export BOOTCLASSPATH="/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/share/jamvm/classes.zip:/srv/oe/build/tmp-eglibc/sysroots/x86_64-linux/usr/share/classpath/glibj.zip"
+exec jamvm "$@"