Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

make search et recherche de port...

7 réponses
Avatar
fred
Bonjour,

Je n'arrive pas à trouver l'utilisation de make search pratique.
Désolé.

En effet, je m'en sers exclusivement pour trouver la location d'un port donné.

Si je fais un make search key (ou name) = package, il me donne _tous_ les
packages mentionnant le package en question.

Je voudrais plutôt un truc du genre

make search key=package

Port: package
Path: blabla
Info: blabla
...

c'est-à-dire qu'il ne me sorte que l'info concernant le package recherché.

On peut obtenir un résultat similaire en faisant un grep ^package INDEX,
mais là, l'affichage n'est pas agréable.

Il faudrait donc passer le résultat de make search key=package à la
moulinette d'un filtre, mais je n'ai pas d'idée : avec grep, je ne vois
pas comment m'en tirer.

Et je ne désire pas, comme certaines réponses parues ici, faire appel à
une connexion internet du genre www.freshports.org

La génération de README.html semblant excessivement lourde, je ne me
vois pas l'appliquer non plus.

Merci.

--
FP.

7 réponses

Avatar
Miod Vallat
On peut obtenir un résultat similaire en faisant un grep ^package INDEX,
mais là, l'affichage n'est pas agréable.


Dans ce cas, que dis-tu de "make search key=^package", tout
simplement...

Avatar
Cyril Guibourg
Miod Vallat wrote:

Dans ce cas, que dis-tu de "make search key=^package", tout
simplement...


Encore une feature de barbu

Avatar
Serge Gagnon
In article , fred wrote:

Bonjour,

Salut


Je n'arrive pas à trouver l'utilisation de make search pratique.
Désolé.

Moi non plus.


En effet, je m'en sers exclusivement pour trouver la location d'un port donné.

Si ce n'est que la location:

locate portname |grep ports
c'est le plus rapide que j'ai trouve

Si je fais un make search key (ou name) = package, il me donne _tous_ les
packages mentionnant le package en question.

Je voudrais plutôt un truc du genre

make search key=package

Port: package
Path: blabla
Info: blabla
...

c'est-à-dire qu'il ne me sorte que l'info concernant le package recherché.

Le plus rapide que j'ai trouve est:

more /usr/ports/path_to_port/pkg-descr

On peut obtenir un résultat similaire en faisant un grep ^package INDEX,
mais là, l'affichage n'est pas agréable.

Il faudrait donc passer le résultat de make search key=package à la
moulinette d'un filtre, mais je n'ai pas d'idée : avec grep, je ne vois
pas comment m'en tirer.

Et je ne désire pas, comme certaines réponses parues ici, faire appel à
une connexion internet du genre www.freshports.org

La génération de README.html semblant excessivement lourde, je ne me
vois pas l'appliquer non plus.

Merci.

J'ai trouve un bidule qui est pas mal, mais qui n'est pas directement

ce que tu veux. Tu peux quand meme l'essayer.
sysutils/portsman
pas mal cool. Pas trop pesant. Pratique.
Sinon, comme je te disais, moi j'ai trouve qu'un locate et
qu'editer les pkg-descr c'etait ce qu'il y a de plus pratique.

--
Serge Gagnon
Quebec, Qc, Canada

Avatar
fred

In article , fred wrote:

Bonjour,

Salut

salut donc,


Je n'arrive pas à trouver l'utilisation de make search pratique.
Désolé.

Moi non plus.


En effet, je m'en sers exclusivement pour trouver la location d'un port donné.

Si ce n'est que la location:

locate portname |grep ports
c'est le plus rapide que j'ai trouve
Pas bon non plus ! :-)


