Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Fedora-Fr aux 15èmes Rencontres Mondiales du Logiciel Libre

#1 08/10/2010 16:27:27

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Contribution : seeks - proxy pour meta-recherche sur le web

Résumé du test : seeks
Résumé de la description : proxy pour meta-recherche sur le web
URL Spec : http://up.sur-la-toile.com/iEE6
URL SRPM : http://up.sur-la-toile.com/iEE7
Description : Seeks est un projet pour la recherche sur internet qui a pour but de regrouper les utilisateurs qui font les mêmes requêtes, afin qu'ils puissent partager les résultats.
Pour l'instant le seul composant disponible est un proxy qui sert de meta-moteur de recherche. Il intercepte les requêtes que l'utilisateur fait aux moteurs de recherche (Google, Bing, Exalead, etc) et redirige sur sa propre page de résultats qui regroupe les résultats de plusieurs moteurs de recherche.

Il est également possible d'accéder à seeks à partir d'un nœud public, comme par exemple seeks.fr.

Plus d'infos sur le site du projet.


J'ai deux problèmes pour le packaging :

- rpmlint me donne la sortie suivante :

seeks.x86_64: W: shared-lib-calls-exit /usr/lib64/libseeksplugins.so.0.0.0 exit@GLIBC_2.2.5
seeks.x86_64: W: shared-lib-calls-exit /usr/lib64/libseekslsh.so.0.0.0 exit@GLIBC_2.2.5
seeks.x86_64: W: shared-lib-calls-exit /usr/lib64/libseeksproxy.so.0.0.0 exit@GLIBC_2.2.5
3 packages and 1 specfiles checked; 0 errors, 3 warnings.

Apparemment ces lib ne sont utilisées que par le programme. Qu'est-ce que je peux/dois faire ?

- La documentation est censée s'installer avec la commande docbook2x-man, or sous fedora la commande est en fait db2x-docbook2man. J'ai fait un patch pour y remédier mais à qui dois-je rapporter le problème ? À fedora ou à upstream ?

Dernière modification par WilQu (13/10/2010 09:36:37)

Hors ligne

#2 13/10/2010 14:30:45

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

up

Hors ligne

#3 13/10/2010 15:58:48

madko
Contributeur Fedora et Linuxé depuis 1994
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 4 734
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

Pour les appels a exit dans les libs si elles en sont pas utilisées par d'autres programmes en effet ce n'est pas bien grave. Je pense que tu peux eventuellement contacter les développeurs du projet pour voir ce qu'ils en pense.

Pour la commande docbook il faudrait voir si c'est un truc spécifique à redhat, ou si genre à partir d'une certaine version de cette commance celle-ci a été renommé. Du coup si c'est ça vaudrait mieux prevenir aussi le projet. Si c'est un truc propre à fedora je pense que ton patch fera très bien l'affaire.

Tu as fait une review-request pour ce paquet chez fedora?

Dernière modification par madko (13/10/2010 15:59:17)


Linux, ya moins bien, mais c'est plus chèr!!!
Fedora 19 x86_64 sur Asus N550JV.208 et Fedora 19 x86_64 sur Samsung NP740u3e | Mainteneur du paquet Darktable et glances
OVH ADSL pour Internet, c'est plus libre que Free

Hors ligne

#4 13/10/2010 16:40:34

Pikachu_2014
Modérateur
Modérateur
Lieu : Boulogne-Billancourt
Inscription : 16/06/2005
Messages : 11 334
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

Bonjour,

