Puede navegar en esta presentación con PgUp y PgDw (en Firefox), y con el ratón en la esquina inferior derecha. (usa html + S5 http://meyerweb.com/eric/tools/s5/)
Sumapack o Summapack es un conjunto de herramientas integradas y en desarrollo para preparar, documentar, compilar (cross-compiling), empaquetar (cross-packaging), distribuir e instalar Software Libre, directamente de desarrollador a usuario, en diferentes sistemas y "distros" bajo un mismo esquema de comandos y funciones. Así:
En particular los .spec .lsm control .ebuild se generan desde un archivo comun. Autogenera las listas de archivos y las dependencias de la info del proyecto fuente, hasta donde es posible. Se debe trabajar con una rosetta especifica para esto. Así se facilita la generacion de binarios en cada sitema.
Puede funcionar con crosstools y con jaulas de compilación específicas.
Util para pruebas y desarrollo, eventualemente para hacer las mismas distros con diferentes sistemas de paqueteria, haciendo ortogonal este tema. Asi ayuda a los fabricantes de distros y repositorios. Que estos paquetes sean usables en otros sistemas ya no depende de estas herramientas, sino de las versiones de librerias y dependencias reales.
Genera los paquetes desde cada fuente, no es un sistema externo el que controla los make de cada proyecto fuente, sino que el Makefile del proyecto hace todo. En todo caso los archivos rules, y partes del spec y ebuild que pretenden reemplazar/usar al make de cada proyecto se generan, pero no para uso por sumapack.
Puede usarse un software externo para otros fines como el uso de USE por emerge, o herramientas de cross compiling o sistemas de generacion de repositorios completos. Este no es el fin (al menos por ahora) de sumapack.
1. Apoyar el análisis simbólico y formal del problema de las dependencias de paquetes binarios y fuente, y aportar a los estudios de calidad en sistemas GNU/Linux;
2. Contribuir a una mejor comprensión de las acciones y complejidades de cada sistema de administración de paquetes y las virtudes, potenciales y defectos de unos con respecto a otros;
3. Abstraer al usuario, y al desarrollador del problema de las diferentes distribuciones y sistemas de instalación y de sus diferentes comandos, esquemas y nombres de paquetes. En tal sentido el programa sp que integra a Rosetta y Babel constituye un meta/summa/super instalador de paquetes que cumple estos objetivos. La Rosetta de aplicaciones y paquetería en sistemas GNU/Linux/BSD/Windows, base para construir la Babel del Software Libre;
4. Conseguir un mecanismo de instalación simple y robusto que pueda funcionar en todos los sistemas y que provea la funcionalidad básica tanto de instalar paquetes como apoyar el empaquetamiento y backup de datos de los usuarios. Uinstall cumple esos objetivos;
5. Facilitar la compilación, empaquetamiento, instalación, uso y distribución de software desde sus paquetes fuente originales, y diversos parches aportados desde distintos orígenes, sin interferir negativamente con la administración de cada sistema. Autosuma: es una extensión a las Autotools: autoconf, automake, libtoolize; para: generar paquetería binaria compatible con los manejadores de paquetes instalados en diferentes máquinas (cross-packaging) y que permite detectar e instalar automáticamente las dependencias para compilar los paquetes.
6. Instalar automáticamente con uGet dependencias y requisitos previos para la ejecución desde repostiorios;
7. Proveer sistemas de generación de documentación que permitan con simplicidad y con editores de texto o vía web, generar todos los formatos pertinentes en forma automática. Autodocs es otra extensión a las Autotools para facilitar el uso de Muse y Tex - LaTeX en la documentación de los paquetes.
8. Poder generar paquetes y distribuciones completas parametrizadas en forma automática. Ubuild: maneja las Autotools y otros programas para la compilación manual o en entornos diversos, jaulas de compilación, “cross-compiling”, generadores de repositorios, etc..
9. Facilitar la generación de interfaces de usuarios o de otros programas, que funcionen en muchos sistemas. Tanto Rosetta como Babel pueden constituir una capa intermedia para que cualquier interfaz de usuario pueda convocar a cualquier instalador -según el sistema donde se ejecute- utilizando los mismos comandos, a través de estos programas. En particular estamos construyendo XulPack, que es una interfaz gráfica (GUI) para Sumapack (en diseño), basada en XUL, que puede servir de instrumentación de referencia de un instalador universal.
10. Summapack también provee Aux o programas auxiliares que ayudan a cumplir los objetivos ya citados a los otros programas: Upack y Upackname son programas auxiliares para empaquetar, desempaquetar e interpretar nombres de paquetes; Bootstrap es un programa para la auto-instalación de Sumapack. Sumapack se escribe indistintamente con una o dos emes. El nombre de algunos programas inicia con la letra “u” por su posible integración con la aplicación Uget, usada en el Ututo.
11. Summapack también es útil a los efectos de utilizarlo como ejemplo en la enseñanza de compialdo, instalación y compilación de paquetes de Sofware Libre.
Se ha utilizado Bash para todos aquellas partes de Sumapack que deben funcionar en sistemas mínimos, por ejemplo cuando un sistema se comienza a instalar. Perl para las otras partes del mismo. También se utiliza entre otros make, las autotools de GNU, Muse, y LaTeX. Las interfaces gráficas se realizan en XUL para Firefox, mediante el módulo de Perl XUL::Gui.
Se trabaja con un repositorio basado en “subversion” y se comparten resultados con comunidades de desarrollo de intereses similares.
Ambos comandos trabajan juntos. Rosetta, para cada sistema, habitualmente instalado mediante una distribución, identifica el nombre solicitado, o función a instalar, con un proyecto en particular. El nombre puede estar asociado en rosetta.dat con varios proyectos de software que brindan esa función. Ante cada función puede instalar uno o más proyectos alternativos o complementarios, permitiendo definir en cada caso el comportamiento y proveyendo uno por defecto. Cada proyecto para cada distribución ofrece uno o más paquetes para su instalación. Hay tres niveles involucrados: función, proyecto y paquete. Para cada función y cada “distro” Rosetta propone diferentes paquetes para su instalación. Babel toma estos paquetes y los instala.
Permite la instalación de paquetes desde las fuentes desde sistemas con autoconf/automake, en forma congruente con el sistema de paquetería de cada sistema. Así facilita la tarea del usuario y/o desarrollador. Genera en cualquier sistema paquetes deb, txz, rpm, ebuild, etc..
Provee software para facilitar el uso de Muse y LaTeX en la realización y visualización de la documentación de los proyectos. Basado en el trabajo original realizado para Psicro.
Provee la inteligencia para bajar de repositorios paquetes y sus dependencias, instalando el software asi obtenido.
Baja, desempaqueta (mediante upack), compila fuentes, y empaqueta binarios (mediante upack). Es una reescritura de ebuild.sh de Gentoo para que funcione en toda distro. Procesa paquetes fuente, como tar.gz, y tar.bz2, y metapaquetes como .ebuilds. Ubuild toma lo bueno del Gentoo incorporando la filosofia unix de herramientas simples interoperables, siento ortogonal a la distro y pudiendo interoperar con otros empaquetadores como dpkg o rpm. Junto con Uinstall pueden reemplazar completamente a emerge.sh además de ser instalable en cualquier distro.
Es un conjunto de scripts para administrar conjuntos de archivos, denominados paquetes, en computadoras. Puede instalar, asignar, desinstalar, desasignar, y extraer archivos definiéndolos como miembros de un paquete.
Empaqueta y desempaqueta varios formatos de archivos, en particular .tbz2, o binarios de Gentoo/Ututo, recuperando la meta -información contenida.
Dado el nombre de un paquete, sea de Gentoo, Debian, una distro basada en rpm u otros, lo separa en sus componentes como nombre, versión, “release”, extensión, etc.. Dados dos nombres del mismo paquete compara cual es más nuevo.
Conjunto de documentos del sistema
Interfaz gráfica del uGet.
Para participar suscribirse a:
Criticar, comentar, colaborar, etc. development@sumapack.org PONER URL Consultar users@sumapack.org Recibir anuncios (bajo tráfico) announcements@sumapack.org
Toda colaboración es Bienvenida.
En desarrollo a retazos desde el 2002, con el Enrutador Ututo y la segunda versión del Ututo, y en el 2005 con el manifiesto antidistros. En enero del 2010 Diego Saravia crea el sitio de Summapack en el INENCO, UNSa y un esquema básico de herramientas y funciones. En setiembre del 2010 Pablo Rizzo integra uGet a Sumapack y se crea un sitio web para permitir un desarrollo colaborativo.
Murdock, Ian. How package management changed everything. http://ianmurdock.com/solaris/how-package-management-changed-everything/
Saravia, Diego. Manifiesto Anti Distros. http://docs.hipatia.info/distros/
http://en.opensuse.org/Software_Management_Command_Line_Comparison
SOFTWARE EN DESARROLLO. Usar con precaución y sin garantía. Este software es absolutamente experimental. Diferentes areas de cada programa reflejan diferentes niveles de conocimiento, todavia no esta completo, ha sido probado en pocos paquetes y puede cambiar mucho en poco tiempo, no es estable y sus interfaces estan en re-diseño permanente.