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.stana...@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
  }



_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to