Index: /trunk/Ohana/etc/distributions.txt
===================================================================
--- /trunk/Ohana/etc/distributions.txt	(revision 2633)
+++ /trunk/Ohana/etc/distributions.txt	(revision 2633)
@@ -0,0 +1,39 @@
+
+DISTRIBUTION mana 1.0
+ USE base
+ USE libdummy-1-0  libdummy
+ USE libohana-1-0  libohana
+ USE libfits-1-0   libfits
+ USE kapa-1-0      kapa
+ USE kii-1-0       kii
+ USE opihi-2-0     opihi.v2
+END
+
+DISTRIBUTION elixir 1.0
+
+ USE base
+
+ USE addrefs-1-0     addrefs
+ USE addspphot-1-0   addspphot
+ USE addstar-1-0     addstar
+ USE delstar-1-0     delstar
+ USE elixir-1-0	     elixir
+ USE gastro-1-0	     gastro
+ USE gcompare-1-0    gcompare
+ USE gophot-1-0	     gophot
+ USE imclean-1-0     imclean
+ USE imregister-1-0  imregister
+ USE kapa-1-0	     kapa
+ USE kii-1-0	     kii
+ USE misc-1-0	     misc
+ USE nightd-1-0	     nightd
+ USE opihi-2-0	     opihi.v2
+ USE perl-1-0	     perl
+ USE relphot-1-0     relphot
+ USE shell-1-0	     shell
+ USE tcl-1-0	     tcl
+
+ USE libdummy-1-0    libdummy
+ USE libohana-1-0    libohana
+ USE libfits-1-0     libfits
+END
Index: /trunk/Ohana/etc/mkdist
===================================================================
--- /trunk/Ohana/etc/mkdist	(revision 2632)
+++ /trunk/Ohana/etc/mkdist	(revision 2633)
@@ -1,12 +1,65 @@
-#!/bin/csh -f
+#!/usr/bin/env perl
 
-cvs co base
+$dist = "distributions.txt";
 
-cvs co -r libdummy-1-0 libdummy
-cvs co -r libohana-1-0 libohana
-cvs co -r libfits-1-0 libfits
+if (@ARGV != 2) { die "USAGE: mkdist (group) (version)\n"; }
 
-cvs co -r kapa-1-0 kapa
-cvs co -r kii-1-0 kii
+open (FILE, $dist) || die "ERROR: can't open distribution file\n";
+@list = <FILE>;
+close (FILE);
 
-cvs co opihi.v2
+$group = $ARGV[0];
+$version = $ARGV[1];
+
+$ingroup = 0;
+@name = ();
+@tag = ();
+
+foreach $line (@list) {
+
+    ($key) = split (" ", $line);
+
+    # found DISTRIBUTION
+    if ($key eq "DISTRIBUTION") {
+	($tmp, $word1, $word2) = split (" ", $line);
+	if (($word1 eq $group) && ($word2 eq $version)) { $ingroup = 1; }
+    }
+    if (!$ingroup) { next; }
+
+    # found END
+    if ($key eq "END") { last; }
+
+    # found USE
+    if ($key eq "USE") {
+	($tmp, $word1, $word2) = split (" ", $line);
+	if ($word2 eq "") {
+	    $tag  = "";
+	    $name = $word1;
+	} else {
+	    $tag  = $word1;
+	    $name = $word2;
+	}	    
+	if ($name eq "") { die "missing tag\n"; }
+	push @name, $name;
+	push @tag, $tag;
+    }
+}
+
+if (@name == 0) { die "ERROR: $group $version not found\n"; }
+
+for ($i = 0; $i < @name; $i++) {
+    if ($tag[$i] eq "") {
+	&vsystem ("cvs co $name[$i]");
+    } else {
+	&vsystem ("cvs co -r $tag[$i] $name[$i]");
+    }	
+}
+
+&vsystem ("mv ohana $group-$version");
+
+sub vsystem {
+    print STDERR "@_\n";
+    $status = system ("@_");
+    $status;
+}
+
