
Create Debian package for filesystem-scripts Test: PASS: built image successfully PASS: Installed image successfully (with filesystem-scripts) PASS: uexportfs loaded/active PASS: build updated latest image (fresh env) PASS: bootstrap successfully PASS: system unlocked and checked sm-dump output Story: 2009256 Task: 45000 Signed-off-by: aoliveir <adriano.oliveira@windriver.com> Change-Id: If8e41498666b9c015de3ff44cca5186d087ec880
82 lines
1.7 KiB
Bash
82 lines
1.7 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Copyright (c) 2015 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
#
|
|
# This utility is a wrapper around mount, to provide a single script
|
|
# with preferred options for NFS mounting. It takes exactly two arguments:
|
|
# - network source path
|
|
# - local destination path
|
|
#
|
|
|
|
function show_help()
|
|
{
|
|
cat >&2 << EOF
|
|
$(basename $0):
|
|
Wrapper around "mount" to provide a set of default options for NFS mounts.
|
|
This utility takes exactly two arguments:
|
|
- network source path
|
|
- local destination path
|
|
|
|
EOF
|
|
exit 1
|
|
}
|
|
|
|
function get_proto()
|
|
{
|
|
local host=$1
|
|
|
|
# Check /etc/hosts for the hostname
|
|
local ipaddr=$(cat /etc/hosts | awk -v host=$host '$2 == host {print $1}')
|
|
if [[ "$ipaddr" =~ ^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$ ]]
|
|
then
|
|
echo "udp"
|
|
return
|
|
fi
|
|
if [[ "$ipaddr" =~ ^[0-9a-z]*\:[0-9a-z\:]*$ ]]
|
|
then
|
|
echo "udp6"
|
|
return
|
|
fi
|
|
# Try the DNS query
|
|
ipaddr=$(dig +short ANY $host)
|
|
if [[ "$ipaddr" =~ ^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$ ]]
|
|
then
|
|
echo "udp"
|
|
return
|
|
fi
|
|
if [[ "$ipaddr" =~ ^[0-9a-z]*\:[0-9a-z\:]*$ ]]
|
|
then
|
|
echo "udp6"
|
|
return
|
|
fi
|
|
|
|
# Use default of udp to avoid invalid option
|
|
echo "udp"
|
|
return
|
|
}
|
|
|
|
|
|
if [[ ${BASH_ARGC[0]} != 2 ]]
|
|
then
|
|
show_help
|
|
fi
|
|
|
|
if mountpoint -q $2
|
|
then
|
|
echo "$2 is already mounted. Not mounting."
|
|
exit
|
|
fi
|
|
|
|
HOST=`echo $1|awk -F ':' '{print $1}'`
|
|
declare proto=`get_proto $HOST`
|
|
declare -i timeo=30
|
|
declare -i rw_size=1024
|
|
declare DEFAULT_OPTS="timeo=$timeo,proto=$proto,vers=3,rsize=$rw_size,wsize=$rw_size"
|
|
|
|
exec mount -t nfs -o $DEFAULT_OPTS $1 $2
|
|
|