[subversion-commit] SVN tetex commit + diffs: r353 - in
tex-common/trunk: debian doc
Frank Küster
frank at costa.debian.org
Thu Nov 24 15:03:35 UTC 2005
Author: frank
Date: 2005-11-24 15:03:34 +0000 (Thu, 24 Nov 2005)
New Revision: 353
Modified:
tex-common/trunk/debian/changelog
tex-common/trunk/doc/Debian-TeX-Policy.sgml
Log:
* Document TEXMFSYSCONFIG in the Policy Draft, and add some more
clarifications to the text [frank]
Modified: tex-common/trunk/debian/changelog
===================================================================
--- tex-common/trunk/debian/changelog 2005-11-24 13:59:37 UTC (rev 352)
+++ tex-common/trunk/debian/changelog 2005-11-24 15:03:34 UTC (rev 353)
@@ -2,8 +2,10 @@
* change ls_R_magic to include ., ./, and ls-R so that kpathsea does
not moan about unusable entry. [preining]
+ * Document TEXMFSYSCONFIG in the Policy Draft, and add some more
+ clarifications to the text [frank]
- -- Norbert Preining <preining at logic.at> Wed, 23 Nov 2005 19:49:16 +0100
+ -- Frank Küster <frank at debian.org> Thu, 24 Nov 2005 16:03:23 +0100
tex-common (0.11) unstable; urgency=low
Modified: tex-common/trunk/doc/Debian-TeX-Policy.sgml
===================================================================
--- tex-common/trunk/doc/Debian-TeX-Policy.sgml 2005-11-24 13:59:37 UTC (rev 352)
+++ tex-common/trunk/doc/Debian-TeX-Policy.sgml 2005-11-24 15:03:34 UTC (rev 353)
@@ -198,37 +198,62 @@
The following <var>TEXMF</var> trees are defined, as outlined
below:
<enumlist>
- <item><file>/usr/share/texmf/</file>, referenced as <var>TEXMFMAIN</var>
- <footnote>
- The separation between a <var>TEXMFMAIN</var> tree (for the files
- that have to match the binary executables) and a <var>TEXMFDIST</var>
- tree (for other TeX input files) is not made in Debian,
- because it is not necessary on a system with a decent
- package managment system </footnote>
- </item>
+ <item><file>/usr/share/texmf-tetex/</file>, part of <var>TEXMFDIST</var></item>
+ <item><file>/usr/share/texmf-texlive/</file>, part of <var>TEXMFDIST</var></item>
+ <item><file>/usr/share/texmf/</file>, referenced as <var>TEXMFMAIN</var></item>
<item><file>/var/lib/texmf/</file>, referenced as <var>TEXMFSYSVAR</var></item>
+ <item><file>/etc/texmf/</file>, referenced as <var>TEXMFSYSCONFIG</var></item>
<item><file>/usr/share/texmf-site/</file>, referenced as <var>TEXMFSITE</var></item>
<item><file>/usr/local/share/texmf/</file>, referenced as <var>TEXMFLOCAL</var></item>
+ <item> Any directories listed in the <var>TEXMFHOME</var> configuration
+ variable in <file>texmf.cnf</file> or as an environment
+ variable,
+ </item>
<item>optionally user-specific directories for
configuration files (<var>TEXMFCONFIG)</var> and generated files
(<var>TEXMFVAR</var>)</item>
- <item> Any directories listed in the <var>TEXMFHOME</var> configuration
- variable in <file>texmf.cnf</file> or as an environment
- variable,
- </item>
</enumlist>
The search order is from bottom up (files in
<var>TEXMFHOME</var> taking precedence over files in
- <var>TEXMFMAIN).</var>
+ <var>TEXMFMAIN) etc.</var>
+ </p>
+
+ <p>
+ The role of the trees <var>TEXMFMAIN</var> and
+ <var>TEXMFDIST</var> in Debian differ from upstream's
+ original usage. Upstream uses <var>TEXMFMAIN</var> for the
+ files that have to match the binary executables and
+ <var>TEXMFDIST</var> for other TeX input files that are
+ replaced when a new texmf tarball appears; this distinction
+ is not necessary on a system with a decent package managment
+ system. Instead, the basic TeX packages install their files
+ into their <var>TEXMFDIST</var> directories <footnote>This
+ is new, and the basic TeX packages currently transition
+ their files to the new place.</footnote> , while
+ <var>TEXMFMAIN</var> is used by TeX add-on packages for
+ their files and allows them to shadow older versions
+ provided by the basic TeX packages.
</p>
<p>
+ The order of basic TeX packages in <var>TEXMFDIST</var> may be
+ changed by the user or by the basic TeX packages, and no
+ implementation may rely on a particular order. This implies
+ that for a package that needs a version of a particular file
+ newer than provided by one of the basic TeX packages, it is
+ not sufficient to declare a dependency on the other basic TeX
+ package(s)<footnote>Of course this is only a problem if the
+ file is needed in the configure phase. If it is needed only
+ at runtime, a README file to instruct the local admin should be
+ sufficient.</footnote>.
+ </p>
+
+ <p>
Debian packages generally install files in
- <var>TEXMFMAIN</var> exclusively (but see <ref
- id="sec-names-and-texmfsite">), and may ship or create empty
+ <var>TEXMFMAIN</var> exclusively, and may ship or create empty
directories in the other trees, in accordance with Debian
- Policy. Packages should take care to ignore
+ Policy. Configuration file handling is described below in . Packages should take care to ignore
<var>TEXMFHOME</var> in their maintainer scripts.
</p>
</sect>
@@ -241,9 +266,9 @@
<file>/var/cache/fonts</file>, all other generated files
should be below <file>/var/lib/texmf</file> (or the
user-specific variable directories), with the subdirectory
- structure conforming to the TDS. If necessary, symbolic links
- can point from static <var>TEXMF</var> trees to files
- below <file>/var/</file>.
+ structure conforming to the TDS.<!-- If necessary, symbolic links -->
+<!-- can point from static <var>TEXMF</var> trees to files -->
+<!-- below <file>/var/</file>. -->
</p>
<p>An exception is the generated file
@@ -266,33 +291,55 @@
</p>
<p>
- As an exception to this rule, packages that need newer
- versions of a file than already supplied by an other package
- and installed in <var>TEXMFMAIN</var> can place them into
- <var>TEXMFSITE.</var> The package must make sure that the
- newer version is backward-compatible, meaning it must not
- break compilation of any TeX document, and it should not
- change the output file. A change of the output file may be
- acceptable if an obviously buggy behavior is corrected,
- <strong>and</strong> if it had previously not been possible to
- easily fix this behavior in user's documents (or if the
- updated package and a possible fix in the document combined
- lead to a correct document).
- </p>
+ There are two exception to this rule:
+ <enumlist>
+ <item>
+ Basic TeX packages install their files into their
+ <var>TEXMFDIST</var> directory and will usually contain files
+ that are also in other basic TeX packages.
+ </item>
- <p>
- Packages that install files in <var>TEXMFSITE</var> must make
- sure to follow not only their own upstream development, but
- also that of the package(s) that install the files in
- <var>TEXMFMAIN,</var> and make sure not to get outdated with
- respect to the files in <var>TEXMFMAIN</var>.
- </p>
+ <item>
+ <p>Packages that need newer versions of a file than already
+ supplied by a basic TeX package and installed in
+ <var>TEXMFDIST</var> can place them into
+ <var>TEXMFMAIN</var>. Thus, the outdated file will be
+ shadowed, and the new one is in effect.
+ </p>
- <p>
- Installing more than two versions of a file will most likely
- lead to confusion. Therefore, the possibility to shadow a
- file once using <var>TEXMFSITE</var> should be enough, and the
- usage of <prgn>dpkg-divert</prgn> is discouraged.
+ <p>
+ The maintainer of the basic TeX package should be made aware
+ of the problem <footnote>A wishlist bug on the shadowing
+ package, blocked by an other wishlist bug on the basic TeX
+ package, can help tracking these issues.</footnote> The
+ package maintainer must make sure to follow new releases of
+ the basic TeX packages and not continue shadowing a file
+ that is newer than the version provided by the shadowing
+ package.
+ </p>
+
+ <p>
+ The package must make sure that the newer version is
+ backward-compatible, meaning it must not break compilation
+ of any TeX document, and it should not change the output
+ file. A change of the output file may be acceptable if an
+ obviously buggy behavior is corrected, <strong>and</strong>
+ if it had previously not been possible to easily fix this
+ behavior in user's documents (or if the updated package and
+ a possible fix in the document combined lead to a correct
+ document).
+ </p>
+
+ <p>
+ Installing more than two versions of a file will most likely
+ lead to confusion. Therefore, the possibility to shadow a
+ file once should be enough, and the usage of
+ <prgn>dpkg-divert</prgn> is discouraged.
+ </p>
+
+ </item>
+
+ </enumlist>
</p>
<p>
@@ -311,6 +358,12 @@
providing symlinks from subdirectories of that location to the
actual documentation files.
</p>
+
+ <p>
+ A package must not install files into (subdirectories of)
+ <file>/usr/share/texmf/doc</file>, which is a symbolic link to
+ <file>/usr/share/doc/texmf</file>.
+ </p>
<p>
The entry points for documentation should have names that
@@ -330,6 +383,28 @@
<chapt>
<heading>Configuration</heading>
<sect>
+ <heading>Configuration files</heading>
+ <p>
+ In a TeX system, in principle every TeX input file can be
+ changed to change the behavior of the system, and thus be
+ regarded as a configuration file. To prevent inflation of
+ configuration files, packages should not install any TeX input
+ files as conffiles or configuration files. Instead, they
+ should create an empty directory below
+ <file>/etc/texmf/tex</file> and advice users which files are
+ likely places for configuration. It is up to the local admin
+ or individual user to place changed copies in
+ <var>TEXMFSYSCONFIG</var> or <var>TEXMFCONFIG</var>,
+ respectively.
+ </p>
+ <p>
+ Note that other subdirectories of <file>/etc/texmf/</file>
+ are not searched for TeX input files and can be used by
+ packages for configuration files that are not TeX input
+ files.
+ </p>
+ </sect>
+ <sect>
<heading>Configuration update programs</heading>
<p>
@@ -674,6 +749,27 @@
<file>/var/lib/tex-common/language-cnf/</file> which should
have the name <file><var>package</var>.list</file>.
</p>
+ <p>
+ Calling update-language is *not* sufficient to be able to
+ use the new hyphenation patterns; instead the formats that
+ use it need to be regenerated. This can be done by running
+ <tt>fmtutil-sys --byhyphen `kpsewhich --progname=latex
+ language.dat`</tt>.
+ </p>
+ <p>
+ If a package that provides additional hyphenation patterns
+ is removed, it must make sure the formats are properly
+ recreated without it. With the "magic comment" mechanism,
+ this means to run <prgn>update-language</prgn> and
+ <tt>fmtutil-sys --byhyphen `kpsewhich --progname=latex
+ language.dat`</tt> in <file>postrm</file>
+ </p>
+ <p>
+ There is currently no mechanism (i.e., no
+ <prgn>update-language</prgn>) for automatic addition of
+ hyphenation patterns to formats that do not use the same
+ hyphenation configuration file as LaTeX.
+ </p>
</sect1>
<sect1>
@@ -697,6 +793,12 @@
entries and specifiy its location to <prgn>fmtutil</prgn> on
the command line, using the <tt>--cnffile</tt> switch.
</p>
+ <p>
+ Upon package removal, <prgn>update-fmtutil</prgn> must be
+ called in postrm, and the created formats and log files
+ should be removed from the directory specified by
+ <tt>`kpsewhich -var-value=TEXMFSYSVAR`/web2c</tt>.
+ </p>
</sect1>
</sect>
More information about the Pkg-tetex-commits
mailing list