Page 1 sur 3

[Yay] Assistant pour AUR

Publié : mer. 30 mai 2018, 20:08
par Xorg
Salut tout le monde,

Pacman 5.1 est sorti, et qui dit nouvelle version dit changements dans l'API (ALPM 11). Certains assistants pour AUR (helpers) ne seront peut-être pas compatibles avec cette nouvelle version, donc je profite de cette occasion pour vous parler de Yay, Yet another Yogurt (encore un autre Yaourt, pour les anglophobes).

J'ai longtemps utilisé Yaourt, mais depuis le ralentissement de son développement, j'ai fini par changer pour Pacaur ; cependant, ce dernier n'est plus maintenu depuis quelques mois, et son développeur principal, Spyhawk, a invité les utilisateurs à migrer vers d'autres assistants (source).

Depuis plusieurs semaines, j'ai testé divers assistants pour AUR, en me basant sur le tableau suivant du wiki anglophone : https://wiki.archlinux.org/index.php/AUR_helpers#Active.
J'ai testé trizen (se référer à ce sujet), aurman et yay, et comme vous l'avez sans doute compris, j'ai adopté ce dernier.

Entrons dans le vif du sujet : qu'est-ce que nous attendons d'un assistant pour AUR ?
Pour ma part, j'attends qu'il mette à jour les paquets provenant de AUR de façon automatique et transparente. Mais sur AUR, il y a aussi des paquets VCS (-git, -svn, etc), et c'est justement là où ça se corse...
Trizen m'a beaucoup déçu avec les paquets VCS, car il les recompile tous dès qu'on utilise l'option --devel : il recompile les paquets qui sont déjà à jour, ce qui constitue une perte de temps.
Aurman, c'est un assistant que m'a pas mal plu, mais je le trouvais inutilement trop verbeux avec l'option --devel : contrairement à Trizen, il ne les recompile pas les paquets VCS à jour, mais il affiche des messages par chacun, et, une fois de plus, ça constitue une petite perte de temps. Cependant, je n'ai pas vu de différences avec Pacaur, donc j'aurais pu m'arrêter là.
Alors voilà, on arrive à Yay ; pourquoi j'en parle ? Au début, j'étais assez rebuté par le fait qu'il soit écrit en Go (un langage de programmation qui m'est inconnu). Et je me suis rendu compte que c'est débile de juger un programme par le langage dans lequel il est écrit, donc je me suis lancé à l'aventure...

Yay est un assistant AUR rapide : c'est déconcertant sa vitesse d'exécution. Quand je lance un yay -Syu, c'est comme si je lançais un pacman -Syu, mais avec le support d'AUR en plus, et sans perte de temps supplémentaire (hors compilation en elle-même). Il faut le voir pour le croire. :D

Je partage mon fichier de configuration avec vous, ~/.config/yay/config.json :

Code : Tout sélectionner

{
	"buildDir": "/home/xorg/.cache/yay",
	"editor": "",
	"editorflags": "",
	"makepkgbin": "makepkg",
	"pacmanbin": "pacman",
	"pacmanconf": "/etc/pacman.conf",
	"tarbin": "bsdtar",
	"redownload": "no",
	"rebuild": "no",
	"answerclean": "None",
	"answeredit": "NotInstalled",
	"answerupgrade": "None",
	"gitbin": "git",
	"gpgbin": "gpg",
	"gpgflags": "",
	"mflags": "",
	"sortby": "votes",
	"gitflags": "",
	"requestsplitn": 150,
	"sortmode": 0,
	"sudoloop": true,
	"timeupdate": false,
	"devel": true,
	"cleanAfter": false,
	"gitclone": true
}
J'ai volontairement désactivé les questions qu'il pose, j'ai activé la boucle sudo, et l'option --devel est toujours utilisée par défaut.

