|
|
|
|
||||||
| fr.comp.os.bsd Systèmes BSD et dérivés (NetBSD, FreeBSD, ...). |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonsoir, Ça peut paraître un peu HS mais pas tant que ça ;-) C'est pour faire une complétion de commande sur portupgrade. Il s'agit de déterminer le nom du port correspondant à un paquet. Par ex, gstreamer-0.10.11 -> gstreamer, mais aussi gstreamer-plugins-0.10.11 -> gstreamer-plugins (couper les '-' avec cut ne donnera donc pas le résultat attendu, parce que, à ma connaissance, on ne peut pas couper à partir de la fin (en l'occurence, ça sera toujours un seul '-') ou à base de sed aussi) Un truc en python par ex, pour que ce ne soit pas trop lourdingue. On pourrait s'en sortir avec les commandes pkg_*, mais bon. Merci. -- Fred. |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Sur OpenBSD, suffit d'aller regarder dans le +CONTENTS du package, c'est
pas par hasard qu'on a rajoute un @comment subdir=path pour savoir d'ou venait le port. Je ne sais pas si FreeBSD a repris l'idee... |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Marc Espie <espie@lain.home> wrote:
> Je ne sais pas si FreeBSD a repris l'idee... Comme ça, tu veux dire ? > [xavier@valinor ports]$ less /var/db/pkg/postfix-2.3.4,1/+CONTENTS > @comment PKG_FORMAT_REVISION:1.1 > @name postfix-2.3.4,1 > @comment ORIGIN:mail/postfix > @cwd /usr/local > [...] -- XAv Communication Breakdown, it's always the same |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
xavier@groumpf.org (Xavier) a écrit :
> Marc Espie <espie@lain.home> wrote: > >> Je ne sais pas si FreeBSD a repris l'idee... > > Comme ça, tu veux dire ? > >> [xavier@valinor ports]$ less /var/db/pkg/postfix-2.3.4,1/+CONTENTS >> @comment PKG_FORMAT_REVISION:1.1 >> @name postfix-2.3.4,1 >> @comment ORIGIN:mail/postfix >> @cwd /usr/local >> [...] C'est trop lourdingue pour de la complétion de commande, ça ;-) À mon humble avis, la bonne idée (?), c'est de partir de la sortie de pkg_info, et de lui enlever le n° de version. Mais avec cut, je ne sais pas faire (et pas assez expert en awk pour ça). -- Fred. |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
fred <fredantispam@free.fr> wrote:
> À mon humble avis, la bonne idée (?), c'est de partir de la sortie de > pkg_info, et de lui enlever le n° de version. Ah non, pas tant que ça : [xavier@valinor db]$ grep '\bORIGIN\b' pkg/mysql-server-4.1.22/+CONTENTS @comment ORIGIN:databases/mysql41-server [xavier@valinor db]$ pkg_info | grep "mysql-server" mysql-server-4.1.22 Multithreaded SQL database (server) Je me demande comment tu pourrais deviner le nom du port (mysql41) à partir de pkg_info -- XAv Communication Breakdown, it's always the same |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
On Sat, 16 Dec 2006 01:44:57 +0100
fred <fredantispam@free.fr> wrote: > Ça peut paraître un peu HS mais pas tant que ça ;-) > C'est pour faire une complétion de commande sur portupgrade. zsh le fait ... ça pourrait être un point de départ (si j'ai bien compris la question ... ) portupgrade installe ce fichier entre autre : /usr/local/share/zsh/site-functions/_pkgtools Mais aussi (pas testé ... ) : /usr/local/share/examples/pkgtools/bash/complete.sample et (non plus ... ) : /usr/local/share/examples/pkgtools/tcsh/complete.sample > Il s'agit de déterminer le nom du port correspondant à un paquet. > > Par ex, gstreamer-0.10.11 -> gstreamer, mais aussi > gstreamer-plugins-0.10.11 -> gstreamer-plugins > (couper les '-' avec cut ne donnera donc pas le résultat attendu, > parce que, à ma connaissance, on ne peut pas couper à partir de la > fin (en l'occurence, ça sera toujours un seul '-') ou à base de sed > aussi) En partant de la sortie de pkg_info : # pkg_info -qo gstreamer-plugins-a52dec-0.10.4_1,2 | cut -d / -f 2 gstreamer-plugins-a52dec # C'est un truc du genre que tu cherches ? > Un truc en python par ex, pour que ce ne soit pas trop lourdingue. On > pourrait s'en sortir avec les commandes pkg_*, mais bon. -- Ferengi Rule of Acquisition #202: The justification for profit is profit. -- ST: Legends of the Ferengi |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
On Sat, 16 Dec 2006 17:08:49 +0100
xavier@groumpf.org (Xavier) wrote: > Je me demande comment tu pourrais deviner le nom du port (mysql41) à > partir de pkg_info pkg_info -qo ? Quand je réinstalle une machine, avant je récupère la liste des packages installées comme ça (pkg_info -qoa) que je repasse à portinstall après (un jeu amusant serait de trouvé la clef primaire de cette ensemble, la théorie est facile à décrire, c'est exactement la même que pour les dépendances fonctionnelles d'une base de données relationnelle, reste à la coder, exercice pour la p... pardon. déformation professionnelle ![]() -- Ferengi Rule of Acquisition #7: Keep your ears open. -- ST S9, "In the Hands of the Prophets" |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
Le 16 décembre 2006 à 17:19, Marwan Burelle a écrit :
> On Sat, 16 Dec 2006 17:08:49 +0100 > xavier@groumpf.org (Xavier) wrote: > >> Je me demande comment tu pourrais deviner le nom du port (mysql41) à >> partir de pkg_info > > pkg_info -qo ? > > Quand je réinstalle une machine, avant je récupère la liste des > packages installées comme ça (pkg_info -qoa) que je repasse à > portinstall après (un jeu amusant serait de trouvé la clef primaire de > cette ensemble, la théorie est facile à décrire, c'est exactement la > même que pour les dépendances fonctionnelles d'une base de données > relationnelle, reste à la coder, exercice pour la p... pardon. > déformation professionnelle ![]() A passage, pour ceux qui ont envie de s'amuser avec ruby, portupgrade est basé sur une série de modules qui encapsulent les accès aux diverses infos des ports. J'ai eu l'occasion de bricoler avec ici : http://www.lacave.net/~fred/projets/.../portsupdating Qui essaie de trouver dans le fichier /usr/ports/UPDATING les choses qui concernent des ports installés. A noter que, dans la situation d'une auto-complétion, cette manipulation des bases de données est horriblement lente... Fred -- Pierced from below, souls of my treacherous past Betrayed by many, now ornaments dripping above Awaiting the hour of reprisal Your time slips away Raining blood From a lacerated sky Bleeding its horror Creating my structure Now I shall reign in blood (Raining Blood, Slayer) |
|
![]() |
| Outils de la discussion | |
|
|