summaryrefslogtreecommitdiff
path: root/scripts/automount2amd.in
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/automount2amd.in')
-rwxr-xr-xscripts/automount2amd.in72
1 files changed, 72 insertions, 0 deletions
diff --git a/scripts/automount2amd.in b/scripts/automount2amd.in
new file mode 100755
index 000000000000..79a7b770d556
--- /dev/null
+++ b/scripts/automount2amd.in
@@ -0,0 +1,72 @@
+#!@PERL@ -w
+#
+# Convert Sun automount map format to amd format
+#
+# Package: am-utils-6.x
+# Author: Mike Walker <mike@tab00.larc.nasa.gov>
+# Erez Zadok <ezk@cs.columbia.edu>
+#
+# This program expects maps with the format
+#
+# dir [ -options ] machine:/path [ # optional comment ]
+# ...
+#
+# and generates an equivalent amd map as follows:
+#
+# # generated by automountamd on Fri May 21 9:16:56 1993
+#
+# /defaults \
+# type:=nfs;opts:=rw,grpid,nosuid,utimeout=600
+#
+# dir \
+# hostd==machine.larc.nasa.gov;type:=link;fs:=/path || \
+# domain==larc.nasa.gov;rhost:=machine;rfs:=/path || \
+# rhost:=machine.larc.nasa.gov;rfs:=/path
+# ...
+#
+# You should set the DOMAIN and DEFAULT variables to your preferences.
+#
+# $Id: automount2amd.in,v 1.2 2002/01/15 18:25:25 ezk Exp $
+#
+
+require "ctime.pl";
+
+# amd domain name (doesn't have to be the DNS domain; isn't overloading great!)
+# Should be what you will pass to amd via the -d command-line switch, if any.
+$DOMAIN='';
+
+# amd default settings; consult the docs for what you can/should do here.
+# Note, in particular, that if your disk mount points follow a common scheme
+# you can specify ``rfs:=/common/path/${key}'' and not have to insert that
+# line (twice) in every entry below!
+$DEFAULTS='type:=nfs;opts:=rw,grpid,nosuid,utimeout=600';
+
+
+# print comment header and default string
+printf "# generated by automount2amd on %s\n", &ctime(time);
+printf "/defaults \\\n %s\n\n", $DEFAULTS;
+
+# loop through map
+while (<>) {
+ if (m,^(\w\S*)(\s+\-\w\S*\s+|\s+)(\w[^:]*):(\/\S*)\s*(.*),) {
+ ($dir, $options, $machine, $path, $rest) = ($1, $2, $3, $4, $5);
+ print "#$rest\n" if ($rest =~ m/\w/);
+ print "$dir \\\n";
+ if ($options =~ m/-/) {
+ $options =~ s/\s//g;
+ $options =~ s/^-//g;
+ printf( " -addopts:=$options \\\n");
+ }
+ if (defined($DOMAIN) && $DOMAIN ne "") {
+ printf(" hostd==%s.%s;type:=link;fs:=%s || \\\n",
+ $machine, $DOMAIN, $path);
+ printf(" domain==%s;rhost:=%s;rfs:=%s || \\\n",
+ $DOMAIN, $machine, $path);
+ printf " rhost:=%s.%s;rfs:=%s\n\n", $machine, $DOMAIN, $path;
+ } else {
+ printf(" host==%s;type:=link;fs:=%s \\\n",
+ $machine, $path);
+ printf " rhost:=%s;rfs:=%s\n\n", $machine, $path;
+ }
+ }
+}