====== 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}}