[oe] packaged staging issue; additional packages

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Tue Feb 2 07:57:34 UTC 2010


2010/2/2 Richard Purdie <rpurdie at rpsys.net>:
> On Sat, 2010-01-30 at 13:18 +0100, Frans Meulenbroeks wrote:
>> I seem to have found an issue with packaged staging.
>> I'll try to describe the problem, but maybe my understanding is not
>> 100% so bear with me in that case
> [...]
>> I've focused myself on this one:
>>
>>  * opkg_install_cmd: Cannot install package udev.
>>  * satisfy_dependencies_for: Cannot satisfy the following dependencies
>> for sysvinit:
>>  * satisfy_dependencies_for:    sysvinit-inittab *
>>  * opkg_install_cmd: Cannot install package sysvinit.
>>
>> What seems to be the case here is the following:
>> sysvinit bb file contains the following:
>>
>> RDEPENDS_${PN} = "${PN}-inittab"
>>
>> PACKAGES =+ "bootlogd ${PN}-inittab"
>> FILES_bootlogd = "/etc/init.d/bootlogd /etc/init.d/stop-bootlogd
>> /etc/rc?.d/S*bootlogd /sbin/bootlogd"
>> FILES_${PN}-inittab = "${sysconfdir}/inittab"
>>
>> So it generates the sysvinit-inittab package and RDEPENDS on it.
>>
>> If I search for inittab in my work/sysvinit dir I get:
>> ./inittab
>> ./sysvinit-2.86/man/inittab.5
>> ./staging-pkg/staging/armv7a-angstrom-linux-gnueabi/usr/share/man/man5/inittab.5
>> ./staging-pkg/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-inittab
>> ./staging-pkg/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-inittab.packaged
>> ./sysroot-destdir/home/frans/oe/tmp_angstrom/staging/armv7a-angstrom-linux-gnueabi/usr/share/man/man5/inittab.5
>> ./packages-split/sysvinit-inittab
>> ./packages-split/sysvinit-inittab/etc
>> ./packages-split/sysvinit-inittab/etc/inittab
>> ./packages-split/sysvinit-doc/usr/share/man/man5/inittab.5
>> ./package/etc/inittab
>> ./package/usr/share/man/man5/inittab.5
>> ./image/etc/inittab
>> ./image/usr/share/man/man5/inittab.5
>>
>> So the file inittab does not end up in packaged staging.
>>
>> It seems to me that packaged-staging.bbclass needs some work and that
>> something like staging_packager needs to be involved for all packages
>> in a recipe.
>> Howeever, implementing this is beyond my python capabilities and also
>> beyond my understanding of the build system.
>>
>> Is my analysis correct?
>> Can someone implement something or provide some guidance?
>
> inittab is a false lead but you're heading in the right direction. The
> staging package should contain a sysvinit-inittab*.ipk. Whilst I only
> have a Poky build handy, I see:
>
> find -name sysvinit-inittab*
> ./packages-split/sysvinit-inittab
> ./staging-pkg/deploy/ipk/netbook/sysvinit-inittab_2.86-r32_netbook.ipk
> ./staging-pkg/pkgdata/netbook-poky-linux/runtime/sysvinit-inittab
> ./staging-pkg/pkgdata/netbook-poky-linux/runtime/sysvinit-inittab.packaged
>
> The key line being:
>
> ./staging-pkg/deploy/ipk/netbook/sysvinit-inittab_2.86-r32_netbook.ipk
>
> If something like that file isn't there, something in OE's package
> staging is broken.
>
> Cheers,
>
> Richard

Hi Richard,

Thanks for the reply.
I have an ipk in deploy in my tmp dir, but I guess that is not the one I need.

What I tried to do is to move the staging files out of the temp dir by
saying in my local.conf:

DEPLOY_DIR_PSTAGE = "${OETREE}/build/pstage/"

(where OETREE evaluates to /home/frans/OE )

This is as described by hrw in
http://marcin.juszkiewicz.com.pl/2008/07/01/packaged-staging-and-what-it-gives/

