[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

¡Esta es una revisión vieja del documento!


Construyendo un paquete

Este es un esquema aproximado para construir paquetes de Slackware. Algunos pasos pueden no ser necesarios, use la página de discusión para notas adicionales, como el uso de slacktrack (Cuando DESTDIR falle) y otras herramientas como checkinstall.

El camino bueno y decente

Configurar y compilar el código fuente como normalmente lo hace:

./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc
make

Crear un directorio temporal de destino:

mkdir /tmp/build

Instalar en el directorio temporal:

make install DESTDIR=/tmp/build

Poner los libs/bins 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 hacer el paquete.

gzip -9 /tmp/build/usr/man/man?/*.?

Crear 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 linea (para que las personas puedan copiar y pegar):

cd /tmp/build; mkdir install; cd install

Usando un editor de texto (o una herramienta), que crea un archivo llamado slack-desc, con el siguiente contenido:

slack-desc
       |-----Regla de archivo------------------------------------------------------|
appname: Nombre de la aplicación (Corta descripción de la aplicación)
appname:      <normalmente ésta línea es dejada en blanco>
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 ves 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) lineas 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 <appname> “gaim ” en lugar de “Gaim ” or “GAIM ” o algo mas.

La primera linea debe mostrar el nombre de la aplicación seguido por una corta descripción (encerrada entre paréntesis).

Crear el paquete actual:

cd /tmp/build
makepkg ../app-version-arch-tag.tgz

(Los guiones deberían aparecer como está lineas 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 tiene 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 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 es bastante flexible también. Si no le importa mucho sobre cuál es la fuente (¡Cuidado!) que estas compilando, puedes grabar 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 binarios no eliminados.

Fuentes

* Fuente original: http://www.slackwiki.com/Building_A_Package
* Contribución realizada por arfon
* Traducción al Español antares_alf

 es:howtos:slackware_admin:building_a_package ()
Esta traducción es más antigua que la página original y podría estar obsoleta. Ver lo que ha cambiado.