#!/usr/bin/perl

while(<>) {
	chomp;
	next if(/^\s*#/);
	next unless(/^(\S+)\s+\S+\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)/);
	$server = "";
	$gid = "";
	$rpcvers = "";
	$instances = "";
	$name = $1;
	$proto = $2;
	$wait = $3;
	$uid = $4;
	$exec = $5;
	next if($exec eq "internal");
	if($proto =~ /^rpc\/(.+)$/) {
		$proto = $1;
		if($name =~ /^(.+)\/(.+)$/) {
			$name = $1;
			$rpcvers = $2;
		}
	}
	if($uid =~ /^(.+)\.(.+)$/) {
		$uid = $1;
		$gid = $2;
	}
	if($exec =~ /^(\S+)\s+(.+)$/) {
		if($1 ne $2) {
			$exec = $2;
			$server = $1;
		}
	}
	if($wait =~ /^wait$/) {
		$instances = 1;
	} elsif($wait =~ /^nowait\.(\d+)$/) {
		$instances = $1;
	}
	print <<EOF;
service "$name" {
    protocol $proto;
    port "$name";
    user "$uid";
    exec "$exec";
EOF
	print "    group \"$gid\";\n" if($gid);
	print "    server \"$server\";\n" if($server);
	print "    instances $instances;\n" if($instances);
	print "    rpc {\n        version $rpcvers;\n    }\n" if($rpcvers);
	print "}\n\n";
}
