You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by fb...@apache.org on 2007/10/09 00:03:30 UTC

svn commit: r582986 - in /incubator/river/trunk/jtsk: build_common.xml doc/build.html doc/htmlbook/ doc/index.html doc/specs/ doc/specs/html/ index.html

Author: fbarnaby
Date: Mon Oct  8 15:03:26 2007
New Revision: 582986

URL: http://svn.apache.org/viewvc?rev=582986&view=rev
Log:

Added ant targets ("release" and "build.release"--see doc/build.html)
to generate the distribution bundles in the top-level "dist" directory,
moved the doc/htmlbook/ dir to doc/specs/html/ to be consistent with
the distribution, and updated build.html .


Added:
    incubator/river/trunk/jtsk/doc/specs/
    incubator/river/trunk/jtsk/doc/specs/html/
      - copied from r582926, incubator/river/trunk/jtsk/doc/htmlbook/
    incubator/river/trunk/jtsk/index.html
      - copied unchanged from r582926, incubator/river/trunk/jtsk/doc/index.html
Removed:
    incubator/river/trunk/jtsk/doc/htmlbook/
    incubator/river/trunk/jtsk/doc/index.html
Modified:
    incubator/river/trunk/jtsk/build_common.xml
    incubator/river/trunk/jtsk/doc/build.html

Modified: incubator/river/trunk/jtsk/build_common.xml
URL: http://svn.apache.org/viewvc/incubator/river/trunk/jtsk/build_common.xml?rev=582986&r1=582985&r2=582986&view=diff
==============================================================================
--- incubator/river/trunk/jtsk/build_common.xml (original)
+++ incubator/river/trunk/jtsk/build_common.xml Mon Oct  8 15:03:26 2007
@@ -112,22 +112,27 @@
       <not> <isset property="src.tools"/> </not>
     </condition>
 
+    <property name="lib.dir"		value="lib"				/>
+    <property name="lib-dl.dir"		value="lib-dl"				/>
+    <property name="lib-ext.dir"	value="lib-ext"				/>
+
+    <property name="lib"		location="${env.JINI_HOME}/${lib.dir}"	  />
+    <property name="lib-dl"		location="${env.JINI_HOME}/${lib-dl.dir}" />
+    <property name="lib-ext"		location="${env.JINI_HOME}/${lib-ext.dir}"/>
+
     <property name="build.classes"	location="${build}/classes"		/>
     <property name="build.deps"         location="${build}/deps"		/>
+    <property name="build.dist"         location="${build}/dist"		/>
     <property name="build.doc"          location="${build}/doc"			/>
     <property name="build.doc.api"      location="${build.doc}/api"		/>
     <property name="build.doc.spec.api" location="${build.doc}/specs/api"	/>
-    <property name="build.lib"          location="${build}/lib"			/>
-    <property name="build.lib-dl"       location="${build}/lib-dl"		/>
-    <property name="build.lib-ext"      location="${build}/lib-ext"		/>
+    <property name="build.lib"		location="${build}/${lib.dir}"		/>
+    <property name="build.lib-dl"	location="${build}/${lib-dl.dir}"	/>
+    <property name="build.lib-ext"	location="${build}/${lib-ext.dir}"	/>
 
     <property name="entry.dest.dir"	location="${build}/configentry"		/>
     <property name="entry.src.dir"	location="${src.jini}/configentry"	/>
 
-    <property name="lib"		location="${env.JINI_HOME}/lib"		/>
-    <property name="lib-dl"		location="${env.JINI_HOME}/lib-dl"	/>
-    <property name="lib-ext"		location="${env.JINI_HOME}/lib-ext"	/>
-
     <property name="src.jini.manifest"	location="${src.jini}/manifest"		/>
     <property name="src.tools.manifest"	location="${src.tools}/manifest"	/>
 
@@ -135,12 +140,25 @@
     <!-- ## Product version info					-->
     <!-- ##								-->
 
+    <property name="product.name"	value="apache-river" />
     <property name="version"		value="2.1.1" />
     <property name="version-suffix"	value=""/>
 
     <property name="manifest-info"	value="${java.version} (${java.vendor})"/>
 
     <!-- ##								-->
