summaryrefslogtreecommitdiff
path: root/Master/tlpkg/doc
diff options
context:
space:
mode:
authorNorbert Preining <preining@logic.at>2008-10-18 08:43:06 +0000
committerNorbert Preining <preining@logic.at>2008-10-18 08:43:06 +0000
commit5424be8514209d146a5591d61ce83f1ca03fb5f0 (patch)
tree83cbf8df8d97aa5e532e14e404bc873f2b05fff1 /Master/tlpkg/doc
parent653c187ca2ee4163bdbf762866de8a7e5cd3575e (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')
-rw-r--r--Master/tlpkg/doc/guit08/talk.tex389
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}