Joshua Lock : netbase: remove redundant assignments
Quoted 5 lines · On Wed, Feb 22, 2012 at 10:13:09PM +0000, [email protected] wrote:
Module: openembedded-core.git Branch: master Commit: c3d5800d2850a186f91b5a0db642aa5d1c20156b URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c3d5800d2850a186f91b5a0db642aa5d1c20156b
Quoted 8 lines
Author: Joshua Lock <[email protected]> Date: Tue Feb 21 17:46:44 2012 -0800netbase: 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.
Cheers,
Quoted 27 lines
Signed-off-by Joshua Lock <[email protected]>Signed-off-by Richard Purdie <[email protected]>---
meta/recipes-core/netbase/netbase_4.47.bb | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-)meta/recipes-core/netbase/netbase_4.47.bb +0
-4@@ -47,7 +47,3 @@ do_install () { } CONFFILES_${PN} = "${sysconfdir}/hosts ${sysconfdir}/network/interfaces" - -PACKAGE_ARCH_qemuarm = "${MACHINE_ARCH}" -PACKAGE_ARCH_qemux86 = "${MACHINE_ARCH}" -PACKAGE_ARCH_qemux86-64 = "${MACHINE_ARCH}"_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Op 27 feb. 2012, om 11:33 heeft Martin Jansa het volgende geschreven:
Quoted 17 lines · On Wed, Feb 22, 2012 at 10:13:09PM +0000, [email protected] wrote:
Quoted 5 lines
Module: openembedded-core.git Branch: master Commit: c3d5800d2850a186f91b5a0db642aa5d1c20156b URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c3d5800d2850a186f91b5a0db642aa5d1c20156bQuoted 8 lines
Author: Joshua Lock <[email protected]> Date: Tue Feb 21 17:46:44 2012 -0800netbase: 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() {
...
Quoted 7 lines
# Disable network manager on machines that commonly do NFS booting case "${MACHINE}" in "qemuarm" | "qemux86" | "qemux86-64" | "qemumips" | "qemuppc" )This causes
do_installhash to depend on MACHINE variable for all MACHINEs, so making whole recipeMACHINE_ARCHwould be more effective then rebuildingTARGET_ARCHpackage 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.
regards,
Koen
Quoted 23 lines · Koen Kooi
Op 27 feb. 2012, om 11:33 heeft Martin Jansa het volgende geschreven:
Quoted 21 lines · On Wed, Feb 22, 2012 at 10:13:09PM +0000, [email protected] wrote:
Quoted 5 lines
Module: openembedded-core.git Branch: master Commit: c3d5800d2850a186f91b5a0db642aa5d1c20156b URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c3d5800d2850a186f91b5a0db642aa5d1c20156bQuoted 8 lines
Author: Joshua Lock <[email protected]> Date: Tue Feb 21 17:46:44 2012 -0800netbase: 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" )
Quoted 7 lines
Quoted 3 lines
This causes
do_installhash to depend on MACHINE variable for all MACHINEs, so making whole recipeMACHINE_ARCHwould be more effective then rebuildingTARGET_ARCHpackage 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.
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.
d) We could also decide we don't care about network manager any more and just delete this I guess since we default to connman now.
Cheers,
Richard
Quoted 43 lines · Richard Purdie
Quoted 23 lines · Koen Kooi
Op 27 feb. 2012, om 11:33 heeft Martin Jansa het volgende geschreven:
Quoted 21 lines · On Wed, Feb 22, 2012 at 10:13:09PM +0000, [email protected] wrote:
Quoted 5 lines
Module: openembedded-core.git Branch: master Commit: c3d5800d2850a186f91b5a0db642aa5d1c20156b URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c3d5800d2850a186f91b5a0db642aa5d1c20156bQuoted 8 lines
Author: Joshua Lock <[email protected]> Date: Tue Feb 21 17:46:44 2012 -0800netbase: 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" )Quoted 7 lines
Quoted 3 lines
This causes
do_installhash to depend on MACHINE variable for all MACHINEs, so making whole recipeMACHINE_ARCHwould be more effective then rebuildingTARGET_ARCHpackage 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.
Quoted 6 lines
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).
Quoted 8 lines
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).
Cheers,
Quoted 14 lines
d) We could also decide we don't care about network manager any more and just delete this I guess since we default to connman now.
Cheers,
Richard
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 48 lines · Martin Jansa
Quoted 47 lines · Richard Purdie
Quoted 23 lines · Koen Kooi
Op 27 feb. 2012, om 11:33 heeft Martin Jansa het volgende geschreven:
Quoted 21 lines · On Wed, Feb 22, 2012 at 10:13:09PM +0000, [email protected] wrote:
Quoted 5 lines
Module: openembedded-core.git Branch: master Commit: c3d5800d2850a186f91b5a0db642aa5d1c20156b URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c3d5800d2850a186f91b5a0db642aa5d1c20156bQuoted 8 lines
Author: Joshua Lock <[email protected]> Date: Tue Feb 21 17:46:44 2012 -0800netbase: 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" )Quoted 7 lines
Quoted 3 lines
This causes
do_installhash to depend on MACHINE variable for all MACHINEs, so making whole recipeMACHINE_ARCHwould be more effective then rebuildingTARGET_ARCHpackage 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
Quoted 7 lines
Quoted 2 lines
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_ARCHsetting for them as we would be assuming that every machine with such append also have own interfaces file inSRC_URI(this is now true better to see it explicitly set above do_install_append_qemu* statement IMHO).
Agreed.
Quoted 8 lines
Quoted 7 lines
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.
Quoted 8 lines
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
Op 27 feb. 2012, om 13:13 heeft Richard Purdie het volgende geschreven:
Quoted 43 lines · Koen Kooi
Quoted 23 lines
Op 27 feb. 2012, om 11:33 heeft Martin Jansa het volgende geschreven:
Quoted 21 lines · On Wed, Feb 22, 2012 at 10:13:09PM +0000, [email protected] wrote:
Quoted 5 lines
Module: openembedded-core.git Branch: master Commit: c3d5800d2850a186f91b5a0db642aa5d1c20156b URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c3d5800d2850a186f91b5a0db642aa5d1c20156bQuoted 8 lines
Author: Joshua Lock <[email protected]> Date: Tue Feb 21 17:46:44 2012 -0800netbase: 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" )Quoted 7 lines
Quoted 3 lines
This causes
do_installhash to depend on MACHINE variable for all MACHINEs, so making whole recipeMACHINE_ARCHwould be more effective then rebuildingTARGET_ARCHpackage 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.
Quoted 6 lines
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.
Both are hacks for the nfs use case.
Quoted 7 lines
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.
If you put it in a seperate package it's becomes something people can opt-in to. If someone opts-in and it breaks because of that, that person gets to keep both pieces.
Quoted 2 lines
d) We could also decide we don't care about network manager any more and just delete this I guess since we default to connman now.
You can load the networkmanager plugin (http://wiki.debian.org/NetworkManager#Wired_Networks_are_Unmanaged) that makes it ignore entries in /etc/network/interfaces to accomplish the same. Right now both connman and networkmanager ignore /etc/network/interfaces which leads to mass confusion. I discussed this with Josh at ELC but forgot to send an email about this. I think we should split netbase into:
1) a package with /etc/rpc, /etc/hosts, /etc/protocols and /etc/services
2) a package with /etc/network/interfaces
3) a package with the initscript (probably move that into the ifupdown package)
That way we can support the following without having unused config files in the filesystem:
* simple ifupdown style networking using /etc/network/interfaces
* networkmanager honouring devices managed by /etc/network/interfaces
* networkmanager handling everything
* connman handling everything
* no networking in userspace, boot with ip=dhcp
regards,
Koen
Quoted 3 lines · Koen Kooi
1) a package with
/etc/rpc,/etc/hosts,/etc/protocolsand/etc/services
2) a package with/etc/network/interfaces
3) a package with the initscript (probably move that into the ifupdown package)
I like this idea a lot :-D
Signature · 3 lines
Otavio Salvador O.S. Systems E-mail: [email protected] http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br
Quoted 76 lines · Richard Purdie
Quoted 48 lines · Martin Jansa
Quoted 47 lines · Richard Purdie
Quoted 23 lines · Koen Kooi
Op 27 feb. 2012, om 11:33 heeft Martin Jansa het volgende geschreven:
Quoted 21 lines · On Wed, Feb 22, 2012 at 10:13:09PM +0000, [email protected] wrote:
Quoted 5 lines
Module: openembedded-core.git Branch: master Commit: c3d5800d2850a186f91b5a0db642aa5d1c20156b URL: http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=c3d5800d2850a186f91b5a0db642aa5d1c20156bQuoted 8 lines
Author: Joshua Lock <[email protected]> Date: Tue Feb 21 17:46:44 2012 -0800netbase: 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" )Quoted 7 lines
Quoted 3 lines
This causes
do_installhash to depend on MACHINE variable for all MACHINEs, so making whole recipeMACHINE_ARCHwould be more effective then rebuildingTARGET_ARCHpackage 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
Quoted 7 lines
Quoted 2 lines
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_ARCHsetting for them as we would be assuming that every machine with such append also have own interfaces file inSRC_URI(this is now true better to see it explicitly set above do_install_append_qemu* statement IMHO).Agreed.
Quoted 8 lines
Quoted 7 lines
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.
Quoted 8 lines
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).
Quoted 6 lines
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 :/
Isn't "bitbake meta-ide-support" also expected to be executed before runqemu? At least runqemu-export-rootfs assumes it is and meta-ide-support already depends on qemu-helper-native which in turn RDEPENDS on qemu-native.
Or we can add mesa-native to provide libgl-native :).
Cheers,
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Op 27 feb. 2012, om 14:31 heeft Otavio Salvador het volgende geschreven:
Quoted 6 lines · Koen Kooi
Quoted 3 lines
1) a package with
/etc/rpc,/etc/hosts,/etc/protocolsand/etc/services
2) a package with/etc/network/interfaces
3) a package with the initscript (probably move that into the ifupdown package)I like this idea a lot :-D
Any suggestions on how to do the split? This is going to be a painfull change by the looks of it, so I'd like a lot of input before I go spin a patchset :)
regards,
Koen