All of lore.kernel.org
 help / color / mirror / Atom feed
* packaged staging issue; additional packages
@ 2010-01-30 12:18 Frans Meulenbroeks
  2010-02-01 23:07 ` Richard Purdie
  0 siblings, 1 reply; 4+ messages in thread
From: Frans Meulenbroeks @ 2010-01-30 12:18 UTC (permalink / raw)
  To: openembedded-devel

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

What happens is that I wanted to rebuild console-image from packaged staging.

This failed with the following errors:

Collected errors:
 * opkg_install_cmd: Cannot install package task-base.
 * opkg_install_cmd: Cannot install package psplash-angstrom.
 * opkg_install_cmd: Cannot install package psplash-zap.
 * opkg_install_cmd: Cannot install package task-base-extended.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies
for initscripts:
 * satisfy_dependencies_for:    update-rc.d *
 * opkg_install_cmd: Cannot install package initscripts.
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for udev:
 * satisfy_dependencies_for:    update-rc.d *
 * 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.
 * opkg_install_cmd: Cannot install package angstrom-feed-configs.

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?

Frans



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: packaged staging issue; additional packages
  2010-01-30 12:18 packaged staging issue; additional packages Frans Meulenbroeks
@ 2010-02-01 23:07 ` Richard Purdie
  2010-02-02  7:57   ` Frans Meulenbroeks
  0 siblings, 1 reply; 4+ messages in thread
From: Richard Purdie @ 2010-02-01 23:07 UTC (permalink / raw)
  To: openembedded-devel

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





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: packaged staging issue; additional packages
  2010-02-01 23:07 ` Richard Purdie
@ 2010-02-02  7:57   ` Frans Meulenbroeks
  2010-02-03 18:43     ` Frans Meulenbroeks
  0 siblings, 1 reply; 4+ messages in thread
From: Frans Meulenbroeks @ 2010-02-02  7:57 UTC (permalink / raw)
  To: openembedded-devel

2010/2/2 Richard Purdie <rpurdie@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@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@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.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: packaged staging issue; additional packages
  2010-02-02  7:57   ` Frans Meulenbroeks
@ 2010-02-03 18:43     ` Frans Meulenbroeks
  0 siblings, 0 replies; 4+ messages in thread
From: Frans Meulenbroeks @ 2010-02-03 18:43 UTC (permalink / raw)
  To: openembedded-devel

Found it; fixed it; tested it; pushed it;

Root case was that packaged-staging.bbclass was not updated when
DISTRO_PR was introduced.
This caused the generation of pathnames which were missing the
DISTRO_PR part. Fixed it by adding + "${DISTRO_PR}" to the places
involved.

Kudos to RP for pointing me to the proper direction.

FM



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-02-03 18:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-30 12:18 packaged staging issue; additional packages Frans Meulenbroeks
2010-02-01 23:07 ` Richard Purdie
2010-02-02  7:57   ` Frans Meulenbroeks
2010-02-03 18:43     ` Frans Meulenbroeks

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.