[OE-core] [PATCH] connman: replace hardcoded path in init script

Mark Hatle mark.hatle at windriver.com
Thu Apr 25 13:41:14 UTC 2013


On 4/24/13 8:05 PM, Stefan Stanacar wrote:
> Because the connman init script sources a config file from /usr/lib
> we end up with no network in multilib enabled sato images, so replace
> with the real libdir.
>
> Signed-off-by: Stefan Stanacar <stefanx.stanacar at intel.com>
> ---
>   meta/recipes-connectivity/connman/connman.inc     | 3 ++-
>   meta/recipes-connectivity/connman/connman/connman | 4 ++--
>   2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
> index 589ece8..93c9da0 100644
> --- a/meta/recipes-connectivity/connman/connman.inc
> +++ b/meta/recipes-connectivity/connman/connman.inc
> @@ -47,7 +47,7 @@ INITSCRIPT_NAME = "connman"
>   INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
>
>   SYSTEMD_SERVICE_${PN} = "connman.service"
> -SYSTEMD_WIRED_SETUP = "ExecStartPre=-/usr/lib/connman/wired-setup"
> +SYSTEMD_WIRED_SETUP = "ExecStartPre=-${libdir}/connman/wired-setup"

I don't think this is right.  The initscript and setup command should be in the 
'libexec' location, which is /usr/lib/connman.  This way the initscript from any 
duplicate multilibs installed won't cause a conflict.  And the binaries end up 
in a known location.  (The libraries on the other hand should definitely be in 
the libdir.)

So far we've tried to follow RPM/Fedora style rules for multilib work.  And 
those rules are:

* Multilib packages can all be installed at once
* Executables should be installed in the same location, so the package manager 
rules take priority as to what version is installed and runable
* Scripts and other non-executables much either be the same in all multilibs, or 
installed in a unique location.

--Mark

>
>   # IMPORTANT: because xuser is shared with rootless X, please make sure the
>   # USERADD_PARAM is in sync with the one in xserver-nodm-init.bb
> @@ -73,6 +73,7 @@ do_install_append() {
>   	if ${@base_contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
>   		install -d ${D}${sysconfdir}/init.d
>   		install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman
> +                sed -i s%@LIBDIR@%${libdir}% ${D}${sysconfdir}/init.d/connman
>   	fi
>
>   	install -d ${D}${bindir}
> diff --git a/meta/recipes-connectivity/connman/connman/connman b/meta/recipes-connectivity/connman/connman/connman
> index a111f60..67ba7c8 100644
> --- a/meta/recipes-connectivity/connman/connman/connman
> +++ b/meta/recipes-connectivity/connman/connman/connman
> @@ -32,8 +32,8 @@ do_start() {
>   		ethn=`ifconfig | grep eth | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`
>   		EXTRA_PARAM="-I $ethn"
>   	fi
> -	if [ -f /usr/lib/connman/wired-setup ] ; then
> -		. /usr/lib/connman/wired-setup
> +	if [ -f @LIBDIR@/connman/wired-setup ] ; then
> +		. @LIBDIR@/connman/wired-setup
>   	fi
>   	$DAEMON $EXTRA_PARAM
>   }
>





More information about the Openembedded-core mailing list