[OE-core] [PATCH v8] connman: ignore the networking device which nfs for rootfs is working on

Andreas Oberritter obi at opendreambox.org
Sun Dec 8 11:43:25 UTC 2013


Hello Roy,

On 12.11.2013 08:47, rongqing.li at windriver.com wrote:
> From: Roy Li <rongqing.li at windriver.com>
> 
> Create connman-evn.service, which will run a script to compute the networking
                 ^^^
this should read connman-env.service.

> device when nfs root is on, and pass the result to connman.service
> 
> Connmand.service add ExecStartPre into Connmand.service to release
> do_configure_append work, use the options which is passed by connman-evn.service
> 
> Signed-off-by: Roy Li <rongqing.li at windriver.com>
> ---
>  meta/recipes-connectivity/connman/connman.inc      |   17 +++++-----
>  .../connman/connman/connman-env.service            |   13 ++++++++
>  .../connman/connman/connmand-env                   |   26 +++++++++++++++
>  ...ardcode-and-add-EnvironmentFile-and-Wants.patch |   33 ++++++++++++++++++++
>  meta/recipes-connectivity/connman/connman_1.19.bb  |    3 ++
>  5 files changed, 85 insertions(+), 7 deletions(-)
>  create mode 100644 meta/recipes-connectivity/connman/connman/connman-env.service
>  create mode 100644 meta/recipes-connectivity/connman/connman/connmand-env
>  create mode 100644 meta/recipes-connectivity/connman/connman/replace-hardcode-and-add-EnvironmentFile-and-Wants.patch
> 
> diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
> index 12f3edd..648b9f6 100644
> --- a/meta/recipes-connectivity/connman/connman.inc
> +++ b/meta/recipes-connectivity/connman/connman.inc
> @@ -64,15 +64,9 @@ python __anonymous () {
>  
>  SYSTEMD_SERVICE_${PN} = "connman.service"
>  SYSTEMD_SERVICE_${PN}-vpn = "connman-vpn.service"
> -SYSTEMD_WIRED_SETUP = "ExecStartPre=-${libdir}/connman/wired-setup"
>  
>  inherit autotools gtk-doc pkgconfig systemd update-rc.d
>  
> -do_configure_append () {
> -	sed -i "s#ExecStart=#${SYSTEMD_WIRED_SETUP}\nExecStart=#" ${S}/src/connman.service
> -
> -}
> -
>  # This allows *everyone* to access ConnMan over DBus, without any access
>  # control.  Really the at_console flag should work, which would mean that
>  # both this and the xuser patch can be dropped.
> @@ -88,6 +82,15 @@ do_install_append() {
>  		sed -i s%@LIBDIR@%${libdir}% ${D}${sysconfdir}/init.d/connman
>  	fi
>  
> +	if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
> +		install -m 0755 ${WORKDIR}/connmand-env ${D}${sbindir}/
> +		install -m 0644 ${WORKDIR}/connman-env.service  ${D}/${systemd_unitdir}/system/
> +		sed -i  -e 's, at SBINDIR@,${sbindir},g' \
> +			-e 's, at LIBDIR@,${libdir},g' \
> +			-e 's, at LOCALSTATEDIR@,${localstatedir},g' \
> +			${D}${systemd_unitdir}/system/*.service
> +	fi
> +
>  	install -d ${D}${bindir}
>  	install -m 0755 ${S}/tools/*-test ${D}${bindir}
>  	if [ -e ${S}/tools/wispr ]; then
> @@ -163,7 +166,7 @@ FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
>              ${libdir}/connman/plugins \
>              ${sysconfdir} ${sharedstatedir} ${localstatedir} \
>              ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
> -            ${datadir}/dbus-1/system-services/*"
> +            ${datadir}/dbus-1/system-services/* ${systemd_unitdir}/system/connman-env.service"
>  
>  FILES_${PN}-dbg += "${libdir}/connman/*/.debug"
>  
> diff --git a/meta/recipes-connectivity/connman/connman/connman-env.service b/meta/recipes-connectivity/connman/connman/connman-env.service
> new file mode 100644
> index 0000000..c4dc278
> --- /dev/null
> +++ b/meta/recipes-connectivity/connman/connman/connman-env.service
> @@ -0,0 +1,13 @@
> +[Unit]
> +Description=Generate options for connection service
> +Before=connman.service
> +ConditionKernelCommandLine=root=/dev/nfs

I received a report of this test failing. It turned out that
root=/dev/nfs is not mandatory. nfsroot=$ip:$path may be used alternatively.

Regards,
Andreas



More information about the Openembedded-core mailing list