[Debian-tex-commits] SVN pkg-tetex-web commit + diffs: r2437 - pkg-tetex-web/trunk

Frank Küster frank at alioth.debian.org
Thu Feb 8 11:50:12 CET 2007


Author: frank
Date: 2007-02-08 11:50:11 +0100 (Thu, 08 Feb 2007)
New Revision: 2437

Modified:
   pkg-tetex-web/trunk/TeX-configuration-on-Debian.pdf
   pkg-tetex-web/trunk/TeX-configuration-on-Debian.tex
Log:
somewhat finished TeX-configuration-on-Debian


Modified: pkg-tetex-web/trunk/TeX-configuration-on-Debian.pdf
===================================================================
(Binary files differ)

Modified: pkg-tetex-web/trunk/TeX-configuration-on-Debian.tex
===================================================================
--- pkg-tetex-web/trunk/TeX-configuration-on-Debian.tex	2007-02-06 17:07:07 UTC (rev 2436)
+++ pkg-tetex-web/trunk/TeX-configuration-on-Debian.tex	2007-02-08 10:50:11 UTC (rev 2437)
@@ -1,9 +1,10 @@
-\documentclass[smallheadings,draft,10pt]{scrartcl}
+\documentclass[% smallheadings,10pt,draft
+]{scrartcl}
 \usepackage[latin1]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage[english]{babel}
 \usepackage{lmodern}
-\typearea{13}
+\typearea{calc}
 \usepackage{hyperref}
 \usepackage{listings}
 \usepackage{color}
@@ -23,18 +24,20 @@
 % \twocolumn[{\csname @twocolumnfalse\endcsname
   \maketitle
   \begin{abstract}\noindent{}%
-  There are two questions with respect to configuration files which
-  have been raised over and over in Debian TeX packaging:  1. Which
-  files should be treated as configuration files and kept below
-  \file{/etc/texmf}?  2. Should the TeX packages make use of the
-  \var{TEXMFSYSCONFIG} tree?  This document tries to summarizes the
-  arguments that have been given in earlier discussions, in the hope
-  that it will help us to make a good decision for lenny, and serve as
-  a reference in the future when these issues come up again (and they
-  will\dots{}).
+    There are two questions with respect to configuration files which
+    have been raised over and over in Debian TeX packaging: 1. Which
+    files should be treated as configuration files and kept in the
+    hierarchy below \file{/etc/texmf}?  2. Should the TeX packages
+    make use of the \var{TEXMFSYSCONFIG} tree?  This document tries to
+    summarizes the arguments that have been given in earlier
+    discussions, in the hope that it will help us to make a good
+    decision for lenny, and serve as a reference in the future when
+    these issues come up again.
   \end{abstract}
 % }]
 
+\thispagestyle{empty}
+\enlargethispage{8\baselineskip}
 \tableofcontents{}
 
 \section{Which files should be treated as a configuration file?}
@@ -96,17 +99,17 @@
 
 
 
-\subsection{A survey of candidate files in TeX Live}
+\subsection{A survey of candidate files in \TeX{}Live}
 \label{sec:surv-cand-files}
 
 In order to get an overview about the number of files affected, I
 conducted an overview over the files that are possible candidates for
-configuration files
+configuration files.
 
+% \clearpage{}
 \subsubsection{Configuration files in current packages}
 \label{sec:conff-files-curr}
 
-
 \paragraph{tex-common}
 \label{sec:tex-common}
 
