From c407a33fe8d808e4c1c6a15a524de179e658c696 Mon Sep 17 00:00:00 2001 From: Stephane Desneux Date: Wed, 13 Apr 2016 15:58:12 +0000 Subject: [PATCH] Select networking manager with VIRTUAL-RUNTIME_net_manager at distro level This variable allows to select the network manager daemon to use in the distro. Possible values are: systemd, connman. Later, it's possible to add other network daemons as well. Change-Id: I4085b4459d3ea110513f6ca9b921c5da92a7d745 Signed-off-by: Stephane Desneux --- meta-agl/conf/distro/poky-agl.conf | 3 +++ .../connman-ncurses/connman-ncurses_git.bb | 26 ++++++++++++++++++++++ .../packagegroup-agl-core-connectivity.bb | 1 + meta-agl/recipes-core/systemd/systemd_%.bbappend | 13 +++++++---- 4 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 meta-agl/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb diff --git a/meta-agl/conf/distro/poky-agl.conf b/meta-agl/conf/distro/poky-agl.conf index b631f8779..1be2a96b8 100644 --- a/meta-agl/conf/distro/poky-agl.conf +++ b/meta-agl/conf/distro/poky-agl.conf @@ -17,6 +17,9 @@ PREFERRED_PROVIDER_udev-utils ?= "systemd" VIRTUAL-RUNTIME_init_manager = "systemd" VIRTUAL-RUNTIME_initscripts = "" +# network manager to use (possible values: systemd, connman) +VIRTUAL-RUNTIME_net_manager = "connman" + # Override these in poky based distros AGL_DEFAULT_DISTRO_FEATURES = "systemd opengl wayland pam bluetooth bluez5" AGL_DEFAULT_EXTRA_RDEPENDS = "packagegroup-core-boot" diff --git a/meta-agl/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb b/meta-agl/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb new file mode 100644 index 000000000..02afef75f --- /dev/null +++ b/meta-agl/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "A simple ncurses interface for connman" +DESCRIPTION = "A simple ncurses interface for connman" +HOMEPAGE = "https://gitlab.com/iotbzh/connman-json-client" + +SECTION = "console/network" + +DEPENDS = "dbus ncurses connman json-c" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381" + +SRC_URI = "git://gitlab.com/iotbzh/connman-json-client.git;protocol=https;rev=ad4261a2f87c914667b1f6841c913f6b08d373e2" + +inherit autotools pkgconfig + +EXTRA_AUTORECONF += " -i" +EXTRA_OECONF += " --disable-optimization --enable-debug" + +S = "${WORKDIR}/git" + +do_install () { + install -dm755 ${D}${bindir} + install -Dm755 connman_ncurses ${D}${bindir} +} + +FILES_${PN} = "${bindir}/connman_ncurses" diff --git a/meta-agl/recipes-core/packagegroups/packagegroup-agl-core-connectivity.bb b/meta-agl/recipes-core/packagegroups/packagegroup-agl-core-connectivity.bb index 54a154d72..e909d5e5f 100644 --- a/meta-agl/recipes-core/packagegroups/packagegroup-agl-core-connectivity.bb +++ b/meta-agl/recipes-core/packagegroups/packagegroup-agl-core-connectivity.bb @@ -11,4 +11,5 @@ ALLOW_EMPTY_${PN} = "1" RDEPENDS_${PN} += "\ dhcp-server \ + ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','connman','connman connman-client connman-tests connman-tools connman-ncurses','',d)} \ " diff --git a/meta-agl/recipes-core/systemd/systemd_%.bbappend b/meta-agl/recipes-core/systemd/systemd_%.bbappend index 96ca6c69d..ef877c0c1 100644 --- a/meta-agl/recipes-core/systemd/systemd_%.bbappend +++ b/meta-agl/recipes-core/systemd/systemd_%.bbappend @@ -1,17 +1,22 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" SRC_URI += "file://e2fsck.conf \ - file://wired.network \ + ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','file://wired.network','',d)} \ " # enable networkd/resolved support -PACKAGECONFIG_append_pn-systemd = " networkd resolved" +PACKAGECONFIG_append_pn-systemd = " \ + ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','networkd resolved','',d)} \ +" do_install_append() { # Install /etc/e2fsck.conf to avoid boot stuck by wrong clock time install -m 644 -p -D ${WORKDIR}/e2fsck.conf ${D}${sysconfdir}/e2fsck.conf - # Install DHCP configuration for Ethernet adapters - install -m 644 ${WORKDIR}/wired.network ${D}${sysconfdir}/systemd/network + + if ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','true','false',d)}; then + # Install DHCP configuration for Ethernet adapters + install -m 644 ${WORKDIR}/wired.network ${D}${sysconfdir}/systemd/network + fi } FILES_${PN} += "${sysconfdir}/e2fsck.conf " -- 2.16.6