« February 2012»
S M T W T F S
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      

[blog...]

Currently the posts are filtered by: xxsvideo
Reset this filter to see all posts.

05.05.2011
16:36

xxsvideo is still alive!

xxsvideo on Sourceforge.net

Long time ago, in 2007, I created at mycable the xxsvideo Sourceforge project. This is a simple buildsystem for the xxsvideo embedded board from mycable and Fujitsu.

 

These days, I updated some scripts to support current Ubuntu releases. The old scripts did only work up to Ubuntu 8.04. Not it should work with Ubuntu 10.04 and 10.10.

 

The updated scripts are comitted to the Sourceforge SVN on the project site.

Please have a try and send me patches and/or bugreports if you find something not working as expected. Later on, we could do a new maintenance release out of this.



To check it out just use the following command on your console:

 

 

svn co https://xxsvideo.svn.sourceforge.net/svnroot/xxsvideo xxsvideo

 

 

back

29.10.2009
19:43

Replace Bash Indirect Variable Expansion Feature

replace bash syntax {!VAR} with POSIX conform equivalent

Debian and Ubuntu changed the default shell /bin/sh from bash (Bourne Again Shell) to dash (Debian Almquist Shell).

The advantage of dash is its size, speed and POSIX compliance. The disadvantage is that many scripts written for bash won't work anymore because bash has specific features - so called "bashisms".

 

One of this bashisms, I used frequently in the xxsvideo build system is the " indirect variable expansion". Which makes it possible to execute the following script:

 

#!/bin/bash                                                                                                                                        
                                                                                                                                                  
CONFIG_BUSYBOX=y

PACKAGENAME="BUSYBOX"
PACKAGECONFIG=CONFIG\_$PACKAGENAME

if [ "${!PACKAGECONFIG}" = "y" ]; then
        echo $PACKAGENAME "is selected"
else
        echo $PACKAGENAME "is NOT selected"
fi

 

If you call this script with bash you receive as expected "BUSYBOX is selected".

With dash you see:

 

./test.sh: 13: Bad substitution

 

I was looking a long time for the right way to replace this {!VAR} statement. But it's quite simple and suddenly I found a thread describing it:

 

#!/bin/dash

 

 


CONFIG_BUSYBOX=y

 

 


PACKAGENAME="BUSYBOX"

 

 


PACKAGECONFIG=CONFIG\_$PACKAGENAME

 

 


if [ "$(eval echo '$'$PACKAGECONFIG)" = "y" ]; then

 

 

    echo $PACKAGENAME "is selected"

 

 

else

 

 

    echo $PACKAGENAME "is NOT selected"

 

 

fi

 

 

In short: With dash you write:

 

eval echo '$'$VARIABLE

 

which is equivalent to bash

 

echo ${!VARIABLE}

 

 

... I think ;-)

 

back

06.05.2009
18:19

xxsvideo new release 0.8.4 will be released tomorrow

On Sourceforge.net I'm still one of the maintainer of the xxsvideo linux build system. This buildsystem was started in 2007 by the small German company mycable GmbH for it's embedded development boards.

 

Tomorrow, I will release version 0.8.4 after 10 months of development. Ok, I didn't work 10 months every day on it. So it's more or less a bugfix release which is necessary because many packages were updated in the meantime or download server address changed.

back

[ 29.01.2012 ]