Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Représenter Fedora au Capitole du Libre 2019

#1 18/05/2011 10:01:03

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

Osmosis - Command line OpenStreetMap data processor

Bonjour,

Les outils pour alimenter OpenStreetMaps à partir de Fedora sont désormais ok (josm, merkartor), je me penche actuellement sur l'exploitation des informations.
Afin de pouvoir monter un serveur OpenStreetMaps chez soi, il est nécessaire d'avoir l'outil osmosis. Cet outil développé en Java n'est pas disponible dans les dépôts.

Je me penche donc actuellement sur ce futur package. Mais il y a beaucoup de dépendances.

osmosis : http://wiki.openstreetmap.org/wiki/Osmosis
osmosis utilise jpf (entre autre)

jpf :http://jpf.sourceforge.net/
jpf qui utilise jxp

jxp : http://jxp.sourceforge.net
jpx qui utilise commons-java.

commons-java : http://onemind-commons.sourceforge.net

Tous ces projets datent de 2006, et sont donc loin d'être récents, ils ne semblent pas présents dans les dépôts ou alors j'ai raté quelque chose.
Afin de savoir si un paquet est disponible je récupere le nom et le chemin d'un fichier fourni fait un "yum whatprovides */chemin/fichier*" sans l'extension, afin d'obtenir le paquet javadoc associé.
Y a t'il une méthode plus efficace ?

Si certains d'entre vous sont prêts à réaliser quelques dépendances ... wink

Hors ligne

#2 18/05/2011 10:13:09

MarbolanGos
Membre
Lieu : Fontenay-aux-Roses
Inscription : 11/02/2007
Messages : 4 879
Site Web

Re : Osmosis - Command line OpenStreetMap data processor