I get the errors above after removing my tmp dir.
When i search for sysvinit in my staging dir I only find this:

frans at frans:~/OE$ find build/pstage -name *sysvinit*
build/pstage/angstromglibc/staging-sysvinit-beagleboard-angstrom-linux-gnueabi_2.86-r57_i686-linux.ipk

If I run find on the whole tree I get:

frans at frans:~/OE$ find  -name *sysvinit*
./downloads/sysvinit-2.86.tar.gz.md5
./downloads/sysvinit-2.86.tar.gz
./openembedded/recipes/sysvinit
./openembedded/recipes/sysvinit/sysvinit
./openembedded/recipes/sysvinit/sysvinit_2.86.bb
./openembedded/recipes/sysvinit/sysvinit-2.86
./angstrom-dev/deploy/glibc/sources/GPL/sysvinit
./angstrom-dev/deploy/glibc/sources/GPL/sysvinit/sysvinit-2.86.tar.gz.md5
./angstrom-dev/deploy/glibc/sources/GPL/sysvinit/sysvinit-2.86.tar.gz
./angstrom-dev/deploy/glibc/ipk/armv7a/sysvinit-pidof_2.86-r57.5_armv7a.ipk
./angstrom-dev/deploy/glibc/ipk/armv7a/sysvinit-doc_2.86-r57.5_armv7a.ipk
./angstrom-dev/deploy/glibc/ipk/armv7a/sysvinit-sulogin_2.86-r57.5_armv7a.ipk
./angstrom-dev/deploy/glibc/ipk/armv7a/sysvinit-dbg_2.86-r57.5_armv7a.ipk
./angstrom-dev/deploy/glibc/ipk/armv7a/sysvinit-dev_2.86-r57.5_armv7a.ipk
./angstrom-dev/deploy/glibc/ipk/armv7a/sysvinit-utils_2.86-r57.5_armv7a.ipk
./angstrom-dev/deploy/glibc/ipk/armv7a/sysvinit_2.86-r57.5_armv7a.ipk
./angstrom-dev/deploy/glibc/ipk/beagleboard/sysvinit-inittab_2.86-r57.5_beagleboard.ipk
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/sysvinit
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-sulogin.packaged
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-locale
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-doc.packaged
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-pidof.packaged
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-dbg
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-pidof
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-doc
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-dev.packaged
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-dbg.packaged
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-dev
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-utils
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-utils.packaged
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit.packaged
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-inittab
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-sulogin
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-static
./angstrom-dev/pkgdata/beagleboard-angstrom-linux-gnueabi/runtime/sysvinit-inittab.packaged
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_populate_staging
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_qa_configure
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_package
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_package_write
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_compile
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_patch
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_distribute_sources
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_qa_staging
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_configure
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_rm_work
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_package_write_ipk
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_package_stage
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_package_stage_all
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_build
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_install
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_unpack
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_setscene
./angstrom-dev/stamps/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57.do_fetch
./angstrom-dev/work/beagleboard-angstrom-linux-gnueabi/sysvinit-2.86-r57
./angstrom-dev/usr/lib/opkg/info/staging-sysvinit-beagleboard-angstrom-linux-gnueabi.control
./angstrom-dev/usr/lib/opkg/info/staging-sysvinit-beagleboard-angstrom-linux-gnueabi.list
./build/pstage/angstromglibc/staging-sysvinit-beagleboard-angstrom-linux-gnueabi_2.86-r57_i686-linux.ipk

here angstrom-dev is the tmp dir (I followed the instructions from
angstrom-distributions to set up this tree), and the package is there
in deploy, but (as per hrw's page) those are gone.

The only thing I can think of is what is suggested by denix on
http://blog.denix.org/2008/09/getting-dangerous-with-packaged-staging.html
: also move deploy out of the temp dir. (actually only found this
while posting this, so didn't test it).
Can I change DEPLOY_DIR in local.conf? Do I need to? (currently it is
set in conf/distro/include/angstrom.inc )
(anyway will give it a try).

Frans.




More information about the Openembedded-devel mailing list