quelques petites remarques concernant ton paquet :

  • l'URL source des projets hébergés sur Sourceforge doit être décrite telle qu'indiqué sur ce lien : http://fedoraproject.org/wiki/Packaging … eforge.net.
    Dans ton cas, tu corrigeras ton champ Source0 ainsi :

    Source0:        http://downloads.sourceforge.net/%{name}/solo/%{name}_solo_stable-%{version}.tar.gz

    Tu noteras que les occurences de « seeks » ainsi que de « 0.2.5b » ont été respectivement remplacées par %{name} et %{version} : il ne faut pas hésiter à se reposer sur ces macros qui t'éviteront des éditions fastidieuses en cas de mises à jour de seeks.

  • Puisque la version de seeks que tu as packagée semble être une pré-version (cf. le « b » dans la version), tu devrais considérer cette page pour définir les champs Version et Release dans ton .spec : http://fedoraproject.org/wiki/Packaging … in_Release. Ces règles doivent permettre des mises à jour sereines lorsque la nouvelle version ne suit pas la précédente dans l'ordre lexicographique.
    Dans ton cas, cela donnerait donc :

    Version:        0.2.5
    Release:        0.1.b%{?dist}

    Histoire de profiter au mieux du mécanisme de macros offert, tu peux du coup modifier ton en-tête de .spec ainsi par exemple :

    # On définit une macro « prerelease » qu'on pourra réutiliser dans Release et dans Source0
    %global prerelease b
    
    Name:           seeks
    Version:        0.2.5
    Release:        0.1.%{prerelease}%{?dist}
    [...]
    Source0:        http://downloads.sourceforge.net/%{name}/solo/%{name}_solo_stable-%{version}%{prerelease}.tar.gz
  • Il semblerait qu'il y ait une mise à jour de seeks en 0.3.0. Mettre à jour ton paquet par conséquent t'évitera les considérations précédentes sur le formatage du champ Release, même si elles restent cependant à retenir...

  • Tu utilises — à raison, mais j'y reviendrai à la fin — un patch pour qu'à la construction db2x_docbook2man soit utilisé en lieu et place de docbook2x-man. Il est important de laisser un commentaire dans le .spec expliquant (brièvement) en quoi ce patch est nécessaire, autant pour toi que pour la personne qui fera la revue de ton paquet.

  • Le paquet automake requiérant déjà autoconf, tu peux retirer autoconf des BuildRequires. De même, libtool dépendant d'automake, tu peux aussi retirer ce dernier. Finalement, ton champ BuildRequires se limitera à :

    BuildRequires:  libtool docbook2X libcurl-devel pcre-devel libxml2-devel

    Tu noteras qu'il est inutile de séparer les paquets par des virgules, des espaces suffisent.

  • Tu as veillé à supprimer les bibliothèques statiques (fichiers .a) de ton paquets dans la section %install de ton .spec, conformément aux guidelines Fedora. Tu peux toutefois éviter de le faire manuellement en passant à %configure l'option « --disable-static ». Veille par contre à supprimer les fichiers *.la, qui a priori ne sont pas utiles. En revanche, je m'interroge sur les fichiers *.so dans /usr/lib64/seeks/plugins/ qui seraient plutôt des plugins chargés dynamiquement au cours de l'exécution du programme, bien que versionnées... Je laisserais ces fichiers tranquilles et j'en toucherais un mot aux développeurs à ta place ; les autotools fournissent diverses mécanismes pour manipuler les plugins, il serait bon de leur préciser (voir le § 1.2 de http://www.flameeyes.eu/autotools-mythb … l.plugins).
    En corrigeant tes sections %build et %install, cela donnerait :

    %build
    ./autogen.sh
    %configure --disable-static
    make %{?_smp_mflags}
    
    %install
    rm -rf $RPM_BUILD_ROOT
    make install DESTDIR=$RPM_BUILD_ROOT
    rm $RPM_BUILD_ROOT/%{_libdir}/*.so
    rm $RPM_BUILD_ROOT/%{_libdir}/*.la
    rm $RPM_BUILD_ROOT/%{_libdir}%{name}/plugins/*/*.la
    
    %clean
    [...]
  • Question : les fichiers de configuration installés dans /etc/seeks/ peuvent être édités pour customiser son installation de seeks, ou bien les développeurs estiment qu'ils n'ont pas à être modifiés ? La réponse est importante, elle conditionne la pertinence de la macro %config(noreplace) dans ta section %files.

Tu n'as pas packagé le plus simple des paquets, ce premier essai est cependant remarquable.


« …elle excitait si puissamment le désir, que je devins alors très incrédule sur sa vertu. »
À propos de Fœdora, dans la Peau de Chagrin (Balzac) roll

Hors ligne

#5 13/10/2010 17:04:28

Pikachu_2014
Modérateur
Modérateur
Lieu : Boulogne-Billancourt
Inscription : 16/06/2005
Messages : 11 334
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

(suite et fin)

En réponse à tes questions :

  • Les avertissement « shared-lib-calls-exit » de rpmlint t'informent simplement que des sorties potentielles de programme peuvent être provoquées par des fonctions des bibliothèques fournies par seeks. Ceci peut être considéré comme bénin (quoique contestable) dans la mesure où ce choix appartient aux développeurs.

  • La question sur docbook2x-man est intéressante, il serait bon de demander l'avis des mainteneurs Fedora du paquet docbook2X dans un premier temps, ils seront plus à même de te répondre.
    Cependant, ton patch m'inspire une solution qui contentera tout le monde, via ce nouveau patch qui remplacerait le tien : http://fpaste.org/DM6m/
    Tu pourrais ainsi proposer ce patch aux développeurs directement. En résumé, ce patch fait en sorte que si docbook2x-man est détecté, celui-ci soit appelé ; dans le cas contraire, si db2x_docbook2man est en revanche trouvé, celui-ci sera utilisé à la place.


« …elle excitait si puissamment le désir, que je devins alors très incrédule sur sa vertu. »
À propos de Fœdora, dans la Peau de Chagrin (Balzac) roll

Hors ligne

#6 13/10/2010 17:10:00

Pikachu_2014
Modérateur
Modérateur
Lieu : Boulogne-Billancourt
Inscription : 16/06/2005
Messages : 11 334
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

(suite encore)

Au passage, il semblerait que ce programme puisse également être compilé avec un support opencv et libevent. Il est de bon ton de compiler un paquet avec le plus d'options possible, aussi peux-tu rajouter dans les BuildRequires les paquets opencv-devel et libevent-devel. Et rajouter aussi l'option « --enable-httpserv-plugin » à %configure pour activer la compilation d'un nouveau plugin httpserv-plugin...


« …elle excitait si puissamment le désir, que je devins alors très incrédule sur sa vertu. »
À propos de Fœdora, dans la Peau de Chagrin (Balzac) roll

Hors ligne

#7 18/10/2010 16:58:13

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

Je suis passé à la version 0.3, en prenant en compte les remarques de Pikachu et en incluant son patch à la place du mien.

Nouveau spec
Nouveau srpm

Hors ligne

#8 16/11/2010 14:41:44

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

up

Hors ligne

#9 18/11/2010 12:23:29

Pikachu_2014
Modérateur
Modérateur
Lieu : Boulogne-Billancourt
Inscription : 16/06/2005
Messages : 11 334
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

À propos des fichiers .so dans le dossier %{_libdir}/%{name}/plugins/, tu dois les conserver, ce sont bien des plugins, chargés par le programme sous ce nom (et non pas sous leur nom avec une version suffixée), quoi que puisse dire rpmlint. Comme dit plus haut, le fait pour ces plugins d'être traités à la compilation comme des bibliothèques versionnées est un bogue à rapporter upstream...

Tu dois aussi modifier le fichier config, installé dans %{_sysconfdir}/seeks/, qui définit les chemins des dossiers de log et des base de données de seeks ; en particulier :

  • définir le champ user-db-file à /var/lib/seeks/user.db

  • définir le champ logdir à /var/log/

Tu patcheras (ou utiliseras sed dans %prep, au choix) ainsi le fichier src/config dans les sources à cette fin.
ll faudra éventuellement rajouter à ta section %files, et taggés en %ghost, les fichiers /var/lib/seeks/user.db et /var/log/seeks.log de façon à ce qu'ils soient supprimés à la désinstallation du paquet.

Enfin, puisque l'on a un patch qui force la regénération du script configure, rajoute avant %configure les commandes suivantes :

autoconf
libtoolize
automake

« …elle excitait si puissamment le désir, que je devins alors très incrédule sur sa vertu. »
À propos de Fœdora, dans la Peau de Chagrin (Balzac) roll

Hors ligne

#10 20/11/2010 22:39:35

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

J'ai pu parler avec un dev upstream. Il s'avère qu'ils nous lisent (coucou upstream ! big_smile) et ils prévoient de corriger le problème des libs.

En ce qui concerne le fichier user.db, le comportement par défaut de seeks est de le mettre dans ~/.seeks, ce qui me semble normal puisque seeks est lancé par le user. En revanche, je ne sais pas quoi faire du fichier de log. Je ne peux pas le mettre dans un endroit où l'utilisateur n'a pas le droit d'écrire, et le fichier de configuration ne semble pas accepter $HOME ni ~. Upstream m'a conseillé d'aller regarder le package de privoxy sur lequel est basé seeks, mais privoxy est lancé via service donc il est assez différent. Je suis complètement perdu.

Hors ligne

#11 16/01/2011 20:59:42

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

Après une longue période d'inactivité, encore un essai :
Fichier SPEC
SRPM

J'ai créé un script init et ai ajouté un utilisateur seeks. Du coup j'ai des tas de warning de la part de rpmlint me disant que j'utilise un uid/gid non standard.

J'ai également un warning me vilipendant parce que je n'utilise pas de logrotate. Mais à ce que j'ai pu voir, le paquet pour privoxy ne l'utilise pas non plus.

Hors ligne

#12 30/01/2011 11:33:53

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

up

Hors ligne

#13 30/01/2011 13:06:03

madko
Contributeur Fedora et Linuxé depuis 1994
Lieu : Noisy the Great (9³)
Inscription : 22/12/2006
Messages : 4 734
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

ça coute rien de faire un fichier de conf pour logrotate. Pour l'uid/gid ya rien sur le wiki fedora pour ça? Tu va soumettre ton paquet chez fedora ensuite?


Linux, ya moins bien, mais c'est plus chèr!!!
Fedora 19 x86_64 sur Asus N550JV.208 et Fedora 19 x86_64 sur Samsung NP740u3e | Mainteneur du paquet Darktable et glances
OVH ADSL pour Internet, c'est plus libre que Free

Hors ligne

#14 30/01/2011 13:47:24

pingou
Fedora Addict
Modérateur
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 706
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

Tu as des lignes qui sont vraiment trop longue.
Coupe tes BR sur plusieur lignes comme pour la grande ligne du %pre
En revanche tu peux mettre plusieur fichier sur la ligne %doc dans ton %files

Aussi, GPLv2+ est pas tout à fait compatible avec la LGPL: https://fedoraproject.org/wiki/Licensin … ity_Matrix


On a pas inventé l'électricité en cherchant à améliorer la bougie...
-- Si c'est pas sur le bugzilla, c'est pas un bug ! --

Hors ligne

#15 05/02/2011 19:59:52

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

madko a écrit :

ça coute rien de faire un fichier de conf pour logrotate.

En effet, voilà c'est fait :)

madko a écrit :

Pour l'uid/gid ya rien sur le wiki fedora pour ça?

J'ai suivi les guidelines donc en fait ça ne devrait pas poser de problème.

madko a écrit :

Tu va soumettre ton paquet chez fedora ensuite?

J'aimerais bien oui (si quelqu'un ne le fait pas avant moi, au train où je vais…)

pingou a écrit :

Tu as des lignes qui sont vraiment trop longue.
Coupe tes BR sur plusieur lignes comme pour la grande ligne du %pre
En revanche tu peux mettre plusieur fichier sur la ligne %doc dans ton %files

Fait

pingou a écrit :

Aussi, GPLv2+ est pas tout à fait compatible avec la LGPL: https://fedoraproject.org/wiki/Licensin … ity_Matrix

Le projet est sous licence AGPL, mais certains fichiers inclus sont fournis avec leur licence d'origine, d'où les multiples licences. (Voir le fichier Licenses).

Nouveau fichier spec
Nouveau SRPM

Hors ligne

#16 13/02/2011 16:58:39

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

Up et version 0.3.2 :

SPEC
SRPM

Hors ligne

#17 15/02/2011 20:05:21

cquad
Membre
Inscription : 16/10/2006
Messages : 96
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

Dans ton spec :

BuildRequires: protobuf-devel >= 2.3.0 protobuf-compiler

* protobuf-compiler est une dépendance de protobuf-devel, tu peux donc te contenter de laisser protobuf-devel.

* J'ai testé avec la version 2.2.0 de protobuf-devel (version fournie sous f13) et la compilation passe. Dans les requirements de seeks je ne trouve pas de version minimum préconisée. Pourquoi protobuf-devel >= 2.3.0 et de ce fait uniquement possible pour f14 ?