muscle[ttyp4]:~/Thèse/Publis/{56}/> locate ogle | grep ports
/usr/ports/graphics/ogle-gui/pkg-message
/usr/ports/graphics/ogle-gui/pkg-plist
/usr/ports/math/scilab/work/scilab-2.6/routines/optim/dogleg.f
/usr/ports/math/scilab/work/scilab-2.6/routines/optim/dogleg.o
/usr/ports/multimedia/ogle
.../...
/usr/ports/net/p5-Net-Google
/usr/ports/net/p5-Net-Google/Makefile
/usr/ports/net/p5-Net-Google/distinfo
/usr/ports/net/p5-Net-Google/pkg-descr
/usr/ports/net/p5-Net-Google/pkg-plist
/usr/ports/net/py-google
/usr/ports/net/py-google/Makefile
etc etc etc...

Puis il n'y a pas les infos.

[snip]


Le plus rapide que j'ai trouve est:

more /usr/ports/path_to_port/pkg-descr
Hmmm, justement, c'est le path_to_port que je recherche !


J'ai trouve un bidule qui est pas mal, mais qui n'est pas directement
ce que tu veux. Tu peux quand meme l'essayer.
sysutils/portsman
pas mal cool. Pas trop pesant. Pratique.
Merci, je vais regarder ça.


En attendant, il semble que le « feature du barbu » soit le plus
rapidement applicable. Je n'avais pas pensé foutre un regexp dans le
key. Les grincheux diront que je n'avais qu'à regarder le source du
Makefile, certes... :-)

Merci bien.

--
FP.


Avatar
Yannick FAHAM
salut,

j'ai trouvé il y a quelque semaines un ports qui s'appelle "portell" dans
/usr/ports/misc/portell. il donne la description du package et son
emplacement. l'inconvénient par rapport à une solution custom avec grep ou
find, c'est que tu dois connaitre précisément le nom du port, mais avec un
peu de pratique, on connait pratiquement le nom de tous les ports qu'on
install à l'usage.


"Miod Vallat" a écrit dans le message de
news:

On peut obtenir un résultat similaire en faisant un grep ^package INDEX,
mais là, l'affichage n'est pas agréable.


Dans ce cas, que dis-tu de "make search key=^package", tout
simplement...



Avatar
Hugo Villeneuve
In article <bdver8$v6o$, Yannick FAHAM wrote:
salut,

j'ai trouvé il y a quelque semaines un ports qui s'appelle "portell" dans
/usr/ports/misc/portell. il donne la description du package et son
emplacement. l'inconvénient par rapport à une solution custom avec grep ou
find, c'est que tu dois connaitre précisément le nom du port, mais avec un
peu de pratique, on connait pratiquement le nom de tous les ports qu'on
install à l'usage.


Here on OpenBSD, make search is a simple egrep -i on the INDEX file
combined with a simple awk script for displaying.

You could easily move that into a simple shell script like this:

#!/bin/sh

[ -z "$1" ] && exit 1

awk -v key="$1" -F| '
BEGIN {
k = tolower(key);
}

tolower($1) ~ k {
printf("Port:t%snPath:t%snInfo:t%snMaint:t%snIndex:t%snL-deps:t%snB-deps:t%snR-deps:t%snArchs:t%snn", $1, $2, $4, $6, $7, $8, $9, $10, $11);
}' /usr/ports/INDEX


Of course, you just lost the ability to do GNU extended regex but
most people can live with that.




"Miod Vallat" a écrit dans le message de
news:

On peut obtenir un résultat similaire en faisant un grep ^package INDEX,
mais là, l'affichage n'est pas agréable.


Dans ce cas, que dis-tu de "make search key=^package", tout
simplement...






--
Hugo Villeneuve
http://EINTR.net/



Avatar
fred

salut,
salut,


j'ai trouvé il y a quelque semaines un ports qui s'appelle "portell" dans
/usr/ports/misc/portell. il donne la description du package et son
emplacement. l'inconvénient par rapport à une solution custom avec grep ou
find, c'est que tu dois connaitre précisément le nom du port, mais avec un
peu de pratique, on connait pratiquement le nom de tous les ports qu'on
install à l'usage.
Ce n'est pas vraiment ce que je demandais, mais c'est intéressant.


Merci.

--
FP.