Index: trunk/dvodist/scripts/mkdist.20120525.sh
===================================================================
--- trunk/dvodist/scripts/mkdist.20120525.sh	(revision 35238)
+++ trunk/dvodist/scripts/mkdist.20120525.sh	(revision 35415)
@@ -7,5 +7,5 @@
 set catroot = /data/ipp064.0/eugene/3pi.20111229/catdir.20120525
 
-set catdir = 3pi.20120525
+set catdir = 3pi.20120525.new
 set cattgt = $wwwroot/$catdir
 
Index: trunk/dvodist/scripts/mkdist.20120606.sh
===================================================================
--- trunk/dvodist/scripts/mkdist.20120606.sh	(revision 35238)
+++ trunk/dvodist/scripts/mkdist.20120606.sh	(revision 35415)
@@ -7,5 +7,5 @@
 set catroot = /data/ipp064.0/eugene/3pi.20111229/catdir.20120606
 
-set catdir = 3pi.20120606
+set catdir = 3pi.20120606.new
 set cattgt = $wwwroot/$catdir
 
Index: trunk/dvodist/scripts/mkdist.20130227.sh
===================================================================
--- trunk/dvodist/scripts/mkdist.20130227.sh	(revision 35415)
+++ trunk/dvodist/scripts/mkdist.20130227.sh	(revision 35415)
@@ -0,0 +1,35 @@
+#!/bin/csh -f
+
+# create the links needed to expose a specific catalog to the distribution server
+
+# general locations
+set wwwroot = /data/ippc17.0/www/dvodist/www-root
+set catroot = /data/ipp064.0/eugene/3pi.20111229/catdir.20130227
+
+set catdir = 3pi.20130227
+set cattgt = $wwwroot/$catdir
+
+set nlist = (n0000 n0730 n1500 n2230 n3000 n3730 n4500 n5230 n6000 n6730 n7500 n8230)
+set slist = (s0000 s0730 s1500 s2230 s3000 s3730 s4500 s5230 s6000 s6730 s7500 s8230)
+
+# top-level files
+mkdir -p $cattgt
+foreach file (HostTable.dat Images.dat Photcodes.dat SkyTable.fits flatcorr.fits)
+  ln -s $catroot/$file $cattgt
+end
+
+# make DEC directories
+foreach dir ($nlist $slist)
+  mkdir $cattgt/$dir
+end
+
+# link all files from all hostdirs into all DEC dirs
+foreach hostdir (`grep -v \# $cattgt/HostTable.dat | awk '{print $3}'`)
+  echo $hostdir
+  foreach dir ($nlist $slist)
+    ln -s $hostdir/$dir/*.cpt $cattgt/$dir
+    ln -s $hostdir/$dir/*.cpm $cattgt/$dir
+    ln -s $hostdir/$dir/*.cps $cattgt/$dir
+    ln -s $hostdir/$dir/*.cpn $cattgt/$dir
+  end
+end
Index: trunk/dvodist/scripts/mkindex.dvo.pl
===================================================================
--- trunk/dvodist/scripts/mkindex.dvo.pl	(revision 35415)
+++ trunk/dvodist/scripts/mkindex.dvo.pl	(revision 35415)
@@ -0,0 +1,126 @@
+#!/usr/bin/env perl
+
+if (@ARGV != 3) { die "USAGE: mkindex.dvo.pl (catdir) (catdir_name) (ippdata | dvodist)\n" ;}
+
+@nlist = ("n0000", "n0730", "n1500", "n2230", "n3000", "n3730", "n4500", "n5230", "n6000", "n6730", "n7500", "n8230");
+@slist = ("s0000", "s0730", "s1500", "s2230", "s3000", "s3730", "s4500", "s5230", "s6000", "s6730", "s7500", "s8230");
+
+$catdir = &basename($ARGV[0]);
+$catdir_name = $ARGV[1];
+$target_name = $ARGV[2];
+# "Synthetic Photometry Catdir";
+
+&mkindex ($ARGV[0], "topdir");
+foreach $subdir (@nlist, @slist) { 
+    $dirname = "$ARGV[0]/$subdir";
+    print "subdir: $dirname\n";
+    if (! -e $dirname) { next; }
+    &mkindex ($dirname, "subdir"); 
+}
+exit 0;
+
+sub mkindex {
+    # input  : (path) (mode)
+    # (mode) = "topdir" or "subdir"
+    # output : path/index.mkd
+
+    my($topdir) = $_[0];
+    my($mode) = $_[1];
+
+    $mydir = &basename($topdir);
+    if ($mode eq "topdir") { $thisdir = $catdir; } else { $thisdir = "$catdir/$mydir"; }
+
+    if (! -e $thisdir) { mkdir $thisdir; }
+    open (FILE, ">$thisdir/index.mkd");
+
+    # XXX ippdata.page.php vs dvodist.page.php
+    if ($target_name eq "ippdata") {
+	print FILE "<?php include \"\@HTDOCS\@/www-util/ippdata.page.php\"\; ?>\n\n";
+    } else {
+	print FILE "<?php include \"\@HTDOCS\@/www-util/dvodist.page.php\"\; ?>\n\n";
+    }
+
+    # CATDIR Title supplied on cmd line
+    print FILE "# $catdir_name\n";
+
+    if ($mode eq "subdir") {
+	print FILE "## $mydir\n\n";
+    }
+    print FILE "\n";
+
+    if ($mode eq "topdir") {
+	print FILE "(up to [PARENT](\@WWWHOST\@/index.php))\n\n";
+    } else {
+	print FILE "(up to [$catdir_name](\@WWWHOST\@/$catdir/index.php))\n\n";
+    }
+
+    print FILE "Download this entire directory with the following command:\n\n";
+
+    print FILE "<tt> wget -c -r -np -nH \@WWWHOST\@/$thisdir/index.php</tt>\n\n";
+
+    print FILE "@ Data Product : none : plain : title : size (bytes)\n";
+
+    my($N) = 1;
+    my(@entries, $entry);
+
+    if ($mode eq "topdir") {
+	my(@Nentries) = <$topdir/n????>;
+	my(@Sentries) = <$topdir/s????>;
+	my(@all) = <$topdir/*>;
+	foreach $other (@all) {
+	    $base = &basename($other);
+	    if ($base =~ m|^n....|) { next; }
+	    if ($base =~ m|^s....|) { next; }
+	    push @other, $other;
+	}
+	@entries = (@other, @Nentries, @Sentries);
+    } else {
+	@entries = <$topdir/*>;
+    }
+
+    foreach $entry (@entries) {
+
+	$file = &basename($entry);
+	if ($file =~ m|~$|) { next; }
+
+	if ($file eq "index.php") { next; }
+	if ($file eq "index.mkd") { next; }
+  
+	@filestat = stat ($entry);
+	$size = $filestat[7];
+	print "file: $file, size: $size\n";
+
+	if (-d $entry) {
+	    print FILE "@ $file : dir : dir$N : directory\n";
+	}
+
+	if (-f $entry) {
+	    print FILE "@ $file : file : file$N : $size\n";
+	}
+
+	if ($N == 1) { $N = 2; } else { $N = 1; }
+    }
+    close (FILE);
+}
+
+sub vsystem {
+    # print STDERR "@_\n";
+    my($status) = system ("@_");
+    $status;
+}
+
+sub goodbye {
+    die "@_\n";
+}
+
+# behaves just like system basename function (returns last portion of path)
+sub basename {
+
+    my ($file) = $_[0];
+    my ($base, @words);
+
+    @words = split ("/", $file);
+    $base = $words[-1];
+    return $base;
+}
+
Index: trunk/dvodist/scripts/mkindex.sizes.sh
===================================================================
--- trunk/dvodist/scripts/mkindex.sizes.sh	(revision 35238)
+++ trunk/dvodist/scripts/mkindex.sizes.sh	(revision 35415)
@@ -14,5 +14,5 @@
   set file = `basename $entry`
   set md5 = `md5sum $entry | awk '{print $1}'`
-  set size = `ls -l $entry | awk '{print $5}'`
+  set size = `ls -lL $entry | awk '{print $5}'`
   echo $file, $md5, $size
 
