Arch User Repository (Français)

From ArchWiki
État de la traduction: Cet article est la version francophone de Arch User Repository. Date de la dernière traduction: 2022-03-08. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Le dépôt des utilisateurs d'Arch (Arch User Repository) est un dépôt communautaire pour les utilisateurs d'Arch. Il contient des descriptions de paquets (PKGBUILDs) qui vous permettent de compiler un paquet à partir des sources avec makepkg puis de l'installer via pacman. L'AUR a été créé pour organiser et partager les nouveaux paquets de la communauté et pour aider à accélérer l'inclusion des paquets populaires dans le dépôt de la communauté. Ce document explique comment les utilisateurs peuvent accéder à l'AUR et l'utiliser.

Un grand nombre de nouveaux paquets qui entrent dans les dépôts officiels commencent dans l'AUR. Dans l'AUR, les utilisateurs peuvent contribuer à la construction de leurs propres paquets (PKGBUILD et fichiers associés). La communauté AUR a la possibilité de voter pour des paquets dans l'AUR. Si un paquet devient suffisamment populaire — à condition qu'il ait une licence compatible et une bonne technique d'empaquetage — il peut être placé dans le dépôt community (directement accessible par pacman ou abs).

Attention: Les paquets AUR sont des contenus produits par les utilisateurs. Ces PKGBUILDs sont complètement non-officiels et n'ont pas été vérifiés de manière approfondie. Toute utilisation des fichiers fournis est à vos propres risques.

Pour commencer

Les utilisateurs peuvent rechercher et télécharger des PKGBUILDs à partir de l'interface Web de l'AUR. Ces PKGBUILDs peuvent être construits en paquets installables en utilisant makepkg, puis installés en utilisant pacman.

  • Assurez-vous que le groupe de paquets base-devel est installé dans son intégralité (pacman -S --need base-devel).
  • Parcourez la #FAQ pour trouver les réponses aux questions les plus courantes.
  • Vous pouvez souhaiter ajuster /etc/makepkg.conf pour optimiser le processus de construction sur votre système avant de construire des paquets à partir de l'AUR. Une amélioration significative des temps de construction des paquets peut être réalisée sur des systèmes avec des processeurs multi-cœurs en ajustant la variable MAKEFLAGS, en utilisant plusieurs cœurs pour la compression, ou en utilisant un algorithme de compression différent. Les utilisateurs peuvent également activer les optimisations du compilateur spécifiques au matériel via la variable CFLAGS. Consultez Makepkg (Français)#Trucs et astuces pour plus d'informations.

Il est également possible d'interagir avec l'AUR par SSH : tapez ssh [email protected] help pour obtenir une liste des commandes disponibles.

Historique

Au début, il y avait ftp://ftp.archlinux.org/incoming, et les gens contribuaient en téléversant simplement le PKGBUILD, les fichiers supplémentaires nécessaires, et le paquet construit lui-même sur le serveur. Le paquet et les fichiers associés y restaient jusqu'à ce qu'un mainteneur de paquets consulte le programme et l'adopte.

C'est alors que sont nés les dépôts d'utilisateurs de confiance. Certaines personnes de la communauté ont été autorisées à héberger leurs propres dépôts pour que tout le monde puisse les utiliser. L'AUR s'est développé sur cette base, dans le but de le rendre à la fois plus flexible et plus utilisable. En fait, les mainteneurs de l'AUR sont toujours appelés TUs (Trusted Users).

Entre le 2015-06-08 et le 2015-08-08, l'AUR est passé de la version 3.5.1 à 4.0.0, introduisant l'utilisation de dépôts Git pour la publication des PKGBUILD. Les paquets existants ont été abandonnés à moins que leurs responsables ne les aient fait migrer manuellement vers la nouvelle infrastructure.

Dépôts Git pour les paquets AUR3

L'archive AUR Archive sur GitHub contient un dépôt pour chaque paquet de l'AUR 3 au moment de la migration. Il est également possible d'utiliser le dépôt aur3-mirror qui fournit la même chose.

Installation et mise à jour des paquets