J'ai déjà rencontré ces dépendances quand j'avais voulu faire JabRef (http://forums.fedora-fr.org/viewtopic.php?id=48207) mais j'ai abandonné tellement en fait il faut aller encore plus loin. 2 ou 3 paquets de plus j'avais vu il me semble...

Bon courage !

[edit] Au passage regarder : https://bugzilla.redhat.com/show_bug.cgi?id=592645

Dernière modification par MarbolanGos (18/05/2011 10:15:12)


Fedora 19 : 1 Dell XPS M1330, 1 fixe custom et 1 Dell Latitude 6430u

Hors ligne

#3 18/05/2011 16:36:36

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

Re : Osmosis - Command line OpenStreetMap data processor

Merci pour tes encouragements,

J'ai donc avancé un peu, voici un petit résumé :

osmosis - En attente (dépendance manquante)
  -> jpf - En cours  - http://cedric.olivier.free.fr/rpms/jpf/jpf.spec
    -> jxp - Fait - http://cedric.olivier.free.fr/rpms/jxp/ … 14.src.rpm + http://cedric.olivier.free.fr/rpms/jxp/jxp.spec
      -> commons-java - Fait - http://cedric.olivier.free.fr/rpms/comm … 14.src.rpm + http://cedric.olivier.free.fr/rpms/comm … -java.spec
      -> commons-invoke - Fait - http://cedric.olivier.free.fr/rpms/comm … 14.src.rpm + http://cedric.olivier.free.fr/rpms/comm … nvoke.spec

Par contre, je rencontre un souci sur jpf :

jpf-1.5.1/source-tools/org/java/plugin/tools/docgen/DocGenerator.java:48: org.onemind.jxp.JxpProcessingContext is not public in org.onemind.jxp; cannot be accessed from outside package
    [javac] import org.onemind.jxp.JxpProcessingContext;

Alors que pourtant quand je regarde dans jxp, cela semble bien être public.

Hors ligne

#4 18/05/2011 17:17:46

MarbolanGos
Membre
Lieu : Fontenay-aux-Roses
Inscription : 11/02/2007
Messages : 4 879
Site Web

Re : Osmosis - Command line OpenStreetMap data processor

Juste une remarque rapide sur les rpm passe un coup de rpmlint dessus il y a des fautes rapides corrigeables. Sinon je suis impressionné !
Je suppose que par contre mainstream est pas très actif parce que sinon, par exemple le patch qui corrige les tests dans commons-java à mon avis va demander à être intégré dans le source et pas un patch au rpm...


Fedora 19 : 1 Dell XPS M1330, 1 fixe custom et 1 Dell Latitude 6430u

Hors ligne

#5 18/05/2011 17:42:05

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

Re : Osmosis - Command line OpenStreetMap data processor

Vu que le projet n'a pas évolué depuis 2007, j'ai peur effectivement que cela ne soit pas pris en compte. Néanmoins, cela concerne les tests, ce n'est donc pas utile, d'ailleurs je ne sais pas dans quelle mesure il est utile de les laisser durant la construction.

pour rpmlint, je le passe régulièrement et il est vrai que sur commons-java il y des choses à corriger. Mais de manière globale, mon but était surtout de dégrossir les choses pour arriver à avoir mon paquet osmosis fonctionnel !

J'attaquerais la couche de finition que si la construction globale est réalisable... Pour l'instant je suis bloqué et je pense que je vais arrêter pour aujourd'hui (il fait beau dehors wink)

Hors ligne

#6 19/05/2011 10:11:12

MarbolanGos
Membre
Lieu : Fontenay-aux-Roses
Inscription : 11/02/2007
Messages : 4 879
Site Web

Re : Osmosis - Command line OpenStreetMap data processor

Pour les tests cela dépend leur utilité. C'est c'est pour véirfier que le paquet fonctionne il est bon de les conserver.
Je vais suivre ton sujet vu que ça m'intéresse si quelqu'un arrive à faire les dépendances de JabRef (j'aimerai bien le voir dans les dépôts).


Fedora 19 : 1 Dell XPS M1330, 1 fixe custom et 1 Dell Latitude 6430u

Hors ligne

#7 20/05/2011 20:46:48

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

Re : Osmosis - Command line OpenStreetMap data processor

Petite mise à jour :

jpf - Fait (avec encore des choses à corriger) - http://cedric.olivier.free.fr/rpms/jpf/jpf.spec + http://cedric.olivier.free.fr/rpms/jpf/ … 14.src.rpm

La classe était bien privée, le patch ajouté permet de ne plus y faire appel.

Hors ligne

#8 20/05/2011 20:57:06

MarbolanGos
Membre
Lieu : Fontenay-aux-Roses
Inscription : 11/02/2007
Messages : 4 879
Site Web

Re : Osmosis - Command line OpenStreetMap data processor

Juste comme cela est-ce que commons-java est vraiment nécessaire pour commons-invoke ?


Fedora 19 : 1 Dell XPS M1330, 1 fixe custom et 1 Dell Latitude 6430u

Hors ligne

#9 20/05/2011 22:15:34

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

Re : Osmosis - Command line OpenStreetMap data processor

De souvenir, il me semble avoir du l'ajouter pour que cela compile.

Pour vérifier, retire le des BR, ainsi que lien symbolique dans %prep et essaie de reconstruire le paquet, tu verras bien wink

Edit: Je viens d'ouvrir un fichier au hasard et j'y trouve :

import org.onemind.commons.java.lang.reflect.ReflectUtils;

donc je pense effectivement qu'il est utile ...

Dernière modification par cquad (20/05/2011 22:18:47)

Hors ligne

#10 20/05/2011 22:21:07

MarbolanGos
Membre
Lieu : Fontenay-aux-Roses
Inscription : 11/02/2007
Messages : 4 879
Site Web

Re : Osmosis - Command line OpenStreetMap data processor

Merci pour les informations. Je continue à regarder les rpms cool


Fedora 19 : 1 Dell XPS M1330, 1 fixe custom et 1 Dell Latitude 6430u

Hors ligne

#11 20/06/2011 07:47:00

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

Re : Osmosis - Command line OpenStreetMap data processor

Après une petite pause beau temps, je me suis remis sur le paquet Osmosis.

Et je me pose une éternelle question :
- Un paquet qui propose plusieurs jars ou plusieurs paquets avec chacun un jar.

La norme si je ne me trompe c'est de fournir plusieurs jars dans un même paquet uniquement s'ils sont dépendants entre eux et ne peuvent être utilisés les uns sans les autres.
Le souci c'est que sur Osmosis, je n'en sais rien ...

La méthode de construction utilise ivy qui télécharge automatiquement les dépendances. Je suis donc obligé de revoir tous les fichiers build.xml pour que ce soit Fedora compliant wink

Personnellement, j'aurais plutôt tendance a faire un paquet par jar.  Mais les raisons ne sont pas obligatoirement les bonnes, c'est surtout parce que je préfère découper mon travail et que je préfère pleins de petites tâches plutôt qu'une grosse tâche.

Cela représente une dizaine de paquets, quel est votre avis sur le sujet ? (Je préfère le savoir avant de commencer wink)

Hors ligne

#12 20/06/2011 09:02:50

MarbolanGos
Membre
Lieu : Fontenay-aux-Roses
Inscription : 11/02/2007
Messages : 4 879
Site Web

Re : Osmosis - Command line OpenStreetMap data processor

Si je ne me trompe pas la norme dit de faire autant de paquets possibles avec les jar. Après il peut n'y avoir qu'un seul fichier srpm qui génère les différents rpm compilés c'est pas un problème.


Fedora 19 : 1 Dell XPS M1330, 1 fixe custom et 1 Dell Latitude 6430u

Hors ligne

#13 20/06/2011 09:13:05

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

Re : Osmosis - Command line OpenStreetMap data processor

Les guidelines ne disent finalement pas grand chose à ce sujet :
   http://fedoraproject.org/wiki/Packaging … stallation
Il faut adapter au cas par cas... Rassemble dans un premier temps tous tes .jar dans un unique paquet et propose-le ici-même. Si certains de ces .jar peuvent être utilisés indépendamment de l'application en elle-même comme bibliothèques par exemple ou qu'autant d'applications sont fournies que de .jar, il sera pertinent de découper le RPM en sous-paquets.


« …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

#14 20/06/2011 11:24:20

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

Re : Osmosis - Command line OpenStreetMap data processor

J'aurais plutôt eu tendance a tenter de faire l'inverse : Un paquet par jar et rassembler ensuite si nécessaire.

PS : Et surtout que j'ai essayé ce week-end de faire un build global, mais sans succès (je n'arrive pas a retirer tout ce qui concerne ivy et que le build reste fonctionnel)

Hors ligne

#15 20/06/2011 12:17:08

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

Re : Osmosis - Command line OpenStreetMap data processor

cquad a écrit :

J'aurais plutôt eu tendance a tenter de faire l'inverse : Un paquet par jar et rassembler ensuite si nécessaire.

Statistiquement, le cas "un paquet par jar" est plutôt rare, et encore plus s'agissant d'un programme Java et nom d'une bibliothèque.


« …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

#16 20/06/2011 22:41:26

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

Re : Osmosis - Command line OpenStreetMap data processor

Je me suis donc attelé à la création d'un paquet.

J'ai une dépendance envers le paquet postgis-jdbc, par contre quand j'essaie de l'ajouter dans le classpath j'ai un souci :

/usr/bin/build-jar-repository: error: Could not find postgis-jdbc Java extension for this JVM
/usr/bin/build-jar-repository: error: Some specified jars were not found for this jvm

Je suis preneur d'informations pour résoudre ce problème sad

Hors ligne

#17 20/06/2011 23:25:43

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

Re : Osmosis - Command line OpenStreetMap data processor

Je suppose que tu as passé à build-classpath l'argument « postgis-jdbc ». Le paquet postgis-jdbc fournit un fichier postgis-1.5.2.jar ; l'argument à fournir à build-classpath est donc :

build-classpath postgis-1.5.2

Ce qui n'est d'ailleurs pas conformes aux guidelines de packaging Java, les fichiers .jar ne devant pas être versionnés dans leur nom. Voilà une excellente occasion de demander, via un rapport de bogue, une mise en conformité de ce paquet aux derniers guidelines.


« …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

#18 21/06/2011 21:16:26

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

Re : Osmosis - Command line OpenStreetMap data processor

Merci pour ton aide, j'ai déposé un rapport de bug sur le sujet.

Je tombe maintenant sur une dépendance vers le framework "spring". Il n'est réellement pas empaqueté dans fedora ? Il semble pourtant courant, non ?

https://src.springframework.org/svn/spr … 5.RELEASE/

Si cela tente quelqu'un de s'y attaquer, j'en serais ravi wink

Hors ligne

Pied de page des forums