# [twg-tds] scripts, enc/lig/map

Paul Vojta vojta at Math.Berkeley.EDU
Tue Mar 2 01:07:48 CET 2004

On Sun, Feb 29, 2004 at 09:02:04PM -0500, Karl Berry wrote:
> I've been pondering the assorted messages sent over the last 10 days or
> so, and here is a revised version of the description of the proposed
> scripts directory for the TDS.  I may move it to a separate section
> before release, but for now the content is of course the important thing.
>
> Thomas, have I accurately described the purpose and usage?
>
> Paul, is the rationale clear?  (As for rationale in general,
> that's what the "Is there a better way?" appendix is all about.)

Rationale seems clear (as far as it goes).

> \item[\path|scripts|]
> for platform-independent executables such as Perl, Python, and shell
> scripts, and Java class files.  Subdirectories under \path|scripts| are
> package names.
>
> The intent is not for all such directories to be added to a user's
> command search path, which would be quite impractical.  Rather, these
> executables are for the benefit of wrapper scripts in whatever
> executable directory a distribution may provide (which is not specified
> by the \abbr{TDS}).  This eases creating distributions, by providing a
> common place for such platform-independent programs.

There may be some confusion on whether scripts/ is intended also for
scripts that are truly auxiliary (i.e., run by something other than
a wrapper script).  The first paragraph says yes, but the second paragraph
implies no.

> We recommend using extensions specifying the language (such as
> \path|.pl|, \path|.py|, \path|.sh|) on these files, to help uniquely
> identify the name.  Since the programs in \path|scripts| are not
> intended for users to invoke directly, this poses no inconvenience.

Also, the sentence Since the programs in scripts are not intended for
users to invoke directly...'' is not 100% true, since their authors may
have intended for them to be invoked directly, but the distributor is
wrapping them.  Something like Since the TDS does not intend that the
programs in scripts/ be invoked directly...'' may be closer to the truth.

> For example, in the \TeX\ Live distribution, the Con\TeX{}t user-level
> program \path|texexec| can exist as a small wrapper script in each
> \path|bin/|\replaceable{platform}\path|/texexec| (which is outside the
> \path|texmf| tree), which merely calls
> \path|texmf/scripts/context/perl/texexec.pl|.
>
> Examples:
> \begin{ttdisplay}
> scripts/context/perl/texexec.pl
> scripts/context/ruby/examplex.rb
> scripts/thumbpdf/thumbpdf.pl
> \end{ttdisplay}
>
> _______________________________________________
> twg-tds mailing list
> twg-tds at tug.org
> http://tug.org/mailman/listinfo/twg-tds

--
Paul Vojta, vojta at math.berkeley.edu