L'installation de paquets à partir de l'AUR est un processus relativement simple. Essentiellement :

  1. Acquérir les fichiers de construction, y compris le PKGBUILD et éventuellement d'autres fichiers nécessaires, comme les unités et les correctifs systemd (souvent pas le code réel).
  2. Vérifier que le PKGBUILD et les fichiers qui l'accompagnent ne sont pas malveillants ou indignes de confiance.
  3. Exécuter makepkg dans le répertoire où les fichiers sont enregistrés. Ceci va télécharger le code, le compiler et l'empaqueter.
  4. Exécuter pacman -U package_file pour installer le paquet sur votre système.
Note: L'AUR n'est pas pris en charge, donc tous les paquets que vous installez sont à mettre à jour sous votre responsabilité, pas sous celle de pacman. Si les paquets des dépôts officiels sont mis à jour, vous devrez reconstruire tous les paquets AUR qui dépendent de ces bibliothèques.

Prérequis

Assurez-vous d'abord que les outils nécessaires sont présents en installant le groupe base-devel complet qui inclut make et d'autres outils nécessaires à la compilation à partir des sources.

Astuce: Utilisez le paramètre --needed lors de l'installation du groupe base-devel pour ignorer les paquets que vous avez déjà au lieu de les réinstaller.
Note: Les paquets dans l'AUR supposent que le groupe base-devel est installé, c'est-à-dire qu'ils ne listent pas explicitement les membres du groupe comme dépendances de construction.

Choisissez ensuite un répertoire de compilation approprié. Un répertoire de compilation est simplement un répertoire où le paquet sera créé ou "construit" et peut être n'importe quel répertoire. Les exemples des sections suivantes utiliseront ~/builds comme répertoire de construction.

Récupérer les fichiers de compilation

Localisez le paquet dans l'AUR. Pour ce faire, utilisez le champ de recherche en haut de la page d'accueil de AUR. En cliquant sur le nom de l'application dans la liste de recherche, une page d'information sur le paquet s'affiche. Lisez la description pour confirmer qu'il s'agit bien du paquet souhaité, notez la date de la dernière mise à jour du paquet et lisez les commentaires éventuels.

Il existe plusieurs méthodes pour obtenir les fichiers de compilation d'un paquet :

  • Cloner son dépôt git, marqué "Git Clone URL" dans les "Détails du paquet" sur sa page AUR. C'est la méthode préférée, dont l'avantage est que vous pouvez facilement obtenir des mises à jour du paquet via git pull.
$ git clone ssh://[email protected]/nom_du_paquet.git
  • Télécharger un instantané, soit en cliquant sur le lien "Download snapshot" sous "Package Actions" sur le côté droit de sa page AUR, soit dans un terminal :
$ curl -L -O ssh://[email protected]//cgit/aur.git/snapshot/nom_du_paquet.tar.gz
Note: Le fichier snapshot est compressé et doit être extrait (de préférence dans un répertoire réservé aux builds AUR) : tar -xvf nom_du_paquet.tar.gz

Récupérer une clé publique PGP si nécessaire

Vérifiez si un fichier de signature sous la forme .sig ou .asc fait partie du tableau source de PKGBUILD, si c'est le cas, récupérez une des clés publiques listées dans le tableau de PKGBUILD validpgpkeys. Reportez-vous à Makepkg (Français)#Vérification des signatures pour plus d'informations.

Construire le paquet

Changez de répertoire pour atteindre le répertoire contenant le PKGBUILD du paquet.

$ cd nom_du_paquet
Attention: Vérifiez soigneusement le PKGBUILD, tout fichier .install et tout autre fichier dans le dépôt git du paquet pour détecter les commandes malveillantes ou dangereuses. En cas de doute, ne construisez pas le paquet et recherchez des conseils sur les forums ou la liste de diffusion. Du code malveillant a déjà été trouvé dans des paquets. [1]

Affichez le contenu de tous les fichiers fournis. Par exemple, pour utiliser le pager less pour afficher PKGBUILD faites :

$ less PKGBUILD
Astuce: Si vous mettez à jour un paquet, vous pouvez vouloir regarder les changements depuis la dernière livraison.
  • Pour voir les changements depuis la dernière livraison git, vous pouvez utiliser git show.
  • Pour voir les changements depuis le dernier commit en utilisant vimdiff, faites git difftool @~..@ vimdiff. L'avantage de vimdiff est que vous visualisez le contenu complet de chaque fichier avec des indicateurs sur ce qui a changé.