@@ -119,19 +122,23 @@
   and \file{/etc/texmf/texmf.d/*} (with \prog{ucf}).  No debate here,
   I guess; \file{mktex.cnf} affects the behavior of the font
   generation programs, namely the location of the font cache, and
-  without doubt contains a site-wide, document-independent setting.
+  without doubt contains a site-wide, document-independent
+  setting. 
 \end{sloppypar}
+Sum: 9 files, but only 2 in kpathsea-searched directories. 
 
+
 \paragraph{te\TeX}
 \label{sec:tetex}
 
-\pkg{tetex-base} installs files in \file{updmap.d}, \file{language.d}
-and \file{/etc/texdoctk/texdoctk.dat} -- this directory is accessible
-as \var{\$TEXMFDIST/texdoctk}, and contains also the
-\prog{ucf}-managed \file{texdocrc}.  \file{texdoctk.dat} is not in
-fact a configuration file, it depends on the contents of the
-\file{doc} hierarchies in the \var{TEXMF} trees, and should either be
-installed in \var{TEXMFDIST} or even be generated.
+\pkg{tetex-base} installs \file{/etc/texdoctk/texdoctk.dat} and
+configuration snippets in \file{updmap.d} and \file{language.d}.
+\file{/etc/texdoctk/} is accessible via a symlink in
+\var{\$TEXMFDIST}, and contains also the \prog{ucf}-managed
+\file{texdocrc}.  However, \file{texdoctk.dat} is not in fact a
+configuration file, it depends on the contents of the \file{doc}
+hierarchies in the \var{TEXMF} trees, and should either be installed
+in \var{TEXMFDIST} or even be generated.
 
 \pkg{tetex-bin} brings in an ucf-managed file in \file{fmt.d} plus
 \file{xdvi.cfg}, the latter handled with a symlink.
@@ -140,27 +147,34 @@
   files with extension \file{md5sum} in \file{/usr/share/tetex-extra}
   are a leftover and not actually used for \prog{ucf} handling.}
 
+Sum: 2 files in kpathsea-searched dirs, 4 other
+
 \paragraph{texlive}
 \label{sec:texlive}
 
-The \pkg{texlive} packages install files into \file{updmap.d},
-\file{fmt.d}, and \file{language.d}.  Additionally,
+The \pkg{texlive} packages install files into \file{language.d},
+\file{updmap.d}, and \file{fmt.d}.  Additionally,
 \pkg{texlive-base-bin} installs files into \file{/etc/texmf/texlive}.
 These are accessed from \var{TEXMFDIST} via symlinks and comprise
 \file{dvipdfm.cfg}, \file{texdocrc.defaults}, \file{xdvi.cfg}, and the
-following files in \file{/etc/texmf/texlive/dvips}: \texttt{}
-\begin{verbatim}
-config.bakoma   config.ibmvga       config.ot2             alt-rule.pro  epson.cfg  
-config.canonex  config.ljfour       config.ps              canonex.cfg   ibmvga.cfg 
-config.cms      config.luc          config.qms             cx.cfg        ljfour.cfg 
-config.cx       config.mbn          config.toshiba         deskjet.cfg   qms.cfg    
-config.deskjet  config.mga          config.unms            dfaxhigh.cfg  toshiba.cfg
-config.dvired   config.mirrorprint  config.xyp             dvired.cfg  
+following files in\\ \file{/etc/texmf/texlive/dvips}:
+
+\medskip{}
+\noindent{}\hspace*{-0.3cm}%
+\begin{tabular}{lllll}
+config.bakoma  & config.ibmvga      & config.ot2     & alt-rule.pro & epson.cfg   \\
+config.canonex & config.ljfour      & config.ps      & canonex.cfg  & ibmvga.cfg  \\
+config.cms     & config.luc         & config.qms     & cx.cfg       & ljfour.cfg  \\
+config.cx      & config.mbn         & config.toshiba & deskjet.cfg  & qms.cfg     \\
+config.deskjet & config.mga         & config.unms    & dfaxhigh.cfg & toshiba.cfg \\
+config.dvired  & config.mirrorprint & config.xyp     & dvired.cfg   &             \\
 config.epson
-\end{verbatim}
-%
-I'm not sure about the purpose or use of the \file{*.cfg} files.
+\end{tabular}
 
+I'm not sure about the purpose or use of the \file{*.cfg} files.  
+
+Sum: 34 files outside the \file{foo.d} directories.
+
 \subsubsection{Candidate configuration files}
 \label{sec:cand-conf-files}
 
@@ -189,7 +203,6 @@
   \file{listings.cfg}. You might want to change one of the following
   parameters.
 \end{quote}
-
 Those files that \emph{are} intended for configuration do in most
 cases affect document-specific settings, and do therefore not qualify
 as configuration files in the Debian sense.
@@ -200,7 +213,7 @@
 \subparagraph{TeX input files used at documentation creation time}
 \label{sec:tex-input-files}
 
-There are some files in the te\TeX{} and \TeX{} Live distributions
+There are some files in the te\TeX{} and \TeX{}Live distributions
 that have been changed by the distribution developer(s) compared to
 the versions on CTAN.  The most well-known example is
 \file{hyperref.cfg}.  It could be argued that if it makes sense to 
@@ -226,19 +239,20 @@
 First of all, modifying \file{texsys.cfg} doesn't make sense on a
 Debian system, the path searching works well.  Second, changing the
 font setup (or hyphenation with \file{hyphen.cfg} instead of the files
-in \file{language.d}, shiver) leads to an unsupported ``\LaTeX{}''
-format and should be very much discouraged; and for anyone who is able
-to do it, it's easy to create a new renamed format instead.
+in \file{language.d}, shiver\dots{}) leads to an unsupported
+``\LaTeX{}'' format and should be very much discouraged; and for
+anyone who is able to do it, it's easy to create a new renamed format
+instead.
 
-On the other hand, files that are read by a particular engine, like
-\file{pdftexconfig.tex}, are a different thing.
-\file{pdftexconfig.tex} contains the settings for the PDF paper size
-(and the default compression) and to me seems to be a configuration
-file for pdfTeX.
+On the other hand, files like \file{pdftexconfig.tex} that are read by
+a particular engine are a different thing.  \file{pdftexconfig.tex}
+contains the settings for the PDF paper size (and the default
+compression) and to me seems to be a configuration file for pdfTeX.
+Furthermore, it is handled by \prog{texconfig-sys}.
 
 
 
-\subsection{A proposal: Listening to upstream}
+\subsection[\textbf{A proposal:} Listening to upstream]{A proposal: Listening to upstream}
 \label{sec:proposal}
 
 \colorbox{yellow}{%
@@ -259,12 +273,13 @@
 With the files that are handled by \prog{texconfig-sys} and other
 scripts, we hardly have any choice, because these tools will create
 copies in TEXMFSYSCONFIG, anyway, if there isn't already one -- except
-if we would decide to no longer support TEXMFSYSCONFIG.
+if we would decide to no longer support TEXMFSYSCONFIG, and patch the
+scripts accordingly.
 
 Because of our setup with \file{\{fmt,updmap,language\}.d}, files
-handled by \prog{fmtutil-sys} and \prog{updmap-sys} are already
-covered, and we only need to care about \prog{texconfig-sys}.  It is
-able to handle the following files:
+normally handled by \prog{fmtutil-sys} and \prog{updmap-sys} are
+already covered, and we only need to care about \prog{texconfig-sys}.
+It is able to handle the following files:
 \begin{verbatim}
 TEXMF/tex/generic/config/pdftexconfig.tex
 TEXMF/web2c/mktex.cnf
@@ -287,76 +302,133 @@
 can be processed to different formats and with different engines
 without changing the source.
 
-However, instead of making all those files configuration files, we
-can also consider an alternative approach:  All of them could read a
+However, instead of making all those files configuration files, we can
+also consider an alternative approach: All of them could read a
 central configuration file in which the site admin can specify the
 defaults they prefer, in particular for DVI\footnote{Does Xe\TeX{}
-  introduce additional options here?}.  We should ask Heiko on his
-opinion about this.
+  introduce additional options here?}.  We should ask Heiko Oberdiek
+and Martin Schröder on his opinion about this.
 
-\prog{grep}ping through \file{TeXLive/Master/texmf-dist/tex} yields a
-lot of files which contain the string \texttt{pdfoutput}.  Among
-these, I assume that only files in \file{generic} and \file{latex} are
-interesting (the others are \file{*.ini} files or ConTeXt files).
-Furthermore, in most cases the current usage of \verb|\pdfoutput| is
-probably a bug, anyway, in particular in not-so-well maintained
-specialized \LaTeX{} classes. 
+\prog{grep}ping through \file{Master/texmf\{,-dist\}/tex} in \TeX{}Live 2007
+yields a lot of files which contain the string \texttt{pdfoutput}.
+Among these, I assume that only files in \file{generic} and
+\file{latex} are interesting (the others are \file{*.ini} files or
+ConTeXt files).  Furthermore, in most cases the current usage of
+\verb|\pdfoutput| is probably a bug, anyway, in particular in
+not-so-well maintained specialized \LaTeX{} classes.
 
+Here's a list of upstream-declared configuration files which  interact
+with the system/select drivers:
+\begin{verbatim}
+latex/pict2e/pict2e.cfg
+latex/contour/contour.cfg
+texmf/tex/latex/config/color.cfg
+texmf/tex/latex/config/graphics.cfg
+texmf/tex/latex/config/hyperref.cfg
+\end{verbatim}
+
 These files use \verb|\pdfoutput| in an attempt to detect the
 driver/output format and could use our central configuration file:
 
 \begin{verbatim}
-latex/pict2e/pict2e.cfg
 latex/crop/crop.sty
 latex/geometry/geometry.sty
 \end{verbatim}
 
+(Actually, there was a geometry.cfg in \TeX{}Live 2005, but it was
+removed because it contained only autogenerated comments).
 
-This is a list of files that contain the string \texttt{pdfoutput},
-but which I guess are probably just buggy users, and not conffile
-candidates even if correct, anyway.
+\subsubsection{Consequences}
+\label{sec:consequences}
 
-\begin{verbatim}
-latex/IEEEtran/IEEEtran.cls
-latex/hepparticles/hepparticles.sty
-latex/teubner/teubner.sty
-latex/scientificpaper/science.sty
-latex/mla-paper/mla.sty
-latex/fmp/fmp.sty
-latex/hc/hcart.cls
-latex/hc/hcreport.cls
-latex/hc/hcslides.cls
-latex/iso/isov2.cls
-latex/pgf/utilities/pgfwriteexternal.sty
+Including possible configuration files for \file{crop.sty} and
+\file{geometry.sty}, this would give 7 additional configuration files,
+compared to 43 in a current \TeX{}Live system -- not a large
+increase.  The list in the appendix contains 10 more packages that
+could possibly profit from configurable driver detections.  However,
+since this requires upstream changes, I think we will only include
+these if there's going to be a central ``divps or dvipdfm''
+configuration file.
 
-\end{verbatim}
+\section{Should we use the \var{TEXMFSYSCONFIG} tree?}
+\label{sec:should-we-use}
 
-These files seem to (in some cases I have checked it) use
-\verb|\pdfoutput| as intended by the pdfTeX developers, so there's no
-need to treat them as a configuration file \footnote{A surprising
-  number, however, does it wrong and uses
-  \textbackslash{}@ifundefined. This has the consequence that it's
-  impossible to detect whether pdfTeX is used with this primitive
-  later on.}.
+This question can be divided in two parts:
+\begin{enumerate}
+\item Should \pkg{tex-common} provide support for the
+  \var{TEXMFSYSCONFIG} tree?
+\item Should configuration files of the Basic \TeX{} Packages, or of
+  any \TeX{} package, be installed in this tree?  Or instead, should
+  they be installed in a subdirectory
+  \file{/etc/texmf/}\pkg{<package>}, with symlinks from the
+  \var{TEXMFDIST} or \var{TEXMFMAIN} trees pointing to them?
+\end{enumerate}
 
-\begin{verbatim}
-generic/context/mptopdf.tex
-generic/mfpic/mfpic.tex
-generic/oberdiek/ifpdf.sty
-generic/oberdiek/pdfcrypt.sty
-latex/cyrillic/ot2wncyr.fd
-latex/cyrillic/ot2wncyss.fd
-latex/cyrillic/ot2wlcyss.fd
-latex/cyrillic/ot2wlcyr.fd
-latex/juramisc/jurabook.cls
-latex/leaflet/leaflet.cls
-latex/microtype/microtype.sty
-latex/hyperref/hpdftex.def
-latex/hyperref/hyperref.sty
-latex/pdfcprot/pdfcprot.sty
-latex/cmap/cmap.sty
-\end{verbatim}
+The first questions seems to be settled and undisputed, the answer is
+``yes''.  The second one is currently under debate (see
+\url{http://bugs.debian.org/403026}).  However, the reasons given in
+earlier discussions for supporting \var{TEXMFSYSCONFIG} also affect
+the decision about using it.
 
+\subsection{Reasons for supporting \var{TEXMFSYSCONFIG}}
+\label{sec:reasons-supporting-}
+
+\begin{itemize}
+\item no patching of upstream scripts needed
+
+\item less user-visible differences to upstream
+
+\item why use complicated ways to achieve what upstream already
+  supports (namely, configuration files in /etc)?
+
+\item We do it in etch, changing that would be a pain
+\end{itemize}
+
+\subsection{Arguments for per-package directories and symlinks}
+\label{sec:argum-per-pack}
+
+\begin{itemize}
+\item No moving around necessary
+\end{itemize}
+
+
+\subsection{Arguments for installing conffiles in TEXMFSYSCONFIG}
+\label{sec:argum-inst-conff}
+
+\enlargethispage{3\baselineskip}\thispagestyle{empty}
+\begin{itemize}
+\item It's the logical, simple solution and uses upstream's provided
+  facilities for conffiles
+\item If users install files in their ``ordinary'' locations below
+  \var{TEXMFSYSCONFIG}, these will override the copies in
+  \file{/etc/texmf/texlive}, although these are also in
+  \var{TEXMFSYSCONFIG}, and it needs a kpathsea expert to know the
+  difference.
+
+  This is bound to become a source of confusion: People use texconfig
+  once, but manually manipulate the symlink-managed files later, and
+  are surprised that the manual change to a file below
+  /etc/texmf/texlive doesn't have any effect.
+\end{itemize}
+
+I think the clean method for coexistence of two \TeX{} systems is to
+use separate \var{TEXMFSYSCONFIG} trees,
+e.\,g. \file{/etc/texmf-texlive/} and \file{/etc/texmf-miktex/}.
+
+
+\clearpage{}
+\appendix{}
+\part{Appendix}
+
+\section{Files that use \textbackslash\texttt{pdfoutput}}
+\label{sec:files-that-use}
+
+From my grepping through \file{Master}, here's an overview of
+non-configuration files using \verb|\pdfoutput|
+
+\subsection{Possible (wishlist/normal) bugs}
+\label{sec:poss-wishl-bugs}
+
 These files try to detect the output format and have a hardcoded
 switch to \texttt{dvips} - they are not configuration files, but could
 be enhanced to load one instead.  Some of the checks are not ideal.
@@ -370,98 +442,108 @@
 \end{verbatim}
 
 Hardcoded options for \verb|\RequirePackage|, or restricts things to
-PDF/DVI output that shouldn't be:
+PDF/DVI output that probably shouldn't be:
 
 \begin{verbatim}
 latex/ifmslide/ifmslide.sty
 latex/base/ltnews.cls
 latex/breakurl/breakurl.sty
+latex/ucs/ucshyper.sty
+latex/iso10303/stepman.tex
 \end{verbatim}
 
 Could use a driver/output format detection, but in fact requires
-driver options and only uses \verb|\pdfoutput| for checking:
+driver options and only uses \verb|\pdfoutput| for safety checking:
 
 \begin{verbatim}
 latex/changebar/changebar.sty
-
 \end{verbatim}
 
-False positives (\texttt{pdfoutput} only in comment etc.):
+These files contain the string \texttt{pdfoutput}, and there's
+indication that they might use it inappropriately (e.\,.g. assuming
+that we're producing PDF when it is defined).
+
 \begin{verbatim}
-latex/ppower4/texpause.sty
-
+latex/IEEEtran/IEEEtran.cls
+latex/hepparticles/hepparticles.sty
+latex/teubner/teubner.sty
+latex/scientificpaper/science.sty
+latex/mla-paper/mla.sty
+latex/fmp/fmp.sty
+latex/hc/hcart.cls
+latex/hc/hcreport.cls
+latex/hc/hcslides.cls
+latex/iso/isov2.cls
+latex/pgf/utilities/pgfwriteexternal.sty
+latex/beamer/emulation/beamerprosper.sty
+latex/sciposter/sciposter.cls
+latex/pbsheet/pbsheet.cls
+latex/pracjourn/pracjourn.cls
+latex/hepthesis/hepthesis.cls
 \end{verbatim}
 
-unchecked
+\subsection{Generally okay, but check for side effects}
+\label{sec:generally-okay-but}
+
+These files seem to (in some cases I have checked it) use
+\verb|\pdfoutput| as intended by the pdfTeX developers\footnote{A
+  surprising number, however, does it wrong AFAIK (am I right?) and
+  uses \textbackslash{}\texttt{@ifundefined} without any
+  grouping. This has the consequence that it's impossible to detect
+  whether pdf\TeX{} is used with this primitive later on.}.
+
 \begin{verbatim}
+generic/context/mptopdf.tex
+generic/mfpic/mfpic.tex
+generic/oberdiek/ifpdf.sty
+generic/oberdiek/pdfcrypt.sty
+latex/cyrillic/ot2wncyr.fd
+latex/cyrillic/ot2wncyss.fd
+latex/cyrillic/ot2wlcyss.fd
+latex/cyrillic/ot2wlcyr.fd
+latex/juramisc/jurabook.cls
+latex/leaflet/leaflet.cls
+latex/microtype/microtype.sty
+latex/hyperref/hpdftex.def
+latex/hyperref/hyperref.sty
+latex/pdfcprot/pdfcprot.sty
+latex/cmap/cmap.sty
 latex/listings/lstdoc.sty
 latex/oberdiek/pdflscape.sty
 latex/oberdiek/bmpsize-test.tex
-latex/beamer/emulation/beamerprosper.sty
 latex/beamer/multimedia/multimedia.sty
 latex/beamer/beamer.cls
-latex/sciposter/sciposter.cls
-latex/pbsheet/pbsheet.cls
 latex/pdfpages/pdfpages.sty
 latex/pdfpages/pppdftex.def
 latex/memoir/memoir.cls
-latex/ucs/ucshyper.sty
-latex/iso10303/stepman.tex
 latex/koma-script/scrkbase.sty
 latex/petri-nets/pndraw.sty
-latex/contour/contour.cfg
-latex/sugconf/sugconf.cls
 latex/texpower/fixseminar.sty
 latex/texpower/texpower.sty
 latex/pdftex-def/pdftex.def
 latex/preview/preview.sty
 latex/preview/prtightpage.def
 latex/latexconfig/latex.ini
-latex/pracjourn/pracjourn.cls
-latex/hepthesis/hepthesis.cls
 latex/stellenbosch/usthesis.cls
 latex/vpe/vpe.sty
 latex/marginnote/marginnote.sty
 latex/pst-pdf/pst-pdf.sty
 \end{verbatim}
 
+\subsection{No problem at all}
+\label{sec:no-problem-at}
 
-\section{Should we use the \var{TEXMFSYSCONFIG} tree?}
-\label{sec:should-we-use}
+False positives (\texttt{pdfoutput} only in comment etc.):
+\begin{verbatim}
+latex/ppower4/texpause.sty
+latex/sugconf/sugconf.cls
+\end{verbatim}
 
-This question can be divided in two parts:
-\begin{enumerate}
-\item Should \pkg{tex-common} provide support for the
-  \var{TEXMFSYSCONFIG} tree?
-\item Should configuration files of the Basic \TeX{} Packages, or of
-  any \TeX{} package, be installed in this tree?  Or instead, should
-  they be installed in a subdirectory
-  \file{/etc/texmf/}\pkg{<package>}, with symlinks from the
-  \var{TEXMFDIST} or \var{TEXMFMAIN} trees pointing to them?
-\end{enumerate}
 
-The first questions seems to be settled and undisputed, the answer is
-``yes''.  The second one is currently under debate (see
-\url{http://bugs.debian.org/403026}).  However, the reasons given in
-earlier discussions for supporting \var{TEXMFSYSCONFIG} also affect
-the decision about using it.
 
-\subsection{Reasons for supporting \var{TEXMFSYSCONFIG}}
-\label{sec:reasons-supporting-}
 
-\subsection{Arguments for per-package directories and symlinks}
-\label{sec:argum-per-pack}
 
-\subsection{Arguments for installing conffilesin TEXMFSYSCONFIG}
-\label{sec:argum-inst-conff}
 
-
-
-
-
-
-
-
 \end{document}
 
 %%% Local Variables: 




More information about the Debian-tex-commits mailing list