+    <!-- ## Distribution Bundles					-->
+    <!-- ##								-->
+
+    <property name="install.dir"		value="${product.name}-${version}"/>
+
+    <property name="bin.tar.bundle"		value="${build.dist}/${product.name}-${version}-incubating-bin.tar.gz"/>
+    <property name="bin.zip.bundle"		value="${build.dist}/${product.name}-${version}-incubating-bin.zip"/>
+
+    <property name="src.tar.bundle"		value="${build.dist}/${product.name}-${version}-incubating-src.tar.gz"/>
+    <property name="src.zip.bundle"		value="${build.dist}/${product.name}-${version}-incubating-src.zip"/>
+
+    <!-- ##								-->
     <!-- ## Private package inclusions for use with classdep; the	-->
     <!-- ## classes in these packages are both not part of the JSK	-->
     <!-- ## platform and not public (have generated javadoc)		-->
@@ -270,6 +288,215 @@
 
   <!-- ################################################################ -->
   <!-- ##								-->
+  <!-- ## TARGET: release						-->
+  <!-- ##								-->
+  <!-- ################################################################ -->
+
+  <target name="build.release"
+	  description=""
+          depends="all,
+		   jars,
+		   doc,
+		   spec-doc,
+		   release">
+
+  </target>
+
+  <!-- ################################################################ -->
+  <!-- ##								-->
+  <!-- ## TARGET: release						-->
+  <!-- ##								-->
+  <!-- ################################################################ -->
+
+  <target name="release"
+	  description=""
+          depends="release.bin,
+		   release.src">
+
+  </target>
+
+  <!-- ################################################################ -->
+  <!-- ##								-->
+  <!-- ## TARGET: release.bin						-->
+  <!-- ##								-->
+  <!-- ################################################################ -->
+
+  <target name="release.bin"
+	  description=""
+          depends="env">
+
+    <mkdir dir="${build.dist}"/>
+
+    <delete file="${bin.zip.bundle}"/>
+
+    <zip destfile="${bin.zip.bundle}">
+
+      <zipfileset dir="${build}" prefix="${install.dir}">
+	<include name="index.html"			/>
+	<include name="LICENSE"				/>
+	<include name="NOTICE"				/>
+
+	<include name="doc/api/**"			/>
+	<include name="doc/arch2_0.html"		/>
+	<include name="doc/info-index.html"		/>
+	<include name="doc/manpages-index.html"		/>
+	<include name="doc/proxypreparation.pdf"	/>
+	<include name="doc/release-notes/**"		/>
+	<include name="doc/simpleproxyverification.pdf"	/>
+	<include name="doc/smartproxyverification.pdf"	/>
+	<include name="doc/spec-index.html"		/>
+	<include name="doc/specs/**"			/>
+
+	<include name="configentry/**"			/>
+
+	<include name="${lib.dir}/**"			/>
+	<include name="${lib-dl.dir}/**"		/>
+	<include name="${lib-ext.dir}/**"		/>
+      </zipfileset>
+
+    </zip>
+
+
+<!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+    <delete file="${bin.tar.bundle}"/>
+
+##
+## TODO:
+##
+## Investigate how to deal with the tar task's 100-character limitation.
+##
+
+    <tar destfile="${bin.tar.bundle}"
+	 compression="gzip"
+	 longfile="warn">
+
+      <tarfileset dir="${build}" prefix="${install.dir}">
+	<include name="index.html"			/>
+	<include name="LICENSE"				/>
+	<include name="NOTICE"				/>
+
+	<include name="doc/api/**"			/>
+	<include name="doc/arch2_0.html"		/>
+	<include name="doc/info-index.html"		/>
+	<include name="doc/manpages-index.html"		/>
+	<include name="doc/proxypreparation.pdf"	/>
+	<include name="doc/release-notes/**"		/>
+	<include name="doc/simpleproxyverification.pdf"	/>
+	<include name="doc/smartproxyverification.pdf"	/>
+	<include name="doc/spec-index.html"		/>
+	<include name="doc/specs/**"			/>
+
+	<include name="configentry/**"			/>
+
+	<include name="${lib.dir}/**"			/>
+	<include name="${lib-dl.dir}/**"		/>
+	<include name="${lib-ext.dir}/**"		/>
+      </tarfileset>
+
+    </tar>
+
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -->
+
+  </target>
+
+  <!-- ################################################################ -->
+  <!-- ##								-->
+  <!-- ## TARGET: release.src						-->
+  <!-- ##								-->
+  <!-- ################################################################ -->
+
+  <target name="release.src"
+	  description=""
+          depends="env">
+
+    <mkdir dir="${build.dist}"/>
+
+    <delete file="${src.zip.bundle}"/>
+
+    <zip destfile="${src.zip.bundle}">
+
+      <zipfileset dir="${top}" prefix="${install.dir}">
+	<include name="index.html"			/>
+	<include name="LICENSE"				/>
+	<include name="NOTICE"				/>
+
+	<include name="doc/api/**"			/>
+	<include name="doc/arch2_0.html"		/>
+	<include name="doc/info-index.html"		/>
+	<include name="doc/build.html"			/>
+	<include name="doc/manpages-index.html"		/>
+	<include name="doc/proxypreparation.pdf"	/>
+	<include name="doc/release-notes/**"		/>
+	<include name="doc/simpleproxyverification.pdf"	/>
+	<include name="doc/smartproxyverification.pdf"	/>
+	<include name="doc/spec-index.html"		/>
+	<include name="doc/specs/**"			/>
+      </zipfileset>
+
+      <zipfileset dir="${top}" prefix="${install.dir}/source">
+	<include name="build.xml"			/>
+	<include name="build_common.xml"		/>
+
+	<include name="doc/j2se/**"			/>
+
+	<include name="src/**"				/>
+      </zipfileset>
+
+    </zip>
+
+
+<!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+    <delete file="${src.tar.bundle}"/>
+
+##
+## TODO:
+##
+## Investigate how to deal with the tar task's 100-character limitation.
+##
+
+    <tar destfile="${src.tar.bundle}"
+	 compression="gzip"
+	 longfile="warn">
+
+      <tarfileset dir="${top}" prefix="${install.dir}">
+	<include name="index.html"			/>
+	<include name="LICENSE"				/>
+	<include name="NOTICE"				/>
+
+	<include name="doc/api/**"			/>
+	<include name="doc/arch2_0.html"		/>
+	<include name="doc/info-index.html"		/>
+	<include name="doc/build.html"			/>
+	<include name="doc/manpages-index.html"		/>
+	<include name="doc/proxypreparation.pdf"	/>
+	<include name="doc/release-notes/**"		/>
+	<include name="doc/simpleproxyverification.pdf"	/>
+	<include name="doc/smartproxyverification.pdf"	/>
+	<include name="doc/spec-index.html"		/>
+	<include name="doc/specs/**"			/>
+      </tarfileset>
+
+      <tarfileset dir="${top}" prefix="${install.dir}/source">
+	<include name="build.xml"			/>
+	<include name="build_common.xml"		/>
+
+	<include name="doc/j2se/**"			/>
+
+	<include name="src/**"				/>
+      </tarfileset>
+
+    </tar>
+
+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -->
+
+
+  </target>
+
+
+  <!-- ################################################################ -->
+  <!-- ##								-->
   <!-- ## TARGET: setup-dirs						-->
   <!-- ##								-->
   <!-- ################################################################ -->
