[OE-core] [PATCH] netbase: merge init script updates from upstream
Saul Wold
sgw at linux.intel.com
Thu May 24 17:55:39 UTC 2012
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 at 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!
More information about the Openembedded-core
mailing list