summaryrefslogtreecommitdiff
blob: 70e7f1164964d8d381e7d07b078c1713ddafd7c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
# $Id: auto.net,v 1.4 2006/05/30 15:00:50 antarus Exp $

# This file must be executable to work! chmod 755!

# Look at what a host is exporting to determine what we can mount.
# This is very simple, but it appears to work surprisingly well

key="$1"

# add "nosymlink" here if you want to suppress symlinking local filesystems
# add "nonstrict" to make it OK for some filesystems to not mount
opts="-fstype=nfs,hard,intr,nodev,nosuid,nonstrict"

# Showmount comes in a number of names and varieties.  "showmount" is
# typically an older version which accepts the '--no-headers' flag
# but ignores it.  "kshowmount" is the newer version installed with knfsd,
# which both accepts and acts on the '--no-headers' flag.
#SHOWMOUNT="kshowmount --no-headers -e $key"
#SHOWMOUNT="showmount -e $key | tail -n +2"

# Newer distributions get this right
SHOWMOUNT="/usr/sbin/showmount --no-headers -e $key"

$SHOWMOUNT | LC_ALL=C sort -k 1 | \
	awk -v key="$key" -v opts="$opts" -- '
	BEGIN		{ ORS=""; first=1 }
			{ if (first) { print opts; first=0 }; print " \\\n\t" $1, key ":" $1 }
	END		{ if (!first) print "\n"; else exit 1 }
	'