Se lo usi makepkg
direttamente, inquina in qualche modo il tuo sistema. Il base-devel
gruppo di pacchetti deve essere installato. In questo modo, per impostazione predefinita, le dipendenze necessarie solo per compilare il pacchetto, ma non necessarie per usarlo, vengono lasciate installate. Questo comportamento predefinito può essere modificato, ma comporta l'installazione e la disinstallazione di pacchetti e l'inquinamento di /var/log/pacman.log
.
Fare riferimento a questo articolo per comprendere e utilizzare l'AUR in generale, incluso ottenere PKGBUILD
. Questo documento mostra solo i passaggi specifici makepkg
, se è il metodo scelto per compilare un pacchetto.
Compilazione con Makepkg
Se il base-devel
gruppo di pacchetti non è già installato, è necessario installarlo. In caso contrario, makepkg
supporrà che sia già installato, e se un pacchetto è richiesto ma non installato, semplicemente fallirà invece di installarlo per te. makepkg
stesso fa parte del pacman
pacchetto, già installato.
# pacman -S base-devel
È necessario eseguire makepkg
nella directory con PKGBUILD
la directory creata da git clone
. Per impostazione predefinita, scaricherà il codice sorgente effettivo, compilerà il pacchetto e lo impacchetterà.
Esistono molte opzioni makepkg
, tra cui quelle comunemente usate:
-s, --syncdeps
: Installa automaticamente le dipendenze mancanti necessarie per la creazione e l'utilizzo del pacchetto.
- Nota se
PKGBUILD
ha dipendenze dai pacchetti AUR, devi prima installarli o averli disponibili in un repository locale per poterli trovare.
-r, --rmdeps
: Se viene compilato correttamente, disinstalla automaticamente le dipendenze non più necessarie, tra cui:
- Quelli richiesti per la costruzione ma non per l'utilizzo del pacchetto
- Se utilizzato senza l'
--install
opzione, quelli richiesti per l'utilizzo del pacchetto.
-i, --install
: Se viene compilato correttamente, installa / aggiorna automaticamente il pacchetto.
-c, --clean
: Elimina automaticamente i file di build temporanei, in genere necessari solo durante il debug di una build che è andata male.
Per installare / aggiornare automaticamente il pacchetto, lasciare le dipendenze installate per l'utilizzo del pacchetto e rimuovere le dipendenze necessarie solo durante la creazione, eseguire:
# makepkg -sri
In alternativa, puoi scegliere di non installarlo automaticamente e lasciare tutte le dipendenze installate, quindi se un giorno impacchetterai un aggiornamento, sono già installate:
# makepkg -s
È quindi possibile utilizzare un repository locale come spiegato qui oppure installare direttamente il file:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Pacchetto più veloce
Per impostazione predefinita, makepkg
combina un intero pacchetto in un formato di archivio; fare un .tar.xz
file usando un singolo thread per la xz
compressione.
Su sistemi con più CPU, è possibile consentire xz
l'utilizzo di più thread modificando /etc/makepkg.conf
e modificando la seguente riga:
COMPRESSXZ=(xz -c -z -)
È possibile consentire tutti i thread quanti sono i core virtuali:
COMPRESSXZ=(xz -c -z - --threads=0)
Per consentire l'utilizzo di più core virtuali, ma non tutti, ad esempio per ridurre l'impatto sulle prestazioni complessive del sistema, aggiungere un numero specifico, come il seguente:
COMPRESSXZ=(xz -c -z - --threads=21)
Nota: la specifica di più thread rispetto al numero di core virtuali disponibili riduce le prestazioni.
Se non ti dispiace che il file del pacchetto sia (potenzialmente molto) più grande, disabilita la compressione modificando /etc/makepkg.conf
e modifica la seguente riga:
PKGEXT='.pkg.tar.xz'
Dovrebbe apparire come segue:
PKGEXT='.pkg.tar'
Salta verifica firma PGP
Si consiglia di verificare e aggiungere correttamente tutte le firme PGP utilizzate, come spiegato qui nella sezione "Errore firma PGP".
Tuttavia, se si esegue makepkg
direttamente, è possibile dargli la --skippgpcheck
possibilità di saltare la verifica della firma PGP.