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 14/05/2010 17:22:04

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

[Résolu] rpm d'un programme en java

Bonjour,

J'ai un programme en java, et je n'arrive pas a en faire un rpm.
Soucis dans le spec, je ne sais trop comment faire...

Si quelqu'un a de la doc sur java et les rpm svp.

Tres cordialement,

ANDRE Ani


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#2 14/05/2010 17:22:57

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

Re : [Résolu] rpm d'un programme en java

Bonjour,

quel est ce programme ? Il y a des guidelines pour les paquets Java autrement sur le wiki du Projet Fedora : https://fedoraproject.org/wiki/Packaging/Java
N'hésite pas à demander des compléments au besoin ici-même.


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

#3 14/05/2010 17:25:12

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Voila le programme, ProfDepanne.

http://codingteam.net/project/profdepanne

Merci, je vais voir cette doc, et si je n'y arrive tjs pas, je reviendrais voir ici poser des questions wink

Encore merci.


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#4 18/05/2010 04:29:21

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Bonjour,

J'ai regarde un peu les diverses docs, mais j'avoue que c'est du chinois pour moi tout ça...
Je ne sais vraiment pas quoi en faire.

Je vois ant, maven... Moi, j'ai un makefile pour compiler mon programme.

Et comment faire pour compiler les sources au liende faire un rpm d'un jar..?
Je suis perdu...


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#5 18/05/2010 08:30:25

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] rpm d'un programme en java

Aurais-tu un début de fichier spec à nous soumettre ?


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

#6 18/05/2010 13:13:29

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Je n'ai que ça... J'avoue etre largue avec le spec...

%define name    profdepanne 
%define version 2.1 
%define release %{mkrel 1} 

Name:           %{name} 
Summary:        Petit programme d'aide aux utilisateurs.
Version:        %{version} 
Release:        %{release}
Source:     profdepanne.tar.bz2
Group:          Applications/Education 
BuildArchitectures: noarch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-buildroot 
License:        GPL 
Requires:       Java >= 1.6 

%description
Ce programme en Java permet d'aider les utilisateurs de l'informatique à se dépanner seul. C'est également un guide migration vers GNU/Linux.

%prep 
%setup -q -a 0 -c

%build

%make


%install
rm -rf $RPM_BUILD_ROOT
%makeinstall

%clean 
rm -rf $RPM_BUILD_ROOT 

%files 
%dir /rpm/SOURCES/profdepanne

%changelog 
* Tue Mar 25 2010 ANDRE Ani <contact@andre-ani.fr>
- Modification dans le code de réseau
- Ajout de l'heure et de la date
- Ajout de 3 utilitaires

GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#7 18/05/2010 14:33:29

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

Re : [Résolu] rpm d'un programme en java

Peu importent les étapes pour parvenir à la construction d'un fichier .jar, ce sont ces étapes qui sont attendues ici dans la cible %build de ton .spec. Que tu le fasses avec ant, maven ou ton Makefile n'a pas d'importance. Peut-on voir néamoins ce Makefile ?

Au passage n'utilise pas %makeinstall dans la cible %install de ton Makefile, cette macro est dépréciée sous Fedora :
   http://fedoraproject.org/wiki/Packaging … ot_be_used
Privilégie les appels directs à « make ».


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

#8 18/05/2010 14:41:30

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] rpm d'un programme en java

> %define release %{mkrel 1}
Cette ligne m'étonne un peu.


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

#9 18/05/2010 14:43:19

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

Re : [Résolu] rpm d'un programme en java

pingou a écrit :

> %define release %{mkrel 1}
Cette ligne m'étonne un peu.

Cette macro est propre à Mandriva. Tout le .spec lui-même semble inspiré par les conventions Mandriva.


« …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 18/05/2010 14:44:14

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] rpm d'un programme en java

Pikachu_2014 a écrit :
pingou a écrit :

> %define release %{mkrel 1}
Cette ligne m'étonne un peu.

Cette macro est propre à Mandriva. Tout le .spec lui-même semble inspiré par les conventions Mandriva.

Donc ça passera pas sous Fedora j'imagine smile

