\documentclass{beamer}
\usepackage{relsize}
\usepackage{beamerthemeshadow}
\usepackage{pgf}
\usepackage{amsmath}
\title{PU\_IAS/Elders}
\author{Jo\v sko Plazoni\'c and Thomas Uphill}
\date{\today}

\pgfdeclareimage[interpolate=true,%,mask=computer,%
                 width=1.8361cm,height=2cm]{tux}{tux}
\pgfdeclareimage[interpolate=true,
                 width=0.5cm,height=0.5cm]{folder}{folder}

\titlegraphic{\centerline{\pgfuseimage{tux}}}
\begin{document}

\frame{\titlepage}

\section[Outline]{}
\frame{\tableofcontents}

\section{Goals}
\frame
{
 \frametitle{Goals of the Project}

 \begin{itemize}
  \item<1-> Automatic updates
  \item<2-> Prepatched Installation (current)
  \item<3-> Local Customisations and Packages (PU\_IAS Redhat)
  \item<4-> New: Free RHEL (PU\_IAS Linux 1)
 \end{itemize}
}
\section{Beginning}
\frame
{
 \frametitle{Start of the Project}

 \begin{itemize}
   \item<1-> Started at Department of Mathematics and PACM\\
	Idea \& testing John Vincent, realization Jo\v sko Plazoni\'c\\
	elders.princeton.edu
   \item<2-> RH 7.2 
   \begin{itemize}
    \item Manual download of updates
    \item Manual merging
   \end{itemize}
   \item<3-> RH 7.3 $\rightarrow$ PU\_IAS
   \begin{itemize}
    \item Thomas Uphill comes on board
    \item Automatic download and verification of updates
    \item Automatic merging (bash)
   \end{itemize}
 \end{itemize}
}
\section{Current}
\frame
{
 \frametitle{How does it look today?}
 \begin{itemize}
  \item<1-> RH 9
  \begin{itemize}
   \item Automatic download and verification of updates
   \item Automatic merging (python)
   \item Custom local packages $\sim$120
  \end{itemize}
  \item<2-> RHEL 3 $\rightarrow$ PU\_IAS Linux 1
  \begin{itemize}
   \item Based on RHEL 3
   \item No copywritten material\\
    Rebuilt from source\\
    Updates rebuilt from source\\
  \end{itemize}
  \item<3-> Fedora$^*$
  \begin{itemize}
   \item Currently no customization\\ current install
  \end{itemize}
 \end{itemize}
}

\section{Future}
\frame
{
 \frametitle{Where do we go from here?}
 \begin{itemize}
  \item Regular release schedule\\
   {\footnotesize coincide with beginning of Princeton and Institute Academic Years\\
   Fedora 2? RHEL 4? 08/2004}
  \item Continued support of RH 7.3 \& 9\\
	Security updates for older versions (7.2)
  \item Future support based on Fedora legacy
	{em http://www.fedora.us/wiki/FedoraLegacy}
  \item PU\_IAS Linux 1 $\sim$5 years
  \item Add certain local packages and customizations to PU\_IAS Linux/RHEL
  \item Improved documentation
 \end{itemize}
}
\section{Implementation}
\subsection{Directory Structure}
\frame
{
 \frametitle{Where does it all go?}
{
\tiny
\centerline{
\begin{tabular}{lclcl}
\pgfuseimage{folder}RedHat/ &$\leadsto$ &7.2/ & \\
      &&7.3/\\
      &&\ldots\\
      &&updates/ &$\leadsto$ & 7.2/\\
      &&& &     7.3/\\
      &&& &     \ldots\\
      &&current/&$\leadsto$ & 7.3/\\
      &&& &     9/\\
      &&& &     \ldots\\
\pgfuseimage{folder}fedora/& $\leadsto$ &\ldots & \\
\pgfuseimage{folder}PU\_IAS/&$\leadsto$&7.2/ & \\
      &&7.3& \\
      &&local/&$\leadsto$&1\\
      &&\ldots&\\
\pgfuseimage{folder}other/&$\leadsto$&PU\_IAS/ &$\leadsto$&7.2/ \\
&&&&7.3/ \\
&&&&$\ldots$\\
&& local/ &$\leadsto$&1/ \\
&&TIVsm/ &$\leadsto$&7.3/ \\
&&\ldots & \\
\end{tabular}
}%centerline
}
}
\subsection{Installation}
\frame
{
 \frametitle{Installation}
 \begin{itemize}
  \item Network Installation (nfs, http, ftp$^*$) with boot floppy or CD\\
   Preconfigured source selection
  \item Custom Install sets (comps)\\
  \begin{itemize}
   \item PU
   \item IAS
   \item $\ldots$
  \end{itemize}
 \end{itemize}
}
\subsection{Automatic updates}
\frame
{
 \frametitle{Grab a coffee, the updates are done.}
 \begin{itemize}
  \item<1-> RH 7.2,7.3,9 $\rightarrow$ Autoupdate\\
  {\em http://www.mat.univie.ac.at/$\sim$gerald/ftp/autoupdate}
  \begin{itemize}
   \item No kernel updates -- download only
   \item Perl
   \item Configured during Install
   \item {\tt /etc/autoupdate.d/<PU|RH|IAS>.get}
   \item GPG signature verification
  \end{itemize}
  \item<2-> PU\_IAS Linux 1, Fedora $\rightarrow$ yum\\
  {\em http://linux.duke.edu/projects/yum}
  \begin{itemize}
   \item Kernel updates
   \item Python
   \item More robust, more features
   \item {\tt /etc/yum.conf}
   \item GPG signature verification
  \end{itemize}
 \end{itemize}
}
\frame{
 \begin{itemize}
  \item GPG Keys
  \begin{itemize}
   \item Keys: RedHat, PU\_IAS
   \item Jo\v sko signs PU\_IAS/local packages\\ delegation possible (School of Math, IAS; OIT?)
   \item Before RH 9 (rpm 4.0) $\rightarrow$ exist as files\\
	{\tt /etc/autoupdate.d/.gnupg}
   \item After RH 9 (rpm 4.1) $\rightarrow$ in the rpm database\\
	{\tt gpg-pubkey-*\\gpg-pubkey-db42a60e-37ea5438}
  \end{itemize}
 \end{itemize}
}
\subsection{comps}
\frame{
 \frametitle{\tt comps.xml}
 \begin{itemize}
  \item Packages, Package groups, Installation sets definitions
  \item {\tt /usr/share/comps/i386/comps.xml\\
	$\ldots$/RedHat/base/comps.xml}
  \item Additional groups + Additions to existing groups
  \item {\tt redhat-config-packages\\
	redhat-config-packages -t http://$\ldots$}
 \end{itemize}
}
\subsection{Scripts}
\frame{
 \frametitle{Automagically doing everything}
 \begin{itemize}
  \item Python
  \item Utilize existing RPM Python code from RedHat
  \item What do the scripts do?
  \begin{itemize}
   \item Download packages/updates, verify signatures
   \item Compare to current packages, replace $\iff$ update
   \item Updates postponed if dependency check fails
   \item Rebuild package lists\\
    Rebuild Installation floppies/cd on kernel update
%   \item cvs
%    {\tt http://www.math.ias.edu/horde/chora/cvs.php}
  \end{itemize}
 \end{itemize}
}

\section{Questions \& Discussion}
\frame{
 \frametitle{Huh?  Questions?  Discussion? }
 {\em http://www.elders.princeton.edu\\
	http://www.elders.princeton.edu/data/\\
 http://www.math.ias.edu/computing/linux}
 
}
\end{document}
