#! /usr/bin/perl

$opt_n=50;
$opt_l=3;
$opt_basedn="dc=farmnet,dc=nikhef,dc=nl";
#$opt_nfs="hooimijt:/export/cache/edgdevtb/poolaccounts";

@optdef=qw( v pgb|poolgroupbase=s n:i basedn l:i b|gidbase:i );

use Getopt::Long;
$Getopt::Long::ignorecase=0;
&GetOptions(@optdef);

$opt_pgb or die "No poolgroup basename specified\n";
length($opt_pgb)>5 and die "poolgroup basename too long\n";
$opt_b or die "No start of GID numbering specified\n";

$opt_v and print "Generating $opt_n poolgroups of basename $opt_pgb\n";
$opt_v and print "in DIT position $opt_basedn\n";

$fmtstring='%s%0'.$opt_l.'d';

for($i=1;$i<=$opt_n;$i++) {
  $gname=sprintf($fmtstring,$opt_pgb,$i);
  $n=$i+$opt_b;

  print "dn: cn=$gname, ou=PoolGroups, $opt_basedn\n";
  print "objectclass: top\n";
  print "objectclass: posixGroup\n";
  print "cn: $gname\n";
  print "gidNumber: $n\n";
  print "description: poolgroup $n of $opt_pgb\n";
  print "\n";
}

