Index: trunk/psconfig/cpan.setup.sh
===================================================================
--- trunk/psconfig/cpan.setup.sh	(revision 11730)
+++ trunk/psconfig/cpan.setup.sh	(revision 11730)
@@ -0,0 +1,33 @@
+#!/bin/csh -f 
+
+if ($#argv != 1) then
+  echo "USAGE: cpan.setup.sh (prefix)"
+  exit 2
+endif
+
+set prefix = $1
+set cpan = ~/.cpan/CPAN
+
+echo "WARNING: this operation will over-write your CPAN user settings"
+echo "if you want to continue, enter YES"
+set answer = $<
+if ("$answer" != "YES") then
+  echo "skipping CPAN setup"
+  exit 2
+endif
+
+# define the CPAN install directory
+mkdir -p $cpan
+mkdir -p ~/.cpan/Bundle
+
+# XXX create dummy Config.pm?
+# XXX running cpan on my box wiped out the results below
+# rm -f $cpan/MyConfig.pm
+
+echo '\$CPAN::Config = {' >> $cpan/MyConfig.pm
+echo "  makepl_arg => q[PREFIX=$prefix]," >> $cpan/MyConfig.pm
+echo "  mbuildpl_arg => q[--install_base $prefix]," >> $cpan/MyConfig.pm
+echo "};" >> $cpan/MyConfig.pm
+echo "1;" >> $cpan/MyConfig.pm
+echo "__END__" >> $cpan/MyConfig.pm
+
Index: trunk/psconfig/mkbuild
===================================================================
--- trunk/psconfig/mkbuild	(revision 11730)
+++ trunk/psconfig/mkbuild	(revision 11730)
@@ -0,0 +1,233 @@
+#!/usr/bin/env perl
+
+$tagsets = "tagsets";
+
+$version = "";
+$clean = 0;
+$rebuild = 0;
+$optimize = 0;
+$start = "";
+$stop = "";
+
+@tARGV = ();
+for (; @ARGV > 0; ) {
+    if ($ARGV[0] eq "-version") {
+	$version = $ARGV[1];
+        shift; shift; next;
+    }
+    if ($ARGV[0] eq "-clean") {
+	$clean = 1;
+        shift; next;
+    }
+    if ($ARGV[0] eq "-rebuild") {
+	$rebuild = 1;
+        shift; next;
+    }
+    if ($ARGV[0] eq "-optimize") {
+	$optimize = 1;
+        shift; next;
+    }
+    if ($ARGV[0] eq "-only") {
+	$start = $ARGV[1];
+	$stop = $ARGV[1];
+        shift; shift; next;
+    }
+    if ($ARGV[0] eq "-start") {
+	$stop = $ARGV[1];
+        shift; shift; next;
+    }
+    if ($ARGV[0] eq "-stop") {
+	$stop = $ARGV[1];
+        shift; shift; next;
+    }
+    if ($ARGV[0] eq "-list") {
+	&list_distributions ();
+    }
+    if ($ARGV[0] eq "-h")     { &usage (); }
+    if ($ARGV[0] eq "-help")  { &usage (); }
+    if ($ARGV[0] eq "--help") { &usage (); }
+    @tARGV = (@tARGV, $ARGV[0]);
+    shift;
+}
+@ARGV = @tARGV;
+
+if ( @ARGV != 1) { &usage (); }
+
+$distribution = $ARGV[0];
+&load_distfile ();
+
+&build_distribution ();
+exit 0;
+
+sub build_distribution {
+    
+    # use psconfig.sh to set needed build aliases
+
+    # set the psconfig version:
+    if ("$version" eq "") {
+	$version = $ENV{'PSVERSION'};
+    }
+    if ("$version" eq "") {
+	$version = "default";
+    }
+
+    $path = `csh psconfig.sh --path $version`;
+    $ldpath = `csh psconfig.sh --ldpath $version`;
+    $pkgpath = `csh psconfig.sh --pkgpath $version`;
+    $perlpath = `csh psconfig.sh --perlpath $version`;
+
+    
+
+
+    alias  psconfigure configure --prefix={$PSCONFDIR}/{$PSCONFIG} --bindir=$bindir --libdir=$libdir --includedir={$PSCONFDIR}/{$PSCONFIG}/include --sysconfdir={$PSCONFDIR}/{$PSCONFIG}/etc --datadir={$PSCONFDIR}/share --mandir={$PSCONFDIR}/man
+	alias  psautogen autogen.sh --bindir=$bindir --libdir=$libdir --mandir=$mandir --includedir={$PSCONFDIR}/{$PSCONFIG}/include --sysconfdir={$PSCONFDIR}/{$PSCONFIG}/etc --datadir={$PSCONFDIR}/share
+  alias  psperlbuild perl Build.PL --prefix {$PSCONFDIR}/{$PSCONFIG} --install_path script=$bindir --install_path arch=$bindir --install_path bin=$bindir --install_path lib=$libdir --install_path bindoc={$PSCONFDIR}/man/man1 --install_path libdoc={$PSCONFDIR}/man/man3
+
+    system ("env");
+    exit 1;
+
+    $psopts = "";
+    if ($optimize) { $psopts = "$psopts --enable-optimize"; }
+
+    $homedir = `pwd`; chomp $homedir;
+
+    for ($i = 0; $i < @cvsname; $i++) {
+	if (($start ne "") && ($start ne $cvsname[$i])) { next; }
+	($do_tag, $do_build, $do_package, $do_update) = $mode[$i] =~ m|(\S)(\S)(\S)(\S)|;
+	if ($do_build eq "N") { next; }
+
+	$workdir = "../$cvsname[$i]";
+	chdir $workdir;
+	
+	print "\n ***** building $cvsname[$i] ***** \n";
+
+	# how do we build this component?
+	# - autogen.sh : configure : make : make install
+	# - configure : make : make install
+	# - make : make install
+	# - perl Build.PL : ./Build : ./Build install
+ 
+	if (-e Build.PL) {
+	    print $PERL5LIB;
+
+	    # psperlbuild;
+	    # perl Build.PL --install_path script=$bindir --install_path lib=$libdir --install_path bindoc={$PSCONFDIR}/man/man1 --install_path libdoc={$PSCONFDIR}/man/man3
+	    if ($?) { &failure(); }
+
+	    # ./Build
+	    if ($?) { &failure(); }
+
+	    # ./Build install
+	    if ($?) { &failure(); }
+	    
+	    next;
+	}
+
+	if ($rebuild && $clean) {
+	    if (-e configure) { unlink "Makefile"; }
+	    if (-e configure.ac && -e autogen.sh) { unlink "configure"; }
+	}
+	$rebuild_this = $rebuild;
+
+	# set a local variable for this loop on rebuild;
+	if (! -e Makefile) { $rebuild_this = 1; }
+
+	#  run autogen
+	$skip_configure = 0;
+	if ($rebuild_this && ! -e configure && -e autogen.sh) {
+	    $skip_configure = 1;
+	    print "psautogen $psopts\n";
+	    vsystem ("psautogen $psopts");
+	    if ($?) { &failure(); }
+	}
+
+	if ($rebuild_this && -e configure && !$skip_configure) {
+	    print "psconfigure $psopts\n";
+	    vsystem ("psconfigure $psopts");
+	    if ($?) { &failure(); }
+	}
+
+	if (! -e Makefile) { &failure(); }
+
+	if ($clean) { 
+	    print "make clean\n";
+	    vsystem ("make clean");
+	    if ($?) { &failure(); }
+	}
+
+	vsystem ("make");
+	if ($?) { &failure(); }
+
+	vsystem ("make install");
+	if ($?) { &failure(); }
+
+      success:
+	chdir $homedir;
+	if (($stop ne "") && ($stop eq $cvsname[$i])) { last; }
+    }
+
+    exit 0;
+}
+
+sub vsystem {
+    print STDERR "@_\n";
+    #$status = system ("@_");
+    #$status;
+}
+
+sub list_distributions {
+
+
+    vsystem ("ls $tagsets/*.dst");
+    exit 2;
+}
+
+sub load_distfile {
+    # open and read the distribution file
+    # results go into @cvsname, @branchtag, @branchver, @mode
+    $file = "$tagsets/$ARGV[0].dst";
+    open (FILE, $file) || die "ERROR: can't open distribution file $file\n";
+    @list = <FILE>;
+    close (FILE);
+
+    @mode = ();
+    @cvsname = ();
+    @branchtag = ();
+    @branchver = ();
+
+    foreach $line (@list) {
+	chop $line;
+	if ($line =~ m|^\s*$|) { next; }
+	if ($line =~ m|^\s*\#|) { next; }
+
+	($mode, $cvsname, $branchtag, $branchver) = split (" ", $line);
+	
+	if ($cvsname eq "") { die "missing module name\n"; }
+
+	($do_tag, $do_build, $do_package, $do_update) = $mode =~ m|(\S)(\S)(\S)(\S)|;
+	if (($do_tag ne "Y") && ($do_tag ne "N")) { die "invalid tag option $do_tag\n"; }
+	if (($do_build ne "Y") && ($do_build ne "N")) { die "invalid tag option $do_build\n"; }
+	if (($do_package ne "Y") && ($do_package ne "N")) { die "invalid tag option $do_package\n"; }
+	if (($do_update ne "Y") && ($do_update ne "N")) { die "invalid tag option $do_update\n"; }
+	
+	print "module: $cvsname, branchtag: $branchtag, branchver: $branchver "; 
+	print "tag: $do_tag, build: $do_build, package: $do_package, update: $do_update\n";
+
+	push @mode, $mode;
+	push @cvsname, $cvsname;
+	push @branchtag, $branchtag;
+	push @branchver, $branchver;
+    }
+}
+
+sub usage {
+    print STDERR "USAGE: mkdist -list\n";
+    print STDERR "     : list valid distributions \n\n";
+    print STDERR "USAGE: mkdist (distribution) [-cvs]\n";
+    print STDERR "     : make a distribution tarball\n";
+    print STDERR "     : -cvs  : only check out the cvs tree, don't make a tarball\n\n";
+    print STDERR "USAGE: mkdist -diff (group) (version)\n";
+    print STDERR "     : show the difference between the distribution and current tree\n\n";
+    exit 2;
+}
+
Index: trunk/psconfig/mkdist
===================================================================
--- trunk/psconfig/mkdist	(revision 11652)
+++ trunk/psconfig/mkdist	(revision 11730)
@@ -1,3 +1,5 @@
 #!/usr/bin/env perl
+
+$tagsets = "tagsets";
 
 $cvs  = 0;
@@ -6,5 +8,5 @@
 $deltag = 0;
 $setbranch = 0;
-$list = 0;
+$setdevtag = 0;
 $module = "";
 @tARGV = ();
@@ -22,10 +24,10 @@
         shift; next;
     }
+    if ($ARGV[0] eq "-devtag") {
+	$setdevtag = 1;
+        shift; next;
+    }
     if ($ARGV[0] eq "-deltag") {
 	$deltag = 1;
-        shift; next;
-    }
-    if ($ARGV[0] eq "-list") {
-	$list = 1;
         shift; next;
     }
@@ -39,4 +41,7 @@
         shift; next;
     }