@@ -899,13 +1126,31 @@
 
   <target name="clean.all"
           description="Deletes the lib, lib-dl, and lib-ext  directories."
-          depends="clean.jars,
+          depends="clean.dist,
+		   clean.jars,
 		   clean.jre.ext">
 
-    <delete dir="${build.classes}"	quiet="true"/>
-    <delete dir="${build.deps}"		quiet="true"/>
-    <delete dir="${build.doc.api}"	quiet="true"/>
-    <delete dir="${entry.dest.dir}"     quiet="true"/>
+    <delete dir="${build.classes}"				quiet="true"/>
+    <delete dir="${build.deps}"					quiet="true"/>
+    <delete dir="${build.doc.api}"				quiet="true"/>
+    <delete dir="${build.doc.spec.api}"				quiet="true"/>
+    <delete dir="${entry.dest.dir}"				quiet="true"/>
+    <delete dir="${src.jini}/com/sun/jini/example/hello/lib"	quiet="true"/>
+
+  </target>
+
+
+  <!-- ################################################################ -->
+  <!-- ##								-->
+  <!-- ## TARGET: clean.dist						-->
+  <!-- ##								-->
+  <!-- ################################################################ -->
+
+  <target name="clean.dist"
+          description="Deletes the distribution directory."
+          depends="env">
+
+    <delete dir="${build.dist}"		quiet="true"/>
 
   </target>
 

