Index: /trunk/psconfig/ckperlmods
===================================================================
--- /trunk/psconfig/ckperlmods	(revision 11939)
+++ /trunk/psconfig/ckperlmods	(revision 11940)
@@ -1,6 +1,27 @@
 #!/usr/bin/env perl
 
+$version = "";
+$check = 0;
+@tARGV = ();
+for (; @ARGV > 0; ) {
+    if ($ARGV[0] eq "-version") {
+	$version = $ARGV[1];
+        shift; shift; next;
+    }
+    if ($ARGV[0] eq "-check") {
+	$check = 1;
+        shift; next;
+    }
+    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 != 0) { &usage (); }
+
+# load the perl module list
 $file = "tagsets/ipp-extperl.dst";
-
 open (FILE, $file) || die "ERROR: can't open perl module list: $file\n";
 @list = <FILE>;
@@ -15,7 +36,11 @@
 }
 
-$prefix = `csh psconfig.sh --prefix $version`;
-$perl5lib = `csh psconfig.sh --perl5lib $version`;
-$homedir = `pwd`;
+print "version: $version\n";
+
+$prefix = `csh -f psconfig.sh --prefix $version`; chomp $prefix;
+$perl5lib = `csh -f psconfig.sh --perl5lib $version`; chomp $perl5lib;
+$homedir = `pwd`; chomp $homedir;
+
+print "prefix: $prefix\n";
 
 foreach $line (@list) {
@@ -24,5 +49,5 @@
     if ($line =~ m|^\s*\#|) { next; }
 
-    ($N, $module, $tarball) = split (" ", $line);
+    ($N, $module, $tarball, $prompts) = split (" ", $line);
     
     if (eval "use $module; 1") { 
@@ -31,10 +56,12 @@
     }
 
-    # print "$module: missing\n";
+    print "$module: missing\n";
+    if ($check) { next; }
+
     # try to build the module from ../../extperl/Module.*.tar.gz
     chdir "../../extperl";
 
     print "extract $module from $tarball\n";
-    system ("tar xvzf $tarball");
+    vsystem ("tar xvzf $tarball");
     
     ($tardir) = $tarball =~ m|(\S*).tar.gz|;
@@ -42,11 +69,31 @@
 
     chdir $tardir;
-    # system ("perl Makefile.PL LIB=$perl5lib");
-    system ("perl Makefile.PL PREFIX=$prefix");
-    system ("make");
-    system ("make install");
 
-    # system ("ls $tarball");
+    # vsystem ("perl Makefile.PL LIB=$perl5lib");
+    if ($prompts) {
+	@answers = split (",", $prompts);
+	open (PIPE, "|perl Makefile.PL PREFIX=$prefix LIB=$perl5lib");
+	foreach $answer (@answers) {
+	    print PIPE "$answer\n";
+	}
+	close (PIPE);
+    } else {
+	vsystem ("perl Makefile.PL PREFIX=$prefix LIB=$perl5lib");
+    }
+    
+    vsystem ("make < /dev/null");
+    vsystem ("make install");
 
     chdir $homedir;
 }
+
+sub usage {
+    print STDERR "USAGE: ckperlmods [-version] [-check]\n";
+    exit 2;
+}
+
+sub vsystem {
+    print STDERR "@_\n";
+    $status = system ("@_");
+    $status;
+}
Index: /trunk/psconfig/getperlmods
===================================================================
--- /trunk/psconfig/getperlmods	(revision 11940)
+++ /trunk/psconfig/getperlmods	(revision 11940)
@@ -0,0 +1,12 @@
+#!/bin/csh -f
+
+grep use `find .. -name "*.pm"` |\
+     sed "s|::|@@|g" |\
+     awk -F: '{print $2}' |\
+     sed "s|@@|::|g" |\
+     awk -F\; '{print $1}' |\
+     grep -v "\#" |\
+     sed "s|qw(|@|" |\
+     awk -F@ '{print $1}' |\
+     sort | uniq |\
+     grep "^use" > perl.modules.list
Index: /trunk/psconfig/notes.txt
===================================================================
--- /trunk/psconfig/notes.txt	(revision 11940)
+++ /trunk/psconfig/notes.txt	(revision 11940)
@@ -0,0 +1,8 @@
+
+YAML : asks for installation confirmation.  
+
+  should be safe for local installs.  if you use something dependent
+  on YAML 0.50 then you should remove the path from the PERL5LIB
+
+Template : asks about XS and additional files.  we can skip both of these
+
Index: /trunk/psconfig/psconfig.sh
===================================================================
--- /trunk/psconfig/psconfig.sh	(revision 11939)
+++ /trunk/psconfig/psconfig.sh	(revision 11940)
@@ -7,4 +7,7 @@
 set show_perlbuild = 0
 set show_perl5lib = 0
+set show_prefix = 0
+set show_libs = 0
+set show_bin = 0
 set args = ""
 while ($#argv) 
@@ -12,40 +15,27 @@
     case --help:
       goto help;
-
     case --list:
       /bin/ls $PSCONFDIR | grep -v "\<man\>" | grep -v "\<share\>" | awk -v dir=$PSCONFDIR -F. '{printf "%s : %-10s : %s\n", dir, $1, $2}'
       exit 0
+    case --prefix:
+      set show_prefix = 1
       breaksw
-
-    case --prefix:
-      echo $PSCONFDIR/$PSVERSION.$ARCH
-      exit 0
+    case --libs:
+      set show_libs = 1
       breaksw
-
-    case --libs:
-      echo $PSCONFDIR/$PSVERSION.$ARCH/lib
-      exit 0
+    case --bin
+      set show_bin = 1
       breaksw
-
-    case --bin
-      echo $PSCONFDIR/$PSVERSION.$ARCH/bin
-      exit 0
-      breaksw
-
     case --psconfigure:
       set show_configure = 1
-      shift
       breaksw;   
     case --psautogen:
       set show_autogen = 1
-      shift
       breaksw;
     case --psperlbuild:
       set show_perlbuild = 1
-      shift
       breaksw;
     case --perl5lib:
       set show_perl5lib = 1
-      shift
       breaksw;
     case -*:
@@ -54,7 +44,7 @@
     default:
       set args=($args $1);
-      shift
       breaksw;
   endsw
+  shift
 end
 if ($#args != 1) goto usage
@@ -204,7 +194,10 @@
 endif 
 
+# Build wants to put things in prefix/*, MakeMaker wants to put them in prefix/perl5/*
 set plibdir  = {$PSCONFDIR}/{$PSCONFIG}/lib
+# set plib5dir = {$PSCONFDIR}/{$PSCONFIG}/lib/perl5
 set newpath = ""
 set pathlist = `echo $PERL5LIB | tr ':' '\n'`
+# build newpath with contents of PERL5LIB excluding PSCONFDIR entries
 foreach name ($pathlist)
   echo $name | grep $PSCONFDIR > /dev/null
@@ -225,6 +218,8 @@
   if ("$newpath" == "") then
     setenv PERL5LIB {$plibdir}:
+    # setenv PERL5LIB {$plibdir}:{$plib5dir}:
   else
     setenv PERL5LIB {$plibdir}:{$newpath}
+    # setenv PERL5LIB {$plibdir}:{$plib5dir}:{$newpath}
   endif 
 endif 
@@ -263,4 +258,18 @@
   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
+endif
+
+# list selected environment variables
+if ($show_prefix) then
+  echo $PSCONFDIR/$PSVERSION.$ARCH
+  exit 0
+endif
+if ($show_libs) then
+  echo $PSCONFDIR/$PSVERSION.$ARCH/lib
+  exit 0
+endif
+if ($show_bin) then
+  echo $PSCONFDIR/$PSVERSION.$ARCH/bin
+  exit 0
 endif
 
Index: /trunk/psconfig/tagsets/ipp-extperl.dst
===================================================================
--- /trunk/psconfig/tagsets/ipp-extperl.dst	(revision 11939)
+++ /trunk/psconfig/tagsets/ipp-extperl.dst	(revision 11940)
@@ -5,5 +5,5 @@
   03    DateTime::TimeZone             DateTime-TimeZone-0.59.tar.gz             
   04    DateTime::Locale               DateTime-Locale-0.33.tar.gz               
-#   05    DateTime::Local                Time-Local-1.17.tar.gz                    
+  05    Time::Local                    Time-Local-1.17.tar.gz                    
   06    DateTime                       DateTime-0.36.tar.gz                      
   07    MIME::Base64                   MIME-Base64-3.07.tar.gz                   
@@ -16,5 +16,5 @@
   14    HTML::Tagset                   HTML-Tagset-3.10.tar.gz                   
   15    Digest                         Digest-1.15.tar.gz                        
-  16    IO::Compress::Zlib             IO-Compress-Zlib-2.003.tar.gz             
+  16    IO::Compress::Zlib::Extra      IO-Compress-Zlib-2.003.tar.gz             
   17    version                                                                  
   18    Text::Balanced                 Text-Balanced-v2.0.0.tar.gz               
@@ -37,13 +37,13 @@
   35    Test::Cmd                      Test-Cmd-1.05.tar.gz                      
   36    Net::HTTPServer                Net-HTTPServer-1.1.1.tar.gz               
+  42    LWP                            libwww-perl-5.805.tar.gz             
   37    Digest::MD5::File              Digest-MD5-File-0.05.tar.gz               
   38    File::Temp                     File-Temp-0.18.tar.gz                     
   39    Data::Validate::URI            Data-Validate-URI-0.01.tar.gz             
   40    Test::Warn                     Test-Warn-0.08.tar.gz                     
-  41    YAML                           YAML-0.62.tar.gz                          
-  42    LWP                            libwww-perl-5.805.tar.gz             
+  41    YAML                           YAML-0.62.tar.gz                          y
   43    Module::Load                   Module-Load-0.10.tar.gz                   
   44    Params::Check                  Params-Check-0.25.tar.gz                  
-  45    Template                       Template-Toolkit-2.16.tar.gz              
+  45    Template                       Template-Toolkit-2.16.tar.gz              n,n
   46    Statistics::Descriptive        Statistics-Descriptive-2.6.tar.gz         
   47    Storable                       Storable-2.15.tar.gz                      
