Si vous l'utilisez makepkgdirectement, cela pollue quelque peu votre système. Le base-develgroupe de packages doit être installé. De cette façon, par défaut, les dépendances nécessaires uniquement pour construire le package, mais pas nécessaires pour l'utiliser, sont laissées installées. Ce comportement par défaut peut être modifié, mais cela implique d'installer et de désinstaller des packages et de polluer votre /var/log/pacman.log.
Reportez-vous à cet article pour comprendre et utiliser l'AUR en général, y compris pour obtenir le PKGBUILD. Ce document montre uniquement les étapes spécifiques à makepkg, si c'est la méthode que vous choisissez de compiler un package.
Compilation à l'aide de Makepkg
Si le base-develgroupe de packages n'est pas déjà installé, vous devez l'installer. Si vous ne le faites pas, makepkgsupposera qu'il est déjà installé, et si un paquet qu'il contient est requis mais n'est pas installé, il échouera simplement plutôt que de l'installer pour vous. makepkglui-même fait partie du pacmanpackage, déjà installé.
# pacman -S base-devel
Vous devez exécuter makepkgdans le répertoire avec le PKGBUILD, le répertoire créé par git clone. Par défaut, il télécharge le code source réel, compile le package et le package.
Il existe de nombreuses options makepkg, notamment celles couramment utilisées:
-s, --syncdeps : Installez automatiquement les dépendances manquantes requises pour la création et l'utilisation du package.
- Notez que si le
PKGBUILDlogiciel a des dépendances sur les packages AUR, vous devez d'abord les installer ou les avoir disponibles dans un référentiel local afin qu'il puisse les trouver.
-r, --rmdeps : S'il réussit, désinstallez automatiquement les dépendances qui ne sont plus nécessaires, notamment les suivantes:
- Ceux requis pour la construction mais n'utilisant pas le package.
- Si utilisé sans l'
--installoption, ceux requis pour utiliser le package.
-i, --install : S'il réussit, installez / mettez à niveau automatiquement le package.
-c, --clean : Supprimez automatiquement les fichiers de build temporaires, généralement nécessaires uniquement lors du débogage d'une build qui a mal tourné.
Pour installer / mettre à niveau automatiquement le package, laisser les dépendances installées pour l'utilisation du package et supprimer les dépendances uniquement nécessaires lors de la construction, exécutez:
# makepkg -sri
Alternativement, vous pouvez choisir de ne pas l'installer automatiquement et de laisser toutes les dépendances installées, donc si vous empaquetez une mise à niveau un jour, elles sont déjà installées:
# makepkg -s
Vous pouvez ensuite utiliser un référentiel local comme expliqué ici ou installer le fichier directement:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
Paquet plus rapide
Par défaut, makepkgcombine un package entier dans un format d'archive; créer un .tar.xzfichier en utilisant un seul thread pour la xzcompression.
Sur les systèmes multi-CPU, vous pouvez autoriser l' xzutilisation de plusieurs threads en modifiant /etc/makepkg.confet modifier la ligne suivante:
COMPRESSXZ=(xz -c -z -)
Vous pouvez autoriser autant de threads que vous avez de cœurs virtuels:
COMPRESSXZ=(xz -c -z - --threads=0)
Pour autoriser l'utilisation de plusieurs cœurs virtuels, mais pas tous, afin de réduire l'impact sur les performances globales du système, ajoutez un nombre spécifique, tel que le suivant:
COMPRESSXZ=(xz -c -z - --threads=21)
Remarque: Si vous spécifiez plus de threads que le nombre de cœurs virtuels dont vous disposez, les performances diminueront.
Si cela ne vous dérange pas que le fichier de package soit (potentiellement beaucoup) plus grand, désactivez la compression en modifiant /etc/makepkg.confet modifiez la ligne suivante:
PKGEXT='.pkg.tar.xz'
Il devrait ressembler à ceci:
PKGEXT='.pkg.tar'
Ignorer la vérification de la signature PGP
Il est recommandé de vérifier et d'ajouter correctement toutes les signatures PGP utilisées, comme expliqué ici dans la section "Erreur de signature PGP".
Cependant, si vous exécutez makepkgdirectement, vous pouvez lui donner l' --skippgpcheckoption d'ignorer la vérification de la signature PGP.