summaryrefslogtreecommitdiff
path: root/Master/tlpkg/doc/cstug08
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-12-13 17:34:53 +0000
committerNorbert Preining <preining@logic.at>2008-12-13 17:34:53 +0000
commite9a333df1b0667cd9be6fc9e4bd5062c8d2575b3 (patch)
treee35019b2ccf41865e58fcc9ab6c9e04fe9a55460 /Master/tlpkg/doc/cstug08
parent835a7fedd0e16750e278f59887521123bb9163f4 (diff)
add source code and pdf of talk at the CSTUG 2008 meeting
git-svn-id: svn://tug.org/texlive/trunk@11606 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/doc/cstug08')
-rw-r--r--Master/tlpkg/doc/cstug08/berry.jpgbin0 -> 63834 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/cstug08.pdfbin0 -> 1110453 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/cstug08.tex975
-rw-r--r--Master/tlpkg/doc/cstug08/dviout.pngbin0 -> 25441 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/gui-collections.pngbin0 -> 71770 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/gui-installer.pngbin0 -> 127394 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/gui-lang.pngbin0 -> 60229 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/gui-scheme.pngbin0 -> 22217 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/gui-systems.pngbin0 -> 29332 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/install-directory.pngbin0 -> 51165 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/install-options.pngbin0 -> 12154 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/install08text-crop.pdfbin0 -> 15658 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/psview.pngbin0 -> 10129 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/rahtz.pngbin0 -> 160013 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/start_impressive.sh4
-rw-r--r--Master/tlpkg/doc/cstug08/talk-bacho08.tex493
-rw-r--r--Master/tlpkg/doc/cstug08/talk-guit2008.tex311
-rw-r--r--Master/tlpkg/doc/cstug08/texcollection2008-large.pngbin0 -> 90636 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/texlive2008-logo-2.pngbin0 -> 60001 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/tlmgrgui-update.pngbin0 -> 46119 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/update-tlmgr-finish.pngbin0 -> 9530 bytes
-rw-r--r--Master/tlpkg/doc/cstug08/update-tlmgr-w32.pngbin0 -> 8551 bytes
22 files changed, 1783 insertions, 0 deletions
diff --git a/Master/tlpkg/doc/cstug08/berry.jpg b/Master/tlpkg/doc/cstug08/berry.jpg
new file mode 100644
index 00000000000..27b5b574899
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/berry.jpg
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/cstug08.pdf b/Master/tlpkg/doc/cstug08/cstug08.pdf
new file mode 100644
index 00000000000..9170e643af9
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/cstug08.pdf
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/cstug08.tex b/Master/tlpkg/doc/cstug08/cstug08.tex
new file mode 100644
index 00000000000..411ef6dfcf8
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/cstug08.tex
@@ -0,0 +1,975 @@
+\documentclass{beamer}
+\usefonttheme{serif}
+\usefonttheme{professionalfonts}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{hhline,bm,xspace,url}
+\usepackage[expert,seriftt]{lucidabr}
+\renewcommand{\rmdefault}{hlhj}
+\usepackage{fancyvrb}
+\usepackage{url,xcolor,ctable}
+\usepackage{marvosym}
+\usepackage{tikz}
+\usepackage{listings}
+\lstset{frame=lines,basicstyle=\ttfamily,showspaces=true,prebreak={\Righttorque},postbreak={\Lefttorque},breaklines}
+\newcommand{\tl}{\TeX~Live}
+\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{\tlmgr}{\tl~Manager}
+\newcommand{\acro}[1]{\textsc{\MakeLowercase{#1}}}
+\newcommand{\ctan}{\acro{CTAN}}
+\newcommand{\cmd}[1]{\textsf{#1}}
+\newcommand{\button}[1]{\textsf{#1}}
+\newcommand{\var}[1]{\textsl{#1}}
+\newcommand{\XeTeX}{Xe\TeX}
+
+\def\bigit{\\[\bigskipamount]}
+\def\medit{\\[\medskipamount]}
+
+\hyphenation{infra-struc-ture}
+\DefineShortVerb{\|}
+
+\usetheme[headheight=75pt,footheight=10pt]{boxes}
+\setbeamercolor*{black on white}{bg=white,fg=black}
+%\setbeamerfont*{black on white}{series=\scshape}
+\addfootbox{black on white}{\hbox{\vbox to 10pt{%
+ %\hspace{3em}Norbert
+ % Preining, \tl~2008 -- {\normalfont Brno, CSTUG Meeting 2008}
+ \hfill \insertframenumber\hspace{3em}~~\vfill}}}
+\addheadbox{black on white}{\includegraphics{texlive2008-logo-2.png}}
+\setbeamertemplate{navigation symbols}{}
+
+\setlength{\parskip}{\medskipamount}
+
+\def\cred#1{{\color{red}#1}}
+\def\cblue#1{{\usebeamercolor[fg]{structure}#1}}
+\def\prog#1{\texttt{#1}}
+
+\def\img#1#2#3#4{%
+ \bgroup%
+ \setbox0=\hbox{\hskip #3\vbox to 0pt{\vskip #4 \includegraphics[height=#2]{#1}}}%
+ \dp0=0pt %
+ \ht0=0pt %
+ \wd0=0pt %
+ %\hbox to \textwidth{\hfill\hbox{\box0}}%
+ \hbox{\box0}
+ \egroup}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% here begins the stuff
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{} %\tl~2008}
+\title{Norbert Preining}
+%\author{Norbert Preining}
+\author{Vienna University of Technology, Austria\\[\bigskipamount]
+\textsc{cstug Meeting 2008, Brno, Czech Republic}}
+\date{13 December 2008}
+
+%Bachotek, Poland \hspace{\bigskipamount} 13~December 2008}
+
+\begin{document}
+
+\frame{\titlepage}
+
+\begin{frame}
+ \frametitle{Layout}
+ \begin{center}
+ \begin{tabular}[h!]{ll}
+ \cblue{Part for users} & \cblue{Technical part} \\
+ \midrule
+ Overview & Getting things into \tl \\
+ Installation & The new infrastructure \\
+ \tlmgr \qquad\qquad & Internals of the \tlpdb, config options\\
+ Other news
+ \end{tabular}
+ \end{center}
+\end{frame}
+
+\section{Users' perspective}
+
+\subsection{Overview}
+
+\begin{frame}
+ \frametitle{History}
+ \begin{itemize}
+ \item late 1993 Dutch \TeX\ Users Group, 4All\TeX\ CD, \acro{tds}
+ working group\pause
+ \item 1995 Unix-based \acro{TDS} \acro{CD} based on te\TeX\pause
+ \item 1996 first edition, Sebastian Rahtz%
+ \uncover<3-3>{\img{rahtz.png}{110pt}{10pt}{-5pt}}\pause
+ \item 2000 5th edition, non-free software removed\pause
+ \item 2002 7th edition: Mac OS X support\pause
+ \item 2005 addition of the -sys scripts\pause
+ \item 2006-07 Xe\TeX\ addition, end of te\TeX\ development, Karl Berry
+ \uncover<7-7>{\img{berry.jpg}{100pt}{150pt}{-130pt}}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Features}
+
+ \begin{itemize}
+ \item `complete' -- all the free stuff from \textsc{ctan}\bigit
+ \item multi-platform\bigit
+ \item uniform across platforms\bigit
+ \item practically daily updates\bigit
+ \item \textsc{dfsg} free with a few exceptions
+ \end{itemize}
+\end{frame}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\subsection{Installation}
+
+\begin{frame}
+ \frametitle{Features of the new installer}
+ \begin{itemize}
+ \item Installation from various sources\bigit
+ \item Text and \acro{GUI} mode\bigit
+ \item Windows == Unix (\emph{cum grano salis})
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Installation sources}
+ \begin{itemize}
+ \item \acro{DVD}\\
+ \uncover<1-1>{update \tlmgr, noexec%
+ \img{texcollection2008-large.png}{120pt}{10pt}{-50pt}}
+ \item Network\\
+ \uncover<2-2>{automatic detection of nearest \ctan-mirror}
+ \item local (hard disk) mirror of \ctan\\
+ \uncover<3-3>{use it like a \acro{DVD}}
+ \item svn checkout
+ \item another installation\\
+ \uncover<5-5>{recent installations, -location argument necessary}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Where to start}
+ \begin{itemize}
+ \item Go and get it at
+ \url{http://mirror.ctan.org/systems/texlive/tlnet/2008}\\
+ ~~
+ \item \Verb+install-tl-unx.tar.gz+ for Unix-ish systems\\
+ ~~
+ \item \Verb+install-tl.zip+ for all systems\\
+ \uncover<2-2>{supports all systems, but ships Perl for \acro{W32}}
+ \item \acro{W32}: double-click the \url{.bat} file\\
+ \uncover<3-3>{or start it from a cmd shell for additional arguments}
+ \item Unix: \url{./install-tl}\\
+ \uncover<4-4>{and add arguments if you need them}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Arguments for the Installer}
+ \begin{itemize}
+ \item \url{-location} installation source, can be\\
+ \url{/normal/path}\\
+ \url{file:/some/path}\\
+ \url{ftp://some.server/path}\\
+ \url{http://some.server/path}
+ \bigit
+ \item \url{-gui} tries to start the \acro{GUI} installer,
+ \url{-no-gui} for \acro{W32} to disable the default \acro{GUI}
+ installer \bigit
+ \item \url{-lang} specifies a language code, currently supported:
+ en, de, fr, it, nl, pl, sl, zh\_cn, zh\_tw
+ \item some more: \url{-profile}, \url{-non-admin}, \ldots
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Installation settings}
+ \begin{itemize}
+ \item binary systems
+ \uncover<1-1>{\img{gui-systems.png}{\textheight}{20pt}{-60pt}}\bigit
+ \pause
+ \item schemes
+ \uncover<2-2>{\img{gui-scheme}{80pt}{-50pt}{10pt}}\pause\bigit
+ \item collections
+ \uncover<3-3>{\img{gui-collections}{160pt}{40pt}{-100pt}}\pause\bigit
+ \item language collections and docs
+ \uncover<4-4>{\img{gui-lang}{100pt}{-50pt}{-120pt}}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Installation settings cont.}
+ \begin{itemize}
+ \item destination folders
+ \begin{itemize}
+ \item \textsc{texdir}
+ \item \textsc{texmfsysvar}
+ \item \textsc{texmfsysconfig}
+ \item \textsc{texmfhome}
+ \end{itemize}\uncover<1-1>{\img{install-directory.png}{70pt}{0pt}{0pt}}
+ \pause
+ \item options
+ \begin{itemize}
+ \item papersize
+ \item create formats
+ \item install font/macro documentation
+ \item install font/macro sources
+ \end{itemize}\uncover<2-2>{\img{install-options.png}{60pt}{110pt}{-110pt}}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Post installation actions}
+ \begin{block}{Windows systems}
+ \vspace{-\baselineskip}
+ \begin{itemize}
+ \item Menu entry for \tl\ with all programs\medit
+ \item Desktop link to ps-view\medit
+ \item adjusting the \acro{PATH} environment\medit
+ \end{itemize}\pause
+ \end{block}
+ \begin{block}{Unix systems}
+ \vspace{-\baselineskip}
+ \begin{itemize}
+ \item add \acro{TEXDIR}/bin/<\acro{ARCH}> to \acro{PATH}\medit
+ \item adjust \acro{MANPATH} and \acro{INFOPATH}
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Other ways to use the installer}
+ \begin{block}{Running from \acro{DVD}}
+ only text mode, writable root necessary, only the texmf trees and
+ binaries are not copied
+ \end{block}
+ \pause
+ \begin{block}{Portable usage \texttt{tl\_portable(.bat)}}
+ minimal impact on the system, first time it runs creates files in
+ home directory, second time startup much faster, gives a shell
+ that is set up for running \tl\ from there
+ \end{block}
+\end{frame}
+
+\begin{frame}[plain]
+ \frametitle{Demo Text and \acro{GUI} mode installer}
+ \begin{tabular}{ll}
+ \resizebox{0.5\columnwidth}{!}{\includegraphics{install08text-crop}}
+ &
+ \resizebox{0.5\columnwidth}{!}{\includegraphics{gui-installer.png}}
+ \end{tabular}
+\end{frame}
+
+\subsection{\tlmgr}
+
+\begin{frame}
+ \begin{center}
+ \Large The new player\\[\bigskipamount]
+ \tlmgr
+ \end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{\TeX\ Live Manager \texttt{tlmgr}}
+ \begin{itemize}
+ \item installation/removal of additional packages or collections
+ \item update all packages to the newest versions available
+ \item backups and restore
+ \item paper configuration like texconfig, but also for Windows
+ \item managing the installed binary systems
+ \item searching the installed and all available packages
+ \item list and searching all schemes, collections, packages
+ \item setting some default values like the installation location
+ \item regenerate fmtutil.cnf, language.dat, and updmap.cfg from the
+ information stored in the database and local additions
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{\tlmgr\ -- Syntax}
+ \begin{center}
+ \texttt{tlmgr \alt<2>{\cred{[opt]...}}{[opt]...} \alt<3>{\cred{action}}{action} [opt]... [arg]...}
+ \end{center}
+ \only<2>{
+ With first set of options:
+ \begin{itemize}
+ \item \url{-location} installation source, see above
+ \item \url{-gui} starts the \acro{GUI}
+ \item \url{-gui-lang} should be auto-detected, can be overridden
+ \item standard options \url{-help}, \url{-q}, \url{-v},
+ \url{-version}
+ \end{itemize}
+ }
+ \only<3>{
+ \begin{itemize}
+ \item general actions: search, show, list, uninstall, check, gui,
+ version, help\bigit
+ \item configuration actions: option, paper, generate\bigit
+ \item package management actions: install, update, remove, backup,
+ restore, arch
+ \end{itemize}
+ }
+\end{frame}
+
+\begin{frame}
+ \frametitle{The search (and show) action}
+ \begin{center}
+ \texttt{tlmgr [opt]... search \cred{[opt]... what}}
+ \end{center}
+ searches the \emph{locally} installed package names and descriptions
+ for \texttt{\cred{what}}.
+
+ Options:
+ \begin{itemize}
+ \item \texttt{-global} also searches the remote database
+ \item \texttt{-file} searches for file names
+ \end{itemize}
+ \pause
+ \begin{center}
+ \texttt{tlmgr [opt]... show \cred{what}}
+ \end{center}
+ shows information on the given packages
+\end{frame}
+
+\begin{frame}
+ \frametitle{The install action}
+ \begin{center}
+ \texttt{tlmgr [opt]... install \cred{[opt]... what}}
+ \end{center}
+ installs the package \texttt{what} including all dependencies
+
+ Options:
+ \begin{itemize}
+ \item \texttt{-no-depends} do not install dependencies
+ \item \texttt{-no-depends-at-all} do not even install architecture
+ specific sub-packages
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{The update action}
+ \begin{center}
+ \texttt{tlmgr [opt]... update \cred{[opt]... what}}
+ \end{center}
+ installs the package \texttt{what} including all dependencies
+
+ Options:
+ \begin{itemize}
+ \item \texttt{-list} list packages to be updated (or added) with
+ revisions
+ \item \texttt{-all} update everything
+ \item \texttt{-dry-run} don't actually do it
+ \item \texttt{-backupdir dir} saves a snapshot of the current status to
+ the specified directory
+ \item \texttt{-no-depends}, \texttt{-no-depends-at-all} as before
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}[plain]
+ \frametitle{The \acro{GUI} of the \tlmgr}
+
+ \begin{figure}[ht!]
+ \centering
+ \resizebox{\columnwidth}{!}{\includegraphics{tlmgrgui-update.png}}
+ \end{figure}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Concluding remarks on \texttt{tlmgr}}
+ \begin{itemize}
+ \item very much work in progress, please do update your tlmgr
+ immediately after a new installation
+ \pause
+ \item the \acro{GUI} needs a lot of work, does not exhibit all the
+ functionality of the cmd line version
+ \pause
+ \item Perl programmers -- join us!
+ \end{itemize}
+ \pause
+ Recovering from crashed \texttt{tlmgr} or perl modules\pause
+ \begin{itemize}
+ \item for Windows systems: \ctan: \texttt{update-tlmgr-latest.exe}
+ \uncover<5-5>{\img{update-tlmgr-w32.png}{95pt}{-200pt}{-140pt}%
+ \img{update-tlmgr-finish.png}{95pt}{-50pt}{-140pt}}
+ \pause\bigit
+ \item for Unix systems: \ctan: \texttt{update-tlmgr-latest.sh}
+ \end{itemize}
+\end{frame}
+
+
+\subsection{Other news}
+
+\begin{frame}
+ \frametitle{Other (user visible) news}
+ \begin{itemize}
+ \item \cblue{hyph-utf8:} all engines share the same patterns\pause
+ \item \cblue{lua\TeX:} embedded lua interpreter\pause
+ \item \cblue{xindy} indexing program\pause
+ \item \cblue{(W32) Perl and Ghostscript.}
+ `hidden' copies, no interference with
+ full-scale distributions\pause
+ \item \cblue{(W32) \texttt{fc-cache}} helps \XeTeX{} to handle fonts more
+ efficiently.\pause
+ \item \cblue{(W32) PS\_View.} a new PostScript\\
+ (and \acro{PDF} viewer
+ that is free software%
+ \uncover<6-6>{\img{psview.png}{120pt}{-40pt}{-160pt}}%
+ \pause
+ \item \cblue{(W32) dviout} \acro{DVI} previewer
+ \uncover<7-7>{\img{dviout.png}{120pt}{-40pt}{-150pt}}
+ \end{itemize}
+\end{frame}
+
+
+\section{Intermezzo for package writers}
+
+\begin{frame}
+ \begin{center}
+ \huge Intermezzo for
+
+ \bigskip
+ Package writers
+ \end{center}
+\end{frame}
+
+\subsection{Getting things into CTAN}
+
+\begin{frame}
+ \frametitle{Getting things into \tl}
+
+ \begin{tikzpicture}[node distance=5mm,
+ foo/.style={
+ rectangle,minimum size=6mm,rounded corners=3mm,
+ very thick,draw=black!50,
+ top color=white,bottom color=black!20},
+ ask/.style={
+ rectangle,minimum size=6mm,rounded corners=3mm,
+ very thick,draw=black!50,
+ top color=white,bottom color=black!20,
+ font=\itshape
+ },
+ point/.style={circle,draw,inner sep=0pt}]
+ \node (new) at (0,4) [foo] {New package};\pause
+ \node (ctan) at (0,3) [foo] {upload CTAN};
+ \path (new) edge[->] (ctan);\pause
+ \node (2known) at (0,2) [ask] {known to ctan2tds?};
+ \path (ctan) edge[-] (2known);\pause
+ \node (temp) at (1,1) [point] {yes};
+ \path (2known) edge[-] (temp);
+ \node (call) at (0,0) [foo] {call ctan2tds};
+ \path (temp) edge[->] (call);\pause
+ \node (adjust) at (-1,1) [foo] {adjust ctan2tds};
+ \path (2known) edge[->] (adjust);
+ \path (adjust) edge[->] (call);\pause
+
+ \node (refsvn) at (5,4) [foo] {\acro{TUG} reference checkout};
+ \node (p1) at (0,-0.5) [point] {};
+ \node (p2) at (2,-0.5) [point] {};
+ \node (p3) at (2,4) [point] {};
+ \path (call) edge[-] (p1);
+ \path (p1) edge[-] (p2);
+ \path (p2) edge[-] (p3);
+ \path (p3) edge[->] (refsvn);
+ \pause
+
+ \node (tlnet) at (5,3) [foo] {update tlnet};
+ \path (refsvn) edge[->] (tlnet);
+ \pause
+ \node (cambridge) at (5,2) [foo] {mirror to Cambridge \acro{CTAN}};
+ \path (tlnet) edge[->] (cambridge);
+ \pause
+ \node (mirror) at (5,1) [foo] {mirrors to other \ctan\ mirrors};
+ \path (cambridge) edge[->] (mirror);
+ \pause
+ \node (user) at (5,0) [foo] {User's computer};
+ \path (mirror) edge[->] (user);
+ \end{tikzpicture}
+
+\end{frame}
+
+\section{Technical part}
+
+\begin{frame}
+ \begin{center}
+ \huge Technical part
+ \end{center}
+\end{frame}
+
+\subsection{The new infrastructure}
+
+\begin{frame}
+ \frametitle{Aims of the new infrastructure}
+ \begin{itemize}
+ \item Separation of static from generated content\\
+ Going from a `source' to the `object' should include automatically
+ data from various other sources \pause
+ \item No additional files to be kept in sync\\
+ any additional files tend to be outdated, all the necessary
+ information should be present in \emph{one} place and be easily
+ parseable. \pause
+ \item Single package updates via the web\pause
+ \item Better documentation\\
+ since \tl\ is replacing te\TeX\ we want to give people
+ incorporating \tl\ into distributions a better documented and
+ easier to handle system
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{The central \texttt{texlive.tlpdb}}
+ One installation or media is now completely described by one file,
+ the \TeX~Live Database:
+ \begin{itemize}
+ \item simple text file -- easily parseable
+ \item revision number for the single packages
+ \item generated from static content (the tlpsrc files)
+ \item enriched with information from the \TeX~Catalogue
+ \item format documented in detail (\textsc{pod} documentation in the
+ respective perl module)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{How does \texttt{texlive.tlpdb} look like}
+ \begin{lstlisting}[title={texlive.tlpdb}]
+name abbr
+...
+
+name memoir
+...
+
+\end{lstlisting}
+ \begin{itemize}
+ \item sequence of \texttt{key value} pairs
+ \item separated by an empty line (or more)
+ \item one group per package
+ \item some `meta'-packages for configuration options
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[plain,fragile]
+ \frametitle{The single package: \tlpobj\ by example I}
+ \begin{lstlisting}[basicstyle=\ttfamily\tiny,title={a0poster.tlpobj},label=a0poster]
+name a0poster
+category Package
+revision 7340
+shortdesc Support for designing posters on large paper.
+longdesc Provides fonts in sizes of 12pt up to 107pt and also makes sure
+longdesc that in math formulas the symbols appear in the right size. Can
+longdesc also create a PostScript header file for dvips which ensures
+longdesc that the poster will be printed in the right size. Supported
+longdesc sizes are DIN A0, DIN A1, DIN A2 and DIN A3.
+docfiles size=47
+ texmf-dist/doc/latex/a0poster/a0.pdf details="Package documentation (German)" language="de"
+ texmf-dist/doc/latex/a0poster/a0.tex
+ texmf-dist/doc/latex/a0poster/a0_eng.pdf details="Package documentation (English)" language="en"
+ texmf-dist/doc/latex/a0poster/a0_eng.tex
+runfiles size=4
+ texmf-dist/tex/latex/a0poster/a0poster.cls
+ texmf-dist/tex/latex/a0poster/a0size.sty
+catalogue-version 1.22b
+catalogue-date 2006-11-28 22:38:04 +0100
+catalogue-ctan /macros/latex/contrib/a0poster
+catalogue-license lppl
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The origin of this \texttt{a0poster.tlpobj}}
+ \begin{lstlisting}[basicstyle=\ttfamily\small,title={a0poster.tlpsrc},label=a0poster.tlpsrc]
+name a0poster
+category Package
+\end{lstlisting}
+ \begin{itemize}
+ \item minimal input file with static data
+ \item rest is generated from actual svn repository (revision, size)
+ \item enriched with information from the \TeX\ Catalogue
+ (catalogue-*, specification of the documentation files)
+ \item tagged documentation files (details, language), information
+ again from the Catalogue
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[plain,fragile]
+ \frametitle{The single packages: \tlpobj\ by example II}
+ \begin{lstlisting}[basicstyle=\ttfamily\tiny,title={bin-bibtex8 and friends},label=bibtex8]
+name bin-bibtex8
+category TLCore
+revision 7340
+depend bin-bibtex8.ARCH
+docfiles size=15
+ texmf/doc/bibtex8/00readme.txt
+ texmf/doc/bibtex8/HISTORY
+ texmf/doc/bibtex8/csfile.txt
+ texmf/doc/bibtex8/file_id.diz
+runfiles size=10
+ texmf-dist/bibtex/csf/base/88592pl.csf
+ texmf-dist/bibtex/csf/base/cp1250pl.csf
+ texmf-dist/bibtex/csf/base/cp852pl.csf
+ texmf-dist/bibtex/csf/base/iso8859-7.csf
+
+name bin-bibtex8.alpha-linux
+category TLCore
+revision 7340
+shortdesc binary files of bin-bibtex8 for alpha-linux
+binfiles arch=alpha-linux size=62
+ bin/alpha-linux/bibtex8
+
+...
+name bin-bibtex8.win32
+category TLCore
+revision 7340
+shortdesc binary files of bin-bibtex8 for win32
+binfiles arch=win32 size=25
+ bin/win32/bibtex8.exe
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The origin of the above \texttt{bin-bibtex8}}
+ \begin{lstlisting}[basicstyle=\ttfamily\small,title={bin-bibtex8.tlpsrc},label=bin-dvipsk.tlpsrc]
+name bin-bibtex8
+category TLCore
+runpattern d texmf-dist/bibtex/csf/base
+docpattern f texmf/doc/bibtex8/*
+binpattern f bin/${ARCH}/bibtex8
+\end{lstlisting} % for stupid emacs: $
+ \begin{itemize}
+ \item various patterns for capturing files
+ \item tricks to capture binaries on unix and windows
+ \item separate objects for the binary files of the package
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The pattern language}
+ patterns are of the form
+ \begin{center}
+ |[PREFIX]TYPE PAT|
+ \end{center}
+ where |PREFIX| can be |+|, |!+|, or |!|, \pause and |TYPE PAT| can be:
+ \begin{description}
+ \item[f path]
+ includes all files which match |path| where \emph{only} the last
+ component of |path| can contain the usual glob characters * and ?
+ (but no others!).\pause
+ \item[d path]
+ includes all the files in and below the directory specified as
+ |path|.
+ \end{description}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The pattern language}
+ patterns are of the form
+ \begin{center}
+ |[PREFIX]TYPE PAT|
+ \end{center}
+ where |PREFIX| can be |+|, |!+|, or |!|, and |TYPE PAT| can be:
+ \begin{description}
+ \item[t word1 ... wordN wordL]
+ includes all the files in and below all directories of the form
+ \begin{center}
+ \path{word1/word2/.../wordN/.../any/dirs/.../wordL/}
+ \end{center}\pause
+ \item[r regexp]
+ includes all files matching the Perl regexp \verb+/^regexp$/+
+ \end{description}
+\end{frame}
+
+
+\begin{frame}[fragile]
+ \frametitle{Example patterns}
+ \begin{itemize}
+ \item |runpattern f texmf/chktex/*|\\
+ includes all files \emph{in} Master/texmf/chktex/\pause
+ \item |binpattern f bin/${ARCH}/bibtex|\\ % for stupid emacs $
+ includes the bibtex binaries into the bin-bibtex package,
+ depending on the architecture\pause
+ \item |runpattern d texmf/tex/lambda/base|\\
+ includes all files in and under the above path\pause
+ \item |runpattern t texmf-dist omega uni2char|\\
+ includes all files in texmf-dist/omega/\ldots/uni2char/\pause
+ \item |runpattern r .*/foobar|\\
+ includes the files matching the regexp
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[plain,fragile]
+ \frametitle{Autogenerated patterns}
+ To keep \tlpsrc\ files small, if a pattern section is empty or all
+ patterns are prefixed with |+|, the following patterns are
+ automatically generated (actual list is specified in a special
+ \tlpsrc-file):
+ \begin{itemize}
+ \item runpatterns in category Package:
+ \begin{center}
+ |t texmf-dist topdir name|
+ \end{center}
+ \item docpatterns in category Package:
+ \begin{center}
+ |t texmf-dist doc name|
+ \end{center}
+ \item docpatterns in category Documentation:
+ \begin{center}
+ |t texmf-doc doc name|
+ \end{center}
+ \item srcpatterns in category Package:
+ \begin{center}
+ |t texmf-dist source name|
+ \end{center}
+ \item srcpatterns in category Documentation:
+ \begin{center}
+ |t texmf-doc source name|
+ \end{center}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Additional tricks}
+
+ \begin{block}{arch expansion}
+ In case the string \verb+${ARCH}+ occurs in one |binpattern| it is
+ automatically expanded to the respective architecture.
+ \end{block}
+
+ \begin{block}{bat/exe/dll/texlua for win32}
+ For |binpatterns| of the form |f bin/win32/foobar| files
+ |foobar.bat|, |foobar.dll|, |foobar.exe|, and |foobar.texlua| are
+ also matched.
+ \end{block}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Effects of auto generation and tricks}
+
+ total number of tlpsrc files: 1719
+
+ total number of tlpsrc files with patterns: 157
+
+ number of bin- and hyphen- tlpsrc files with patterns: 80
+
+ number of `normal' packages with patterns: 77
+\end{frame}
+
+
+\begin{frame}[plain,fragile]
+ \frametitle{Allowed fields for \tlpobj}
+ \begin{itemize}
+ \item name: identifies the package
+ \item category: one of (currently) |Collection|, |Scheme|, |TLCore|,
+ |Documentation|, |Package|
+ \item shortdesc, longdesc: description of the package
+ \item depend: |Name| (multiple entries possible)
+ \item execute: activating maps, formats, hyphenation patterns
+ \item runfiles, docfiles, srcfiles, binfiles\\
+ every files section has a size attribute, and the
+ binfiles section can occur more then once with different
+ arch tags (see above)
+ \item revision: maximum svn revision number of the
+ contained files, since version numbers are not
+ parseable, trustworthy, or not even present
+ \item catalogue-* keys: stuff taken from the catalogue\\
+ for example catalogue-version, catalogue-authors,
+ catalogue-license
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Perl programming \textsc{api}}
+ Important for `users' or integrators
+ \begin{description}
+ \item[TeXLive::TLPOBJ] for \tlpobj\ files, basic
+ functionality like read, write, and member access and change
+ functions, etc.
+ \item[TeXLive::TLPDB] access to the \tl\ database.
+ \item[TeXLive::TLPostInstall] collects post installation actions
+ \end{description}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Perl programming \textsc{api} \acro{II}}
+ Important for `us' as developer:
+ \begin{description}
+ \item[TeXLive::TLTREE] properties of the subversion
+ repository, in principle it is |svn status -v|
+ \item[TeXLive::TeXCatalogue] simple interface to the \TeX\
+ Catalogue
+ \item[TeXLive::TLPSRC] for \tlpsrc\ files, basic
+ functionality like reade, write, etc
+ \item[TeXLive::TLUtils] some handy functions
+ \item[TeXLive::TLMedia] abstracts an arbitrary installation media
+ \end{description}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Other (planned/wished) \textsc{api}s}
+ Are they necessary/useful? Maybe calling the Perl code \ldots?
+ \begin{description}
+ \item[texlua] next on the list to be done, would really help us a lot
+ \item[python] minimal code present (by Jim Hefferon)
+ \item[C] some code present, was a \textsc{GSoC} project, but no slot
+ available (code by Jjgod Jiang)
+ \item[bash] maybe, some code present (by the author)
+ \item[\ldots] no idea what else \ldots
+ \end{description}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Documentation}
+ \begin{itemize}
+ \item all modules contain a full documentation in pod format\bigit
+ \item additional text \textsc{api} document\bigit
+ \item article in Ars\TeX nica, 2007:4, 69--73, and in the
+ proceedings of the Bacho\TeX~2008.
+ \end{itemize}
+\end{frame}
+
+
+\subsection{Internals of the \tlpdb, config options}
+
+\begin{frame}
+ \frametitle{Some special packages}
+ Some packages do not relate to actual files but are used to save
+ options and configurations into the database by putting them into a
+ depend line: \texttt{00texlive.config},
+ \texttt{00texlive-installation.config},
+ \texttt{00texlive.core}.
+
+ Values are stored in these packages as dependencies.
+
+ All packages starting with \texttt{00texlive} are considered virtual
+ packages in the sense that no containers are generated and these
+ packages are never split into .src and .doc sub-packages in the
+ tlpdb.
+\end{frame}
+
+\begin{frame}
+ \frametitle{\texttt{00texlive.config}}
+ This package contains configuration options for the \tl\ archive:
+ \begin{itemize}
+ \item \texttt{container\_split\_\{doc,src\}\_files}\\
+ documentation and source files are split into separate containers
+ (.tar.lzma) during container build time. Note that this has
+ \emph{no} effect on the appearance within the texlive.tlpdb. It is
+ only on container level.
+ \item \texttt{container\_format/XXXXX}\\
+ specifies the format, currently allowed is only \texttt{lzma}, which
+ generates .tar.lzma files. zip can be supported.
+ \item \texttt{release/NNNN}\\
+ specifies the release number as used in the installer
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{\texttt{00texlive-installation.config}}
+ This package serves two purposes:
+ \begin{itemize}
+ \item at installation time the present values are taken as default for
+ the installer
+ \item on an installed system it serves as a configuration file.
+ We have to remember these settings for additional package
+ installation, removal, etc.
+ \end{itemize}
+ The value of \texttt{\_\_MASTER\_\_} for the location field tells the
+ installer to use the present directory itself. For example,
+ the \acro{DVD} can be mounted anywhere and we want the installer to work.
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Example \texttt{00texlive-installation.config}}
+ \begin{lstlisting}[basicstyle=\ttfamily\small]
+name 00texlive-installation.config
+category TLCore
+depend platform:x86_64-linux
+depend location:/var/www/norbert/tlnet/2008
+depend opt_paper:a4
+depend opt_create_formats:0
+depend opt_create_symlinks:0
+depend opt_sys_bin:/usr/local/bin
+depend opt_sys_info:/usr/local/info
+depend opt_sys_man:/usr/local/man
+depend opt_install_docfiles:1
+depend opt_install_srcfiles:0
+depend available_architectures:x86_64-linux win32
+\end{lstlisting}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{\texttt{00texlive.core}}
+ actually contains files, but those are
+ never installed and this package is only here to collect files
+ which are not contained in any package, thus making the coverage
+ check squeak
+\end{frame}
+
+% \begin{frame}
+% \frametitle{Organization ??????????????}
+% \begin{itemize}
+% \item \textsc{svn} repository where many people have write permissions
+% \item loads of supporting scripts doing a variety of jobs:
+% \begin{itemize}
+% \item preparing the installation for mastering
+% \item installation from various media
+% \item installation of packages from \textsc{ctan} into the
+% \textsc{svn} repository
+% \item performing various checks on the whole archive (coverage,
+% double inclusion, etc.)
+% \end{itemize}
+% \end{itemize}
+% \end{frame}
+
+\section{Closing}
+
+
+\begin{frame}
+ \frametitle{Resources}
+ \begin{itemize}
+ \item \url{tex-live@tug.org} -- main contact point
+ \item \path{www.tug.org/texlive} -- the main entry point, with
+ links to developers' resources, documentation
+\item \path{www.tug.org/svn/texlive/trunk/} -- web view onto the
+ subversion repository;
+\item \path{svn://tug.org/texlive/trunk} -- svn repository, anonymous
+ access
+\item \path{www.tug.org/texlive/pkgupdate.html} -- an
+ explanation how updates from \ctan\ to \tl\ are done.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \begin{center}
+ {\Large Thanks}
+
+ \bigskip
+ Karl Berry\\
+ {\small for great enthusiasm and perpetual
+ support (and critical voices)}
+
+ \pause
+ \bigskip
+ \acro{TUG}\\% and \acro{DANTE}\\
+ {\small for financial support when my laptop broke}
+
+ \pause
+ \bigskip
+ Your Attention
+ \end{center}
+\end{frame}
+
+
+\end{document}
diff --git a/Master/tlpkg/doc/cstug08/dviout.png b/Master/tlpkg/doc/cstug08/dviout.png
new file mode 100644
index 00000000000..83c2cd3ff88
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/dviout.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/gui-collections.png b/Master/tlpkg/doc/cstug08/gui-collections.png
new file mode 100644
index 00000000000..c542adddefc
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/gui-collections.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/gui-installer.png b/Master/tlpkg/doc/cstug08/gui-installer.png
new file mode 100644
index 00000000000..81bfa5a3ad5
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/gui-installer.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/gui-lang.png b/Master/tlpkg/doc/cstug08/gui-lang.png
new file mode 100644
index 00000000000..1d1cc2ac506
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/gui-lang.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/gui-scheme.png b/Master/tlpkg/doc/cstug08/gui-scheme.png
new file mode 100644
index 00000000000..007f2910792
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/gui-scheme.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/gui-systems.png b/Master/tlpkg/doc/cstug08/gui-systems.png
new file mode 100644
index 00000000000..24bfaada82c
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/gui-systems.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/install-directory.png b/Master/tlpkg/doc/cstug08/install-directory.png
new file mode 100644
index 00000000000..06a1349b3c6
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/install-directory.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/install-options.png b/Master/tlpkg/doc/cstug08/install-options.png
new file mode 100644
index 00000000000..becc47b1f79
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/install-options.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/install08text-crop.pdf b/Master/tlpkg/doc/cstug08/install08text-crop.pdf
new file mode 100644
index 00000000000..e6044fcd435
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/install08text-crop.pdf
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/psview.png b/Master/tlpkg/doc/cstug08/psview.png
new file mode 100644
index 00000000000..8322bdda693
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/psview.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/rahtz.png b/Master/tlpkg/doc/cstug08/rahtz.png
new file mode 100644
index 00000000000..78c067e704e
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/rahtz.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/start_impressive.sh b/Master/tlpkg/doc/cstug08/start_impressive.sh
new file mode 100644
index 00000000000..ee8775bee15
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/start_impressive.sh
@@ -0,0 +1,4 @@
+
+
+impressive -A 16:9 -c memory -d 1h20 cstug08.pdf
+
diff --git a/Master/tlpkg/doc/cstug08/talk-bacho08.tex b/Master/tlpkg/doc/cstug08/talk-bacho08.tex
new file mode 100644
index 00000000000..8ff80e1e270
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/talk-bacho08.tex
@@ -0,0 +1,493 @@
+\documentclass{beamer}
+\usefonttheme{serif}
+\usefonttheme{professionalfonts}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{hhline,bm,xspace,url}
+\usepackage[expert,seriftt]{lucidabr}
+\renewcommand{\rmdefault}{hlhj}
+\usepackage{fancyvrb}
+\usepackage{url,xcolor}
+\usepackage{marvosym}
+\usepackage{listings}
+\lstset{frame=lines,basicstyle=\ttfamily,showspaces=true,prebreak={\Righttorque},postbreak={\Lefttorque},breaklines}
+\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}
+
+\hyphenation{infra-struc-ture}
+\DefineShortVerb{\|}
+
+\usetheme[headheight=10pt,footheight=10pt]{boxes}
+\setbeamercolor*{black on white}{bg=white,fg=black}
+%\setbeamerfont*{black on white}{series=\scshape}
+\addfootbox{black on white}{\hbox{\vbox to 10pt{\hspace{3em}Norbert
+Preining, \tl's new infrastructure -- {\normalfont Bachotek~2008}
+ \hfill \insertframenumber\hspace{3em}~~\vfill}}}
+\addheadbox{black on white}{\hbox{\vbox to 10pt{~~~\hfill\leavevmode\vfill}}}
+\setbeamertemplate{navigation symbols}{}
+
+\setlength{\parskip}{\medskipamount}
+
+\def\cred#1{{\color{red}#1}}
+\def\prog#1{\texttt{#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% here begins the stuff
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{\tl's new infrastructure}
+\author{Norbert Preining}
+\institute{Vienna University of Technology, Austria}
+\date{\textsc{Bachotek~2008}
+
+Bachotek, Poland \hspace{\bigskipamount} 30~April 2008}
+
+\begin{document}
+
+\frame{\titlepage}
+
+
+\begin{frame}
+ \frametitle{The \tl\ distribution}
+
+ \begin{itemize}
+ \item includes all the free stuff from \textsc{ctan}
+ \item available for a wide range of platform--operating system
+ combinations
+ \item currently is replacing te\TeX\ in many (Unix) distributions as
+ default \TeX\ system
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Upstream organization}
+ \begin{itemize}
+ \item \textsc{svn} repository where many people have write permissions
+ \item loads of supporting scripts doing a variety of jobs:
+ \begin{itemize}
+ \item preparing the installation for mastering
+ \item installation from various media
+ \item installation of packages from \textsc{ctan} into the
+ \textsc{svn} repository
+ \item performing various checks on the whole archive (coverage,
+ double inclusion, etc.)
+ \end{itemize}
+ \end{itemize}
+
+ \pause
+ \begin{block}{Problems}
+ \begin{itemize}
+ \item hand-crafted, hard to read
+ \item not easily extensible
+ \item no documentation
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Previous infrastructure: tpms}
+ \TeX\ Package Manage[r/ment] files collected a variety of
+ information into on \textsc{xml} file:
+ \begin{itemize}
+ \item file patterns and file lists
+ \item title, description, license, versions
+ \item activation of map files, formats, hyphenation patterns
+ \end{itemize}
+ \pause
+ \begin{block}{Problems with tpms}
+ \begin{itemize}
+ \item mixture of generated and static information
+ \item duplicated information (version, license, descriptions,
+ \ldots) which were outdated
+ \item hard to parse, thus the necessity to generate another set of
+ files for the installer
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Aims of the new infrastructure}
+ \begin{itemize}
+ \item Separation of static from generated content\\
+ Going from a `source' to the `object' should include automatically
+ data from various other sources (mainly the Catalogue and the
+ repository) \pause
+ \item Getting rid of any `additional' files (list files)\\
+ any additional files tend to be outdated, all the necessary
+ information should be present in \emph{one} place and be easily
+ parseable. \pause
+ \item Single package updates via the web\\
+ updates to single packages (e.g., a new beamer release)\pause
+ \item Better documentation\\
+ since \tl\ is replacing te\TeX\ we want to give people
+ incorporating \tl\ into distributions a better documented and
+ easier to handle system
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{The central \texttt{texlive.tlpdb}}
+ One installation or media is now completely described by one file,
+ the \TeX~Live Database:
+ \begin{itemize}
+ \item simple text file -- easily parseable
+ \item revision number for the single packages
+ \item generated from static content (the tlpsrc files)
+ \item enriched with information from the \TeX~Catalogue
+ \item format documented in detail (\textsc{pod} documentation in the
+ respective perl module)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{How does \texttt{texlive.tlpdb} look like}
+ \begin{lstlisting}[title={texlive.tlpdb}]
+name abbr
+...
+
+name memoir
+...
+
+\end{lstlisting}
+ \begin{itemize}
+ \item sequence of \texttt{key value} pairs
+ \item separated by an empty line (or more)
+ \item one group per package
+ \item some `meta'-packages for configuration options and special
+ purpose packages
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The single package: \tlpobj\ by example I}
+ \begin{lstlisting}[basicstyle=\ttfamily\tiny,title={a0poster.tlpobj},label=a0poster]
+name a0poster
+category Package
+revision 7340
+shortdesc Support for designing posters on large paper.
+longdesc Provides fonts in sizes of 12pt up to 107pt and also makes sure
+longdesc that in math formulas the symbols appear in the right size. Can
+longdesc also create a PostScript header file for dvips which ensures
+longdesc that the poster will be printed in the right size. Supported
+longdesc sizes are DIN A0, DIN A1, DIN A2 and DIN A3.
+docfiles size=47
+ texmf-dist/doc/latex/a0poster/a0.pdf details="Package documentation (German)" language="de"
+ texmf-dist/doc/latex/a0poster/a0.tex
+ texmf-dist/doc/latex/a0poster/a0_eng.pdf details="Package documentation (English)" language="en"
+ texmf-dist/doc/latex/a0poster/a0_eng.tex
+runfiles size=4
+ texmf-dist/tex/latex/a0poster/a0poster.cls
+ texmf-dist/tex/latex/a0poster/a0size.sty
+catalogue-version 1.22b
+catalogue-date 2006-11-28 22:38:04 +0100
+catalogue-ctan /macros/latex/contrib/a0poster
+catalogue-license lppl
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The origin of this \texttt{a0poster.tlpobj}}
+ \begin{lstlisting}[basicstyle=\ttfamily\small,title={a0poster.tlpsrc},label=a0poster.tlpsrc]
+name a0poster
+category Package
+\end{lstlisting}
+ \begin{itemize}
+ \item minimal input file with static data
+ \item rest is generated from actual svn repository (revision, size)
+ \item enriched with information from the \TeX\ Catalogue
+ (catalogue-*, specification of the documentation files)
+ \item tagged documentation files (details, language), information
+ again from the Catalogue
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The single packages: \tlpobj\ by example II}
+ \begin{lstlisting}[basicstyle=\ttfamily\tiny,title={bin-bibtex8 and friends},label=bibtex8]
+name bin-bibtex8
+category TLCore
+revision 7340
+depend bin-bibtex8.ARCH
+docfiles size=15
+ texmf/doc/bibtex8/00readme.txt
+ texmf/doc/bibtex8/HISTORY
+ texmf/doc/bibtex8/csfile.txt
+ texmf/doc/bibtex8/file_id.diz
+runfiles size=10
+ texmf-dist/bibtex/csf/base/88592pl.csf
+ texmf-dist/bibtex/csf/base/cp1250pl.csf
+ texmf-dist/bibtex/csf/base/cp852pl.csf
+ texmf-dist/bibtex/csf/base/iso8859-7.csf
+
+name bin-bibtex8.alpha-linux
+category TLCore
+revision 7340
+shortdesc binary files of bin-bibtex8 for alpha-linux
+binfiles arch=alpha-linux size=62
+ bin/alpha-linux/bibtex8
+
+...
+name bin-bibtex8.win32
+category TLCore
+revision 7340
+shortdesc binary files of bin-bibtex8 for win32
+binfiles arch=win32 size=25
+ bin/win32/bibtex8.exe
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The origin of the above \texttt{bin-bibtex8}}
+ \begin{lstlisting}[basicstyle=\ttfamily\small,title={bin-bibtex8.tlpsrc},label=bin-dvipsk.tlpsrc]
+name bin-bibtex8
+category TLCore
+runpattern d texmf-dist/bibtex/csf/base
+docpattern f texmf/doc/bibtex8/*
+binpattern f bin/${ARCH}/bibtex8
+\end{lstlisting} % for stupid emacs: $
+ \begin{itemize}
+ \item various patterns for capturing files
+ \item tricks to capture binaries on unix and windows
+ \item separate objects for the binary files of the package
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{The pattern language}
+ patterns are of the form
+ \begin{center}
+ |[PREFIX]TYPE PAT|
+ \end{center}
+ where |PREFIX| can be |+|, |!+|, or |!|,\pause and |TYPE PAT| can be:
+ \begin{description}
+ \item[f path]
+ includes all files which match |path| where \emph{only} the last
+ component of |path| can contain the usual glob characters * and ?
+ (but no others!).\pause
+ \item[d path]
+ includes all the files in and below the directory specified as
+ |path|. \pause
+ \item[t word1 ... wordN wordL]
+ includes all the files in and below all directories of the form
+ \begin{center}
+ \path{word1/word2/.../wordN/.../any/dirs/.../wordL/}
+ \end{center}\pause
+ \item[r regexp]
+ includes all files matching the Perl regexp \verb+/^regexp$/+
+ \end{description}
+\end{frame}
+
+
+\begin{frame}[fragile]
+ \frametitle{Example patterns}
+ \begin{itemize}
+ \item |runpattern f texmf/chktex/*|\\
+ includes all files \emph{in} Master/texmf/chktex/\pause
+ \item |binpattern f bin/${ARCH}/bibtex|\\ % for stupid emacs $
+ includes the bibtex binaries into the bin-bibtex package,
+ depending on the architecture\pause
+ \item |runpattern d texmf/tex/lambda/base|\\
+ includes all files in and under the above path\pause
+ \item |runpattern t texmf-dist omega uni2char|\\
+ includes all files in texmf-dist/omega/\ldots/uni2char/\pause
+ \item |runpattern r .*/foobar|\\
+ includes the files matching the regexp
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Autogenerated patterns}
+ To keep \tlpsrc\ files small, if a pattern section is empty or all
+ patterns are prefixed with |+|, the following patterns are
+ automatically generated:
+ \begin{itemize}
+ \item runpatterns in category Package:
+ \begin{center}
+ |t texmf-dist topdir name|
+ \end{center}
+ \item docpatterns in category Package:
+ \begin{center}
+ |t texmf-dist doc name|
+ \end{center}
+ \item docpatterns in category Documentation:
+ \begin{center}
+ |t texmf-doc doc name|
+ \end{center}
+ \item srcpatterns in category Package:
+ \begin{center}
+ |t texmf-dist source name|
+ \end{center}
+ \item srcpatterns in category Documentation:
+ \begin{center}
+ |t texmf-doc source name|
+ \end{center}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Additional tricks}
+ \begin{description}
+ \item[arch expansion]
+ In case the string \verb+${ARCH}+ occurs in one |binpattern| it is
+ automatically expanded to the respective architecture.
+ \item[bat/exe/dll/texlua for win32]
+ For |binpatterns| of the form |f bin/win32/foobar| files
+ |foobar.bat|, |foobar.dll|, |foobar.exe|, and |foobar.texlua| are
+ also matched.
+ \end{description}
+ \pause
+ \begin{block}{Effects of auto generation and tricks}
+ total number of tlpsrc files: 1644\\
+ total number of tlpsrc files with patterns: 172\\
+ number of bin- and hyphen- tlpsrc files with patterns: 123\\
+ number of `normal' packages with patterns: 49
+ \end{block}
+\end{frame}
+
+
+\begin{frame}[fragile]
+ \frametitle{Allowed fields for \tlpobj}
+ \begin{itemize}
+ \item name: identifies the package
+ \item category: one of (currently) |Collection|, |Scheme|, |TLCore|,
+ |Documentation|, |Package|
+ \item shortdesc, longdesc: description of the package
+ \item depend: |Name| (multiple entries possible)
+ \item execute: activating maps, formats, hyphenation patterns
+ \item runfiles, docfiles, srcfiles, binfiles\\
+ every files section has a size attribute, and the
+ binfiles section can occur more then once with different
+ arch tags (see above)
+ \item revision: maximum svn revision number of the
+ contained files, since version numbers are not
+ parseable, trustworthy, or not even present
+ \item catalogue-* keys: stuff taken from the catalogue\\
+ for example catalogue-version, catalogue-authors,
+ catalogue-license
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Some special packages}
+ Some packages do not relate to actual files but are used to save
+ options and configurations into the database by putting them into a
+ depend line.
+ \begin{itemize}
+ \item \texttt{00texlive.config} general configuration (release,
+ src/doc container split)
+ \item \texttt{00texlive-installation.config} only present in a final
+ installation and contains the choices the admin made when doing
+ the installation (paper a4/letter, pre-generate formats,
+ installation location, \ldots)
+ \item \texttt{00texlive.core} actually contains files, but those are
+ never installed and this package is only here to collect files
+ which are not contained in any package, thus making the coverage
+ check squeak
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Perl programming \textsc{api}}
+ Important for `users' or integrators
+ \begin{description}
+ \item[TeXLive::TLPOBJ] for \tlpobj\ files, basic
+ functionality like read, write, and member access and change
+ functions, etc.
+ \item[TeXLive::TLPDB] access to the \tl\ database.
+ \item[TeXLive::TLPostInstall] collects post installation actions
+ \end{description}
+
+ \pause
+ Important for `us' as developer:
+ \begin{description}
+ \item[TeXLive::TLTREE] properties of the subversion
+ repository, in principle it is |svn status -v|
+ \item[TeXLive::TeXCatalogue] simple interface to the \TeX\
+ Catalogue
+ \item[TeXLive::TLPSRC] for \tlpsrc\ files, basic
+ functionality like reade, write, etc
+ \item[TeXLive::TLUtils] some handy functions
+ \item[TeXLive::TLMedia] abstracts an arbitrary installation media
+ \end{description}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Other (planned/wished) \textsc{api}s}
+ \begin{description}
+ \item[texlua] next on the list to be done, would really help us a lot
+ \item[python] minimal code present (by Jim Hefferon)
+ \item[C] some code present, was a \textsc{GSoC} project, but no slot
+ available (code by Jjgod Jiang)
+ \item[bash] maybe, some code present (by the author)
+ \item[\ldots] no idea what else \ldots
+ \end{description}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Documentation}
+ \begin{itemize}
+ \item all modules contain a full documentation in pod format
+ \item additional text \textsc{api} document
+ \item article in Ars\TeX nica, 2007:4, 69--73, and in proceedings of
+ this conference (hopefully)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{What to do with this stuff}
+ \begin{itemize}
+ \item installer: more or less done, see other talk
+ \item distribution inclusion: will hopefully work well
+ \item texdoctk++: tagged documentation files could be used to write
+ a better texdoctk, but depends on the information of the authors
+ in the \TeX~Catalogue
+ \item `\TeX\ Live Manager' \texttt{tlmgr}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{\TeX\ Live Manager \texttt{tlmgr}}
+ New program collection several scripts under one hood, currently
+ supports:
+ \begin{itemize}
+ \item installation of additional packages or collections, with or
+ without automatic dependency installation
+ \item same with removal
+ \item update all packages to the newest versions available
+ \item paper configuration like texconfig, but also for Windows
+ \item listing of available and installed architectures, and adding
+ new architectures to the installation
+ \item searching the installed and all available packages
+ \item list all schemes, collections, packages
+ \item setting some default values like the installation location
+ \item regenerate fmtutil.cnf, language.dat, and updmap.cfg from the
+ information stored in the database and local additions
+ \item uninstall the whole installation
+ \end{itemize}
+\end{frame}
+\begin{frame}
+ \frametitle{Resources}
+ \begin{itemize}
+ \item \url{tex-live@tug.org} -- main contact point
+ \item \path{www.tug.org/texlive} -- the main entry point, with
+ links to developers' resources, documentation
+\item \path{www.tug.org/svn/texlive/trunk/} -- web view onto the
+ subversion repository;
+\item \path{svn://tug.org/texlive/trunk} -- svn repository, anonymous
+ access
+\item \path{www.tug.org/texlive/pkgupdate.html} -- an
+ explanation how updates from \ctan\ to \tl\ are done.
+ \end{itemize}
+\end{frame}
+\end{document}
diff --git a/Master/tlpkg/doc/cstug08/talk-guit2008.tex b/Master/tlpkg/doc/cstug08/talk-guit2008.tex
new file mode 100644
index 00000000000..b3e95a7ae52
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/talk-guit2008.tex
@@ -0,0 +1,311 @@
+\documentclass{beamer}
+\usefonttheme{serif}
+\usefonttheme{professionalfonts}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{hhline,bm,xspace,url}
+\usepackage[expert]{lucidabr}
+\renewcommand{\rmdefault}{hlhj}
+\usepackage{fancyvrb}
+\usepackage{url,xcolor}
+\usepackage{marvosym}
+\usepackage[color]{guit}
+\usepackage{listings}
+\lstset{frame=lines,basicstyle=\ttfamily,showspaces=true,prebreak={\Righttorque},postbreak={\Lefttorque},breaklines}
+\newcommand{\tl}{\TeX~Live}
+\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{\acro}[1]{\textsc{\MakeLowercase{#1}}}
+\newcommand{\ctan}{\acro{CTAN}}
+\newcommand{\cmd}[1]{\textsf{#1}}
+\newcommand{\button}[1]{\textsf{#1}}
+\newcommand{\var}[1]{\textsl{#1}}
+\newcommand{\tlmgr}{\TeX~Live Manager}
+\newcommand{\XeTeX}{Xe\TeX}
+
+\def\bigit{\\[\bigskipamount]}
+\def\medit{\\[\medskipamount]}
+
+\hyphenation{infra-struc-ture}
+\DefineShortVerb{\|}
+
+\usetheme[headheight=10pt,footheight=10pt]{boxes}
+\setbeamercolor*{black on white}{bg=white,fg=black}
+%\setbeamerfont*{black on white}{series=\scshape}
+\addfootbox{black on white}{\hbox{\vbox to 10pt{\hspace{3em}Norbert
+Preining, \tl~2008 and the \tl~Manager -- {\normalfont\guitmeeting 2007}
+ \hfill \insertframenumber\hspace{3em}~~\vfill}}}
+\addheadbox{black on white}{\hbox{\vbox to 10pt{~~~\hfill\leavevmode\vfill}}}
+\setbeamertemplate{navigation symbols}{}
+
+\setlength{\parskip}{\medskipamount}
+
+\def\cred#1{{\color{red}#1}}
+\def\prog#1{\texttt{#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% here begins the stuff
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\title{\tl~2008 and the \tl~Manager}
+\author{Norbert Preining}
+\institute{Vienna University of Technology, Austria}
+\date{\textsc{{\normalfont\guitmeeting*}~2008}
+
+Pisa, Italia \hspace{\bigskipamount} 18~October 2007}
+
+\begin{document}
+
+\frame{\titlepage}
+
+
+\begin{frame}
+ \frametitle{Properties of the \tl\ distribution}
+
+ \begin{itemize}
+ \item includes all the free stuff from \textsc{ctan}
+ \item ready for ``consumption'', i.e., runs from \textsc{dvd}, but
+ can also installed into the file system
+ \item available for a wide range of platform--operating system
+ combinations
+ \item currently is replacing te\TeX\ in many (Unix) distributions as
+ default \TeX\ system
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Upstream organization}
+ \begin{itemize}
+ \item \textsc{svn} repository where many people have write permissions
+ \end{itemize}
+
+ \pause
+ \cred{\huge STOP}
+
+ \medskip
+ \pause
+ That was last year's talk \ldots
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{The new installer}
+ \begin{itemize}
+ \item Installation from the Internet\\
+ \uncover<2-2>{or from a rsync of the archive, or from the svn
+ checkout, (or from an installation)}
+ \item Text and \acro{GUI} mode\\
+ \uncover<3-3>{text mode emulates former shell installer, also in
+ \acro{W32}, \acro{GUI} for all platforms}
+ \item Windows == Unix (\emph{cum grano salis})\\
+ \uncover<4-4>{text and \acro{GUI} mode, -sys vs. user mode, same
+ texmf.cnf file}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Where to start}
+ \begin{itemize}
+ \item Go and get it at
+ \url{http://mirror.ctan.org/systems/texlive/tlnet/2008}\\
+ ~~
+ \item \Verb+install-tl-unx.tar.gz+ for Unix-ish systems\\
+ ~~
+ \item \Verb+install.zip+ for all systems\\
+ \uncover<2-2>{supports all systems, but ships Perl for \acro{W32}}
+ \item \acro{W32}: double-click the \url{.bat} file\\
+ \uncover<3-3>{or start it from a cmd shell for additional arguments}
+ \item Unix: \url{./install-tl}\\
+ \uncover<4-4>{and add arguments if you need them}
+ \end{itemize}
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{Arguments for the Installer}
+ \begin{itemize}
+ \item \url{-location} installation source, can be\\
+ \url{/normal/path}\\
+ \url{file:/some/path}\\
+ \url{ftp://some.server/path}\\
+ \url{http://some.server/path}
+ \bigit
+ \item \url{-gui} tries to start the \acro{GUI} installer,
+ \url{-no-gui} for \acro{W32} to disable the default \acro{GUI}
+ installer \bigit
+ \item \url{-lang} specifies a language code, currently supported:
+ en, de, fr, it, nl, pl, sl, zh\_cn, zh\_tw
+ \item some more: \url{-profile}, \url{-non-admin}, \ldots
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Demo Text and \acro{GUI} mode installer}
+ \begin{tabular}{ll}
+ \resizebox{0.5\columnwidth}{!}{\includegraphics{install08text-crop}}
+ &
+ \resizebox{0.5\columnwidth}{!}{\includegraphics{gui-installer.png}}
+ \end{tabular}
+\end{frame}
+
+\begin{frame}
+ \frametitle{The \tlmgr}
+ Syntax:
+ \begin{center}
+ \texttt{tlmgr \alt<2>{\cred{[opt]...}}{[opt]...} \alt<3>{\cred{action}}{action} [opt]... [arg]...}
+ \end{center}
+ \only<2>{
+ With first set of options:
+ \begin{itemize}
+ \item \url{-location} installation source, see above
+ \item \url{-gui} starts the \acro{GUI}
+ \item \url{-gui-lang} should be auto-detected, can be overridden
+ \item standard options \url{-help}, \url{-q}, \url{-v},
+ \url{-version}
+ \end{itemize}
+ }
+ \only<3>{
+ \begin{itemize}
+ \item general actions: search, show, list, uninstall, check, gui,
+ version, help\bigit
+ \item configuration actions: option, paper, generate, uninstall\bigit
+ \item package management actions: install, update, remove, backup,
+ restore, arch
+ \end{itemize}
+ }
+\end{frame}
+
+\begin{frame}
+ \frametitle{The search (and show) action}
+ \begin{center}
+ \texttt{tlmgr [opt]... search \cred{[opt]... what}}
+ \end{center}
+ searches the \emph{locally} installed package names and descriptions
+ for \texttt{\cred{what}}.
+
+ Options:
+ \begin{itemize}
+ \item \texttt{-global} also searches the remote database
+ \item \texttt{-file} searches for file names
+ \end{itemize}
+ \pause
+ \begin{center}
+ \texttt{tlmgr [opt]... show \cred{what}}
+ \end{center}
+ shows information on the given packages
+
+ \pause
+ Demo
+\end{frame}
+
+\begin{frame}
+ \frametitle{The install action}
+ \begin{center}
+ \texttt{tlmgr [opt]... install \cred{[opt]... what}}
+ \end{center}
+ installs the package \texttt{what} including all dependencies
+
+ Options:
+ \begin{itemize}
+ \item \texttt{-no-depends} do not install dependencies
+ \item \texttt{-no-depends-at-all} do not even install architecture
+ specific sub-packages
+ \end{itemize}
+
+ \pause
+ Demo
+\end{frame}
+
+\begin{frame}
+ \frametitle{The update action}
+ \begin{center}
+ \texttt{tlmgr [opt]... update \cred{[opt]... what}}
+ \end{center}
+ installs the package \texttt{what} including all dependencies
+
+ Options:
+ \begin{itemize}
+ \item \texttt{-list} list packages to be updated (or added) with
+ revisions
+ \item \texttt{-all} update everything
+ \item \texttt{-dry-run} don't actually do it
+ \item \texttt{-backupdir dir} saves a snapshot of the current status to
+ the specified directory
+ \item \texttt{-no-depends}, \texttt{-no-depends-at-all} as before
+ \end{itemize}
+
+ \pause
+ Demo
+\end{frame}
+
+
+\begin{frame}
+ \frametitle{The \acro{GUI} of the \tlmgr}
+
+ \begin{figure}[ht!]
+ \centering
+ \resizebox{\columnwidth}{!}{\includegraphics{tlmgrgui-update.png}}
+ \end{figure}
+
+ Demo
+\end{frame}
+
+\begin{frame}
+ \frametitle{What else -- Windows}
+ \begin{description}
+ \item[Perl and Ghostscript.] `hidden' copies, no interference with
+ full-scale distributions\bigit
+ \item[\texttt{fc-cache}] helps \XeTeX{} to handle fonts more
+ efficiently.\bigit
+ \item[PS\_View.] a new PostScript (and \acro{PDF} viewer
+ that is free software\bigit
+ \item[dviout] \acro{DVI} previewer
+ \end{description}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Really new -- Windows \acro{II}}
+ A \tlmgr\ Updater in \.exe format
+\end{frame}
+
+\begin{frame}
+ \frametitle{Closing}
+ \begin{itemize}
+ \item very much work in progress, please do update your tlmgr
+ immediately after a new installation\bigit
+ \pause
+ \item the \acro{GUI} needs a lot of work, does not exhibit all the
+ functionality of the cmd line version \bigit
+ \pause
+ \item Perl programmers -- join us!\bigit
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \begin{center}
+ {\Large Thanks}
+
+ \bigskip
+ Karl Berry\\
+ {\small for great enthusiasm and perpetual
+ support (and critical voices)}
+
+ \pause
+ \bigskip
+ \acro{TUG} and \acro{DANTE}\\
+ {\small for financial support when my laptop broke}
+
+ \pause
+ \bigskip
+ Your Attention
+ \end{center}
+\end{frame}
+\end{document}
diff --git a/Master/tlpkg/doc/cstug08/texcollection2008-large.png b/Master/tlpkg/doc/cstug08/texcollection2008-large.png
new file mode 100644
index 00000000000..101aa1fb8bd
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/texcollection2008-large.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/texlive2008-logo-2.png b/Master/tlpkg/doc/cstug08/texlive2008-logo-2.png
new file mode 100644
index 00000000000..6e0cfddaebd
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/texlive2008-logo-2.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/tlmgrgui-update.png b/Master/tlpkg/doc/cstug08/tlmgrgui-update.png
new file mode 100644
index 00000000000..cc15c5cb218
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/tlmgrgui-update.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/update-tlmgr-finish.png b/Master/tlpkg/doc/cstug08/update-tlmgr-finish.png
new file mode 100644
index 00000000000..b0f69621ba7
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/update-tlmgr-finish.png
Binary files differ
diff --git a/Master/tlpkg/doc/cstug08/update-tlmgr-w32.png b/Master/tlpkg/doc/cstug08/update-tlmgr-w32.png
new file mode 100644
index 00000000000..c12a509f99f
--- /dev/null
+++ b/Master/tlpkg/doc/cstug08/update-tlmgr-w32.png
Binary files differ