diff options
author | Norbert Preining <preining@logic.at> | 2008-10-18 08:43:06 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-10-18 08:43:06 +0000 |
commit | 5424be8514209d146a5591d61ce83f1ca03fb5f0 (patch) | |
tree | 83cbf8df8d97aa5e532e14e404bc873f2b05fff1 /Master/tlpkg/doc/guit08 | |
parent | 653c187ca2ee4163bdbf762866de8a7e5cd3575e (diff) |
remove old talk.tex
git-svn-id: svn://tug.org/texlive/trunk@11004 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/doc/guit08')
-rw-r--r-- | Master/tlpkg/doc/guit08/talk.tex | 389 |
1 files changed, 0 insertions, 389 deletions
diff --git a/Master/tlpkg/doc/guit08/talk.tex b/Master/tlpkg/doc/guit08/talk.tex deleted file mode 100644 index 837e59b7cd9..00000000000 --- a/Master/tlpkg/doc/guit08/talk.tex +++ /dev/null @@ -1,389 +0,0 @@ -\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[color]{guit} -\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\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's new infrastructure} -\author{Norbert Preining} -\institute{Vienna University of Technology, Austria} -\date{\textsc{{\normalfont\guitmeeting*}~2007} - -Pisa, Ialia \hspace{\bigskipamount} 13~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 - \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 new infrastructure -- the basics} - Three types of objects/files: - \begin{itemize} - \item \tlpsrc: provides only the minimal information - \item \tlpobj: the extension/compilation of a \tlpsrc\ file which - includes the complete file lists and all the additional - information derived from other sources - \item \tlpdb: the collection of all available/installed/upgradeable - \tlpobj{}s - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\tlpsrc\ format by example} - \begin{lstlisting}[title={beamer.tlpsrc}] -name beamer -category Package -depend Package/pgf -\end{lstlisting} -\pause -\begin{lstlisting}[title={bin-cweb.tlpsrc}] -name bin-cweb -category TLCore -docpattern f texmf/doc/man/man1/ctangle.1 -docpattern f texmf/doc/man/man1/cweave.1 -docpattern f texmf/doc/man/man1/cweb.1 -binpattern f bin/${ARCH}/ctangle -binpattern f bin/${ARCH}/cweave -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Allowed fields for \tlpsrc} - \begin{itemize} - \item name: identifies the package - \item category: one of (currently) |Collection|, |Scheme|, |TLCore|, - |Documentation|, |Package| - \item catalogue: link to the \TeX\ Catalogue - \item shortdesc, longdesc: description of the package - \item depend: |Category/Name| (multiple entries possible) - \item execute: activating maps, formats, hyphenation patterns - \item srcpatterns, \ldots: selecting member files of the package via patterns - \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|\\ - 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 for win32] - For |binpatterns| of the form |f bin/win32/foobar| files - |foobar.bat|, |foobar.dll|, and |foobar.exe| are also matched. - \end{description} - \pause - \begin{block}{Effects of auto generation and tricks} - total number of tlpsrc files: 1561\\ - total number of tlpsrc files with patterns: 168\\ - number of bin- and hyphen- tlpsrc files with patterns: 125\\ - number of `normal' packages with patterns: 43 - \end{block} -\end{frame} - -\begin{frame}[fragile] -\frametitle{\tlpobj\ format by example} -\begin{lstlisting}[basicstyle=\ttfamily\small,title={Excerpt from bin-dvipsk.tlpobj},label=dvipsk] -name bin-dvipsk -category TLCore -revision 4427 -docfiles size=959434 - texmf/doc/dvips/dvips.html - ... -runfiles size=1702468 - texmf/dvips/base/color.pro - ... - texmf/scripts/pkfix/pkfix.pl -binfiles arch=i386-solaris size=329700 - bin/i386-solaris/afm2tfm - bin/i386-solaris/dvips - bin/i386-solaris/pkfix -binfiles arch=win32 size=161280 - bin/win32/afm2tfm.exe -... -\end{lstlisting} -\end{frame} - -\begin{frame} - \frametitle{Allowed fields in \tlpobj\ files} - \begin{itemize} - \item XXXfiles take the place of XXXpatterns\\ - 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} - \begin{block}{\tlpdb\ format} - concatenation of \tlpobj - \end{block} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Perl programming \textsc{api}} - \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 reading in, writing out, and member - access functions. Generation of a |TLPOBJ| object from - a |TLPSRC| object using an instance of |TLTREE|. - \item[TeXLive::TLPOBJ] for \tlpobj\ files, basic - functionality like reading in, writing out, and member - access functions. Generation of zip files for web - updates and installation media. - \item[TeXLive::TLPDB] access to the \tl\ database. - \item[TeXLive::TLPUtils] some handy functions used in all the - other modules. - \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 the article accompanying this talk - \end{itemize} - - \pause - \begin{block}{Additional \textsc{api}s} - \begin{itemize} - \item shell \textsc{api} at a very basic level - \item python \textsc{api} - \end{itemize} - \end{block} -\end{frame} - -\begin{frame} - \frametitle{Integration into \tl} - \begin{itemize} - \item ctan2tl: installs packages from \textsc{ctan} into - \tl\ repository -- updated - \item installer: work has started - \item various cron jobs (updating the database): ready - \item consistency checks: missing - \item all tpm stuff has been removed from the repository, - everything new will be written using these modules - \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} - - \pause - \begin{center} - Thanks a lot, and hope to see you around - \end{center} -\end{frame} -\end{document} |