>>>>> "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. ;-)


-- 
Russell Senior, President
russ...@personaltelco.net

_______________________________________________
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