diff options
author | Norbert Preining <preining@logic.at> | 2009-09-15 18:56:50 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2009-09-15 18:56:50 +0000 |
commit | 995770ec5a02a4379ee49acbad1ce091601f7203 (patch) | |
tree | 1d78cb5bf9ab257c8c5d66ceb3127337fbd4b0b3 /Master/tlpkg/doc/articles/bachotex08 | |
parent | 29b6bc51ba93d568c16f16e04fbc509653d85241 (diff) |
rework tlpkg/doc and tlpkg/dev layout
git-svn-id: svn://tug.org/texlive/trunk@15301 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/doc/articles/bachotex08')
-rw-r--r-- | Master/tlpkg/doc/articles/bachotex08/install08gui.png | bin | 0 -> 37605 bytes | |||
-rw-r--r-- | Master/tlpkg/doc/articles/bachotex08/install08text.pdf | bin | 0 -> 9045 bytes | |||
-rw-r--r-- | Master/tlpkg/doc/articles/bachotex08/install08text.tex | 51 | ||||
-rw-r--r-- | Master/tlpkg/doc/articles/bachotex08/tlinst-BT08-abstract.pdf | bin | 0 -> 159116 bytes | |||
-rw-r--r-- | Master/tlpkg/doc/articles/bachotex08/tlinst-BT08-abstract.tex | 105 | ||||
-rw-r--r-- | Master/tlpkg/doc/articles/bachotex08/tlinst-BT08.pdf | bin | 0 -> 350633 bytes | |||
-rw-r--r-- | Master/tlpkg/doc/articles/bachotex08/tlinst-BT08.tex | 274 |
7 files changed, 430 insertions, 0 deletions
diff --git a/Master/tlpkg/doc/articles/bachotex08/install08gui.png b/Master/tlpkg/doc/articles/bachotex08/install08gui.png Binary files differnew file mode 100644 index 00000000000..44895895d96 --- /dev/null +++ b/Master/tlpkg/doc/articles/bachotex08/install08gui.png diff --git a/Master/tlpkg/doc/articles/bachotex08/install08text.pdf b/Master/tlpkg/doc/articles/bachotex08/install08text.pdf Binary files differnew file mode 100644 index 00000000000..639551f96a3 --- /dev/null +++ b/Master/tlpkg/doc/articles/bachotex08/install08text.pdf diff --git a/Master/tlpkg/doc/articles/bachotex08/install08text.tex b/Master/tlpkg/doc/articles/bachotex08/install08text.tex new file mode 100644 index 00000000000..8fd709ec88f --- /dev/null +++ b/Master/tlpkg/doc/articles/bachotex08/install08text.tex @@ -0,0 +1,51 @@ +\documentclass{article} +\pagestyle{empty} +\parindent 0pt +\begin{document} +\tiny +\begin{verbatim} +=================> TeX Live installation procedure <================ + +==> Note: Letters/digits in <angle brackets> indicate menu items <== +==> for commands or configurable options <== + + Proposed platform: Intel x86_64 with GNU/Linux + + <B> binary systems: 1 out of 15 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1426 MB + + <D> directories: + TEXDIR (The main TeX directory): + /usr/local/texlive/2008 + TEXMFLOCAL (Directory for local styles etc): + /usr/local/texlive/texmf-local + TEXMFSYSVAR (Directory for local config): + /usr/local/texlive/2008/texmf-var + + <O> options: + [ ] use letter size instead of A4 by default + [ ] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + +Other options: +==================================================================== + <I> start installation + <H> help + <Q> quit + +Enter command: +\end{verbatim} +\end{document} + +latex install08text.tex +dvips -E install08text.dvi +epstopdf install08text.ps + diff --git a/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08-abstract.pdf b/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08-abstract.pdf Binary files differnew file mode 100644 index 00000000000..9a6cb330025 --- /dev/null +++ b/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08-abstract.pdf diff --git a/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08-abstract.tex b/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08-abstract.tex new file mode 100644 index 00000000000..7eb25f58bcc --- /dev/null +++ b/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08-abstract.tex @@ -0,0 +1,105 @@ +% +% A new installer for TeX Live +% Norbert Preining, Reinhard Kotucha, Siep Kroonenberg +% Article presented on the 16th BachoTeX meeting, Bachotek ?? May 2008 +% +% Copyright 2007 Norbert Preining at al. +% You can redistribute and/or modify this document under the terms of the +% GNU General Public License as published by the Free Software Foundation; +% either version 2 of the License, or (at your option) any later version. +% +%\documentclass{arstexnica} +\documentclass{ltugproc} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[english]{babel} +\usepackage{graphicx} +\usepackage{fancyvrb} +\usepackage{url} +\usepackage{marvosym} +\usepackage{listings} +\lstset{frame=lines,basicstyle=\ttfamily,showspaces=true,prebreak={\Righttorque},postbreak={\Lefttorque},breaklines} +\usepackage{microtype} + +\usepackage{hyperref} % should be loaded last because it patches other + % packages. + +\newcommand{\tl}{\TeX~Live} +\newcommand{\ctan}{CTAN} +\newcommand{\tpm}{\texttt{tpm}} +\newcommand{\tpms}{\tpm{}s} +\newcommand{\tlpsrc}{\texttt{tlpsrc}} +\newcommand{\tlpsrcs}{\tlpsrc{}s} +\newcommand{\tlpobj}{\texttt{tlpobj}} +\newcommand{\tlpobjs}{\tlpobj{}s} +\newcommand{\tlpdb}{\texttt{tlpdb}} +\newcommand{\tlpdbs}{\tlpdb{}s} + +\hypersetup{pdftitle={A new installer for \tl}, + pdfauthor={R. Kotucha, S. Kroonenberg, N. Preining}, + pdfsubject={A new installer for \tl}, + pdfkeywords={TeX Live, installer, ...}} + +\hyphenation{infra-struc-ture} + +%\catcode`>=\active +%\def>#1<{\texttt{#1}} +\DefineShortVerb{\|} +\begin{document} +%\begin{article} +%\selectlanguage{italian}% + +\title{A new installer for \tl}%%%\thanks{% +% Article presented on the 16th Bacho\TeX meeting, Bachotek ?? May 2008}} + +\author{Reinhard Kotucha} +\address{Marschnerstr.~25\\ + 30167~Hannover, Germany} +\netaddress{reinhard.kotucha@web.de} + +\author{Siep Kroonenberg} +\address{Rijksuniversiteit Groningen\\ + Department of Economics\\ + P.O.~Box~800\\ + 9700~AV~Groningen, the Netherlands} +\netaddress{siepo@cybercomm.nl} + +\author{Norbert Preining} +\address{Vienna University of Technology\\ + Wiedner Hauptstr.\ 10\\ + 1040 Wien, Austria} +\netaddress{preining@logic.at} + + +\begin{abstract} + \tl\ has a new package infrastructure, primarily developed by + Norbert Preining, and inspired by the Debian/Linux packaging + system. + + We shall present a new \tl\ installer, based on the new package + infrastructure. It includes a text based as well a graphical user + interface. Among other new features, installing \tl\ from the + internet is now possible. It should work on all platforms + supported by \tl. +\end{abstract} + +\maketitle + +\end{document} +% +% does not work in normal arstexnika mode, needs standalone, I leave +% this up to the editors +%\tableofcontents + +\section{Introduction} +\label{sec:intro} + +%\bibliographystyle{arstexnica} +%\bibliography{atsample} + +\end{article} + +\end{document} + + diff --git a/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08.pdf b/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08.pdf Binary files differnew file mode 100644 index 00000000000..b9b9f40db19 --- /dev/null +++ b/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08.pdf diff --git a/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08.tex b/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08.tex new file mode 100644 index 00000000000..437df118280 --- /dev/null +++ b/Master/tlpkg/doc/articles/bachotex08/tlinst-BT08.tex @@ -0,0 +1,274 @@ +% +% A new installer for TeX Live +% Norbert Preining, Reinhard Kotucha, Siep Kroonenberg +% Article presented on the 16th BachoTeX meeting, Bachotek ?? May 2008 +% +% Copyright 2007 Norbert Preining at al. +% You can redistribute and/or modify this document under the terms of the +% GNU General Public License as published by the Free Software Foundation; +% either version 2 of the License, or (at your option) any later version. +% +%\documentclass{arstexnica} +\documentclass{ltugproc} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{lmodern} +\usepackage[english]{babel} +\usepackage{graphicx} +\usepackage{fancyvrb} +\usepackage{url} +\usepackage{marvosym} +\usepackage{listings} +\lstset{frame=lines,basicstyle=\ttfamily,showspaces=true,prebreak={\Righttorque},postbreak={\Lefttorque},breaklines} +\usepackage{microtype} + +\usepackage{hyperref} % should be loaded last because it patches other + % packages. + +\newcommand{\tl}{\TeX~Live} +\newcommand{\ctan}{CTAN} +\newcommand{\tpm}{\texttt{tpm}} +\newcommand{\tpms}{\tpm{}s} +\newcommand{\tlpsrc}{\texttt{tlpsrc}} +\newcommand{\tlpsrcs}{\tlpsrc{}s} +\newcommand{\tlpobj}{\texttt{tlpobj}} +\newcommand{\tlpobjs}{\tlpobj{}s} +\newcommand{\tlpdb}{\texttt{tlpdb}} +\newcommand{\tlpdbs}{\tlpdb{}s} + +\newcommand{\pl}{Perl} +\newcommand{\gs}{Ghostscript} +\newcommand{\tlu}{\texttt{texlua}} +\newcommand{\kpse}{\texttt{kpathsea}} + +% from l2tabuen: +\tolerance 1414 +\hbadness 1414 +\emergencystretch 1.5em +\hfuzz 0.3pt +%\widowpenalty -10000 +\vfuzz \hfuzz +%\raggedbottom + + +\setcounter{topnumber}{4} +\setcounter{bottomnumber}{4} +\setcounter{totalnumber}{10} +\renewcommand{\textfraction}{0.15} +\renewcommand{\topfraction}{0.85} +\renewcommand{\bottomfraction}{0.70} +\renewcommand{\floatpagefraction}{0.66} + + +\hypersetup{pdftitle={A new installer for \tl}, + pdfauthor={R. Kotucha, S. Kroonenberg, N. Preining}, + pdfsubject={A new installer for \tl}, + pdfkeywords={TeX Live, installer, ...}} + +\hyphenation{infra-struc-ture} + +%\catcode`>=\active +%\def>#1<{\texttt{#1}} +\DefineShortVerb{\|} +\begin{document} +%\begin{article} +%\selectlanguage{italian}% + +\title{A new installer for \tl}%%%\thanks{% +% Article presented on the 16th Bacho\TeX meeting, Bachotek ?? May 2008}} + +\author{Reinhard Kotucha} +\address{Marschnerstr.~25\\ + 30167~Hannover, Germany} +\netaddress{reinhard.kotucha@web.de} + +\author{Siep Kroonenberg} +\address{Rijksuniversiteit Groningen\\ + Department of Economics\\ + P.O.~Box~800\\ + 9700~AV~Groningen, the Netherlands} +\netaddress{siepo@cybercomm.nl} + +\author{Norbert Preining} +\address{Vienna University of Technology\\ + Wiedner Hauptstr.\ 10\\ + 1040 Wien, Austria} +\netaddress{preining@logic.at} + + +\begin{abstract} + \tl\ has a new package infrastructure, primarily developed by + Norbert Preining, and inspired by the Debian GNU/Linux packaging + system. + + We shall present a new \tl\ installer, based on the new package + infrastructure. It includes a text based as well a graphical user + interface. Among other new features, installing \tl\ from the + Internet is now possible. It should work on all platforms + supported by \tl. +\end{abstract} + +\maketitle + +% +% does not work in normal arstexnika mode, needs standalone, I leave +% this up to the editors +%\tableofcontents + +\section{Introduction} +\label{sec:intro} + +In this paper we introduce the new \tl\ installer. Its creation was +necessitated by the new package infrastructure, which is described +elsewhere in these proceedings. + +However, there is more news, also from a user's point of view. In +particular: +\begin{itemize} +\item It will be possible to install \tl\ from the Internet. +\item The Windows version is much more in line with Unix versions. +\item There is just one installer, which can run either in text + mode, emulating the former install-tl.sh shell script, + or in GUI mode, emulating the former tlpmgui. +\end{itemize} + +\begin{figure}[htb] + \centering + \resizebox{\columnwidth}{!}{\includegraphics{install08text}} + \caption{Main menu of the text mode installer} + \label{fig:text_main_menu} +\end{figure} + +\section{\tlu} +\label{sec:texlua} + +Nowadays \TeX{} contains a customized copy of Lua as embedded +scripting language. When called as \tlu, it acts as a standalone Lua +interpreter, customized for a \TeX{} environment. This is a very +attractive scripting solution: +\begin{itemize} +\item no version worries: \tlu{} scripts should simply match the + \TeX{} version they are part of. +\item \tlu{} has \kpse\ compiled in. In a \tlu{} script \kpse{} + file searching happens within the same process, which can speed + things up a lot. +\item An embedded scripting language is immune from the kind of + bloat suffered by popular scripting languages such as \pl{} and + Ruby. +\end{itemize} +Under Windows, the |.texlua| extension is made an executable file +type. + +\section{Install \tl\ from the Internet} +\label{sec:internet} + +It is now possible to install \tl\ from a remote server. Thanks to +the new infrastructure, the package database which tells the +installer which packages have to be downloaded and how to install +them, is a single file. + +Two installers for network downloads are provided. +|install-tl-unx.tar.gz.| supports Unix only. |install-tl.zip| +additionally contains a small subset of \pl\ for Windows which is +required to bootstrap the system. The latter works on all platforms +supported by \tl. The sole reason for providing a separate package +for Unix is its significantly smaller size. + + +\section{A new compression Algorithm} +\label{sec:lzma} + +Using |.tar.lzma| compression instead of |.zip| reduces the size of the +compressed packages by 20\%. It cannot be assumed that |lzma| +decompressors are available on any platform, hence they have to be +provided for all platforms supported by \tl. Fortunately there is a +program `|lzmadec|' available for all platforms. The size of the +executable file is only 12\,kB. + +\section{Bringing Windows in line with Unix} + +\tl\ 2008 supports Windows 2000 and later. By dropping older Windows +versions, there is much less need to treat Windows specially. + +\subsection{\texttt{\$HOME} and multi-user support} +Under Windows 2000 and later, users have a real home directory, +viz. \verb+%USERPROFILE%+, usually +\verb+C:\Documents and Settings\+\textit{username}. + +This is now reflected in tilde expansion by \kpse, thanks to Karl +Berry: \verb+~/texmf+ is expanded to \verb+%USERPROFILE%\texmf+ +under Windows and to \verb+$HOME/texmf+ under Unix. + +It is also possible to differentiate between system settings and +user settings. Now there is no reason any more to have a different +set of \texttt{texmf} trees or to leave out scripts such as +\texttt{fmtutil-sys} and \texttt{updmap-sys}. It also shares the +Unix \texttt{texmf.cnf}. + +\subsection{Scripting} +We cannot count on the presence of the usual Unix scripting +languages. We deal with this by including a limited subset of \pl{} +for Windows, which contains just enough modules to run the installer +and the \pl{} scripts which are part of \tl. + +To prevent interference with any pre-existing \pl, we make it +invisible to the system by not placing it on the searchpath and by +not creating or changing any \pl-related settings. Instead, the +\tl\ \pl\ scripts are called via wrapper scripts that know how to +find Perl and that create the environment variables it needs for the +duration of the job. In the case of the installer itself, the +wrapper is a simple batchfile (but not so simple that it would have +worked under earlier Windows versions). But in most cases, the +wrapper is written in \tlu; see section \ref{sec:texlua}. + +Most likely, there won't be a Bourne-compatible shell either. But in +the new \tl, most shell scripts have been replaced by \pl- and +\tlu{} scripts, which also work under Windows. So we just about got +rid of \texttt{.exe} files replacing Unix scripts. + +\subsection{\gs} + +\tl{} for Windows also includes a hidden copy of \gs, another +fixture of Unix systems that is usually absent from Windows. The +most important batch files provided by \gs\ have been ported to +\tlu{}, see \ref{sec:texlua}. + +\begin{figure*}[htb] + \centering + \resizebox{\textwidth}{!}{\includegraphics{install08gui}} + \caption{The main menu of the GUI installer} + \label{fig:gui_main_menu} +\end{figure*} + +\section{Testing with virtual machines} +We do much of our testing with virtual machines. With programs such +as VirtualBox or VMware you can run a guest operating system as a +program inside a host operating system. + +Even if host and guest are the same operating system, it is a huge +advantage that the host will be unaffected, and that the guest is +free from the idiosyncrasies of the host. + +Normally, the filesystem of the guest is on a virtual disk, which is +a very large file on the host system. An installation can simply be +reverted by making a fresh copy from backup of this very large file. + +The guest can access the \tl{} files via e.g. a shared folder or +Samba, using a virtual network interface. An Internet install can be +simulated with a webserver or ftp server on the host, also via a +virtual network interface. These server programs can simply use the +\tl{} working copy. + +\newpage +\begin{thebibliography}{1} +\bibitem{PreiBT08} Norbert \textsc{Preining} +\newblock \emph{The new \TeX~Live Infrastructure and Installer} +Talk held at Bacho\TeX\,2008. +\end{thebibliography} + +%\bibliographystyle{arstexnica} +%\bibliography{atsample} + +%\end{article} + +\end{document} |