\documentclass[colorBG,pdf,gyom]{prosper}
\usepackage[latin1]{inputenc}
\usepackage{verbatim}
\usepackage{alltt}
%\usepackage{babel}
\title{Paquetes dentro de distribuciones GNU/Linux}
\subtitle{Un breve vistazo a qué son y cual es su objetivo}
\author{Javier Fernández-Sanguino Peña}
\email{jfs@debian.org}
\institution{\href{http://www.debian.org}{Debian}}
\Logo{\includegraphics[width=1cm]{swirl.eps}}


\begin{document}
\maketitle

\FontTitle{%
\usefont{T1}{ptm}{m}{sl}\fontsize{16pt}{18pt}\selectfont\orange}{%
\usefont{T1}{ptm}{m}{sl}\fontsize{16pt}{18pt}\selectfont\blue}
\FontText{%
 \mellow\usefont{T1}{phv}{m}{n}\fontsize{12.4pt}{12pt}\selectfont}{%
 \black\usefont{T1}{phv}{m}{n}\fontsize{12.4pt}{12pt}\selectfont}

\begin{slide}{¿Por que interesa este tema?}
\begin{itemize}
\item Método de distribución de software integrado.
\item Diferencias entre distribuciones.
\item Poder generar tus propios paquetes.
\item Entender dónde están los problemas: 
\begin{itemize}
\item ¿En el paquete?
\item ¿En el software?
\end{itemize}

\end{itemize}
\end{slide}

\begin{slide}{¿Qué es un paquete?}
\begin{itemize}
\item Componente fundamental de una \textit{distribución} (sistema operativo).
\item Algo más alla de un simple formato de archivo.
\begin{itemize}
\item Las diferencias entre \texttt{rpm} y \texttt{deb} no son sólo el formato.
\item Aunque a priori parecen son las mismas que entre \texttt{zip} y \texttt{arj}.
\end{itemize}
\item Sigue una \textit{política}.
\end{itemize}
\end{slide}

\begin{slide}{Política con la que se realiza un paquete}
\begin{itemize}
\item Define unos criterios mínimos de compatibilidad.
\item Determina el modelo de integración con el sistema operativo:
	\begin{itemize}
	\item Documentación (páginas de manual, documentos auxiliares...)
	\item Ubicación de configuración
	\item Acciones de instalación y desinstalación 
	\item Ubicación de arranque y parada de demonios
	\item Instalación de librerías compartidas (incluso para lenguajes)
	\end{itemize}
\item Cada distribución tiene la suya.
\end{itemize}
\end{slide}


\begin{slide}{Interrelaciones}
\begin{itemize}
\item Lo que hace robusto a un sistema de gestión de paquetes son las interrelaciones.
\item Permiten determinar incompatibilidades, necesidades o dependencias.
\item Evitan el problema de \em{¿qué necesito para hacer X?}
\item En Debian:
\begin{itemize}
\item \texttt{Build-Depends}
\item \texttt{Depends:}
\item \texttt{Recommends:}
\item \texttt{Suggest:}
\item \texttt{Provides:}
\end{itemize}
\end{itemize}

\end{slide}

\FontText{%
 \mellow\usefont{T1}{phv}{m}{n}\fontsize{10.2pt}{10pt}\selectfont}{%
 \black\usefont{T1}{phv}{m}{n}\fontsize{10.2pt}{10pt}\selectfont}
\begin{slide}{¿Qué hace el desarrollador?}
\begin{itemize}
\item Crea el paquete conforme a la política.
\item Revisa el paquete con los cambios de ésta.
\item Crea actualizaciones cuando la fuente original cambia.
\begin{itemize}
\item Debe gestionar las incompatibilidades entre versiones.
\item Debe proporcionar métodos sencillos de actualización.
\item Incluso aunque las configuraciones varíen.
\end{itemize}
\item Supervisar problemas del paquete y enviar \textit{upstream} las que
correspondan.
\item Añadir al paquete partes necesarias (¿documentación?).
\end{itemize}

\end{slide}

\begin{slide}{Conclusiones: Sistema vs. formato}
\begin{itemize}
\item Es técnicamente posible instalar paquetes de un formato en una distribución que no lo soporta.
\begin{itemize}
\item Herramienta alien.
\item "Traduce" formatos.
\end{itemize}
\item Pero:
\begin{itemize}
\item No "traduce" políticas.
\item No puede mantener interrelaciones.
\end{itemize}
\item Es arriesgado y posiblemente no funcione bien. Ejemplos:
\begin{itemize}
\item Sistema de arranque de demonios: System V vs BSD.
\item Localización de librerías.
\end{itemize}
\end{itemize}

\end{slide}
\end{document}