Créez le paquet. Après avoir confirmé manuellement le contenu des fichiers, exécutez makepkg en tant qu'utilisateur normal. Quelques paramètres utiles :

  • -s/--syncdeps résout et installe automatiquement toutes les dépendances avec pacman avant la construction. Si le paquet dépend d'autres paquets AUR, vous devrez d'abord les installer manuellement.
  • -i/--install installe le paquet s'il est construit avec succès. Cela vous permet de sauter l'étape suivante qui est généralement effectuée manuellement.
  • -r/--rmdeps supprime les dépendances après la construction, car elles ne sont plus nécessaires. Cependant, ces dépendances peuvent avoir besoin d'être réinstallées lors de la prochaine mise à jour du paquet.
  • -c/--clean nettoie les fichiers de construction temporaires après la construction, car ils ne sont plus nécessaires. Ces fichiers ne sont généralement nécessaires que pour déboguer le processus de construction.
Astuce: Utilisez git clean -dfX pour supprimer tous les fichiers qui sont ignorés par git, supprimant ainsi tous les fichiers de paquet précédemment construits.

Installer le paquet

Le paquet peut maintenant être installé avec pacman :

# pacman -U nom_du_paquet-version-architecture.pkg.tar.zst
Note:
  • Si vous avez modifié votre PKGEXT dans makepkg.conf, le nom du fichier du paquet peut être légèrement différent.
  • L'exemple ci-dessus n'est qu'un bref résumé du processus de construction. Il est fortement recommandé de lire les articles makepkg et ABS pour plus de détails.

Mise à jour des paquets

Dans le répertoire contenant le PKGBUILD du paquet, vous devez d'abord mettre à jour les fichiers et les modifications en utilisant la commande

$ git pull

puis suivre les instructions de construction et d'installation précédentes.

Statut du compte

Suspension

Lors de la modification d'un utilisateur en tant qu'utilisateur de confiance, le champ Suspendu peut être défini, ce qui suspend l'utilisateur cible. Quand un utilisateur est suspendu, il ne peut pas:

Inactivité

Lors de la modification de votre propre compte ou d'un autre en tant qu'utilisateur de confiance, le champ Inactif peut être défini. Les comptes inactifs sont utilisés pour deux raisons :

  • Afficher la date à laquelle une personne a été marquée inactive sur la page de son compte.
  • Générer un compte courant des utilisateurs de confiance actifs en fonction de leur inactivité pour les nouvelles propositions.

Retour d'information

Commenter les paquets

L'interface Web de l'AUR dispose d'une fonction de commentaires qui permet aux utilisateurs de faire des suggestions et de donner leur avis sur les améliorations à apporter au contributeur du PKGBUILD.

Astuce: Évitez de coller des correctifs ou des PKGBUILD dans la section des commentaires : ils deviennent rapidement obsolètes et finissent par occuper inutilement beaucoup d'espace. Envoyez plutôt ces fichiers par courriel au mainteneur, ou utilisez un pastebin.

Python-Markdown fournit une syntaxe de base Markdown pour formater les commentaires.

Note:
  • Cette implémentation présente quelques différences occasionnelles avec les règles syntaxiques officielles.
  • Les hashs de commit vers le dépôt Git du paquet et les références aux tickets Flyspray sont convertis en liens automatiquement.
  • Les longs commentaires sont réduits et peuvent être développés à la demande.

Voter pour les paquets

L'une des activités les plus faciles pour tous les utilisateurs d'Arch est de parcourir la liste des paquets de l'AUR et de voter pour leurs paquets préférés en utilisant l'interface en ligne. Tous les paquets peuvent être adoptés par une TU pour être inclus dans le dépôt communautaire et le nombre de votes est l'une des considérations de ce processus ; il est dans l'intérêt de tous de voter !

Inscrivez-vous sur le site de l'AUR pour obtenir une option "Votez pour ce paquet" lorsque vous parcourez les paquets. Après s'être inscrit, il est également possible de voter depuis la ligne de commande avec aurvoteAUR, aurvote-gitAUR ou aur-auto-vote-gitAUR.

Alternativement, si vous avez configuré l'autentification par ssh, vous pouvez voter directement depuis la ligne de commande en utilisant votre clé ssh. Cela signifie que vous n'aurez pas besoin d'enregistrer ou de taper votre mot de passe AUR.

$ ssh [email protected] vote nom_du_paquet

Signaler les paquets périmés

