- Fedora-Fr
- À propos de Fedora-Fr
- Historique
- Statistiques
- Télécharger
- Obtenir Fedora
- Toutes les méthodes de téléchargement
- Support
- Aide sur IRC
- Forums
- Documentation
- Sous-projets
- Plateforme de blog
Dernière news : Clap de fin pour Fedora Linux 35 !
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
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)
Hors ligne
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
Encore merci.
GNU/Linux et Logiciels Libres
https://andre-ani.fr
Hors ligne
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
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
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
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)
Hors ligne
> %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
> %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)
Hors ligne
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
@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
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
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)
Hors ligne
Je boss sous netbeans, c'est lui qui cree le jar.
GNU/Linux et Logiciels Libres
https://andre-ani.fr
Hors ligne
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)
Hors ligne
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
GNU/Linux et Logiciels Libres
https://andre-ani.fr
Hors ligne
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>
Il date de quand votre dernier backup ?
Hors ligne
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
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
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
Fedora 19 : 1 Dell XPS M1330, 1 fixe custom et 1 Dell Latitude 6430u
Hors ligne
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
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)
Hors ligne
sauf que j'avais packagé le .jar ce qui est mal
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
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
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
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
GNU/Linux et Logiciels Libres
https://andre-ani.fr
Hors ligne
Hors ligne