138494Sobrien#!@PERL@
238494Sobrien# convert amd maps to Sun automount maps
338494Sobrien# usage: amd2sun file
438494Sobrien#
5174294Sobrien# Package:	am-utils-6.x
638494Sobrien# Author:	"Mark D. Baushke" <mdb@cisco.com>
738494Sobrien
838494Sobrienprint "# file created by amd2sun
938494Sobrien#
1038494Sobrien# DO NOT EDIT THIS FILE AT ALL
1138494Sobrien# It is automatically generated from the amd mount map - edit that instead
1238494Sobrien#
1338494Sobrien";
1438494Sobrienwhile (<>) {
1538494Sobrien  print, next if /^#/;
1638494Sobrien  chop;
1738494Sobrien  $line = $_;
1838494Sobrien  while ($line =~ /\\$/) {
1938494Sobrien    chop $line;
2038494Sobrien    $line2 = <>;
2138494Sobrien    $line2 =~ s/^\s*//;
2238494Sobrien    $line .= $line2;
2338494Sobrien    chop $line;
2438494Sobrien  }
2538494Sobrien
2638494Sobrien  next unless $line =~ /^([^\s]+)\s+(.*)$/;
2738494Sobrien
2838494Sobrien  $fs = $1; $rest=$2;
2938494Sobrien
3038494Sobrien  if ($fs =~ /^\/defaults/) {
3138494Sobrien    ($defopts = $rest) =~ s/^.*[\s;]opts:=([^;\s]+)[;\s]*.*$/\1/;
3238494Sobrien    next;
3338494Sobrien  }
3438494Sobrien
3538494Sobrien  $opts=$defopts;
3638494Sobrien
3738494Sobrien  if ($rest =~ /opts:=([^;\s]+)[;\s]/) {
3838494Sobrien    $opts = $1;
3938494Sobrien  }
4038494Sobrien
4138494Sobrien  $opts =~ s/,ping=[-\d]+//g;
4238494Sobrien
4338494Sobrien  ($rhost = $rest) =~ s/^.*[\s;]rhost:=([^;\s]+)[;\s]*.*$/\1/;
4438494Sobrien  ($rfs   = $rest) =~ s/^.*[\s;]rfs:=([^;\s]+)[;\s]*.*$/\1/;
4538494Sobrien
4638494Sobrien  if ($rest =~ /sublink:=([^;\s]+)[;\s]/ ) {
4738494Sobrien    $rfs .= "/$1";
4838494Sobrien  }
4938494Sobrien
5038494Sobrien  print "$fs	-$opts	$rhost:$rfs\n";
5138494Sobrien}
52