Tout d'abord, vous devez marquer le paquet out-of-date en indiquant les raisons pour lesquelles le paquet est périmé, de préférence en incluant des liens vers l'annonce de la version ou la nouvelle archive.

Vous devez également essayer de contacter directement le responsable par courrier électronique. S'il n'y a pas de réponse du responsable après deux semaines, vous pouvez déposer une demande d'orphelinage. Consultez AUR submission guidelines#Requests pour plus de détails.

Note: Les paquets construits avec un logiciel de contrôle de version ne sont pas considérés comme périmés lorsque le pkgver change, ne les signalez pas car le responsable se contentera de retirer le paquet et de vous ignorer. Les responsables AUR ne devraient pas soumettre de simples changements de pkgver.

Déboguer le processus de construction du paquet

  1. Assurez-vous que votre environnement de construction est à jour par mettant à jour avant de construire quoi que ce soit.
  2. Assurez-vous que le groupe base-devel est installé.
  3. Utilisez l'option -s avec makepkg pour vérifier et installer toutes les dépendances nécessaires avant de lancer le processus de construction.
  4. Essayez la configuration par défaut de makepkg.
  5. Consultez Makepkg (Français)#Dépannage pour les problèmes courants.

Si vous avez des problèmes pour construire un paquet, lisez d'abord son PKGBUILD et les commentaires sur sa page AUR.

Il est possible qu'un PKGBUILD soit cassé pour tout le monde. Si vous ne parvenez pas à le résoudre seul, signalez-le au responsable (par exemple en postant les erreurs que vous obtenez dans les commentaires de la page AUR). Vous pouvez également demander de l'aide sur le forum international AUR Issues, Discussion & PKGBUILD Requests.

La raison n'est peut-être pas si banale que cela. Les CFLAGS, LDFLAGS et MAKEFLAGS personnalisés peuvent provoquer des échecs. Pour éviter les problèmes causés par la configuration particulière de votre système, construisez les paquets dans un «chroot» vierge. Si le processus de construction échoue toujours dans un chroot propre, le problème provient probablement de PKGBUILD.

Consultez Creating packages#Checking package sanity à propos de l'utilisation de namcap. Si vous souhaitez faire examiner un PKGBUILD, postez-le sur la liste de diffusion aur-general mailing list afin d'obtenir les commentaires des TU et des autres membres de l'AUR, ou sur le forum international Creating & Modifying Packages. Vous pouvez également demander de l'aide sur les canaux IRC.

Soumettre des paquets

Les utilisateurs peuvent partager des PKGBUILDs en utilisant le dépôt des utilisateurs d'Arch. Consultez les directives de soumission à l'AUR (en) pour plus de détails.

Traduction de l'interface Web

Consultez i18n.txt dans l'arborescence des sources de l'AUR pour obtenir des informations sur la création et la maintenance de la traduction de l'interface Web de l'AUR.

FAQ

Quels types de paquets sont autorisés sur l'AUR ?

Les paquets sur l'AUR sont simplement des "scripts de construction", c'est-à-dire des recettes pour construire des binaires pour pacman. Dans la plupart des cas, tout est permis, sous réserve des guides d'utilité et de périmètre, tant que vous êtes en conformité avec les conditions de licence du contenu. Pour les autres cas, lorsqu'il est mentionné que "vous ne pouvez pas faire de lien" vers des téléchargements, c'est-à-dire des contenus qui ne sont pas re-distribuables, vous ne pouvez utiliser que le nom du fichier lui-même comme source. Cela signifie et exige que les utilisateurs aient déjà la source restreinte dans le répertoire de construction avant de construire le paquet. En cas de doute, demandez.

Comment puis-je voter pour des paquets dans l'AUR ?

Consultez #Voter pour les paquets.

Qu'est-ce qu'un utilisateur de confiance (Trusted User / TU) ?

Un Trusted User, abrégé TU, est une personne choisie pour superviser l'AUR et le dépôt communautaire. Ce sont eux qui maintiennent les PKGBUILDs populaires dans community et qui font fonctionner l'AUR.

Quelle est la différence entre le dépôt de l'utilisateur d'Arch et le dépôt de la communauté ?

