[OE-core] [oe-commits] Joshua Lock : netbase: remove redundant assignments

Richard Purdie richard.purdie at linuxfoundation.org
Mon Feb 27 12:47:13 UTC 2012


On Mon, 2012-02-27 at 13:36 +0100, Martin Jansa wrote:
> On Mon, Feb 27, 2012 at 12:13:48PM +0000, Richard Purdie wrote:
> > On Mon, 2012-02-27 at 12:31 +0100, Koen Kooi wrote:
> > > Op 27 feb. 2012, om 11:33 heeft Martin Jansa het volgende geschreven:
> > > 
> > > > On Wed, Feb 22, 2012 at 10:13:09PM +0000, git at git.openembedded.org wrote:
> > > >> Module: openembedded-core.git
> > > >> Branch: master
> > > >> Commit: c3d5800d2850a186f91b5a0db642aa5d1c20156b
> > > >> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c3d5800d2850a186f91b5a0db642aa5d1c20156b
> > > >> 
> > > >> Author: Joshua Lock <josh at linux.intel.com>
> > > >> Date:   Tue Feb 21 17:46:44 2012 -0800
> > > >> 
> > > >> netbase: remove redundant assignments
> > > >> 
> > > >> There's no need to explicitly set PACKAGE_ARCH = MACHINE_ARCH, base.bbclass
> > > >> takes care of setting this value for us based on the interfaces for those
> > > >> machines being an OVERRIDE.
> > > > 
> > > > do_install () {
> > > > ...
> > > >        # Disable network manager on machines that commonly do NFS booting
> > > >        case "${MACHINE}" in
> > > >                "qemuarm" | "qemux86" | "qemux86-64" | "qemumips" | "qemuppc" )
> > > > 
> > > > This causes do_install hash to depend on MACHINE variable for all MACHINEs, 
> > > > so making whole recipe MACHINE_ARCH would be more effective then rebuilding 
> > > > TARGET_ARCH package after every MACHINE switch.
> > > 
> > > That whole bit needs to go into the specific nfs image recipe, not
> > > into the recipe. Unless we decide nfs is the one and only way to boot
> > > qemu machines.
> > 
> > Clearly the qemu machines boot on non-nfs setups just fine and the
> > comment is just a bit stale here.
> > 
> > For qemu we expect the IP address to be stable and consistent so we know
> > where to find it and we don't expect it to disappear. The problem was
> > that if network manager starts poking around the main ethernet
> > interface, anything can go wrong (e.g. random QA test failures if
> > networkmanager decided to change the interface at the wrong moment). We
> > therefore really do know better than network manager when it comes to
> > ethernet connectivity into our qemu images.
> > 
> > There are a few options here:
> > 
> > a) Whitelist the MACHINE variable in hashes apart from the qemu machines
> > 
> > b) Change the code to a do_install_append_qemu* which would mean the
> > hashes become stable.
> 
> I'm fine with this but maybe then return PACKAGE_ARCH setting for them
> as we would be assuming that every machine with such append also have
> own interfaces file in SRC_URI (this is now true better to see it
> explicitly set above do_install_append_qemu* statement IMHO).

Agreed.

> > c) Shove the information into a qemu specific package. 
> > 
> > The trouble with c) before everyone decides its the best is how/when do
> > you include that package. It really needs to be present whenever network
> > manager is present. I don't want to end up with someone installing it
> > from feeds and getting different behaviour as it would be a nightmare to
> > debug.
> 
> Bit of off-topic, but do we really need
> EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
> in meta/conf/machine/include/qemu.inc?
> 
> My guess is that in many cases host running builds isn't the same box
> where someone is using native qemu to test those images. (e.g. in my
> case I'm running builds in minimal chroot, while using distribution qemu
> to test resulting images).

We have a lot of manuals and user expectation that:

bitbake some-image
runqemu some-image

'just works'. That dependency is the only way we can ensure it :/

Cheers,

Richard





More information about the Openembedded-core mailing list