[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