Le dépôt des utilisateurs d'Arch est l'endroit où sont stockés tous les PKGBUILDs que les utilisateurs soumettent, et doit être construit manuellement avec makepkg. Lorsque les PKGBUILDs reçoivent suffisamment d'intérêt de la part de la communauté et le soutien d'une TU, ils sont déplacés dans le dépôt communautaire (maintenu par les TU). (maintenu par les UT), où les paquets binaires peuvent être installés avec pacman.

Foo dans l'AUR est périmé ; que dois-je faire ?

Consultez #Signaler les paquets périmés.

En attendant, vous pouvez essayer de mettre à jour le paquet vous-même en modifiant le PKGBUILD localement. Parfois, les mises à jour ne nécessitent pas de modifications du processus de construction ou d'empaquetage, auquel cas la simple mise à jour du tableau pkgver ou source est suffisante.

Foo dans l'AUR ne compile pas lorsque j'exécute makepkg ; que dois-je faire ?

Vous manquez probablement quelque chose de trivial, consultez #Déboguer le processus de construction du paquet.

ERREUR : Une ou plusieurs signatures PGP n'ont pas pu être vérifiées ; que dois-je faire ?

Il est fort probable que vous n'ayez pas la ou les clés publiques requises dans votre trousseau de clés personnel pour vérifier les fichiers téléchargés. Consultez Makepkg (Français)#Vérification des signatures pour plus de détails.

Comment créer un PKGBUILD ?

Consultez les Règles de soumission, puis consultez l'article anglais concernant la création de paquets.

J'ai un PKGBUILD que je voudrais soumettre ; quelqu'un peut-il le consulter pour voir s'il y a des erreurs ?

Il y a plusieurs canaux disponibles pour soumettre votre paquet pour examen ; consultez #Déboguer le processus de construction du paquet.

Comment obtenir un PKGBUILD dans le dépôt communautaire ?

Habituellement, au moins 10 votes sont nécessaires pour que quelque chose passe dans le dépôt communautaire. Cependant, si un TU veut prendre en charge un paquet, il sera souvent trouvé dans le dépôt.

Atteindre le minimum requis de votes n'est pas la seule condition, il doit y avoir une UT qui souhaite maintenir le paquet. Les UT ne sont pas obligées de déplacer un paquet dans le dépôt community même s'il a des milliers de votes.

Habituellement, lorsqu'un paquet très populaire reste dans l'AUR, c'est pour les raisons suivantes :

  • Arch Linux possède déjà une autre version d'un paquet dans ses dépôts.
  • Sa licence interdit la redistribution
  • Il aide à récupérer les PKGBUILDs soumis par les utilisateurs. Les assistants d'AUR sont non pris en charge par définition.

Consultez également Rules for Packages Entering the community Repo.

Comment puis-je accélérer les processus de construction répétés ?

Consultez Makepkg (Français)#Améliorer les temps de compilation.

Quelle est la différence entre les paquets foo et foo-git ?

De nombreux paquets AUR existent en version "stable" et en version de développement "instable". Les paquets de développement ont généralement un suffixe indiquant leur Système de contrôle de version et ne sont pas destinés à une utilisation régulière, mais peuvent offrir de nouvelles fonctionnalités ou des corrections de bogues. Étant donné que ces paquets ne téléchargent que la dernière source disponible lorsque vous exécutez makepkg, leur pkgver() dans l'AUR ne reflète pas les changements en amont. De même, ces paquets ne peuvent pas effectuer une somme de contrôle d'authenticité sur les source.

Consultez également System maintenance (Français)#Évitez les paquets de type développement.

Pourquoi foo a-t-il disparu de l'AUR ?

Il est possible que le paquet ait été adopté par une TU et se trouve maintenant dans le dépôt communautaire.

Les paquets peuvent être supprimés s'ils ne remplissaient pas les règles de soumission. Consultez les aur-requests archives pour connaître la raison de la suppression.

Note: Le dépôt git d'un paquet supprimé reste généralement disponible. Consultez AUR submission guidelines#Requests pour plus de détails.

Si le paquet existait dans AUR3, il n'a peut-être pas été migré vers AUR4. Consultez les #Dépôts Git pour les paquets AUR3 où ils sont conservés.

Comment puis-je savoir si un de mes paquets installés a disparu d'AUR ?

Le moyen le plus simple est de vérifier l'état HTTP de la page AUR du paquet :

$ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)

Comment puis-je obtenir une liste de tous les paquets AUR ?

Voir aussi