Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Saul Wold <sgw@linux.intel.com>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] netbase: merge init script updates from upstream
Date: Thu, 24 May 2012 10:55:39 -0700	[thread overview]
Message-ID: <4FBE761B.50209@linux.intel.com> (raw)
In-Reply-To: <1337618347-30900-1-git-send-email-obi@opendreambox.org>

On 05/21/2012 09:39 AM, Andreas Oberritter wrote:
> * Read /proc/mounts only once.
> * Support many more network filesystem types.
> * Remaining differences to netbase 4.47:
>    - Uses the mountvirtfs keyword instead of mountkernfs
>    - Doesn't use lsb functions
>    - Doesn't print a warning if /etc/network/options exists
>    - Doesn't use --exclude parameter for ifup, because
>      busybox doesn't support it.
>
> Signed-off-by: Andreas Oberritter<obi@opendreambox.org>
> ---
>   meta/recipes-core/netbase/netbase-4.47/init |  101 ++++++++++++++++++---------
>   meta/recipes-core/netbase/netbase_4.47.bb   |    2 +-
>   2 files changed, 70 insertions(+), 33 deletions(-)
>
> diff --git a/meta/recipes-core/netbase/netbase-4.47/init b/meta/recipes-core/netbase/netbase-4.47/init
> index 8a67e1c..bace9df 100644
> --- a/meta/recipes-core/netbase/netbase-4.47/init
> +++ b/meta/recipes-core/netbase/netbase-4.47/init
> @@ -1,52 +1,89 @@
> -#!/bin/sh
> -#
> +#!/bin/sh -e
>   ### BEGIN INIT INFO
>   # Provides:          networking
> -# Required-Start:    $local_fs mountvirtfs
> +# Required-Start:    mountvirtfs $local_fs
>   # Required-Stop:     $local_fs
> +# Should-Start:      ifupdown
> +# Should-Stop:       ifupdown
>   # Default-Start:     S
>   # Default-Stop:      0 6
> -# Short-Description: Raise network interfaces and configure them
> +# Short-Description: Raise network interfaces.
>   ### END INIT INFO
>
> -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
> +PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
>
> -if ! [ -x /sbin/ifup ]; then
> -    exit 0
> -fi
> +[ -x /sbin/ifup ] || exit 0
> +
> +check_network_file_systems() {
> +    [ -e /proc/mounts ] || return 0
> +
> +    if [ -e /etc/iscsi/iscsi.initramfs ]; then
> +	echo "not deconfiguring network interfaces: iSCSI root is mounted."
> +	exit 0
> +    fi
> +
> +    exec 9<&0<  /proc/mounts
> +    while read DEV MTPT FSTYPE REST; do
> +	case $DEV in
> +	/dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
> +	    echo "not deconfiguring network interfaces: network devices still mounted."
> +	    exit 0
> +	    ;;
> +	esac
> +	case $FSTYPE in
> +	nfs|nfs4|smbfs|ncp|ncpfs|cifs|coda|ocfs2|gfs|pvfs|pvfs2|fuse.httpfs|fuse.curlftpfs)
> +	    echo "not deconfiguring network interfaces: network file systems still mounted."
> +	    exit 0
> +	    ;;
> +	esac
> +    done
> +    exec 0<&9 9<&-
> +}
> +
> +check_network_swap() {
> +    [ -e /proc/swaps ] || return 0
> +
> +    exec 9<&0<  /proc/swaps
> +    while read DEV MTPT FSTYPE REST; do
> +	case $DEV in
> +	/dev/nbd*|/dev/nd[a-z]*|/dev/etherd/e*)
> +	    echo "not deconfiguring network interfaces: network swap still mounted."
> +	    exit 0
> +	    ;;
> +	esac
> +    done
> +    exec 0<&9 9<&-
> +}
>
>   case "$1" in
> -    start)
> -        echo -n "Configuring network interfaces... "
> -        ifup -a
> +start)
> +	echo -n "Configuring network interfaces... "
> +	ifup -a
>   	echo "done."
>   	;;
> -    stop)
> -        if sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
> -          grep -q "^/ nfs$"; then
> -            echo "NOT deconfiguring network interfaces: / is an NFS mount"
> -        elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts |
> -          grep -q "^/ smbfs$"; then
> -            echo "NOT deconfiguring network interfaces: / is an SMB mount"
> -	elif sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\2/p' /proc/mounts |
> -          grep -qE '^(nfs|smbfs|ncp|coda)$'; then
> -            echo "NOT deconfiguring network interfaces: network shares still mounted."
> -        else
> -            echo -n "Deconfiguring network interfaces... "
> -            ifdown -a
> -	    echo "done."
> -        fi
> +
> +stop)
> +	check_network_file_systems
> +	check_network_swap
> +
> +	echo -n "Deconfiguring network interfaces... "
> +	ifdown -a
> +	echo "done."
>   	;;
> -    force-reload|restart)
> -        echo -n "Reconfiguring network interfaces... "
> -        ifdown -a
> -        ifup -a
> +
> +force-reload|restart)
> +	echo "Running $0 $1 is deprecated because it may not enable again some interfaces"
> +	echo "Reconfiguring network interfaces... "
> +	ifdown -a || true
> +	ifup -a
>   	echo "done."
>   	;;
> -    *)
> -	echo "Usage: /etc/init.d/networking {start|stop|restart|force-reload}"
> +
> +*)
> +	echo "Usage: /etc/init.d/networking {start|stop}"
>   	exit 1
>   	;;
>   esac
>
>   exit 0
> +
> diff --git a/meta/recipes-core/netbase/netbase_4.47.bb b/meta/recipes-core/netbase/netbase_4.47.bb
> index a1462f8..f84e9a4 100644
> --- a/meta/recipes-core/netbase/netbase_4.47.bb
> +++ b/meta/recipes-core/netbase/netbase_4.47.bb
> @@ -4,7 +4,7 @@ HOMEPAGE = "http://packages.debian.org/netbase"
>   SECTION = "base"
>   LICENSE = "GPLv2"
>   LIC_FILES_CHKSUM = "file://debian/copyright;md5=3dd6192d306f582dee7687da3d8748ab"
> -PR = "r1"
> +PR = "r2"
>
>   inherit update-rc.d
>

Merged into OE-Core

Thanks
	Sau!



      reply	other threads:[~2012-05-24 18:05 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-21 16:39 [PATCH] netbase: merge init script updates from upstream Andreas Oberritter
2012-05-24 17:55 ` Saul Wold [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FBE761B.50209@linux.intel.com \
    --to=sgw@linux.intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox