From 36781c02bc8ecb66c13a9641c94b579b5ee8b348 Mon Sep 17 00:00:00 2001 From: Stephan Raue Date: Sat, 17 Aug 2013 22:04:36 +0200 Subject: [PATCH] connman: rework systemd service files, connman-vpn will be started byself, set loopback device early, create default config on first startup if not exist Signed-off-by: Stephan Raue --- packages/network/connman/package.mk | 7 ++++--- .../21-connman.conf => scripts/connman-setup} | 20 +++++-------------- .../connman/system.d/connman-vpn.service | 3 +-- .../network/connman/system.d/connman.service | 1 + .../network/connman/system.d/loopback.service | 12 +++++++++++ 5 files changed, 23 insertions(+), 20 deletions(-) rename packages/network/connman/{profile.d/21-connman.conf => scripts/connman-setup} (68%) mode change 100644 => 100755 create mode 100644 packages/network/connman/system.d/loopback.service diff --git a/packages/network/connman/package.mk b/packages/network/connman/package.mk index 1c82fdb1cb..35df99019d 100644 --- a/packages/network/connman/package.mk +++ b/packages/network/connman/package.mk @@ -94,6 +94,9 @@ post_makeinstall_target() { cp -P client/connmanctl $INSTALL/usr/bin cp -P $PKG_DIR/scripts/cm-online $INSTALL/usr/bin + mkdir -p $INSTALL/usr/lib/connman + cp -P $PKG_DIR/scripts/connman-setup $INSTALL/usr/lib/connman + mkdir -p $INSTALL/etc ln -sf /var/cache/resolv.conf $INSTALL/etc/resolv.conf @@ -120,8 +123,6 @@ post_install() { post_install() { enable_service hostname.service + enable_service loopback.service enable_service connman.service - if [ "$PPTP_SUPPORT" = yes -o "$OPENVPN_SUPPORT" = yes ]; then - enable_service connman-vpn.service - fi } diff --git a/packages/network/connman/profile.d/21-connman.conf b/packages/network/connman/scripts/connman-setup old mode 100644 new mode 100755 similarity index 68% rename from packages/network/connman/profile.d/21-connman.conf rename to packages/network/connman/scripts/connman-setup index 78ec568298..7a738d81d3 --- a/packages/network/connman/profile.d/21-connman.conf +++ b/packages/network/connman/scripts/connman-setup @@ -1,3 +1,4 @@ +#!/bin/sh ################################################################################ # This file is part of OpenELEC - http://www.openelec.tv # Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) @@ -18,19 +19,8 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -wait_for_inet_addr () { - if [ -f $CONFIG_CACHE/openelec/network_wait ]; then - . $CONFIG_CACHE/openelec/network_wait +# creating initial settings file + if [ ! -f /storage/.cache/connman/settings ]; then + mkdir -p /storage/.cache/connman + cp /usr/share/connman/settings /storage/.cache/connman fi - - if [ "$WAIT_NETWORK" = "true" -o "$1" == "force" ] ; then - progress "Wait for network" - [ -z "$WAIT_NETWORK_TIME" ] && WAIT_NETWORK_TIME=10 - LOOP_COUNT=$((WAIT_NETWORK_TIME * 5)) - for i in $(seq 1 $LOOP_COUNT) ; do - cnt=$(ifconfig | sed -e '/inet addr:/!d' -e '/127.0.0.1/d' |wc -l) - [ $cnt -gt 0 ] && break - usleep 200000 - done - fi -} diff --git a/packages/network/connman/system.d/connman-vpn.service b/packages/network/connman/system.d/connman-vpn.service index 20c969d663..f80ad36473 100644 --- a/packages/network/connman/system.d/connman-vpn.service +++ b/packages/network/connman/system.d/connman-vpn.service @@ -1,7 +1,6 @@ [Unit] Description=ConnMan VPN service -Before=network.target -Wants=network.target +After=syslog.target [Service] Type=dbus diff --git a/packages/network/connman/system.d/connman.service b/packages/network/connman/system.d/connman.service index 1f040438ed..ffc253e6cd 100644 --- a/packages/network/connman/system.d/connman.service +++ b/packages/network/connman/system.d/connman.service @@ -7,6 +7,7 @@ Wants=network.target Type=dbus BusName=net.connman Restart=on-failure +ExecStartPre=/usr/lib/connman/connman-setup ExecStart=/usr/sbin/connmand -n StandardOutput=null diff --git a/packages/network/connman/system.d/loopback.service b/packages/network/connman/system.d/loopback.service new file mode 100644 index 0000000000..8916413fe7 --- /dev/null +++ b/packages/network/connman/system.d/loopback.service @@ -0,0 +1,12 @@ +[Unit] +Description=Setup Loopback interface +DefaultDependencies=no + +[Service] +Type=oneshot +ExecStartPre=/sbin/ifconfig lo 127.0.0.1 netmask 255.0.0.0 +ExecStart=/sbin/ifconfig lo up +RemainAfterExit=yes + +[Install] +WantedBy=sysinit.target