PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > fr.comp.os.bsd > pkgname -> portname...
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
fr.comp.os.bsd Systèmes BSD et dérivés (NetBSD, FreeBSD, ...).

pkgname -> portname...

Réponse
 
LinkBack Outils de la discussion
Vieux 16/12/2006, 00h44   #1 (permalink)
fred
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut pkgname -> portname...


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.
  Réponse avec citation
Vieux 16/12/2006, 11h47   #2 (permalink)
Marc Espie
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: pkgname -> portname...

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...
  Réponse avec citation
Vieux 16/12/2006, 15h29   #3 (permalink)
Xavier
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: pkgname -> portname...

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
  Réponse avec citation
Vieux 16/12/2006, 15h56   #4 (permalink)
fred
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: pkgname -> portname...

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.
  Réponse avec citation
Vieux 16/12/2006, 16h08   #5 (permalink)
Xavier
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: pkgname -> portname...

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
  Réponse avec citation
Vieux 16/12/2006, 16h13   #6 (permalink)
Marwan Burelle
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: pkgname -> portname...

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
  Réponse avec citation
Vieux 16/12/2006, 16h19   #7 (permalink)
Marwan Burelle
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: pkgname -> portname...

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.
-- STS9, "In the Hands of the Prophets"
  Réponse avec citation
Vieux 16/12/2006, 16h32   #8 (permalink)
F. Senault
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: pkgname -> portname...

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)
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 02h22.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,13737 seconds with 16 queries