10 oct. 2011

[Howto] Crear paquetes para Arch Linux

Como ya comente en su momento en Diario de una mudanza: Adiós LMDE, hola Arch Linux una de las cosas que mas me gusta de esta distro y sus derivadas es la facilidad para crear paquetes para luego ser instalados en el sistema, al contrario que pasa con los conocidos .deb de Debian/Ubuntu/Linux Mint que es un caos (y si son librerías ni os cuento).

Una plantilla base seria esta:

# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()

build() {
 ...
}
package() {
 ...
}

Ahora explicare cada parametro

  • # Maintainer: Esta linea no es obligatoria. En ella se pone el nombre del mantenedor del paquete
  • pkgname: el nombre del paquete. Solo puede contener letras, numeros, -, _ y +
  • pkver: versión del paquete. p.e 1.0.0
  • pkgrel: la revisión del programa o paquete. p.e 1
  • pkgdesc: descripción del paquete.
  • arch: la arquitectura del programa: puede ser any (para todos), i686 y x86_64, siendo any para paquetes que no requieren compilación, como programas en bash o python. Si es un programa que si lo necesita (como C) se deberá de indicar i686 si es para 32 bits o x86_64 para 64 bits. Por normal general si es compatible con ambos se pone (i686, x86_64)
  • url: la url a la pagina oficial del programa. Es recomendable ponerlo.
  • license: la licencia del programa. p.e GPL3
  • groups: los grupos al que pertenece el paquete. groups=('system')
  • depends: en ella indicamos los paquetes que se necesitan para la ejecución del programa. p.e depens=('python2' 'pygtk')
  • makedepends: las dependencias que solo son necesarias para compilar el paquete. Si se va a bajar el código desde un gestor de versiones es recomendable ponerlo. p.e: makedepends=('git')
  • source: en el indicamos los archivos necesarios para la creación del paquete. Por norma general es la url al paquete que contiene el código, un parche, un archivo .desktopt, iconos, etc. p.e: source=(pacsyu.desktop)
  • md5sums: aquí van las sumas md5 de los archivos indicados en source. Para saber cuales son ejecutamos desde una terminal en la carpeta donde esta el PKGBUILD makepkg -g y nos saldra en pantalla las sumas.
  • build: en esta función pondremos los comandos de compilación.
  • package: en esta otra función irán los comandos de empaquetamiento. por ejemplo si estamos compilando código C aquí iría el make install.

Nota: Si vamos a descargar el código mediante Git, CSV, etc, no se indica la url en source=()
Y ya para finalizar solo tenemos que ejecutar makepkg para comprobar que el paquete se genera.
Como veís nos es difícil. Os dejo con el ejemplo del PKGBUILD de PacSyu: PKGBUILD
También recomiendo ver mas archivos PKGBUILD para ver mas ejemplos, ademas de ver la documentación oficial de makepkg en la Wiki de Arch Linux que podeis encontrar aquí
Espero que os haya gustado este Howto ^^

0 comentarios:

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by Blogger