On Fri, Mar 30, 2012 at 02:37:36AM -0700, Russell Senior wrote:
> >>>>> "Martin" == Martin Jansa <martin.ja...@gmail.com> writes:
> 
> Martin> On Fri, Mar 30, 2012 at 01:20:01AM -0700, Russell Senior
> Martin> wrote:
> >> >>>>> "Martin" == Martin Jansa <martin.ja...@gmail.com> writes:
> >> 
> Martin> [...] So please add more debug output to get_package_filename
> Martin> and try again
> >>  I am an open-embedded newbie.  You want to suggest a patch, I'll
> >> try it.
> 
> Martin> This is just shell function defined in
> Martin> openembedded-core/meta/classes/rootfs_ipk.bbclass just add
> Martin> some "echo" output to it to see what's going on and run image
> Martin> build again and read resulting log.do_rootfs, no open-embedded
> Martin> wizardry involved..
> 
> With this debugging patch:
> 
> diff --git a/meta/classes/rootfs_ipk.bbclass b/meta/classes/rootfs_ipk.bbclass
> index 13bd4bf..5b2e04d 100644
> --- a/meta/classes/rootfs_ipk.bbclass
> +++ b/meta/classes/rootfs_ipk.bbclass
> @@ -128,11 +128,16 @@ list_installed_packages() {
>  
>  get_package_filename() {
>         info=`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.* 
> \(\(installed\)\|\(unpacked\)\)" || true`
> +       echo "get_package_filename( $1 ) info:" $info >> /tmp/debug.log
>         name=`echo "${info}" | awk '/^Package/ {printf $2"_"}'`
> +       echo "get_package_filename( $1 ) name:" $name >> /tmp/debug.log
>         name=$name`echo "${info}" | awk -F: '/^Version/ {printf $NF"_"}' | 
> sed 's/^\s*//g'`
> +       echo "get_package_filename( $1 ) name:" $name >> /tmp/debug.log
>         name=$name`echo "${info}" | awk '/^Archi/ {print $2".ipk"}'`
> +       echo "get_package_filename( $1 ) name:" $name >> /tmp/debug.log
>  
>         fullname=`find ${DEPLOY_DIR_IPK} -name "$name" || true`
> +       echo "get_package_filename( $1 ) fullname:" $fullname >> 
> /tmp/debug.log
>         if [ "$fullname" = "" ] ; then
>                 echo $name
>         else
> 
> my debugging output suggests that the process continues calling
> get_package_filename() through 'wpa-supplicant-passphrase' returning
> reasonable looking 'fullname' values.  The log file is interrupted
> before it makes it all to disk or something, making the stopping point
> in the log misleading.
> 
> If I apply this patch, the problem goes away:
> 
> diff --git a/meta/classes/package_ipk.bbclass
> b/meta/classes/package_ipk.bbclass
> index 565ef93..d99317e 100644
> --- a/meta/classes/package_ipk.bbclass
> +++ b/meta/classes/package_ipk.bbclass
> @@ -174,7 +174,7 @@ ipk_log_check() {
>         lf_path="$2"
>  
>         lf_txt="`cat $lf_path`"
> -       for keyword_die in "exit 1" "Collected errors" ERR Fail
> +       for keyword_die in "exit 1" "Collected errors"  
>         do
>                 if (echo "$lf_txt" | grep -v log_check | grep
>                 "$keyword_die") >/dev/null 2>&1
>                 then
> 
> I'm not sure why. ;-)

If you look what's in
grep ERR log.do_rootfs*
grep Fail log.do_rootfs*
you'll see some filenames in "Source: " field of opkg-cl output.

It's true that this echo calls put more opkg-cl output to log.do_rootfs
then when it was calling opkg-cl 3 times, because of set -x :/.

I'm sending patch to oe-core right now, please test it.

http://lists.linuxtogo.org/pipermail/openembedded-core/2012-March/020313.html
-- 
Martin 'JaMa' Jansa     jabber: martin.ja...@gmail.com

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Angstrom-distro-devel mailing list
Angstrom-distro-devel@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel

Reply via email to