[yocto] populate_sdk and debian packages problem

Martin Townsend mtownsend1973 at gmail.com
Sat Nov 7 00:49:26 PST 2015


Hi,

I fixed the problem but I don't know if it's the right way to fix it.
Basically it occurs because I redefine DPKG_ARCH
DPKG_ARCH ?= "armv7ahf-vfp-neon"
in local.conf
We need to do this as we support several arm platforms that are all little
endian but some have soft floating point, some are armv5 etc.
This breaks do_package_write_deb in package_deb.bbclass which maps
DPKG_ARCH to Debian's ideas about architectures.  My fix was to use
PACAKGE_ARCH and add "i686-nativesdk" to the list
I've added "x86_64-nativesdk" to the 64 bit list but I don't know if this
is correct or not, just building now.

python () {
    if d.getVar('PACKAGES', True) != '':
        deps = ' dpkg-native:do_populate_sysroot
virtual/fakeroot-native:do_populate_sysroot'
        d.appendVarFlag('do_package_write_deb', 'depends', deps)
        d.setVarFlag('do_package_write_deb', 'fakeroot', "1")

    # Map TARGET_ARCH to Debian's ideas about architectures
    darch = d.getVar('PACKAGE_ARCH', True)
    if darch in ["x86", "i486", "i586", "i686", "i686-nativesdk",
"pentium"]:
         d.setVar('DPKG_ARCH', 'i386')
    elif darch in ["x86_64", "x86_64-nativesdk"]:
         d.setVar('DPKG_ARCH', 'amd64')
    elif darch == "arm":
         d.setVar('DPKG_ARCH', 'armel')


Like I said I don't know if this is the correct way of doing it, this is my
first time of delving into the depths of bitbake and Yocto :)

If it is correct I don't mind submitting a patch if someone shows me how to
do this.

Cheers,
Martin.

On Tue, Nov 3, 2015 at 2:52 PM, Paul Eggleton <paul.eggleton at linux.intel.com
> wrote:

> On Tuesday 03 November 2015 14:34:33 Martin Townsend wrote:
> > I don't know if it worked before, we were using daisy with an external
> > toolchain and populate_sdk wasn't working.  I've wanted to go to Fido and
> > use the built toolchain so I bit the bullet as all looks good except
> > populate_sdk with dpkg.  Anyway, I'll file a bug as it looks like there
> is
> > a problem.
>
> OK, thanks.
>
> > In the meantime if someone could point me in the direction of which class
> > files to look at that would be great as I need to get this working asap
> and
> > I don't mind doing some ground work.
>
> Basically:
>
> meta/classes/package_deb.bbclass
> meta/classes/rootfs_deb.bbclass
>
> Most of the logic is actually in Dpkg* classes in:
>
> meta/lib/oe/sdk.py
> meta/lib/oe/package_manager.py
> meta/lib/oe/rootfs.py
>
> Cheers,
> Paul
>
> --
>
> Paul Eggleton
> Intel Open Source Technology Centre
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20151107/c09b136e/attachment.html>


More information about the yocto mailing list