Fedora-Fr - Communauté francophone Fedora - Linux

Communauté francophone des utilisateurs de la distribution Linux Fedora.

  

Dernière news : Stand Fedora-Fr sur Paris Open Source Summit 2019

#51 01/06/2010 13:29:53

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

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

Merci, je vais voir ça, bonne idee wink


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

Hors ligne

#52 09/06/2010 03:47:50

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

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

Bon, je laisse tomber...
Je n'arrive a rien, j'y passe des heures et la, plus le temps.
Alors je ne proposerais pas profdepanne a Fedora, en rpm.
Suis pas doue, j'y comprends rien au spec et tout ça.

Merci beaucoup a ceux qui m'ont aider, desole d'abandonner maintenant.


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

Hors ligne

#53 03/06/2011 15:25:30

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

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

bon, je reviens avec ma tentative de faire un rpm pour mon prog en java avec un makefile.
je ne sais pas comment dire dans le spec d'utiliser le makefile pour compiler et creer le jar.
deja, voila mon spec, au cas ou il y ai deja des betises dedans :

%define name    profdepanne
%define version 2.5
%define release 1%{?dist}

Name:           %{name} 
Summary:        Programme d'aide aux utilisateurs.
Version:        %{version} 
Release:        %{release}
Source0:     http://codingteam.net/project/profdepanne/download/file/profdepanne-2.5.zip
Group:          Applications/System
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


%build
%make


%install
pwd
rm -rf $RPM_BUILD_ROOT


%clean 
rm -rf $RPM_BUILD_ROOT 

%files 
%dir /rpm/SOURCES/profdepanne

%changelog 

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

Hors ligne

#54 03/06/2011 17:43:27

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

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

et donc ce spec ne marche pas? un message d'erreur? cf man make concernant l'utilisation d'un Makefile particulier.

Hors ligne

#55 03/06/2011 18:04:06

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

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

non, ça ne marche pas, voila le message d'erreur :

$ rpmbuild -ba profdepanne.spec
Exécution_de(%prep): /bin/sh -e /home/user/rpm/tmp/rpm-tmp.MBeRxv
+ umask 022
+ cd /home/user/rpmbuild/BUILD
+ cd /home/user/rpmbuild/BUILD
+ rm -rf profdepanne-2.5
+ /usr/bin/unzip -qq /home/user/rpmbuild/SOURCES/profdepanne-2.5.zip
replace ProfDepanne-2.5/Capture.jar? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd profdepanne-2.5
/home/user/rpm/tmp/rpm-tmp.MBeRxv: line 34: cd: profdepanne-2.5: No such file or directory
erreur: Mauvais status de sortie pour /home/user/rpm/tmp/rpm-tmp.MBeRxv (%prep)


Erreur de construction de RPM:
    Mauvais status de sortie pour /home/user/rpm/tmp/rpm-tmp.MBeRxv (%prep)

il va chercher un repertoire qu'il ne trouve pas, et je ne comprends pas pourquoi.
de plus, je ne sais pas comment lui donner les commandes de mon makefile...


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

Hors ligne

#56 03/06/2011 18:21:18

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

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

Renomme ton zip en ProfDepanne-2.5.zip


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

Hors ligne

#57 03/06/2011 18:50:50

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

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

j'ai beau le mettre en majuscule, en minuscule, enlever le -2.5, rien n'y fait, il ne trouve pas ce dossier...


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

Hors ligne

#58 03/06/2011 19:12:06

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

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

dans ton archive source tu as bien un repertoire qui a pour nom le nom du repertoire qu'il ne trouve pas? Par défaut l'archive source doit contenir un repertoire %{name}-%{version} qui contient les sources. Il te manque clairement les bases as tu lu la doc?

Vu:

cd profdepanne-2.5

Je pense donc que ton archive ne contient pas de repertoire profdepane-2.5 ce qui devrait être le cas si tu suis les bonnes pratiques. Sinon il faut préciser le nom du repertoire contenant tes sources lors de l'appel à la macro %setup avec l'option -n nom_du_rep

Dernière modification par madko (03/06/2011 19:20:35)

Hors ligne

#59 03/06/2011 22:02:47

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

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

c'est bien pour ça que je t'ai dit de le renommer : j'ai téléchargé ton zip : ProfDepanne-2.5/src/...


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

Hors ligne

#60 04/06/2011 04:55:03

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

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

desole, je suis long a la detente, je ne comprenais pas qu'il devait y avoir un dossier ProfDepanne-2.5 dans l'autre...

ça avance un peu, et j'ai pu lui faire executer des commandes du makefile.

puis, de nouveau une erreur car il cherche un fichier ou dossier qu'il ne trouve pas en executant %install (ou je n'ai que cette ligne en fait :

