Una delle cose che mi piacciono di più di Arch Linux e dei suoi derivati è il file enorme facilità per creare pacchetti da installare successivamente sul sistema, a differenza di quelli conosciuti . Deb di Debian / Ubuntu / Linux Mint / ecc che è un caos (e se sono librerie non te lo dico nemmeno).
Un modello di base sarebbe questo:
# Maintainer:
pkgname=
pkgver=
pkgrel=
pkgdesc=
arch=()
url=
license=()
groups=()
depends=()
makedepends=()
source=()
md5sums=()
build() {
...
}
package() {
...
}
Ora spiegherò ogni parametro:
- # Manutentore: In esso è inserito il nome del manutentore del pacchetto
- nomepacchetto: Il nome del pacchetto. Può contenere solo lettere, numeri, -, _ e +
- pkver: versione del pacchetto. pe 1.0.0
- pacchetto: revisione del programma o del pacchetto. pe 1
- pacchettodesc: descrizione del pacchetto.
- arco: l'architettura del programma: può essere qualsiasi (per tutti), i686 e x86_64, essendo qualsiasi per i pacchetti che non richiedono compilazione, come i programmi in bash o python. Se è un programma che ne ha bisogno (ad esempio, programmi in C o C ++), è necessario indicare i686 se è per 32 bit o x86_64 per 64 bit. In generale, se è compatibile con entrambi, viene impostato (i686, x86_64)
- URL: l'url alla pagina ufficiale del programma. Si consiglia di metterlo.
- licenza: la licenza del programma. ad esempio GPL3
- gruppi: i gruppi a cui appartiene il pacchetto. gruppi = ('sistema')
- dipende: in esso indichiamo i pacchetti necessari per l'esecuzione del programma. pependens = ('python2' 'pygtk')
- dipende: le dipendenze necessarie solo per compilare il pacchetto. Se il codice deve essere scaricato da un gestore di versioni, è consigliabile inserirlo. pe: makedepends = ('git')
- fonte: in esso indichiamo i file necessari alla creazione del pacchetto. Come regola generale, è l'URL del pacchetto che contiene il codice, una patch, un file .desktopt, icone, ecc. pe: source = (pacsyu.desktop)
- somme md5: ecco le somme md5 dei file indicati in source. Per sapere quali eseguiamo da un terminale nella cartella in cui si trova il PKGBUILD (dopo aver scritto i percorsi dei file nel sorgente) makepkg -g e le somme appariranno sullo schermo.
È anche possibile utilizzare altre somme come sh1. - costruire: in questa funzione metteremo il file comandi necessari per procedere alla compilazione del software. Se non è necessario compilare è necessaria solo la seguente funzione)
- pacchetto: in quest'altra funzione andranno i comandi di installazione del programma. Ad esempio, se stiamo compilando codice C qui, il make install andrebbe.
E per finire non ci resta che eseguire makepkg per verificare che il pacchetto venga generato.
Come puoi vedere, è difficile per noi. Quindi vi lascio con alcuni parametri extra di confezione:
- -io: Indica a makepkg di installare il pacchetto dopo che è stato creato.
- -S: Installa le dipendenze del pacchetto se si trovano nei repository.
- -F: Se esiste già un pacchetto con quel nome, versione e revisione con questo parametro ti diciamo di sovrascriverlo.
- -C: Pulisci le cartelle di lavoro (pkg e sorgente) una volta terminato.
- -UN: Reimballare il pacchetto senza dover ricompilare.
Consiglio di vedere più file PKGBUILD per vedere più esempi, eseguire il comando makepkg -h per vedere il resto dei parametri del programma, oltre a vedere il file documentazione ufficiale di makepkg su Arch Linux Wiki cosa puoi trovare qui