Modified: incubator/river/trunk/jtsk/doc/build.html
URL: http://svn.apache.org/viewvc/incubator/river/trunk/jtsk/doc/build.html?rev=582986&r1=582985&r2=582986&view=diff
==============================================================================
--- incubator/river/trunk/jtsk/doc/build.html (original)
+++ incubator/river/trunk/jtsk/doc/build.html Mon Oct  8 15:03:26 2007
@@ -46,8 +46,7 @@
 
 <p>
 <b>NOTE</b>:<i> Please do not attempt to build the starter kit JAR files
-without first taking note of the <a href="#outrigger"> Outrigger build
-issues</a>, and the
+without first taking referencing the 
 <a href="http://developer.java.sun.com/developer/products/jini/tested.html"> 
 platforms on which the starter kit has been tested</a></i>.
 
@@ -166,6 +165,19 @@
     <br><br>
       &nbsp;&nbsp; <code><B><VAR>install_dir</VAR></B>/source/doc/specs/api</code>
 
+    <p>
+    <dt>
+    <b>build.release</b><br>
+    This target will compile everything, generate the jar files, generate the javadoc,
+    and produce the distribution bundles (binary and source) in the top-level "dist"
+    directory.
+
+    <p>
+    <dt>
+    <b>release</b><br>
+    This target assumes everything is built and will only produce distribution bundles
+    (binary and source) in the top-level "dist" directory.
+
   </dl>
 </blockquote>
 
@@ -176,43 +188,6 @@
 modifications to <code>jini-comments@sun.com</code> for consideration.
 
 <p>
-<hr>
-<a name="outrigger">
-<h2>Outrigger build issues</h2>
-
-<code>PersistentOutriggerImpl</code> (the contributed persistent
-implementation of JavaSpaces(TM) technology from Sun Microsystems) relies
-on a pluggable persistence layer, <a
-href="api/com/sun/jini/outrigger/Store.html"><code>com.sun.jini.outrigger.Store</code></a>.
-This release includes two implementations of the <code>Store</code>
-interface, <a
-href="api/com/sun/jini/outrigger/logstore/LogStore.html">logstore</a>
-and <a
-href="api/com/sun/jini/outrigger/snaplogstore/LogStore.html">snaplogstore</a>.
-By default,
-<code>PersistentOutriggerImpl</code> uses the snaplogstore implementation.
-<p>
-
-Logstore depends on Progress Software's <i>ObjectStore PSEPro for Java</i>
-(PSEPro) to persist the contents of the space to disk.  PSEPro requires the
-post processing of the class files for any objects that are going to be
-persisted.  PSEPro also requires a set of runtime classes. Neither the
-runtime classes nor post processor are distributed in this release of
-the starter kit. As a result, unless you have obtained the PSEPro
-development tools (in particular Release 6.0 Service Pack 7), you cannot
-build <code>LogStore</code> from its source code (note, logstore's source
-code is included in this release).
-<p>
-
-If you use the above process to build the starter kit, you will be able to
-build <code>TransientOutriggerImpl</code> (the contributed,
-<i>non-persistent</i> implementation of JavaSpaces technology from Sun
-Microsystems), <code>PersistentOutriggerImpl</code>, and snaplogstore
-(along with the non-Outrigger parts of the starter kit). If PSEPro's
-runtime classes are not present, the above process will not (re)build the
-<code>logstore</code> package or the associated archive files.
-<p>
-
 <hr>
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file



