Una de les coses que mes m'agrada d'Arch Linux i les seves derivades és la tremenda facilitat per crear paquets per després ser instal·lats en el sistema, a l'contrari que passa amb els coneguts .deb de Debian / Ubuntu / Linux Mint / etc que és un caos (i si són llibreries ni us explico).
Una plantilla base seria aquesta:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Ara explicaré cada paràmetre:
- # Maintainer: S'hi posa el nom de el mantenidor de l'paquet
- pkgname: El nom de l'paquet. Només pot contenir lletres, nombres, -, _ i +
- pkver: versió de l'paquet. pe 1.0.0
- pkgrel: la revisió de el programa o paquet. pe 1
- pkgdesc: descripció de l'paquet.
- arc: l'arquitectura de el programa: pot ser any (per a tots), i686 i x86_64, sent any per a paquets que no requereixen compilació, com programes en bash o Python. Si és un programa que si ho necessita (per exemple programes en C o C ++) s'haurà d'indicar i686 si és per a 32 bits o x86_64 per 64 bits. Per norma general si és compatible amb tots dos es posa (i686, x86_64)
- uRL: la url a la pàgina oficial de el programa. És recomanable posar-ho.
- llicència: la llicència d'el programa. pe GPL3
- grups: els grups a què pertany el paquet. groups = ( 'system')
- depens: en ella vam indicar els paquets que calen per a l'execució de el programa. pe depens = ( 'python2' 'PyGTK')
- makedepends: les dependències que només són necessàries per compilar el paquet. Si es va a baixar el codi des d'un gestor de versions és recomanable posar-ho. pe: makedepends = ( 'git')
- font: al indiquem els arxius necessaris per a la creació d'el paquet. Per norma general és la url a el paquet que conté el codi, un pegat, un arxiu .desktopt, icones, etc. pe: source = (pacsyu.desktop)
- md5sums: aquí van les sumes md5 dels arxius indicats en source. Per saber quins són executem des d'una terminal a la carpeta on hi ha el PKGBUILD (havent escrit les rutes dels arxius en source) makepkg -g i ens sortirà en pantalla les sumes.
També és possible usar altres sumes com SH1. - construir: en aquesta funció posarem els comandes necessàries per procedir a compilar el programari. Si no cal compilar només cal la següent funció)
- package: en aquesta altra funció aniran les ordres d'instal·lació de el programa. Per exemple si compilem codi C aquí aniria el make install.
I ja per a finalitzar només hem d'executar makepkg per comprovar que el paquet es genera.
Com veieu ens és difícil. A continuació us deixo amb alguns paràmetres extra de makepkg:
- -i: Indica a makepkg que instal el paquet un cop creat.
- -s: Instal·la les dependències de l'paquet si aquestes estan en els repositoris.
- -f: Si ja hi ha un paquet amb aquest nom, versió i revisió amb aquest paràmetre li vam indicar que el sobreescriure.
- -c: Neteja les carpetes de treball (pkg i source) un cop acabat.
- -R: Torna a empaquetar el paquet sense haver de tornar a compilar.
Recomano veure més fitxers PKGBUILD per veure més exemples, executar la comanda makepkg -h per veure la resta de paràmetres de el programa, a més de veure la documentació oficial de makepkg en la Wiki d'Arch Linux que podeu trobar aquí