On Fri, Mar 30, 2012 at 12:26:40AM -0700, Russell Senior wrote:
> >>>>> "Martin" == Martin Jansa <[email protected]> writes:
> 
> >>> From manually tracing through run.do_rootfs, it looks like the
> >>> exit is happening in ipk_log_check() when it grep's for 'ERR' in
> >>> 
> >>> build/tmp-angstrom_2010_x-eglibc/work/beaglebone-angstrom-linux-gnueabi/systemd-image-1.0-r0/temp/log.do_rootfs
> 
> >> Are you sure it's not the other around? log.do_rootfs is the output
> >> of run.do_rootfs, why would it grep it?
> 
> Martin> It's looking for errors like opkg saying that some dependency
> Martin> is missing etc..
> 
> Martin> See meta/classes/package_ipk.bbclass:ipk_log_check() {
> 
> Martin> but I doubt it's that check, because it's grep for "exit 1"
> Martin> "Collected errors" ERR Fail and shows reasonable output when
> Martin> it founds something
> 
> Martin> For me the issue was in: get_package_filename() {
> Martin> info=`opkg-cl ${IPKG_ARGS} info $1 | grep -B 7 -A 7 "^Status.*
> Martin> \(\(installed\)\|\(unpacked\)\)" || true` name=`echo "${info}"
> Martin> | awk '/^Package/ {printf $2"_"}'`
> 
> Martin> And I have gpsd-udev in BAD_RECOMMENDATIONS (and also removed
> Martin> from RDEPENDS with bbappend) and it was calling
> Martin> get_package_filename gpsd-udev and opkg-cl was returning
> Martin> empty, so grep returned error and rootfs failed immediately
> Martin> (without any error output), but this case works fine with "||
> Martin> true" now.
> 
> Here is the difference between the no-buildhistory and buildhistory in
> the run.do_rootfs:
> 
>   https://personaltelco.net/~russell/run.do_rootfs.diff
> 
> buildhistory_get_imageinfo() is not implicated, because it never seems
> to get that far.  The files it emits are not present in the aftermath.
> 
> The order of the some of the functions is different in the
> no-buildhistory and buildhistory cases.  E.g. log_check() and
> package_generate_ipkg_conf() are reversed, which makes the diff harder
> to read.  I have reordered functions to make the diff cleaner here:
> 
>   https://personaltelco.net/~russell/run.do_rootfs.diff2

run.do_rootfs is not important..

from log.do_rootfs you can see that last command it was doing was
get_package_filename shadow

so try to do the same in shell
+get_package_filename() {
+       info=`opkg-cl -f 
/src/angst/setup-scripts/build/tmp-angstrom_2010_x-eglibc/work/beaglebone-angstrom-linux-gnueabi/systemd-image-1.0-r0/opkg.conf
 -o 
/src/angst/setup-scripts/build/tmp-angstrom_2010_x-eglibc/work/beaglebone-angstrom-linux-gnueabi/systemd-image-1.0-r0/rootfs
 --force-overwrite info $1 | grep -B 7 -A 7 "^Status.* 
\(\(installed\)\|\(unpacked\)\)" || true`
+A      name=`echo "${info}" | awk '/^Package/ {printf $2"_"}'`
+B      name=$name`echo "${info}" | awk -F: '/^Version/ {printf $NF"_"}' | sed 
's/^\s*//g'`
+C      name=$name`echo "${info}" | awk '/^Archi/ {print $2".ipk"}'`
+
+       fullname=`find 
/src/angst/setup-scripts/build/tmp-angstrom_2010_x-eglibc/deploy/ipk -name 
"$name" || true`
+       if [ "$fullname" = "" ] ; then
+               echo $name
+       else
+               echo $fullname
+       fi
+
+}

A) fine
+++ awk '/^Package/ {printf $2"_"}'
++ name=shadow_

B) fine
+++ sed 's/^\s*//g'
++ name=shadow_4.1.4.3-r8_

C) is missing, there should be something like
+++ awk '/^Archi/ {print $2".ipk"}'
++ name=pam-plugin-faildelay_1.1.5-r3_armv7a.ipk

and last echo ${info} ends somehow in the middle..

but it seems to work here..
martin@jama ~ $ info="Package: shadow
> Version: 4.1.4.3-r8
> Depends: libpam-runtime, pam-plugin-env, shadow-securetty, 
> pam-plugin-faildelay, pam-plugin-securetty, pam-plugin-limits, 
> pam-plugin-nologin, pam-plugin-motd, pam-plugin-shells, pam-plugin-group, 
> pam-plugin-mail, libc6 (>= 2.12), pam-plugin-rootok, libpam (>= 1.1.5), 
> pam-plugin-lastlog
> Provides:
> Status: install user installed
> Section: base utils
> Architecture: armv7a
> Maintainer: Angstrom Developers <[email protected]>
> --
> 4.2-su_no_sanitize_env.patch file://shadow-update-pam-conf.patch"
martin@jama ~ $ echo "${info}" | awk '/^Archi/ {print $2".ipk"}'
armv7a.ipk

So please add more debug output to get_package_filename and try again

Cheers,

-- 
Martin 'JaMa' Jansa     jabber: [email protected]

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Angstrom-distro-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel

Reply via email to