Bonjour, j'ai besoin d'utiliser la toolbox shogun (http://www.shogun-toolbox.org) pour mon travail de fin d'étude.
J'en ai profité pour en faire un rpm pour fedora.
Le paquet est compilé avec l'option --disable-svmlight (car svmlight n'est pas GPL).

Résumé du test : shogun et 9 packets dérivé (shogun-python, shogun-R...)
Résumé de la description : shogun est une toolbox orientée machine learning (svm, clustering...)
URL Spec : http://home.scarlet.be/~tsa31182/shogun.spec
URL SRPM : http://home.scarlet.be/~tsa31182/shogun-0.9.0-0.1.alpha.fc11.src.rpm
Description en anglais:
SHOGUN - is a new machine learning toolbox with focus on large scale
kernel methods and especially on Support Vector Machines (SVM) with
focus to bioinformatics. It provides a generic SVM object interfacing
to several different SVM implementations. Each of the SVMs can be
combined with a variety of the many kernels implemented. It can deal
with weighted linear combination of a number of sub-kernels, each of
which not necessarily working on the same domain, where an optimal
sub-kernel weighting can be learned using Multiple Kernel Learning.
Apart from SVM 2-class classification and regression problems, a number
of linear methods like Linear Discriminant Analysis (LDA), Linear
Programming Machine (LPM), (Kernel) Perceptrons and also algorithms to
train hidden markov models are implemented. The input feature-objects
can be dense, sparse or strings and of type int/short/double/char and
can be converted into different feature types. Chains of preprocessors
(e.g. substracting the mean) can be attached to each feature object
allowing for on-the-fly pre-processing.

URL fichiers tests : http://home.scarlet.be/~tsa31182/shogun-testsuite.tar.gz
Ces fichiers servent à tester que les différents modules sont bien installés.

Merci d'avance pour vos critiques.
Bonjour,

petite lecture rapide de ton fichier .spec...

1) la ligne "Requires: atlas lapack" est-elle vraiment nécessaire ? Les bibliothèques requises par tes binaires sont automatiquement ajoutées comme dépendances à ton RPM

2) tu devrais utiliser à la place de ton ./configure la macro %configure ; elle t'évitera en outre de passer à configure toutes les options de chemins d'installation (options --*dir=...)

3) sauf *excellentes* raisons, les paquetages Fedora ne fournissent pas de bibliothèques statiques. Vois si configure propose une option pour désactiver leur construction, sinon exclus les fichiers .a

4) attentions aux répertoires créés par ton RPM ! https://fedoraproject.org/wiki/Packaging:UnownedDirectories
Pikachu_2014 wrote:Bonjour,

petite lecture rapide de ton fichier .spec...

1) la ligne "Requires: atlas lapack" est-elle vraiment nécessaire ? Les bibliothèques requises par tes binaires sont automatiquement ajoutées comme dépendances à ton RPM

2) tu devrais utiliser à la place de ton ./configure la macro %configure ; elle t'évitera en outre de passer à configure toutes les options de chemins d'installation (options --*dir=...)

3) sauf *excellentes* raisons, les paquetages Fedora ne fournissent pas de bibliothèques statiques. Vois si configure propose une option pour désactiver leur construction, sinon exclus les fichiers .a

4) attentions aux répertoires créés par ton RPM ! https://fedoraproject.org/wiki/Packaging:UnownedDirectories
1 et 2 : je ne savais que ça fonctionnait comme ça. Je change ça dans mon spec.
3 : pas d'option pour le configure je vais donc utiliser %exclude
4 : Merci pour le lien, je corrige ça.

Je mettrai à jour les fichiers référencés dans le premier message une fois les problèmes corrigés.

EDIT : Pour le point 2, je ne peux pas utiliser la macro %configure car sinon j'obtiens l'erreur :
Error: Unknown parameter: --build=x86_64-unknown-linux-gnu
Les fichiers référencés dans le premier message ont été mis à jour.
J'ai fait pas mal de correction sur le package.
J'ai ajouté le package shogun-doc qui contient la documentation html générée avec doxygen.
J'ai aussi corrigé pas mal de warning rpmlint.
Il reste juste quelques warnings pour le package shogun-python-modular:
[builder@localhost x86_64]$ rpmlint shogun-python-modular-0.8.0-0.4.alpha.fc11.x86_64.rpm 
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Library.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Kernel.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Features.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Distribution.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Regression.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Classifier.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Evaluation.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Structure.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Distance.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_Clustering.so
shogun-python-modular.x86_64: W: unstripped-binary-or-object /usr/lib64/python2.6/site-packages/shogun/_PreProc.so
shogun-python-modular.x86_64: W: no-documentation
1 packages and 0 specfiles checked; 0 errors, 12 warnings.
7 jours plus tard
Le paquet me semble plutot correct.
Encore quelques warnings dans rpmlint.
J'ai juste une question.
Est-ce que je dois mettre mes fichiers *.a dans un paquet shogun-static ou bien je peux juste faire
%exclude %{_libdir}/libshogun.a