rm -rf $RPM_BUILD_ROOT
Exécution_de(%install): /bin/sh -e /home/user/rpm/tmp/rpm-tmp.4s5rY8
+ umask 022
+ cd /home/user/rpmbuild/BUILD
+ cd profdepanne-2.7
+ pwd
/home/user/rpmbuild/BUILD/profdepanne-2.7
+ ls
ProfDepanne.jar  changelog.txt    divers    doc  essai  icon.png  lib  licences  mail.properties  scripts  src
+ rm -rf /home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386
+ '[' '%{buildarch}' = noarch ']'
+ QA_CHECK_RPATHS=1
+ case "${QA_CHECK_RPATHS:-}" in
+ /usr/lib/rpm/check-rpaths
find: `/home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386': No such file or directory
+ /usr/lib/rpm/check-buildroot
find: `/home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386': No such file or directory
+ /usr/lib/rpm/brp-compress
/usr/lib/rpm/brp-compress: line 8: cd: /home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386: No such file or directory
+ /usr/lib/rpm/brp-strip /usr/bin/strip
find: `/home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386': No such file or directory
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
find: `/home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386': No such file or directory
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
find: `/home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386': No such file or directory
Processing files: profdepanne-2.7-1.fc15.noarch
erreur: Fichier non trouvé: /home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386/rpm/SOURCES/profdepanne-2.7.tar


Erreur de construction de RPM:
    Fichier non trouvé: /home/user/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386/rpm/SOURCES/profdepanne-2.7.tar

pour l'install, n'aurais je pas simplement a copier le jar cree dans /usr/quelquechose ?


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

Hors ligne

#61 04/06/2011 10:58:54

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

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

Ta section install est vide, le problème peut venir de là.

http://blog.linuxed.net/index.php?post/ … ire-un-RPM Regarde la section sur l'installation des fichiers

Mais en effet tu suppose bien, tu dois copier tes fichiers dans ce qui correspondra à leur emplacement cible. Pour l'instant dans la section %install, tout les chemins sont à préfixer avec $RPM_BUILD_ROOT car tu es dans un environnement temporaire.

Hors ligne

#62 04/06/2011 12:48:25

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

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

meme sans rien dans %install, il plante en cherchant un fichier ou dossier.
vais aller potasser la doc wink

merci beaucoup en tout cas, j'ai deja pas mal avance la.


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

Hors ligne

#63 05/06/2011 10:57:51

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

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

dans %install, je veux copier les fichiers dans /usr mais il me dit que je n'ai pas les droits...
comment je peux faire ?
pour le moment, je copie dans mon /home/user.
et ensuite, tjs le soucis du dossier non trouve...

Dernière modification par ANDRE_Ani (05/06/2011 11:06:26)


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

Hors ligne

#64 05/06/2011 11:39:42

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

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

Dans %install, tu copies les fichiers dans $RPM_BUILD_ROOT%/....
Par exemple, pour un prog java on utilise %{_javadir} :

mkdir -p %{buildroot}%{_javadir}/MONPROG
cp %{_builddir}/%{name}/toto.jar %{buildroot}%{_javadir}/MONPROG

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

Hors ligne

#65 05/06/2011 12:11:48

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

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

merci, ça avance.
mais j'ai un nouveau soucis :

+ mkdir -p /home/lostsoul/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386/usr/share/java/profdepanne-2.7-1.fc15.i386
+ cp /home/lostsoul/rpmbuild/BUILD/profdepanne-2.7/ProfDepanne.jar /home/lostsoul/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386/usr/share/java/profdepanne-2.7
+ '[' '%{buildarch}' = noarch ']'
+ QA_CHECK_RPATHS=1
+ case "${QA_CHECK_RPATHS:-}" in
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
Processing files: profdepanne-2.7-1.fc15.noarch
Vérification des fichiers non empaquetés: /usr/lib/rpm/check-files /home/lostsoul/rpmbuild/BUILDROOT/profdepanne-2.7-1.fc15.i386
erreur: Fichier(s) installé(s) (mais non empaquetés):
   /usr/share/java/profdepanne-2.7

sa vient surement de %files, faut que je vois comment ça marche.


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

Hors ligne

#66 05/06/2011 12:49:02

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

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

Dans %files tu dois lister ce que contient ton RPM, je metterais:

%files
%{_javadir}/profdepanne-2.7

Voire même
%{_javadir}/profdepanne-%{version}

etc, comme ça pas besoin d'y toucher à chaque nouvelle version.

Hors ligne

#67 05/06/2011 13:42:19

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

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

ça marche, mon rpm se cree !

mais, j'ai du faire des betises dans le spec, car dans le repertoire d'install (/usr/share/java), nautilus trouve une archive zip nommee profdepanne-2.7 sans extension.
le prog n'apparait pas dans les menus et le shell ne reconnait pas profdepanne. de plus, je dois l'installer en ligne de commande, en root, car avec l'interface graphique il ne me demande pas de m'authentifier puis me dit que je n'ai pas reussi a m'identifier.

je vais voir pour l'archive dans le rep d'install, surement fait une betise dans mon spec :

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_javadir}/profdepanne-2.7-%{release}.i386
cp %{_builddir}/%{name}-%{version}/ProfDepanne.jar %{buildroot}%{_javadir}/profdepanne-2.7 


%clean 
pwd
ls
rm -rf $RPM_BUILD_ROOT 


%files 
%{_javadir}/profdepanne-2.7

une question aussi, pour les requires, ais je besoin de tout cela ? j'ai vu ça sur un site :

BuildRequires:  jpackage-utils
BuildRequires:    java-devel >= 1.6
Requires:      jpackage-utils
Requires:       java >= 1.6 

merci beaucoup encore wink


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

Hors ligne

#68 05/06/2011 13:50:58

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

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

Requires:       java >= 1.6

devrait suffire
Pourquoi ton rpm n'est pas en noarch ? Si ton programme est full java, il n'est pas dépendant de l'architecture de l'OS


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

Hors ligne

#69 05/06/2011 14:01:19

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

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

le rpm est bien en noarch, cree dans /rpmbuild/rpm/noarch, le i386, c'est une erreur de ma part que je viens de corriger wink


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

Hors ligne

#70 06/06/2011 17:48:38

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

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

a part la verification des fichiers non empaquetes (du a un soucis avec %files je pense), il n'y a pas d'erreurs, mais le dossier qui devrait se creer dans %install ne se cree pas, et j'ai une archive simplement dans /usr/share/java au lieu du .jar que j'essaye de copier.
et dans %files, je n'arrive pas a lui dire de copier le repertoire avec tous les fichiers necessaires au programme, qui est dans /rpmbuild/BUILD/profdepanne-2.7

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_javadir}/profdepanne-2.7-%{version}.noarch
cp %{_builddir}/%{name}-%{version}/ProfDepanne.jar %{buildroot}%{_javadir}/profdepanne-2.7

%clean 
rm -rf $RPM_BUILD_ROOT 

%files 
%dir %{_javadir}/profdepanne-2.7

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

Hors ligne

#71 06/06/2011 17:52:25

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

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

Si je comprend bien tu veux au final avoir 2 répertoires?
- %{_javadir}/profdepanne-2.7 <= qui contient ton programme?
- %{_javadir}/profdepanne-2.7-%{version}.noarch <= qui est vide d'apres ta section install?

Dans ce cas:

%files
%dir %{_javadir}/profdepanne-2.7-%{version}.noarch 
%{_javadir}/profdepanne-2.7

(Attention %dir ne sert que pour indiquer un repertoire et pas son contenu)

Dernière modification par madko (06/06/2011 17:52:50)

Hors ligne

#72 06/06/2011 18:43:11

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

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

euh... non, je voudrais avoir un seul repertoire, avec le jar du programme et tout ce qu'il lui faut avec.

merci pour %dir, je ne le comprenais pas comme ça. donc, je dois indiquer chaque fichier un par un ?


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

Hors ligne

#73 06/06/2011 22:37:47

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

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

tu peux mais c'est pas utile, sans le %dir ça prend le repertoire indiqué et tout ce qu'il y a dedans. je pensais que tu voulais 2 repertoire car tu fais un mkdir dans ton %install

Hors ligne

#74 07/06/2011 05:15:28

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

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

j'arrive finalement a creer le pertoire /usr/share/java/profdepanne-2.7 et a y copier mon jar.
il y a donc du progres.

mais... je ne m'en sorts tjs pas avec la section %files pour lui dire de copier les fichiers utiles au prog (qui sont dans /rpmbuild/BUILD/profdepanne-2.7 ou /rpmbuild/SOURCES/profdepanne-2.7.tar

et donc, le prog apres install n'apparait pas dans les menus ni en ligne de commande.

j'ai fais un fichier.desktop, avec une icone, tout ça dans /rpmbuild/SOURCES mais ce fichier n'apparait pas dans /usr/share/applications, y a til quelque chose a faire ?


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

Hors ligne

#75 07/06/2011 09:23:11

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

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

Tout ce que tu veux voir dans %files il faut l'avoir au préalable géré dans la section %install. Donc si ton archive sources contient un ficher desktop à toi de le deplacer dans le bon repertoire de ton buildroot dans ta section %install. Une fois que c'est fait, tu pourras enfin le lister dans %files.

Hors ligne

Pied de page des forums