Je vous invite à l'essayer pour vous en rendre compte par vous-même.
N'hésitez pas à utiliser ce sujet pour parler de votre ressenti avec d'autres assistants pour AUR. :)

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 16:57
par karhu
J'utilise aussi YAOURT, bien que je le trouve long à démarrer, car je peux sauvegarder les paquets construits dans un répertoire-dépôt. Comme ça mes autres PC profitent du travail du plus puissant et n'ont pas à recompiler les mêmes programmes, voir le wiki.
YAY a-t-il lui aussi cette fonctionnalité ?

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 18:52
par papajoke
je ne pense pas ; dans mon yay config (yay -Pg pour l'afficher)il y a

Code : Tout sélectionner

"buildDir": "/tmp/yaytmp-1000/",
"cleanAfter": true
mais tu va avoir des sous-répertoires avec $buildDir
Tu as quand même $PKGDEST de makepkg.conf
ps: un fichier de conf en json c'est pas top pour tous mais il est configurable en ligne de commande

------------------------
je trouve yay très très bien en fonctionnalités / options et avec sa vitesse je le placerais en numéro 1
Mais ...
souvent j'ai des plantages, en particulier lorsque que je fais un -Syu avec quelques paquets aur.
Il y a souvent des mises à jour, donc ce ne doit être qu'un défaut de jeunesse mais qui m’empêche une utilisation exclusive.

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 19:02
par waitnsea
papajoke a écrit : jeu. 31 mai 2018, 18:52 souvent j'ai des plantages, en particulier lorsque que je fais un -Syu avec quelques paquets aur.
Il y a souvent des mises à jour, donc ce ne doit être qu'un défaut de jeunesse mais qui m’empêche une utilisation exclusive.
Bonjour,
Rien de grave si on a la (bonne) habitude de mettre à jour en 2 temps :

Code : Tout sélectionner

$ sudo pacman -Syu
$ yay -Syu

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 19:10
par papajoke
oui mais ce qui m'intéresse avec yay c'est de retrouver pré install les différences de versions comme yaourt !

petite chose que j'apprécie aussi c'est qu'il installe les paquets en un seul bloc (façon pacaur) mais qu'il est très simple d'en exclure 1 ou 2 (paquets aur bien sûr :wink: )

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 19:46
par Xorg
Merci pour vos retours d'expérience.
karhu a écrit : jeu. 31 mai 2018, 16:57 YAY a-t-il lui aussi cette fonctionnalité ?
Ce n'est pas Yay qui s'occupe de ça, mais makepkg lui-même. C'est vrai que Yaourt propose une option similaire.
Cependant, depuis Pacman 5.1, définir la variable PKGDEST pose problème à Yay. Un patch a été créé, ça sera bon corrigé dans la prochaine version.
papajoke a écrit : jeu. 31 mai 2018, 18:52souvent j'ai des plantages, en particulier lorsque que je fais un -Syu avec quelques paquets aur.
Il y a souvent des mises à jour, donc ce ne doit être qu'un défaut de jeunesse mais qui m’empêche une utilisation exclusive.
Pour l'instant, je n'ai pas eu de soucis. Yay est un assistant assez jeune (première version en décembre 2016), mais ça semble se bonifier à chaque nouvelle version. :)
waitnsea a écrit : jeu. 31 mai 2018, 19:02 Rien de grave si on a la (bonne) habitude de mettre à jour en 2 temps :

Code : Tout sélectionner

$ sudo pacman -Syu
$ yay -Syu
Oui, cette technique est valable avec tous les assistants AUR. Yay m'a déjà fait le coup du faux-positif (paquets en conflits alors que Pacman dit que non), mais j'ai vu que ça a été corrigé.

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 20:01
par onyx67
Hello,

Merci pour ce post intéressant.
De ce que j'ai pu en lire, les commandes sont sensiblement les mêmes. En revanche il n'y a pas d'entrée dans le man. Où trouver toutes les options?
Autre question: permet-il la gestion des fichiers de configuration (.pacnew, .pacsave, etc...) ?

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 20:03
par benjarobin
Ceci fonctionne chez moi:

Code : Tout sélectionner

man yay
Je ne pense pas qu'il y est un support des pacnew, ...

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 20:04
par karhu
Pour que mon répertoire dépôt-local fonctionne aussi bien avec YAY que Yaourt il me suffit donc de définir la variable PKGDEST dans le fichier /etc/makepkg.conf.
Je vais corriger le WIKI, car cette solution me parait quand même un peu plus logique, plus propre et surtout plus standard.

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 20:29
par papajoke
j'avais fait une présentation asciinema il y a quelques mois
https://asciinema.org/a/JPM7jh4jN5Iy183 ... size=small