+    if ($ARGV[0] eq "-list") {
+	&list_distributions ();
+    }
     if ($ARGV[0] eq "-h")     { &usage (); }
     if ($ARGV[0] eq "-help")  { &usage (); }
@@ -47,116 +52,30 @@
 @ARGV = @tARGV;
 
-$distdir = "tagsets";
+if ( @ARGV != 1) { &usage (); }
 
-if (!$list && @ARGV != 1) { &usage (); }
-if ( $list && @ARGV != 0) { &usage (); }
-
-$file = "$distdir/$ARGV[0].dst";
-open (FILE, $file) || die "ERROR: can't open distribution file\n";
-@list = <FILE>;
-close (FILE);
-
-$version = $ARGV[0];
-
-@name = ();
-@tag = ();
-@branch = ();
-
-if ($list) { 
-    printf STDERR "Available Distributions\n";
-    printf STDERR "%-16s  %7s\n", "Module", "Version";
-    printf STDERR "-------------------------\n";
-}
-
-foreach $line (@list) {
-    chop $line;
-    if ($line =~ m|^\s*$|) { next; }
-    if ($line =~ m|^\s*\#|) { next; }
-
-    ($name, $branch, $branchver, $mode) = split (":", $line);
-    
-    if ($name eq "") { die "missing module name\n"; }
-    
-    if ($branch eq "") {
-	$branch = "HEAD";
-    } 
-    if ($branch eq "HEAD") {
-	$tag = "HEAD";
-    }
-    if ($branch eq "NONE") { 
-	$tag = "NONE";
-    }
-    if (($tag ne "HEAD") && ($branchver eq "")) {
-	$branchver = "0";
-    }
-    if (($branch ne "HEAD") && ($branch ne NONE)) {
-	$tag = "$branch-$branchver";
-    }
-    if (($branch ne "HEAD") && ($branch ne "NONE") && ($branchver eq "NONE")) {
-	$tag = "$branch";
-    }
-    # print  "module: $name, tag: $tag, branch: $branch\n"; 
-
-    push @name, $name;
-    push @branch, $branch;
-    push @tag, $tag;
-    push @mode, $mode;
-}
-
-if ($list) { exit 0; }
+$distribution = $ARGV[0];
+&load_distfile ();
 
 if ($diff) { &difflist (); }
-
 if ($settag) { &settags (); }
 
-mkdir $version;
-chdir $version;
-for ($i = 0; $i < @name; $i++) {
-    if (($module ne "") && ($module ne $name[$i])) { next; }
-    if ($mode[$i] eq "SKIP") { next; }
-    if ($tag[$i] eq "HEAD") {
-	&vsystem ("cvs co $name[$i]");
-	if ($status) { die "error running cvs"; }
-    } else {
-	&vsystem ("cvs co -r $tag[$i] $name[$i]");
-	if ($status) { die "error running cvs"; }
-    }	
-}
-chdir "..";
-if ($cvs) { exit 0; }
-
-&vsystem ("rm -r `find $version -name CVS`");
-if (! -e tarballs) { mkdir "tarballs"; }
-&vsystem ("tar cvzf tarballs/$version.tgz  $version");
-if ($status) { die "error creating tarball\n"; }
-exit 0;
+&package_distribution ();
 
 sub vsystem {
     print STDERR "@_\n";
-    $status = system ("@_");
-    $status;
-}
-
-sub usage {
-    print STDERR "USAGE: mkdist -list\n";
-    print STDERR "     : list valid distributions \n\n";
-    print STDERR "USAGE: mkdist (group) (version) [-cvs]\n";
-    print STDERR "     : make a distribution tarball\n";
-    print STDERR "     : -cvs  : only check out the cvs tree, don't make a tarball\n\n";
-    print STDERR "USAGE: mkdist -diff (group) (version)\n";
-    print STDERR "     : show the difference between the distribution and current tree\n\n";
-    exit 2;
+    #$status = system ("@_");
+    #$status;
 }
 
 sub difflist {
 
-    for ($i = 0; $i < @name; $i++) {
+    for ($i = 0; $i < @cvsname; $i++) {
 	# the base component cannot be rdiffed
-	print STDERR "--- $name[$i] ---\n";
-	if ($name[$i] eq "base") { next; }
+	print STDERR "--- $cvsname[$i] ---\n";
+	if ($cvsname[$i] eq "base") { next; }
 	if ($tag[$i] eq "") {
-	    &vsystem ("cvs -q rdiff -s -r HEAD $name[$i]");
+	    &vsystem ("cvs -q rdiff -s -r HEAD $cvsname[$i]");
 	} else {
-	    &vsystem ("cvs -q rdiff -s -r $tag[$i] $name[$i]");
+	    &vsystem ("cvs -q rdiff -s -r $tag[$i] $cvsname[$i]");
 	}	
 	print STDERR "\n\n";
@@ -167,25 +86,109 @@
 sub settags {
     print STDERR "setting tags\n";
-    for ($i = 0; $i < @name; $i++) {
-	# can the base component be tagged?
-	if ($name[$i] eq "base") { 
-	    # make this automatic by checking it out and cd'ing there
-	    print STDERR "remember to set the base tag by hand\n";
+    for ($i = 0; $i < @cvsname; $i++) {
+	if (($module ne "") && ($module ne $cvsname[$i])) { next; }
+	($do_tag, $do_build, $do_package, $do_update) = $mode[$i] =~ m|(\S)(\S)(\S)(\S)|;
+	if ($do_tag eq "N") { 
+	    push @remind, $cvsname[$i];
 	    next; 
 	}
-	if ($tag[$i] eq "") { next; }
-	if ($tag[$i] eq "HEAD") { next; }
-	if ($tag[$i] eq "NONE") { next; }
-	if ($mode[$i] eq "EXTERN") { 
-	    print STDERR "remember to set tag for $name[$i]\n";
-	    next; 
+	if ($branchtag[$i] eq "") { die "branch tag missing for $cvsname[$i]\n"; }
+	if ($branchver[$i] eq "") { die "branch tag version missing\n"; }
+	$tag = "$branchtag[$i]$branchver[$i]";
+	if ($setbranch) { 
+	    &vsystem ("cvs -q rtag -b $branchtag[$i] $cvsname[$i]");
+	    next;
+	} 
+	if ($setdevtag) {
+	    &vsystem ("cvs -q rtag $tag $cvsname[$i]");
+	    next;
 	}
-	$flag = "";
-	if ($setbranch) { 
-	    &vsystem ("cvs -q rtag -b $branch[$i] $name[$i]");
-	} else {
-	    &vsystem ("cvs -q rtag -r $branch[$i] $tag[$i] $name[$i]");
-	}
+	&vsystem ("cvs -q rtag -r $branchtag[$i] $tag $cvsname[$i]");
+    }
+    for ($i = 0; $i < @remind; $i++) {
+	print STDERR "remember to set tag for $remind[$i] if needed\n";
     }
     exit 0;
 }
+
+sub package_distribution {
+    # package distribution into a tarball
+    mkdir $distribution;
+    chdir $distribution;
+    for ($i = 0; $i < @cvsname; $i++) {
+	if (($module ne "") && ($module ne $cvsname[$i])) { next; }
+	($do_tag, $do_build, $do_package, $do_update) = $mode[$i] =~ m|(\S)(\S)(\S)(\S)|;
+	if ($do_package eq "N") { next; }
+	if ($tag[$i] eq "HEAD") {
+	    &vsystem ("cvs co $cvsname[$i]");
+	    if ($status) { die "error running cvs"; }
+	} else {
+	    &vsystem ("cvs co -r $tag[$i] $cvsname[$i]");
+	    if ($status) { die "error running cvs"; }
+	}	
+    }
+    chdir "..";
+    if ($cvs) { exit 0; }
+
+    &vsystem ("rm -r `find $distribution -name CVS`");
+    if (! -e tarballs) { mkdir "tarballs"; }
+    &vsystem ("tar cvzf tarballs/$distribution.tgz  $distribution");
+    if ($status) { die "error creating tarball\n"; }
+    exit 0;
+}
+
+sub list_distributions {
+
+    vsystem ("ls $tagsets/*.dst");
+    exit 2;
+}
+
+sub load_distfile {
+    # open and read the distribution file
+    # results go into @cvsname, @branchtag, @branchver, @mode
+    $file = "$tagsets/$ARGV[0].dst";
+    open (FILE, $file) || die "ERROR: can't open distribution file $file\n";
+    @list = <FILE>;
+    close (FILE);
+
+    @mode = ();
+    @cvsname = ();
+    @branchtag = ();
+    @branchver = ();
+
+    foreach $line (@list) {
+	chop $line;
+	if ($line =~ m|^\s*$|) { next; }
+	if ($line =~ m|^\s*\#|) { next; }
+
+	($mode, $cvsname, $branchtag, $branchver) = split (" ", $line);
+	
+	if ($cvsname eq "") { die "missing module name\n"; }
+
+	($do_tag, $do_build, $do_package, $do_update) = $mode =~ m|(\S)(\S)(\S)(\S)|;
+	if (($do_tag ne "Y") && ($do_tag ne "N")) { die "invalid tag option $do_tag\n"; }
+	if (($do_build ne "Y") && ($do_build ne "N")) { die "invalid tag option $do_build\n"; }
+	if (($do_package ne "Y") && ($do_package ne "N")) { die "invalid tag option $do_package\n"; }
+	if (($do_update ne "Y") && ($do_update ne "N")) { die "invalid tag option $do_update\n"; }
+	
+	print "module: $cvsname, branchtag: $branchtag, branchver: $branchver "; 
+	print "tag: $do_tag, build: $do_build, package: $do_package, update: $do_update\n";
+
+	push @mode, $mode;
+	push @cvsname, $cvsname;
+	push @branchtag, $branchtag;
+	push @branchver, $branchver;
+    }
+}
+
+sub usage {
+    print STDERR "USAGE: mkdist -list\n";
+    print STDERR "     : list valid distributions \n\n";
+    print STDERR "USAGE: mkdist (distribution) [-cvs]\n";
+    print STDERR "     : make a distribution tarball\n";
+    print STDERR "     : -cvs  : only check out the cvs tree, don't make a tarball\n\n";
+    print STDERR "USAGE: mkdist -diff (group) (version)\n";
+    print STDERR "     : show the difference between the distribution and current tree\n\n";
+    exit 2;
+}
+
Index: trunk/psconfig/perl.install.sh
===================================================================
--- trunk/psconfig/perl.install.sh	(revision 11730)
+++ trunk/psconfig/perl.install.sh	(revision 11730)
@@ -0,0 +1,11 @@
+#!/bin/csh -f
+
+foreach f (`cat perl.modules.sh`)
+    echo "$f" | grep "^#"
+    if (! $status) continue
+    perl -MCPAN -e "install $f"
+    if ($status) then
+	echo "ERROR: failed to install $f"
+	exit 2;
+    endif
+end
Index: trunk/psconfig/perl.modules.sh
===================================================================
--- trunk/psconfig/perl.modules.sh	(revision 11730)
+++ trunk/psconfig/perl.modules.sh	(revision 11730)
@@ -0,0 +1,58 @@
+#Module::Build
+#ExtUtils::MakeMaker---FAILED
+#Params::Validate
+#DateTime::TimeZone
+#DateTime::Locale
+#DateTime::Local
+#DateTime
+#MIME::Base64
+#IO::Compress::Base
+#Compress::Raw::Zlib
+#Class::Factory::Util
+#DateTime::Format::Strptime
+#Net::Domain::TLD
+#Sub::Uplevel
+#HTML::Tagset
+#Digest
+#IO::Compress::Zlib
+#version
+#Text::Balanced
+#DateTime::Format::Builder
+#ExtUtils::Manifest
+#URI---FAILED
+#Data::Validate::Domain
+#Test::Exception
+#Tree::DAG_Node
+#Array::Compare
+#HTML::Parser
+#Digest::MD5
+#Net::FTP---FAILED
+#Compress::Zlib---FAILED
+#Locale::Maketext::Simple
+#Parse::RecDescent
+#Class::Accessor
+#DateTime::Format::ISO8601
+#CGI
+#Test::Cmd
+#Net::HTTPServer
+#Digest::MD5::File
+#File::Temp
+#Data::Validate::URI
+#Test::Warn
+#YAML
+#LWP---FAILED
+#Module::Load
+#Params::Check
+#Template
+#Statistics::Descriptive
+#Storable---FAILED
+IO::String
+Date::Parse
+Digest::SHA1
+DB_File
+File::NFSLock
+Heap
+Module::Load::Conditional
+IPC::Run
+Cache
+IPC::Cmd
Index: trunk/psconfig/psconfig.sh
===================================================================
--- trunk/psconfig/psconfig.sh	(revision 11652)
+++ trunk/psconfig/psconfig.sh	(revision 11730)
@@ -31,4 +31,10 @@
 
 # list the defined psconfig versions
+if ("$argv[1]" == "--prefix") then
+  echo $PSCONFDIR/$PSVERSION.$ARCH
+  exit 0
+endif
+
+# list the defined psconfig versions
 if ("$argv[1]" == "--libs") then
   echo $PSCONFDIR/$PSVERSION.$ARCH/lib
@@ -40,4 +46,32 @@
   echo $PSCONFDIR/$PSVERSION.$ARCH/bin
   exit 0
+endif
+
+# list the defined psconfig versions
+set show_path = 0
+if ("$argv[1]" == "--path") then
+  set show_path = 1
+  shift
+endif
+
+# list the defined psconfig versions
+set show_ldpath = 0
+if ("$argv[1]" == "--ldpath") then
+  set show_ldpath = 1
+  shift
+endif
+
+# list the defined psconfig versions
+set show_pkgpath = 0
+if ("$argv[1]" == "--pkgpath") then
+  set show_pkgpath = 1
+  shift
+endif
+
+# list the defined psconfig versions
+set show_perlpath = 0
+if ("$argv[1]" == "--perlpath") then
+  set show_perlpath = 1
+  shift
 endif
 
@@ -245,2 +279,27 @@
   alias  psperlbuild perl Build.PL --prefix {$PSCONFDIR}/{$PSCONFIG} --install_path script=$bindir --install_path arch=$bindir --install_path bin=$bindir --install_path lib=$libdir --install_path bindoc={$PSCONFDIR}/man/man1 --install_path libdoc={$PSCONFDIR}/man/man3
 endif
+
+# list the defined psconfig versions
+if ($show_path) then
+  echo $PATH
+  exit 0
+endif
+
+# list the defined psconfig versions
+if ($show_ldpath) then
+  echo $LD_LIBRARY_PATH
+  exit 0
+endif
+
+# list the defined psconfig versions
+if ($show_pkgpath) then
+  echo $PKG_CONFIG_PATH
+  exit 0
+endif
+
+# list the defined psconfig versions
+if ($show_perlpath) then
+  echo $PERL5LIB
+  exit 0
+endif
+
Index: trunk/psconfig/tagsets/ipp-1.0.dst
===================================================================
--- trunk/psconfig/tagsets/ipp-1.0.dst	(revision 11652)
+++ trunk/psconfig/tagsets/ipp-1.0.dst	(revision 11730)
@@ -1,61 +1,53 @@
+# necessary fields:                    
+# |-- tag?
+# ||-- build?
+# |||-- package? 
+# ||||-- update?
+# ||||
+# ||||  CVS module     CVS branch tag   CVS branch version   
+# |||| 
+  NYNY  Ohana
+  NNYN  ohana.base     base-1-5         -0
+  NNYN  libohana       libohana-1-9     -0
+  NNYN  libfits        libfits-1-7      -0
+  NNYN  libautocode    libautocode-1-6  -0
+  NNYN  libdvo         libdvo-1-4       -0
+  NNYN  libkapa        libkapa-1-3      -0
+  NNYN  addstar        addstar-1-8      -0
+  NNYN  delstar        delstar-1-7      -0
+  NNYN  getstar        getstar-1-3      -0
+  NNYN  kapa           kapa-1-7         -0
+  NNYN  kii            kii-1-7          -0
+  NNYN  relphot        relphot-1-5      -0
+  NNYN  uniphot        uniphot-1-5      -0
+  NNYN  opihi.base     opihi-2-9        -0
+  NNYN  mana           mana-1-7         -0
+  NNYN  dvo            dvo-1-0          -0
+  NNYN  pantasks       pantasks-1-0     -0
+  NNYN  pcontrol       pcontrol-1-0     -0
+  NNYN  pclient        pclient-1-0      -0
+  NYYY  psLib          rel-1-0          -0
+  NYYY  psModules      rel-1-0          -0
+  YYYY  psphot         rel-0-8          -0
+  YYYY  psastro        rel-0-8          -0
+  YYYY  ppStats        rel-1-0          -0
+  YYYY  ppImage        rel-1-0          -0
+  YYYY  ppNorm         rel-1-0          -0
+  YYYY  ppMerge        rel-1-0          -0
+  YNYY  pois           rel-0-1          -0
+  YNYY  pswarp         rel-0-1          -0
+  YNYY  ppStac         rel-0-1          -0
+  YYYY  PS-IPP-Metadata-Config rel-1-0  -0
+  YYYY  PS-IPP-Config          rel-1-0  -0
+  YYYY  ippScripts     rel-1-0          -0
+  YYYY  glueforge      rel-1-0          -0
+  YYYY  dbconfig       rel-1-0          -0
+  NYNN  ippdb.src		      
+  YYYY  ippconfig      rel-1-0          -0
+  YYYY  ippTools       rel-1-0          -0
+  YYYY  ippTasks       rel-1-0          -0
+  YYYY  simtest        rel-0-8          -0
+  YNYY  psconfig       rel-1-0          -0
+  YNYY  ippMonitor     rel-1-0          -0
 
-# mode EXTERN means package cannot be tagged / updated in this tree
-# mode SKIP means exclude from the build process
-# model 
-
-ohana.base:base-1-5:0:EXTERN
-
-libohana:libohana-1-9:0:EXTERN
-libfits:libfits-1-7:0:EXTERN
-libautocode:libautocode-1-6:0:EXTERN
-libdvo:libdvo-1-4:0:EXTERN
-libkapa:libkapa-1-3:0:EXTERN
-
-addstar:addstar-1-8:0:EXTERN
-delstar:delstar-1-7:0:EXTERN
-getstar:getstar-1-3:0:EXTERN
-kapa:kapa-1-7:0:EXTERN
-kii:kii-1-7:0:EXTERN
-relphot:relphot-1-5:0:EXTERN
-uniphot:uniphot-1-5:0:EXTERN
-
-opihi.base:opihi-2-9:0:EXTERN
-mana:mana-1-7:0:EXTERN
-dvo:dvo-1-0:0:EXTERN
-pantasks:pantasks-1-0:0:EXTERN
-pcontrol:pcontrol-1-0:0:EXTERN
-pclient:pclient-1-0:0:EXTERN
-
-psLib:rel-1_0_0:NONE:EXTERN
-psModules:rel-1_0_0:NONE:EXTERN
-
-psphot:rel-0-8:0
-psastro:rel-0-8:0
-ppStats:rel-1-0:0
-ppImage:rel-1-0:0
-ppNorm:rel-1-0:0
-ppMerge:rel-1-0:0
-
-pois:rel-0-1:0
-pswarp:rel-0-1:0
-ppStac:rel-0-1:0
-
-# these are the required perl modules from IPP
 # there are externally required perl modules (see README?)
-PS-IPP-Metadata-Config:rel-1-0:0
-PS-IPP-Config:rel-1-0:0
-ippScripts:rel-1-0:0
-
-glueforge:rel-1:0
-dbconfig:rel-1-0:0
-
-ippdb.src:NONE:0:SKIP
-
-ippconfig:rel-1-0:0
-ippTools:rel-1-0:0
-ippTasks:rel-1-0:0
-simtest:rel-0-8:0
-
-psconfig:rel-1-0:0
-ippMonitor:rel-1-0:0
-
