Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa |
es:howtos:slackware_admin:building_a_package [2019/02/07 02:01 (UTC)] – [El camino bueno y decente] antares_alf | 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 al margen, 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 las personas de 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''. |
Cuando se solicite restablecer permisos, diga ''no'' | |
When prompted to recreate symbolic links, say <tt>yes</tt><br> | |
When prompted to reset permissions, say <tt>no</tt> | |
| |
//Note: Using **makepkg -l y -c n** will give you the same behaviour as answering yes to the symlinks question, and no to the permissions question.// | Cuando se solicite restablecer permisos, diga ''no''. |
| |
If all went well, you can now install the package. | //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.// |
cd .. | |
installpkg app-version-arch-tag.tgz | |
| |
| Si todo salió bien, usted puede ahora instalar el paquete. |
| <code>cd .. |
| installpkg app-version-arch-tag.tgz</code> |
| |
====== The "I don't have time" way ====== | |
| |
Fortunately, Slackware are pretty flexible too. If you don't mind much about what is the source (beware!) that you're compiling you can burn some stages and do something like this: | ====== 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: |
<code>./configure --prefix=/usr | <code>./configure --prefix=/usr |
make install DESTDIR=$(pwd)/PACKAGE | make install DESTDIR=$(pwd)/PACKAGE |
installpkg ../app-version-arch-tag.tgz</code> | installpkg ../app-version-arch-tag.tgz</code> |
| |
Of course, you will have a package without description, (probably) uncompressed man pages and unstripped binaries. | Por supuesto, tendrá un paquete sin descripción, (probablemente) páginas de manual sin comprimir y archivos binarios no optimizados. |
| |
| |
====== Sources ====== | |
* Original source: [[http://www.slackwiki.com/Building_A_Package]] \\ | |
* Contributions by [[wiki:user:arfon | arfon]] \\ | |
| |
| ====== 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]] \\ |
| |
<!-- Please do not modify anything below, except adding new tags.--> | <!-- Por favor no modifique nada de abajo, excepto adición de nuevas etiquetas.--> |
{{tag>howtos software makepkg package_management author_slackwiki}} | {{tag>howtos software makepkg package_management author_slackwiki}} |
| |