recherche dans aur comme yaourt sans option

pré-install:
- missing Aur : les paquets installés qui n'existent plus
- orphaned Aur : les paquets plus entretenus mais toujours existants
- possibilité de faire un update sélectif (Packages to not upgrade)
- possible de passer des paramètres directement à makepkg
yay -S APASFAIRE --mflags "--skipchecksums --skippgpcheck"

PAS de version fr

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 21:02
par onyx67
Ça m'a l'air très complet quand même.
En revanche:
papajoke a écrit : jeu. 31 mai 2018, 20:29 - possibilité de faire un update sélectif (Packages to not upgrade)
Là il vaut mieux savoir où on met les pieds et prévoir les potentielles conséquences. En tous cas merci pour toutes ces infos :chinois:

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 21:06
par Xorg
En effet, j'ai oublié de le préciser dans le premier message, je cherchais un assistant qui utilise les mêmes arguments que Pacman. C'est le cas pour la majorité des assistants, mais certains ont leur propre syntaxe. J'apprécie beaucoup celle de Pacman, car je la trouve claire et concise. :)
onyx67 a écrit : jeu. 31 mai 2018, 20:01 Autre question: permet-il la gestion des fichiers de configuration (.pacnew, .pacsave, etc...) ?
Non, mais tu as la commande pacdiff qui fait ça, similaire à yaourt -C. Cette commande n'est plus présente dans le paquet pacman, il faut installer pacman-contrib.
onyx67 a écrit : jeu. 31 mai 2018, 21:02 En revanche:
papajoke a écrit : jeu. 31 mai 2018, 20:29 - possibilité de faire un update sélectif (Packages to not upgrade)
Là il vaut mieux savoir où on met les pieds et prévoir les potentielles conséquences. En tous cas merci pour toutes ces infos :chinois:
Ouais, c'est faisable pour des paquets AUR, mais plutôt déconseillé pour des paquets provenant des dépôts officiels, car c'est une très mauvaise idée les mises à jour partielles.

Re: [Yay] Assistant pour AUR

Publié : jeu. 31 mai 2018, 21:10
par onyx67
Xorg a écrit : jeu. 31 mai 2018, 21:06 Non, mais tu as la commande pacdiff qui fait ça, similaire à yaourt -C. Cette commande n'est plus présente dans le paquet pacman, il faut installer pacman-contrib.
Super, merci Xorg

Re: [Yay] Assistant pour AUR

Publié : dim. 03 juin 2018, 14:09
par karhu
Bonjour
Suite au petit désagrément lié à libalpm.so et au problème du passage à pacman 5.1, j'ai dû moi aussi réinstaller yaourt et package-query !
Et maintenant la fonctionnalité de sauvegarde du paquet fraîchement compressé vers le répertoire dépôt local ne marche plus. Ni avec le répertoire destination défini en direct dans /etc/yaourtrc $EXPORTDIR ni avec la variable $PKGDEST de /etc/makepkg.conf.
Par contre la construction d'un paquet avec la commande : makepkg -si transfert bien le paquet dans le répertoire prévu dans la variable $PKGDEST.
D'où vient l'erreur ? En attendant de trouver la solution, ou la raison, je vais tester YAY puisque qu'il se retrouve au même niveau que yaourt momentanément.
xorg a écrit :
karhu a écrit : jeu. 31 mai 2018, 16:57
YAY a-t-il lui aussi cette fonctionnalité ?
Ce n'est pas Yay qui s'occupe de ça, mais makepkg lui-même. C'est vrai que Yaourt propose une option similaire.
Cependant, depuis Pacman 5.1, définir la variable PKGDEST pose problème à Yay. Un patch a été créé, ça sera bon corrigé dans la prochaine version.
J'attends encore un peu, il y aura aussi certainement une nouvelle version de yaourt !

Re: [Yay] Assistant pour AUR

Publié : dim. 03 juin 2018, 14:33
par Xorg
karhu a écrit : dim. 03 juin 2018, 14:09J'attends encore un peu, il y aura aussi certainement une nouvelle version de yaourt !
Au vu de l'activité du dépôt Git, une nouvelle version de Yaourt n'est pas à venir.

Re: [Yay] Assistant pour AUR

Publié : dim. 03 juin 2018, 14:39
par karhu
Je regarde plus en détail Yay (ou un autre), parce que j'en ai un peu marre de sauvegarder le paquet à la main avant de l'installer. C'est sûr que c'est plus long, moins drôle et surtout qu'il y en a qui passent au travers. :twisted:

Re: [Yay] Assistant pour AUR

Publié : dim. 03 juin 2018, 14:45
par Kristen
Xorg a écrit : dim. 03 juin 2018, 14:33
karhu a écrit : dim. 03 juin 2018, 14:09J'attends encore un peu, il y aura aussi certainement une nouvelle version de yaourt !
Au vu de l'activité du dépôt Git, une nouvelle version de Yaourt n'est pas à venir.
Skunnyk en parle ici

Re: [Yay] Assistant pour AUR

Publié : dim. 03 juin 2018, 14:48
par waitnsea
karhu a écrit : dim. 03 juin 2018, 14:09 J'attends encore un peu, il y aura aussi certainement une nouvelle version de yaourt !
Hum... Last Updated: 2017-07-19 20:22 et pas de version git récente...
Skunnyk a écrit : mer. 30 mai 2018, 09:53 J'ai supprimé yaourt et package-query du repo (car ils doivent être rebuildés pour le nouveau libalpm).
J'hésite a les remettres dans le repo, cela posant pas mal de problèmes à chaque upgrade de ce genre ou pas mal de personnes ne savent au final pas comment yaourt/package-query sont installés… (c'est une des grosses critiques historiques de yaourt d'ailleurs).
Le mieux étant de suivre cette doc : https://archlinux.fr/yaourt / https://archlinux.fr/yaourt-en
Skunnyk hésite à reprendre le développement...
Merci à lui en tout cas, je l'utilise depuis 2012.

Re: [Yay] Assistant pour AUR

Publié : dim. 03 juin 2018, 14:53
par Xorg
waitnsea a écrit : dim. 03 juin 2018, 14:48
Skunnyk a écrit : mer. 30 mai 2018, 09:53 J'ai supprimé yaourt et package-query du repo (car ils doivent être rebuildés pour le nouveau libalpm).
J'hésite a les remettres dans le repo, cela posant pas mal de problèmes à chaque upgrade de ce genre ou pas mal de personnes ne savent au final pas comment yaourt/package-query sont installés… (c'est une des grosses critiques historiques de yaourt d'ailleurs).
Le mieux étant de suivre cette doc : https://archlinux.fr/yaourt / https://archlinux.fr/yaourt-en
Skunnyk hésite à reprendre le développement...
Non. Il dit qu'il a supprimé yaourt et package-query du dépôt [archlinuxfr] et qu'il hésite à les remettre.
Il est mentionné nul part une reprise du développement de Yaourt.

Re: [Yay] Assistant pour AUR

Publié : lun. 04 juin 2018, 13:17
par karhu
C'est terrible, tous les paquets, que j'avais installés, ayant un rapport avec pacman plantent tous à cause de cette :danger: de bibliothèque libalpm.so.10. Pour certains une recompilation manuelle fonctionne, sauf que c'est en provenance du dépôt GIT, et non de la version stable. Mais pour d'autre les erreurs s'accumulent. Bref je ne tiens pas à ré-inventer l'eau tiède d'autres l'on déjà très bien fait. Ce que je n'ai pas (encore) trouver c'est :
comment lire, ou récupérer, les fichiers xx.db.tar.gz et xx.files.tar.gz d'AUR afin de vérifier si il y a eu des nouvelles versions.
comment récupérer, cloner plutôt, les sources stables, pas celles de développement, afin de lancer makepkg -si.
Solution pénible mais temporaire le temps que les programmes concernés soient remis à niveau.
YaY est effectivement plus rapide que yaourt, dommage qu'il n'y ait pas un temps d'arrêt entre la fin de la compilation et l'installation pour permettre une sauvegarde manuelle du paquet.
Je cherche encore un peu mais sans trop d'espoir de trouver une solution propre et rationnelle. :)