@André, tu t'inspires de quoi pour créer ton spec ?


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

#11 18/05/2010 14:53:40

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

J'ai pioche un peu la ou je pouvais pour le spec...

Voila mon makefile :

compile:
    javac -cp lib/swing-worker-1.1.jar:lib/appframework-1.0.3.jar profdepanne/*java
    
run :
    java -cp lib/swing-worker-1.1.jar:lib/appframework-1.0.3.jar:. profdepanne.ProfDepanneApp

GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#12 18/05/2010 17:05:08

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

Re : [Résolu] rpm d'un programme en java

Comment génères-tu le .jar de ton application ?


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

#13 18/05/2010 17:18:05

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Je boss sous netbeans, c'est lui qui cree le jar.


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#14 18/05/2010 17:20:52

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

Re : [Résolu] rpm d'un programme en java

C'est ce processus qu'il faut reproduire dans ton .spec. Ton RPM doit fournir un fichier .jar, en tant que programme Java, c'est la seule forme acceptable de diffusion d'un tel programme.
Tu devrais rajouter une cible « jar » dans ton Makefile pour générer le fichier .jar de ton projet.
Une autre solution serait de basculer sur un système de construction plus adapté à Java, comme Ant. Netbeans est certainement capable de générer un fichier Ant build.xml pour compiler ton projet et construire un .jar de celui-ci. Tu devrais fournir ce fichier build.xml dans tes sources et l'utiliser pour compiler ton projet sans IDE. Ce serait ainsi ant qui serait appelé dans ton .spec.


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

#15 18/05/2010 17:52:41

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Oui, netbeans gere ant et build.xml.
je vais essayer de compiler en passant par ant, jamais fait encore...
et donc ensuite, dans le spec, je passe par ant et le fichier build.xml alors.

je vais essayer tout ça.

merci beaucoup pour ttes ces infos wink


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#16 18/05/2010 19:19:10

proxy
Membre
Lieu : Localhost
Inscription : 15/08/2007
Messages : 8 805
Site Web

Re : [Résolu] rpm d'un programme en java

Voici un exemple tout simple de fichier build.xml :

Les sources sont dans sources
ant build : compile et crée le jar dans build
ant clean : nettoie tout

<project name="MonProjet" default="build" basedir=".">
        <target name="init">
                <mkdir dir="classes" />
                <mkdir dir="build" />

                <path id="cp">
                        <!-fileset dir="REPERTOIRE contenant d'autres jar">
                                <include name="*.jar" />
                        </fileset-->
                        <pathelement location="classes" />
                </path>
        </target>
        <target name="clean">
                <delete includeEmptyDirs="true" quiet="true">
                        <fileset dir="classes" />
                        <fileset dir="build" />
                </delete>
        </target>
        <target name="build" depends="init">
                <mkdir dir="build" />
                <javac srcdir="sources" destdir="classes" debug="on" deprecation="off" optimize="off">
                       <classpath refid="cp" />
                </javac>

                <jar destfile="build/${ant.project.name}.jar">
                       <fileset dir="classes"/>
                </jar>
        </target>
</project>


F23 / KDE 5
Il date de quand votre dernier backup ?

Hors ligne

#17 19/05/2010 03:48:52

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Merci beaucoup, je vais m'en inspirer pour essayer de compiler mon programme alors.


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#18 20/05/2010 04:24:08

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Bonjour,

J'ai re cree unspec comme il faut base sur le fed :

Name:           profdepanne
Version:        2.1
Release:        1%{?dist}
Summary:        Petit programme d'aide aux utilisateurs de l'informatique.

Group:          
License:        GPL
URL:            
Source0:        
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  
Requires:       

%description


%prep
%setup -q


%build
%configure
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT


%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%doc



%changelog

Pour compiler, je prefererais garder un makefile plutot que passer sur ant.
J'ai trouve quelques exemples sur le net, mais je n'y comprends pas grand chose...
J'ai essaye celui ci :

JFLAGS = -g
JC = javac
JAR=ProfDepanne.jar

.SUFFIXES: .java .class
.java.class: $(JC) $(JFLAGS) $*.java

CLASSES = \
    ProfDepanneApp.java \
        ProfDepanneAboutBox.java \
        ProfDepanneView.java 

default: classes

classes: $(CLASSES:.java=.class)

clean: $(RM) *.class

Je l'ai place dans le repertoire contenant les .java, mais ça ne marche pas, "pas de cible"...


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#19 20/05/2010 15:43:47

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

Re : [Résolu] rpm d'un programme en java

Pikachu_2014 a écrit :

C'est ce processus qu'il faut reproduire dans ton .spec. Ton RPM doit fournir un fichier .jar, en tant que programme Java, c'est la seule forme acceptable de diffusion d'un tel programme.
Tu devrais rajouter une cible « jar » dans ton Makefile pour générer le fichier .jar de ton projet.
Une autre solution serait de basculer sur un système de construction plus adapté à Java, comme Ant. Netbeans est certainement capable de générer un fichier Ant build.xml pour compiler ton projet et construire un .jar de celui-ci. Tu devrais fournir ce fichier build.xml dans tes sources et l'utiliser pour compiler ton projet sans IDE. Ce serait ainsi ant qui serait appelé dans ton .spec.

Petite digression : y'a une possibilité de faire le rpm de jabref ?
J'ai jamais essayé mais perso je le ferai bien en suivant ce topic vu l'aide que vous donnez big_smile


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

Hors ligne

#20 20/05/2010 15:48:37

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

Re : [Résolu] rpm d'un programme en java

MarbolanGos a écrit :

Petite digression : y'a une possibilité de faire le rpm de jabref ?
J'ai jamais essayé mais perso je le ferai bien en suivant ce topic vu l'aide que vous donnez big_smile

S'il doit intégrer les dépôts, tu auras toute l'aide nécessaire et plus encore... Tu peux aussi t'inspirer de ce que pingou avait réalisé il y a quelques années :
   http://blog.pingoured.fr/index.php?tag/JabRef
Avec OpenJDK désormais disponible pour le faire tourner sans peine, plus rien n'empêche JabRef d'intégrer Fedora.


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

#21 20/05/2010 15:51:21

pingou
Fedora Addict
Lieu : Toulouse
Inscription : 30/03/2006
Messages : 3 843
Site Web

Re : [Résolu] rpm d'un programme en java

sauf que j'avais packagé le .jar ce qui est mal big_smile

Mais le coup du .desktop doit entre être valide


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

#22 22/05/2010 04:50:03

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Je ne comprends rien au makefile, qui doit creer un jar, puis ensuite integrer ce makefile dans le spec...
Je suis largue.
Je crois que ProfDepanne n'integrera pas les depots de la Fed.


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#23 22/05/2010 10:25:05

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

Re : [Résolu] rpm d'un programme en java

Si tu utilises le build.xml avec ant le spec est presque entièrement fait dans la doc donnée par Pikachu sur comment faire un spec pour un document en java.


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

Hors ligne

#24 22/05/2010 13:55:50

ANDRE_Ani
Membre
Lieu : Bourges
Inscription : 14/05/2010
Messages : 74
Site Web

Re : [Résolu] rpm d'un programme en java

Ok, je vais essayer alors, mais j'aurais prefere garder un makefile (c'est la fsf qui demande ça pour pouvoir etre reference sur le free software directory, c'est pour cela que j'ai un makefile et pas ant).
Merci pour tout en tous cas wink


GNU/Linux et Logiciels Libres
https://andre-ani.fr

Hors ligne

#25 22/05/2010 14:26:31

trasher
Retraité
Lieu : Bordeaux - Aquitaine
Inscription : 21/10/2004
Messages : 283
Site Web

Re : [Résolu] rpm d'un programme en java

Je ne vois pas trop ce que viendrait faire un makefile dans un programme Java...

D'où est-ce que tu tiens qu'il en faut absolument un ?


Errer Humanum Est... (H.F. Thiéfaine) mad
La meilleure documentation pour Fedora : http://doc.fedora-fr.org ! (#fedora-fr on freenode)
Site perso - Mon blog - Le blog de ma pitite fille

Hors ligne

Pied de page des forums