====== Construyendo un paquete ====== Este es un boceto general para la construcción de paquetes de Slackware. Algunos pasos pueden no ser necesarios, use la página de discusión para notas adicionales, como el uso de [[http://www.slackware.com/~mozes|slacktrack]] (Cuando DESTDIR falle) y otras herramientas como [[https://es.wikipedia.org/wiki/CheckInstall|checkinstall]]. ====== El camino bueno y decente ====== Configure y compile el código fuente como lo hace normalmente: ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc make Cree un directorio temporal de destino: mkdir /tmp/build Instale en el directorio temporal: make install DESTDIR=/tmp/build Ahora, ejecute el comando strip sobre los directorios ''lib'' y ''bin'' dentro del directorio temporal: strip -s /tmp/build/usr/lib/* /tmp/build/usr/bin/* También deseará asegurarse que cualquier cosa en ''/usr/man'' sea comprimida antes de construir el paquete: gzip -9 /tmp/build/usr/man/man?/*.? Cree el directorio ''install'', aquí es donde se almacenará la descripción y el script de instalación: cd /tmp/build mkdir install cd install El mismo código en una línea (para que las personas puedan copiar y pegar): cd /tmp/build; mkdir install; cd install Usando un editor de texto (o una [[http://slack-desc.sourceforge.net|herramienta]]), que crea un archivo llamado [[slack-desc]], con el siguiente contenido: |-----Regla de archivo------------------------------------------------------| appname: Nombre de la aplicación (Corta descripción de la aplicación) appname: appname: Descripción de la aplicación - esta descripción debe ser bastante appname: profunda; en otras palabras, debe dejar en claro lo que hace el paquete (y appname: tal vez incluir links relevantes y/o instrucciones si lo requiere), appname: pero no brindará demasiados detalles. appname: Este archivo puede tener un máximo de once (11) líneas de texto seguido por appname: el nombre de la aplicación "appname: " designado. appname: appname: Es también, una buena idea, incluir un link de la página oficial de la aplicación. appname: La cadena de texto "appname" debe coincidir *exactamente* con la parte del nombre del paquete de Slackware (por ejemplo, un paquete titulado "gaim-1.5-i486-1.tgz" debe tener un archivo slack-desc con la cadena "gaim " en lugar de "Gaim " or "GAIM " o algo mas. La primer línea debe mostrar el nombre de la aplicación seguido por una corta descripción (encerrada entre paréntesis). Cree el paquete actual: cd /tmp/build makepkg ../app-version-arch-tag.tgz //(Los guiones deberían aparecer como están líneas arriba, así que si la versión tiene una subversión como, por ejemplo, "1.0 RC2" asegúrese de utilizar "1.0_RC2", no "1.0-RC2". La arquitectura debería ser algo así como "i486", por ejemplo. La etiqueta debería consistir en el número del paquete y sus iniciales, por ejemplo, "1zb" para el primer paquete de "Zaphod Beeblebrox", "2zb" para su segundo paquete, etc. Los paquetes oficiales de slackware tienen sólo números como etiquetas.)// Cuando se solicite restablecer los enlaces simbólicos, diga ''si''. Cuando se solicite restablecer permisos, diga ''no''. //Nota: Usando **makepkg -l y -c n** le dará el mismo resultado que responder ''**sí**'' a la pregunta de enlaces simbólicos y ''**no**'' a la pregunta de permisos.// Si todo salió bien, usted puede ahora instalar el paquete. cd .. installpkg app-version-arch-tag.tgz ====== El camino del "No tengo tiempo" ====== Afortunadamente, Slackware también es bastante flexible. Si no le importa mucho cuál es la fuente (¡Cuidado!) que está compilando, puede saltar algunas etapas y hacer algo como esto: ./configure --prefix=/usr make install DESTDIR=$(pwd)/PACKAGE cd $(pwd)/PACKAGE makepkg -l y -c n ../app-version-arch-tag.tgz installpkg ../app-version-arch-tag.tgz Por supuesto, tendrá un paquete sin descripción, (probablemente) páginas de manual sin comprimir y archivos binarios no optimizados. ====== Fuentes ====== * Fuente original: [[http://www.slackwiki.com/Building_A_Package]] \\ * Contribución realizada por [[wiki:user:arfon | arfon]] \\ * Traducción al Español [[wiki:user:antares_alf | antares_alf]] \\ {{tag>howtos software makepkg package_management author_slackwiki}}