Makepkg

De ArchwikiFR


makepkg est utilisé pour construire des paquets pouvant être installés par pacman, c'est un script automatisant les étapes de construction, liste en vrac et non exhaustive:

  • Téléchargement et validation des sources
  • Vérification (et éventuellement installation) des dépendances
  • Configuration spécifique pour la compilation
  • Installation en appelant pacman

Configuration

Le fichier de configuration système est /etc/makepkg.conf, on peut aussi le configurer au niveau de l'utilisateur avec $HOME/.makepkg.conf, se référer à man makepkg.conf pour une liste complète des options.

Quelques exemples :

Option Description Défaut Exemple
PKGDEST Définit où placer les paquets construits . $HOME/paquets/repo
SRCDEST Emplacement des sources téléchargées . $HOME/paquets/pkgsrc
SRCPKGDEST Définit où placer les paquets source . $HOME/paquets/src
PACKAGER Nom et mail de celui qui construit le paquet
MAKEFLAGS Options à passer à make -j3
PKGEXT Extension des paquets .pkg.tar.xz
SRCEXT Extension des paquets source .src.tar.gz

Utilisation

Avant toute utilisation, il faut s'assurer d'avoir le groupe base-devel installé sur votre système, les dépendances appartenant à ce groupe sont implicites :

pacman -S base-devel


makepkg a besoin d'un PKGBUILD dans le répertoire courant, ensuite il suffit de lancer :

makepkg


Si le paquet à construire demande des dépendances non encore installées, vous pouvez les installer pendant la compilation avec :

makepkg -s
Note : le -s équivaut à:
pacman -S --asdeps dépendance1 dépendance2 ... dépendanceN 
Ceci permet une installation non explicite (les dépendances pourront ainsi être facilement retirées). En outre, makepkg passe par pacman, si certaines dépendances se trouvent sur AUR, vous devrez les installer à part ou via un assistant.
Note : makepkg peut soit utiliser sudo (si la configuration de sudo le permet) soit su pour passer en root pour les opérations le nécessitant (-s y compris)


Si le paquet n'est pas destiné à être installé :

makepkg -sr

installera les dépendances et les supprimera à la fin.


Pour construire et installer directement votre paquet avec pacman :

makepkg -si
Note : le -i revient à faire:
pacman -U pkgname-pkgver.pkg.tar.xz