Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
es:howtos:slackware_admin:building_a_package [2019/03/04 01:15 (UTC)] – [El camino bueno y decente] rramp | es:howtos:slackware_admin:building_a_package [2019/03/18 00:29 (UTC)] (actual) – [El camino del No tengo tiempo] pedro.herrero |
---|
====== Construyendo un paquete ====== | ====== 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 [[http://www.slackware.com/~mozes|slacktrack]] (Cuando DESTDIR falle) y otras herramientas como [[https://es.wikipedia.org/wiki/CheckInstall|checkinstall]]. | 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 ====== | ====== El camino bueno y decente ====== |
| |
Configurar y compilar el código fuente como normalmente lo hace: | Configure y compile el código fuente como lo hace normalmente: |
<code>./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc | <code>./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc |
make</code> | make</code> |
| |
Crear un directorio temporal de destino: | Cree un directorio temporal de destino: |
<code>mkdir /tmp/build</code> | <code>mkdir /tmp/build</code> |
| |
Instalar en el directorio temporal: | Instale en el directorio temporal: |
<code>make install DESTDIR=/tmp/build</code> | <code>make install DESTDIR=/tmp/build</code> |
| |
Poner los libs/bins dentro del directorio temporal: | Ahora, ejecute el comando strip sobre los directorios ''lib'' y ''bin'' dentro del directorio temporal: |
<code>strip -s /tmp/build/usr/lib/* /tmp/build/usr/bin/*</code> | <code>strip -s /tmp/build/usr/lib/* /tmp/build/usr/bin/*</code> |
| |
También deseará asegurarse que cualquier cosa en ''/usr/man'' sea comprimida antes de hacer el paquete. | También deseará asegurarse que cualquier cosa en ''/usr/man'' sea comprimida antes de construir el paquete: |
<code>gzip -9 /tmp/build/usr/man/man?/*.?</code> | <code>gzip -9 /tmp/build/usr/man/man?/*.?</code> |
| |
Crear el directorio ''install'', aquí es donde se almacenará la descripción y el script de instalación: | Cree el directorio ''install'', aquí es donde se almacenará la descripción y el script de instalación: |
<code>cd /tmp/build | <code>cd /tmp/build |
mkdir install | mkdir install |
cd install</code> | cd install</code> |
| |
El mismo código en una linea (para que las personas puedan copiar y pegar): | El mismo código en una línea (para que las personas puedan copiar y pegar): |
<code>cd /tmp/build; mkdir install; cd install</code> | <code>cd /tmp/build; mkdir install; cd install</code> |
| |
Usando un editor de texto (or a [[http://slack-desc.sourceforge.net|tool]]), crea un archivo llamado [[slack-desc]], con el siguiente contenido: | Usando un editor de texto (o una [[http://slack-desc.sourceforge.net|herramienta]]), que crea un archivo llamado [[slack-desc]], con el siguiente contenido: |
<file sh slack-desc> | <file sh slack-desc> |
|-----Regla de archivo------------------------------------------------------| | |-----Regla de archivo------------------------------------------------------| |
appname: Nombre de la aplicación (Corta descripción de la aplicación) | appname: Nombre de la aplicación (Corta descripción de la aplicación) |
appname: <ésta linea normalmente es dejada en blanco> | appname: <normalmente ésta línea es dejada en blanco> |
appname: Descripción de la aplicación - esta descripción debe ser bastante | appname: Descripción de la aplicación - esta descripción debe ser bastante |
appname: profunda; en otras palabras, dejar claro lo que hacer el paquete (y | 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: tal vez incluir links relevantes y/o instrucciones si lo requiere), |
appname: pero no dar demasiados detalles. | appname: pero no brindará demasiados detalles. |
appname: Este archivo puede tener un máximo de once (11) lineas de texto seguido por | 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: el nombre de la aplicación "appname: " designado. |
appname: | 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 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 en parentesis). | La primer línea debe mostrar el nombre de la aplicación seguido por una corta descripción (encerrada entre paréntesis). |
| |
Crear el paquete actual: | Cree el paquete actual: |
<code>cd /tmp/build | <code>cd /tmp/build |
makepkg ../app-version-arch-tag.tgz</code> | makepkg ../app-version-arch-tag.tgz</code> |
| |
//(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.)// | //(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 los enlaces simbólicos, diga ''si''. |
====== El camino del "No tengo tiempo" ====== | ====== 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: | 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: |
| |
<code>./configure --prefix=/usr | <code>./configure --prefix=/usr |
installpkg ../app-version-arch-tag.tgz</code> | installpkg ../app-version-arch-tag.tgz</code> |
| |
Por supuesto, tendrá un paquete sin descripción, (probablemente) páginas de manual sin comprimir y binarios no eliminados. | Por supuesto, tendrá un paquete sin descripción, (probablemente) páginas de manual sin comprimir y archivos binarios no optimizados. |
| |
| |