* [PATCH] connman: replace hardcoded path in init script
@ 2013-04-25 1:05 Stefan Stanacar
2013-04-25 13:41 ` Mark Hatle
0 siblings, 1 reply; 3+ messages in thread
From: Stefan Stanacar @ 2013-04-25 1:05 UTC (permalink / raw)
To: openembedded-core
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@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"
# 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
}
--
1.8.1.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] connman: replace hardcoded path in init script
2013-04-25 1:05 [PATCH] connman: replace hardcoded path in init script Stefan Stanacar
@ 2013-04-25 13:41 ` Mark Hatle
2013-04-25 18:32 ` Stefan Stanacar
0 siblings, 1 reply; 3+ messages in thread
From: Mark Hatle @ 2013-04-25 13:41 UTC (permalink / raw)
To: openembedded-core
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@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
> }
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] connman: replace hardcoded path in init script
2013-04-25 13:41 ` Mark Hatle
@ 2013-04-25 18:32 ` Stefan Stanacar
0 siblings, 0 replies; 3+ messages in thread
From: Stefan Stanacar @ 2013-04-25 18:32 UTC (permalink / raw)
To: openembedded-core
Mark Hatle <mark.hatle@...> writes:
>
> 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@...>
> > ---
> > 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
> > <at> <at> -47,7 +47,7 <at> <at> 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.)
>
Okay, that makes sense. The only problem is that wired-setup is installed by
connman-conf so libexec won't work. (connman rrecomends connman-conf which
installs wired.config and wired-setup for qemu machines only). And I'm not
sure how to get around that.
Poky commit e93b6376a0cff5321dd7fc13a88c8b06ae8b83c7 moved wired-setup from
/etc/connman to /usr/lib/connman.
I do think that /etc/connman/wired-setup was the better location (or perhaps
connman-conf), given that's only a script sourced in /etc/init.d/connman if
it exists. But I don't know the reasons why it was moved to
/usr/lib/connman.
Any thoughts?
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-04-25 18:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-25 1:05 [PATCH] connman: replace hardcoded path in init script Stefan Stanacar
2013-04-25 13:41 ` Mark Hatle
2013-04-25 18:32 ` Stefan Stanacar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox