[alpm] alpm-query

Autres projets et contributions
Répondre
Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

[alpm] alpm-query

Message par mimas » lun. 08 mars 2010, 19:38

J'ai un peu bossé sur alpm-query de manière à ce que ça soit présentable. Je ne suis pas développeur dans l'âme donc il vaudrait mieux avoir un œil avisé pour structurer ça un peu moins à l'arrache©. :)

Je n'arrive pas à uploader sur on espace ftp (c'est la fête du slip sur ma ligne ADSL depuis quelques jours), contactez-moi par PM pour avoir une copie par e-mail. Attention, ce n'est pas finalisé, c'est juste un prototype qui tient avec du scotch.

Pour le teasing, la doc qui est dans le tarball
Utilisation d'alpm-query.

Application Options:
--search Search mode (TERM is a glob)
-c, --show-conflicts Display conflicts
-C, --conflicts Display packages which conflict with
-d, --show-depends Display depends
-D, --depends Display packages which depend on
-l, --local In installed packages only
-p, --show-provides Display provides
-P, --provides Display packages which provide
-r, --show-replaces Display replaces
-s, --show-all Display conflicts, depends, provides & remplaces
-R, --replaces Display packages which replace
--raw Display raw information


**** SHOW-{CONFLICTS,DEPENDS,PROVIDES,REPLACE} ****

Les options -c, -d, -p, -r (-s permettant de toutes les sélectionner) servent
à indiquer la quantité d'informations que l'on veut sur un paquet.

'alpm-query -d glib2' donne :

* glib2 (2.22.4-1)
Depends: pcre

On peut utiliser le mode search pour faire des recherches plus poussées sur les
paquets. Par exemple, je veux avoir la liste des paquets qui ont tux dans leur
nom

'alpm-query --search *tux*' donne :

* tuxmath (1.7.2-2)
* tuxracer (0.61-8)
* extremetuxracer (0.4-2)
* supertux (0.3.1-4)
* tuxcards (2.2-1)
* tuxcmd (0.6.70-1)
* tuxguitar (1.2-4)
* tuxkart (0.4.0-5)
* tuxpaint (0.9.21-2)
* kdetoys-ktux (4.4.1-1)
* tuxpuck (0.8.2-4)

La liste de paquets dont le nom commence par gl<un_caractère>b.

'alpm-query --search gl?b*' donne :

* glib2 (2.22.4-1)
* glibc (2.11.1-1)
* glib2-docs (2.20.5-1)
* glob2 (0.9.4.4-3)
* glabels (2.2.6-1)
* glib (1.2.10-8)
* glib-perl (1.222-1)
* glibmm (2.22.1-1)

(les caractères * et ? ont la même utilité que les jokers de MS-DOS).

Les options --show-* fonctionnent aussi en mode search.

**** MODE LOCAL ****

Par défaut la recherche s'effectue dans les bases de /var/lib/pacman/sync/

On peut faire utiliser uniquement la base locale (les paquets installés) en ajoutant --local

**** CONFLICTS, DEPENDS, PROVIDES, REPLACES ****

Ce mode est sensé affichés les informations des aux autres paquets relatives
à un critère de recherce.

Pour l'instant il n'y a que depends (-D) qui est implémenté.

On veut avoir la liste des paquets installés qui dépendent de glib2

'alpm-query -D glib2 -l' donne :
* eggdbus (0.6-1)
* libcroco (0.6.2-1)
* libgsf (1.14.16-1)
* libidl2 (0.8.13-1)
* libsoup (2.28.2-1)
* mc (4.7.0.2-3)
* pango (1.26.2-1)
* syslog-ng (3.0.4-1)
* udev (151-3)

Voilà pour l'instant. :)
Anarchy for the triple A.

Avatar de l’utilisateur
Skunnyk
Maître du Kyudo
Messages : 1120
Inscription : mer. 06 sept. 2006, 21:31
Localisation : IRC
Contact :

Re: [alpm] alpm-query

Message par Skunnyk » mar. 09 mars 2010, 18:53

C'est la suite de aur-search (et en C?)


Pour l'upload, si le ftp passe pas, tu peux me l'envoyer par mail (mon pseudo <@> archlinux.fr) je le mettrais à dispo sur le repo.
Tu peux aussi venir t'amuser sur le git de archlinux.fr si cela te dit :)

Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

Re: [alpm] alpm-query

Message par mimas » mer. 10 mars 2010, 15:30

Toujours en C, il faudrait un fichier VAPI (vala) pour alpm. :)

Je ne sais pas si c'est la suite de aur-search, on va dire que c'est complémentaire. :) À l'origine c'est pour fournir un logiciel à yaourt afin de tester un allégement des requêtes. Tuxce, que j'ai eu par mail, semble avoir trouvé un outil pour ça : http://github.com/Kiwi/clyde.

Je vais aussi regarder clyde, j'avais commencé un binding lua pour alpm, il y a quelques temps déjà.

Pour le git on verra car ce n'est pas ma distro de travail et il y avait longtemps qu'elle n'avait pas mis ses octets sur mon disque. C'est grâce à la CTKarch de Caliméro si elle s'y retrouve à nouveau (il y a des trucs que j'adore dans arch et d'autres que je déteste. It's complicated). Je garde l'invitation de côté mon cher Skunnyk.
Anarchy for the triple A.

Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)
Contact :

Re: [alpm] alpm-query

Message par wain » mer. 10 mars 2010, 20:42

clyde c'est encore autre chose, c'est carrément une réécriture à l'identique de yaourt en lua qui s'appuie sur libalpm. Leur but est de reprendre toutes les fonctionnalités (même le --stats y est déjà). Si ils avancent bien, on aura peut-être plus besoin d'implémenter alpm-query et aur-search dans yaourt. Mais leur route est encore longue pour certaines fonctions comme le merge automatique des nouveaux fichiers de configuration, ou encore le support multi langue (actuellement en turc, italien, français et anglais).
Je trouve préférable d'avoir des outils séparés comme les tiens pour accéder à aur et alpm. Ainsi tous les wrapers pourront en profiter :D

Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

Re: [alpm] alpm-query

Message par mimas » jeu. 11 mars 2010, 12:18

J'avais oublié l'existence de dl.free.fr : http://dl.free.fr/lJr4WWWmT (alpm-query)

Ma distro s'est vue équipée de liens symboliques pour pouvoir utiliser et compiler des programmes contre libalpm. :D
Anarchy for the triple A.

Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03
Contact :

Re: [alpm] alpm-query

Message par tuxce » lun. 15 mars 2010, 14:54

salut, aur-search, mixé avec alpm-query, ça donne un:
package-query
J'ai préféré refaire pour enlever la dépendance à glib, pacman n'en ayant pas, et pour la libjson, elle n'est pas dispo sous arch, je lui ai préféré yajl.

j'ai uploadé 2 pkgbuild sur AUR:
package-query-git et yaourt-git-exp qui l'utilise, pour ceux qui sont intéressé, merci de faire un retour :)

Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

Re: [alpm] alpm-query

Message par mimas » mer. 17 mars 2010, 22:41

Cool.

Pour libjson, j'ai pris une bibliothèque JSON à l'arrache sur freshmeat (ou un truc dans le genre). Ça ne pose pas le problème de dépendance puisque je la lie statiquement. C'est un peu plus gros, cependant aur-search strippé donne dans les 14Ko, cela reste donc en deçà des limites du tolérable...

Yajl a un binding lua, c'est donc intéressant à connaître.

Tu utilises cURL, tu devrais essayer fetch (dépendance de pacman), C'est très simple a mettre en œuvre (il ne faut pas utiliser les fonctions avec url_stat dans les paramètres car ça retourne une longueur de 0 pour les pages dynamiques. Je me suis fait avoir. :p)
Anarchy for the triple A.

Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03
Contact :

Re: [alpm] alpm-query

Message par tuxce » jeu. 18 mars 2010, 13:10

libfetch, j'ai essayé, mais j'ai eu des résultats pas très encourageant :|
libfetch est presque plus rapide que curl sur une page mais multiplie son temps par le nombre de requêtes, alors que curl arrive à optimiser.

pour une recherche sur un terme, ça va, mais pour yaourt -Su --aur ou une recherche sur plusieurs mot, ça prend du temps (même si ça reste mieux que le wget)

ceci dit, il y a peut être une fonction d'initilisation ou autre, mais comme c'est autant documenté qu'alpm ... :)

sinon oui pour yajl, c'est parce qu'un des dev arch qui utilise lua l'utilise que je me suis dit, celui là a plus de chance de rester :)

Avatar de l’utilisateur
catwell
archer de cavalerie
Messages : 175
Inscription : lun. 13 juil. 2009, 19:00
Contact :

Re: [alpm] alpm-query

Message par catwell » jeu. 18 mars 2010, 15:47

Concernant les libs json, il faudrait que je teste le binding yajl mais il y a quelques mois j'avais conclus que luajson (pur Lua, basée sur LPEG) était la meilleure pour Lua et json-c une bonne solution pour C.

Bon, j'avais pas trop envie de parler de ça avant d'avoir plus progressé dessus et de l'avoir lancé officiellement mais ça m'a l'air un bon moment : si quelqu'un fait des comparatifs et veut les documenter quelque part, vous êtes bienvenus sur http://arch-lua.org/ ;) La seule contrainte pour l'instant est d'utiliser l'anglais...

Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

Re: [alpm] alpm-query

Message par mimas » jeu. 18 mars 2010, 17:12

M'enfin...

J'arrive sur arch il y a quelques années, je mets quelques scripts en ligne en lua (genre sélection aléatoire d'un miroir, http://forums.archlinux.fr/topic1956.html), je passe pour un extra-terrestre. Je pars de chez arch parce que je commençais à forker grave la distro, que ça me bouffait trop de temps et que des trucs me gavait, puis quand je reviens faire un tour, c'est pour voir qu'on commence à y mettre du lua partout. :D

Je sais ce qu'il me reste à coiffer
Image
Anarchy for the triple A.

Avatar de l’utilisateur
catwell
archer de cavalerie
Messages : 175
Inscription : lun. 13 juil. 2009, 19:00
Contact :

Re: [alpm] alpm-query

Message par catwell » jeu. 18 mars 2010, 18:17

Je modère un peu ton enthousiasme, on n'en est malheureusement pas au point de voir du Lua partout. J'ai fait une liste de gens susceptibles de participer à Arch Lua, j'en compte une dizaine. Ceci dit c'est déjà pas mal et je pense que si une distro peut se faire une grosse communauté Lua (à part Tiny Core) c'est bien Arch.

Avatar de l’utilisateur
mimas
Elfe
Messages : 559
Inscription : sam. 30 sept. 2006, 22:30
Localisation : Toulouse

Re: [alpm] alpm-query

Message par mimas » jeu. 18 mars 2010, 19:24

Le binding lua-alpm devrait permettre de faire pas mal de chose et de mettre lua au niveau des outils d'administration, sans faire avoir l'aspect de gadget.

Il y a quelques temps déjà, lorsque j'avais commencé un binding pour alpm, j'avais créer quelques outils pour trouver les orphelins, afficher les paquets à mettre à jour en différenciant ce qui est nouvelle version de paquet ou nouvelle version de programme. Il y avait une foultitude de possibilités, ce sans écrire des lignes et des lignes de code.

Pour l'instant lua-arch me semble un peu obscure, est-ce pour faire une équipe de packageurs de paquets lua ou est-ce pour créer une synergie entre les personnes qui développent en lua sur arch ? Ta présentation future m'éclairera là dessus. Chaque chose en son temps.

Il faudrait que je zyeute du côté de Tiny Core.
Anarchy for the triple A.

Avatar de l’utilisateur
catwell
archer de cavalerie
Messages : 175
Inscription : lun. 13 juil. 2009, 19:00
Contact :

Re: [alpm] alpm-query

Message par catwell » jeu. 18 mars 2010, 22:08

L'idée d'Arch Lua c'est un peu les deux : mettre en avant des projets en Lua pour Arch, et améliorer le support d'Arch dans Lua. Je n'ai pas trop envie de contraindre les gens dans ce qu'ils veulent faire, c'est tout l'intérêt d'un communauté : on devrait voir émerger des idées originales.

Pour Tiny Core c'est surtout que si je ne me trompe pas une bonne partie des outils d'administration est écrite en Lua.

Répondre