Re: svn commit: r582986 - in /incubator/river/trunk/jtsk: build_common.xml doc/build.html doc/htmlbook/ doc/index.html doc/specs/ doc/specs/html/ index.html

Posted by Zsolt Kúti <ku...@cetelem.hu>.
Tue, 09 Oct 2007 12:34:16 +0200: Látszólag Mark Brouwer véste
elektronokba/apparently Mark Brouwer carved into e-lectrons:

Hi Mark,
 
> I started reading the page you sent and after 1 minute I
> realized why it was that I'm against duplication of whatever
> for no other benefit than that it is possible, because there is
> simply no choice in IT that is completely free.
Sure. My post intended to be a reluctant agreement on
zip-only being sufficent (however implicit it seems in
retrospect :-)

> When there is only one ZIP file that can do what it needs to
> do, people don't have to think what to download and I consider
> that a good thing ;-) -- 
No choice, no problem ;-)

Zsolt



Re: svn commit: r582986 - in /incubator/river/trunk/jtsk: build_common.xml doc/build.html doc/htmlbook/ doc/index.html doc/specs/ doc/specs/html/ index.html

Posted by Mark Brouwer <ma...@cheiron.org>.
Zsolt Kúti wrote:
> Tue, 09 Oct 2007 10:50:29 +0200: Látszólag Mark Brouwer véste
> elektronokba/apparently Mark Brouwer carved into e-lectrons:
> 
>> I noticed that you decided to add the tar.gz distribution and
>> it appears to raise an issue (which you also mentioned in
>> RIVER-266), namely the 100 character limitation. I don't know
>> whether that is an issue already as of today, but it might be
>> tomorrow.
> http://www.delorie.com/gnu/docs/tar/tar_114.html
> "In theory, GNU tar should be able to handle file names of
> practically unlimited length. So, if GNU tar fails to dump and
> retrieve files having more than 100 characters, then there is a
> bug in GNU tar, indeed."
> ...
> "POSIX later revised P1003.1 ustar format by assigning previously
> unused header fields, in such a way that the upper limit for file
> name length was raised to 256 characters."

Hi Zsolt,

I started reading the page you sent and after 1 minute I realized why it
was that I'm against duplication of whatever for no other benefit than
that it is possible, because there is simply no choice in IT that is
completely free.

When there is only one ZIP file that can do what it needs to do, people
don't have to think what to download and I consider that a good thing ;-)
-- 
Marx Brouwer

"A commodity appears at first sight an extremely obvious, trivial thing.
But its analysis brings out that it is a very strange thing, abounding
in metaphysical subtleties and theological niceties."

Karl Marx


Re: svn commit: r582986 - in /incubator/river/trunk/jtsk: build_common.xml doc/build.html doc/htmlbook/ doc/index.html doc/specs/ doc/specs/html/ index.html

Posted by Zsolt Kúti <ku...@cetelem.hu>.
Tue, 09 Oct 2007 10:50:29 +0200: Látszólag Mark Brouwer véste
elektronokba/apparently Mark Brouwer carved into e-lectrons:

> I noticed that you decided to add the tar.gz distribution and
> it appears to raise an issue (which you also mentioned in
> RIVER-266), namely the 100 character limitation. I don't know
> whether that is an issue already as of today, but it might be
> tomorrow.
http://www.delorie.com/gnu/docs/tar/tar_114.html
"In theory, GNU tar should be able to handle file names of
practically unlimited length. So, if GNU tar fails to dump and
retrieve files having more than 100 characters, then there is a
bug in GNU tar, indeed."
...
"POSIX later revised P1003.1 ustar format by assigning previously
unused header fields, in such a way that the upper limit for file
name length was raised to 256 characters."


> Although probably most will ask why is that person so bothered
> by the tar.gz distribution, but I can't find any rationale for
Yes, it is just a format that is customary on unices. 
Although tar.gz (tgz) archives usually smaller, this probably not
a compelling reason; tradition, politness, whatever might be :-)
My preference usually downloading tgz if there is choice, but
now I realize it's mostly unconscious with no hard
justification :-)

Zsolt