Une fois installé :

Je rencontre un souci avec la page de man :

$ man seeks
Erreur pendant l'interprétation *roff du fichier /usr/share/man/man1/seeks.1.gz

Par contre elle s'affiche correctement néanmoins, je ne sais pas le pourquoi ce souci.

Dernière modification par cquad (15/02/2011 20:37:50)

Hors ligne

#18 19/02/2011 23:09:37

WilQu
Membre
Lieu : Île-de-France
Inscription : 16/02/2008
Messages : 615
Site Web

Re : Contribution : seeks - proxy pour meta-recherche sur le web

J'ai corrigé les BR. Effectivement, il me semblait que j'avais une excellente raison pour forcer la version de protobuf-devel à 2.3.0, mais je ne m'en souviens plus ^^
J'ai également créé un paquet devel pour tous les .so qui ne sont pas des plugins, changé un %{_sbin}/ldconfig en /sbin/ldconfig, et j'ai modifié le fichier init pour avoir de beaux [OK] au démarrage et à l'arrêt du daemon. Mais surtout j'ai enfin fait ma Review Request (et j'aurais besoin d'un sponsor smile )

Hors ligne

#19 05/07/2012 16:13:16

HLFH
Membre
Inscription : 18/03/2012
Messages : 3

Re : Contribution : seeks - proxy pour meta-recherche sur le web

Une erreur demeure pour moi lors de la compilation et du make :

/bin/ld: cannot find "-lseeksuserdb"

Je suis censé faire quoi ?

(Sous Fedora 17)

Merci d'avance

Hors ligne

Pied de page des forums