Index: /trunk/psconfig/psbuild
===================================================================
--- /trunk/psconfig/psbuild	(revision 10868)
+++ /trunk/psconfig/psbuild	(revision 10869)
@@ -6,6 +6,11 @@
 set update=0
 set optimize=0
+set version=""
 while ($#argv)
  switch ($1)
+  case -version:
+   shift
+   set version=$1;
+   breaksw;
   case -clean:
    set clean=1;
@@ -28,9 +33,8 @@
 end
 
-if ($#args != 2) goto usage
+if ($#args != 1) goto usage
 if ("$args" == "") goto usage
 
-set version = $args[1]
-set group   = $args[2]
+set group   = $args[1]
 set tagsets = tagsets/$group
 
@@ -40,5 +44,11 @@
 endif
 
-source psconfig.sh $version
+if ("$version" != "") then
+  source psconfig.sh $version
+endif
+
+if (! $?PSVERSION) then
+  source psconfig.sh default
+endif
 
 set psopts = ""
@@ -135,9 +145,9 @@
 
 usage:
-  echo "USAGE: psbuild (version) (group) [-clean] [-rebuild] [-update] [-optimize]"
+  echo "USAGE: psbuild (group) [-version version] [-clean] [-rebuild] [-update] [-optimize]"
   exit 2
 
 failure:
-  echo "build failed"
+  echo "psbuild failed"
   echo "target: $target"
   echo "dir: $dir"
Index: /trunk/psconfig/psconfig.sh
===================================================================
--- /trunk/psconfig/psconfig.sh	(revision 10868)
+++ /trunk/psconfig/psconfig.sh	(revision 10869)
@@ -8,4 +8,5 @@
   if (! $?ARCH)      echo "ARCH is not set : run psconfig with an argument to setup"
   echo $PSCONFDIR : $PSVERSION : $ARCH 
+  echo "psconfig --help for additional info"
   exit 2
 endif
@@ -19,4 +20,5 @@
   echo "       psconfig --list    : list currently availabe configuration versions"
   echo "       psconfig --help    : this listing"
+  echo " use ~/.psconfigrc to set PSCONFDIR as desired"
   exit 0
 endif
Index: /trunk/psconfig/psupdate
===================================================================
--- /trunk/psconfig/psupdate	(revision 10869)
+++ /trunk/psconfig/psupdate	(revision 10869)
@@ -0,0 +1,64 @@
+#!/bin/tcsh
+
+set args=""
+while ($#argv)
+ switch ($1)
+  default:
+   set args=($args $1);
+   breaksw;
+ endsw
+ shift
+end
+
+if ($#args != 1) goto usage
+if ("$args" == "") goto usage
+
+set group   = $args[1]
+set tagsets = tagsets/$group
+
+if (! -e $tagsets) then
+  echo "target $group not found in tagsets"
+  exit 2
+endif
+
+foreach target (`cat $tagsets | grep -v \#`)
+ set name = `echo $target | tr ':' ' '`
+ set dir = $name[1]
+ set tag = $name[2]
+
+ set current = `pwd`
+ cd ../$dir
+ 
+ echo ""
+ echo "***** updating $name ($target) *****"
+ pwd
+
+ switch ($tag)
+  case HEAD:
+   cvs -q up -d -A
+   if ($status) goto failure;
+   breaksw;
+  case NONE:
+   breaksw;
+  default:
+   cvs -q up -d -r $tag
+   if ($status) goto failure;
+   breaksw;
+ endsw
+
+ success:
+ cd $current
+end
+
+exit 0
+
+usage:
+  echo "USAGE: psupdate (group)"
+  exit 2
+
+failure:
+  echo "psupdate failed"
+  echo "target: $target"
+  echo "dir: $dir"
+  echo "tag: $tag"
+  exit 2