Re: svn commit: r582986 - in /incubator/river/trunk/jtsk: build_common.xml doc/build.html doc/htmlbook/ doc/index.html doc/specs/ doc/specs/html/ index.html

Posted by Mark Brouwer <ma...@cheiron.org>.
Frank Barnaby wrote:

> Right--I'm aware of the filemode options but hadn't dealt with them yet.
> Feel free to make the necessary changes.

OK, I'll await with submitting the changes till more people had the 
opportunity to give their opinion about the file mask.

I think it is wise to create an issue for the tar distribution.
-- 
Mark

Re: svn commit: r582986 - in /incubator/river/trunk/jtsk: build_common.xml doc/build.html doc/htmlbook/ doc/index.html doc/specs/ doc/specs/html/ index.html

Posted by Frank Barnaby <Fr...@Sun.COM>.
On Oct 9, 2007, at 4:50 AM, Mark Brouwer wrote:

> fbarnaby@apache.org wrote:
>
>> +<!--  
>> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
>> @@@@@
>> +
>> +    <delete file="${src.tar.bundle}"/>
>> +
>> +##
>> +## TODO:
>> +##
>> +## Investigate how to deal with the tar task's 100-character  
>> limitation.
>> +##
>
> Hi Frank,
>
> I noticed that you decided to add the tar.gz distribution and it  
> appears
> to raise an issue (which you also mentioned in RIVER-266), namely
> the 100 character limitation. I don't know whether that is an issue
> already as of today, but it might be tomorrow.


Knowing that the issue to provide tar files remains unresolved, I had
added the tar'ing task just to see how it worked, which is when I
noticed the 100 character limitation.  There are options for dealing
with the limitation, but they don't seem particularly useful.  The
"fail", "warn", and "omit" tar-options are obviously not useful, so
"gnu" (ie, gtar) is the only possiblity, and that would require users
to use gnu tar to expand those bundles.  The tar'ing task is currently
commented-out and can be easily removed if we decide to provide zip
bundles only.  I'll open a JIRA-issue if necessary.


> You indicated that supplying a tar.gz format made sense because it
> allows you to retain the file mask,


I think someone else provided that point.


> but I argued the same can be
> accomplished with specifying the filemask as part of the zip task,
> something that still needs to be done and which I will take care of if
> you don't mind.


Right--I'm aware of the filemode options but hadn't dealt with them yet.
Feel free to make the necessary changes.


> Although probably most will ask why is that person so bothered by the
> tar.gz distribution, but I can't find any rationale for supporting the
> tar format besides that it can be done (but this is true for so many
> distribution formats). Note that this is from a person who many years
> ago also provided tar distributions to UNIX customers, but those were
> uncompressed versions ;-)


I'm also not convinced of the necessity for the tar bundle.  I'd suggest
that we start by providing the zip distributions and revisit the tar
discussion if we find the zip bundles to be inadequate for some  
platforms.


Frank




Re: svn commit: r582986 - in /incubator/river/trunk/jtsk: build_common.xml doc/build.html doc/htmlbook/ doc/index.html doc/specs/ doc/specs/html/ index.html

Posted by Mark Brouwer <ma...@cheiron.org>.
fbarnaby@apache.org wrote:

> +<!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> +
> +    <delete file="${src.tar.bundle}"/>
> +
> +##
> +## TODO:
> +##
> +## Investigate how to deal with the tar task's 100-character limitation.
> +##

Hi Frank,

I noticed that you decided to add the tar.gz distribution and it appears
to raise an issue (which you also mentioned in RIVER-266), namely
the 100 character limitation. I don't know whether that is an issue
already as of today, but it might be tomorrow.

You indicated that supplying a tar.gz format made sense because it
allows you to retain the file mask, but I argued the same can be
accomplished with specifying the filemask as part of the zip task,
something that still needs to be done and which I will take care of if
you don't mind.

Although probably most will ask why is that person so bothered by the
tar.gz distribution, but I can't find any rationale for supporting the
tar format besides that it can be done (but this is true for so many
distribution formats). Note that this is from a person who many years
ago also provided tar distributions to UNIX customers, but those were
uncompressed versions ;-)
-- 
Mark