Paquet RPM

Résolu/Fermé
Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 - 26 nov. 2007 à 10:42
Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 - 27 nov. 2007 à 17:28
Bonjour,
Je suis à la recherche d'une personne ayant déjà créé un paquet rpm de son propre programme pour m'aider à faire un paquet de mon programme que j'ai développer par KDevelop et QT Designer sous RedHat3...

J'ai essayer pas mal de tutoriels mais sans resultat. En faisant un melange de deux tuto j'ai reussi a obtenir un .i386.rpm mais autant dire qu'il n'y a rien a l'interieur.Y'a t'il une autre methode pour exporter une application?
Je ne peux pas me contenter de donner l'executable car j'ai besoin des fichiers du repertoire courant pour le faire marcher donc je pensais pouvoir exporter le repertoire entier sous forme anonyme via rpm.

S'il vous plais, quelqu'un peut m'aider ou me donner des pistes?

A bientôt!

12 réponses

marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382
26 nov. 2007 à 10:56
Salut,
tu as utilisé quel tutoriel pour la création du rpm ?
Peut tu afficher ton fichier spec ?
pourquoi ne pas simplement diffuser les sources, chacun pourras créer le binaire pour son ssytème de paquet (rpm, deb, tgz, ...) !

PS : créé des rpm, c'est pas le plus simple à faire ^^
0
Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 29
26 nov. 2007 à 13:40
Pour répondre a tes questions:
J'ai utilisé: www.ruas-blog.com/index.php/2005/11/10/5-creer-un-paquet-rpm
eric.gerbier.free.fr/fabrication-rpm.html
c'est a partir de ces deux ci dessus que j'ai pu avancer. Sinon j'ai aussi www.pallier.org/ressources/autoconf/autoconfig.pdf
Je tiens à te préciser que même si j'ai develpé sous linux, c'est pas pour autant que je m'y connais. ;o)

Quand tu parle de diffuiser mes sources ce serai du genre je diffuse un tar.gz contenant tous les fichiers et repertoire de mon prgramme? Si c'est le cas j'ai peur que les utilisateurs touchent a tous et que ca ne marche plus.

Pour finir voici mon fichier spec: (j'ai mis "etc." pour reduire le texte)

# Initial spec file created by autospec ver. 0.8 with rpm 3 compatibility
Summary: testrpm pour PEPE
# The Summary: line should be expanded to about here -----^
#Summary(fr): (translated summary goes here)
Name: testrpm
Version: 1.0-1
Release: 1
Group: unknown
#Group(fr): (translated group goes here)
License: unknown
Source: testrpm-%{version}-bin.tar.gz
#NoSource: 0
BuildRoot: %{_tmppath}/%{name}-root
# Following are optional fields
#URL: http://www.example.net/testrpm/
#Distribution: Red Hat Contrib-Net
#Patch: testrpm-%{version}.patch
#Prefix: /repertoire_programme
#BuildArch: noarch
#Requires:
#Obsoletes:
#BuildRequires:

%description
testrpm version 1.0-1

#%description -l fr
#(translated description goes here)

%prep
%setup -c 'testrpm-%{version}'
#%patch

%install
%__cp -a . "${RPM_BUILD_ROOT-/}"

%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"

%files
%defattr(-,root,root)
%dir /repertoire_programme/
%dir /repertoire_programme/test3/
/repertoire_programme/test3/ExtractPermittivityV
/repertoire_programme/test3/test3dlg.h
/repertoire_programme/test3/main.cpp
/repertoire_programme/test3/test3.o
/repertoire_programme/test3/Makefile
"/repertoire_programme/test3/LanceExperienceIncertitude~"
%dir /repertoire_programme/test3/CVS/
/repertoire_programme/test3/CVS/Root
/repertoire_programme/test3/CVS/Repository
/repertoire_programme/test3/CVS/Entries
%config /repertoire_programme/test3/.cvsignore
/repertoire_programme/test3/Makefile.am
/repertoire_programme/test3/main.o
/repertoire_programme/test3/test3dlg.moc
/repertoire_programme/test3/test3dlg.cpp
/repertoire_programme/test3/test3dlg.o
%dir /repertoire_programme/test3/HF2D/
%dir /repertoire_programme/test3/HF2D/.kde/
%dir /repertoire_programme/test3/HF2D/.kde/Autostart/
%config /repertoire_programme/test3/HF2D/.kde/Autostart/Autorun.desktop
%config /repertoire_programme/test3/HF2D/.kde/Autostart/.directory
%dir /repertoire_programme/test3/HF2D/.kde/share/
%dir /repertoire_programme/test3/HF2D/.kde/share/apps/
%dir /repertoire_programme/test3/HF2D/.kde/share/apps/kdevelop/
%dir /repertoire_programme/test3/HF2D/.kde/share/apps/kdevelop/tools/
%config /repertoire_programme/test3/HF2D/.kde/share/apps/kdevelop/tools/htdig.conf
%dir /repertoire_programme/test3/HF2D/.kde/share/apps/kdevelop/KDE-Documentation/
%dir /repertoire_programme/test3/HF2D/.kde/share/config/
%dir /repertoire_programme/test3/HF2D/.kde/share/config/session/
%config /repertoire_programme/test3/HF2D/.kde/share/config/kwinrc
%config /repertoire_programme/test3/HF2D/.kde/share/config/kconf_updaterc
%config /repertoire_programme/test3/HF2D/.kde/share/config/kmailrc
%config /repertoire_programme/test3/HF2D/.kde/share/config/kdeglobals
%config /repertoire_programme/test3/HF2D/.kde/share/config/konsolerc
%config /repertoire_programme/test3/HF2D/.kde/share/config/ksmserverrc
%config /repertoire_programme/test3/HF2D/.kde/share/config/kdeveloprc
%dir /repertoire_programme/test3/HF2D/.kde/share/servicetypes/
%dir /repertoire_programme/test3/HF2D/.kde/share/mimelnk/
%dir /repertoire_programme/test3/HF2D/.kde/share/applnk-redhat/
%dir /repertoire_programme/test3/HF2D/.kde/share/services/
%config /repertoire_programme/test3/HF2D/.kde/socket-lahc-a253
%config /repertoire_programme/test3/HF2D/.kde/tmp-lahc-a253
%config /repertoire_programme/test3/HF2D/.bash_logout
%config /repertoire_programme/test3/HF2D/.bash_profile
%config /repertoire_programme/test3/HF2D/.bashrc
%config /repertoire_programme/test3/HF2D/.emacs
%config /repertoire_programme/test3/HF2D/.gtkrc
%dir /repertoire_programme/test3/HF2D/.gnome2/
%config /repertoire_programme/test3/HF2D/.gnome2/gdm
%dir /repertoire_programme/test3/HF2D/.gnome2/accels/
%config /repertoire_programme/test3/HF2D/.gnome2/accels/file-roller
%dir /repertoire_programme/test3/HF2D/.gnome2/share/
%dir /repertoire_programme/test3/HF2D/.gnome2/share/fonts/
%config /repertoire_programme/test3/HF2D/.gnome2/share/fonts/fonts.dir
%dir /repertoire_programme/test3/HF2D/.gnome2/share/cursor-fonts/
%config /repertoire_programme/test3/HF2D/.gnome2/share/cursor-fonts/fonts.dir
%dir /repertoire_programme/test3/HF2D/.gnome2/panel2.d/
%dir /repertoire_programme/test3/HF2D/.gnome2/panel2.d/default/
%dir /repertoire_programme/test3/HF2D/.gnome2/panel2.d/default/launchers/
%config /repertoire_programme/test3/HF2D/.gnome2/panel2.d/default/launchers/moe-001f9e4252.desktop
etc.
config "/repertoire_programme/test3/HF2D/.gconf/apps/panel/profiles/default/objects/7t1181227194ut870171u500p1101r1630583024k3221219756/%gconf.xml"
%dir /repertoire_programme/test3/HF2D/.gconf/apps/panel/profiles/default/applets/
%config "/repertoire_programme/test3/HF2D/.gconf/apps/panel/profiles/default/applets/%gconf.xml"
etc.
%dir /repertoire_programme/test3/HF2D/.gnome/apps/
%dir /repertoire_programme/test3/HF2D/.gnome/apps/OpenOffice.org.1/
%config /repertoire_programme/test3/HF2D/.gnome/apps/OpenOffice.org.1/.order
etc. suivi d'une centaine de ligne qui nomme tous ce que contient mes repertoires...

%changelog
* Mon Nov 26 2007 root <root@localhost.localdomain>
- Initial spec file created by autospec ver. 0.8 with rpm 3 compatibility
0
marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382
26 nov. 2007 à 13:57
Quand tu parle de diffuiser mes sources ce serai du genre je diffuse un tar.gz contenant tous les fichiers et repertoire de mon prgramme? Si c'est le cas j'ai peur que les utilisateurs touchent a tous et que ca ne marche plus.
C'est le mode de diffusion principal utilisé sous Linux ;) celà signifie aussi que ton programme est sous licence libre (GPL, CeCILL, BSD, ...)
l'avantage c'est que tu vas avoir des personnes qui vont se charger de diffuser ton programme en rpm, en deb, en tgz, ...


Pour revenir sur ton rpm.
rpmbuild ne te donne pas de message d'erreur lors de la construction ?
Sinon, je te conseil la lecture de la base de connaissance de Mandriva, il est plus récent que ce que tu as lu.
http://club.mandriva.com/
0
Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 29
26 nov. 2007 à 14:13
d'accord, c'est qu'on penssait peut etre ne pas le mettre en licence libre..mais bon....rien n'ai fais.

Pour en revenir a mes moutons:
quand je fais:
tar tfz /testrpm-1.0-1.tar.gz | autospec -b > testrpm-1.0-1.spec
j'obtiens:
autospec warning: doesn't look like a file name; try the -i option
..Et ce 3 fois.

c'est drole car maintenant que tu me demande effectivement je trouve des erreurs:
RPM build errors:
File not found: /var/tmp/testrpm-root/repertoire_programme/test3/HF2D/.gnome-desktop/Rép. perso
File not found by glob: /var/tmp/testrpm-root/repertoire_programme/test3/BD2X[80]_5_15_RL.ind~
File not found by glob: /var/tmp/testrpm-root/repertoire_programme/test3/BD2X[80]_5_15_CG.ind~
File not found by glob: /var/tmp/testrpm-root/repertoire_programme/test3/BD2X[80]_5_15_unicouche_CG.ind~
File not found by glob: /var/tmp/testrpm-root/repertoire_programme/test3/BD2X[80]_5_15_unicouche_RL.ind~
File must begin with "/": unknown
File must begin with "/": unknown
(je suppose que c'est des fichiers temporaire donc que ce n'est pas grave.)

A la fin j'obtiens effectivement un .i386.rpm qui fais seulement 1.8ko. :o/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382
26 nov. 2007 à 14:33
Pour l'autospec, il semble ne pas apprécier le nom du fichier, tu as essayé comme il dit ? avec l'option -i ?

Pour la construction du rpm, il ne trouve pas certains fichiers dont un avec un accent ! mieux vaux éviter les accents sous linux dans les noms de fichiers.
Et aussi, tu as des noms de répertoires auquel il manque le slash "/" au début (File must begin with "/")
0
Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 29
26 nov. 2007 à 14:56
Pour l'option:
si je met -i c'est pire:autospec warning:Unsupported command:'Root ' in install script.
autospec warning:Unsupported command:'matrice ' in install script.
et y'en a plus de 800 comme ceci.

File not found: /var/tmp/testrpm-root/repertoire_programme/test3/HF2D/.gnome-desktop/Rép. perso c'est lui alors qui a un accent...
J'ai donc un autre soucis: dans ce repertoire nomé HF2D ce ".gnome-desktop/Rép.perso" il est caché, je peux le voir mais je ne sais pas si c'est bien d'y toucher. Je m'explique....
Dans le repertoire HF2D se trouve 1 executable et plusieur fichiers cachés. Si je veux transoprter cet executable sur une autre machine il me faut ces fichiers cachés sinon ca ne fonctionne pas. De plus, plus j'utilise cet executable plus j'ai de fichier caché apelé "mozila..../cache0x1564"(a proximatif). Et pour finir puisque je n'ai pas réalisé cet executable je ne sais pas ce que je peux supprimé ou non ou bien encore modifier. T'aurais un conseil a ce sujet? sinon pour simplifier je peux deja essayer de faire mon paquet sans ce repertoire.

Et aussi, tu as des noms de répertoires auquel il manque le slash "/" au début (File must begin with "/")
Je ne comprend pas. Ou et quand dois je ecrire "/"au debut de mon repertoire. Je n'ai jamais ecrit de nom de repertoire avec un slash devant.???
0
marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382
26 nov. 2007 à 15:44
J'ai l'impression que ta variable %file est mal foutu.
Logiquement tu devrait avoir des %{_bindir} et autre variables mais on ne vois rien.

Selon ce tuto : http://club.mandriva.com/ section Files
tu dois écrire à la main la partie du %file en mettant les variables correspondantes, chose que je ne vois pas dans ton fichier .spec
0
Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 29
26 nov. 2007 à 16:02
Je crois que ton impression est bonne :o)
Effectivement, j'ai presque fini de lire le lien que tu m'as envoyé...je m'appercois que c'est encore plus compliqué que ce que j'imaginais.En faite, je ne comprend plus rien a partir de la section "build" parce qu'il faut que j'ecrive a la main des scripts et ca ne ne sais pas faire :o{. C'est vrai que c'est bien détaillé, et je connais maintenant le rôle de chaque partie du fichier. (Y'aurai pas des spec files deja tous fais ou j'aurai juste a changer le nom des variables? ce serai trop bien). Je commence a me demander si ca ne serai pas suffisant de cré un tar.gz mais je suis convaincu qu'un rpm serai mieu.
0
marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382
26 nov. 2007 à 16:16
à défaut d'avoir un modèle j'ai trouvé ça sur le wiki de Fedora :
http://doc.fedora-fr.org/wiki/La_création_de_RPM_pour_les_nuls_:_Création_du_fichier_SPEC_et_du_Paquetage
0
Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 29
26 nov. 2007 à 16:39
ca a l'air pas mal...je vais reprendre ca proprement demain matin car ca commence a etre confu de mon coté et j'ai pas mal de chose a faire avant de partir...je te tiens au courant de la suite. merci de t'etre rendu disponible aujourd'hui.
A très très bientôt!
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
26 nov. 2007 à 16:40
Salut,

mise en forme de lien donné par marc[i1] Création RPM
0
marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382
26 nov. 2007 à 16:50
Bizarrement, quand je veux faire un lien, il me propose une liste pour insérer !! o_O
on peut pas faire un truc simple ?

ça ne marche ni dans Opera, ni dans Konqueror !
0
marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008 382 > marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008
26 nov. 2007 à 17:53
Je me suis RTFMisé et j'ai compris !
test

\o/
Désolé pour le bruit ! :p
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > marc[i1] Messages postés 2573 Date d'inscription vendredi 1 avril 2005 Statut Contributeur Dernière intervention 6 septembre 2008
26 nov. 2007 à 19:02
je fait comme ça
[lien    text à afficher]

;-)
0
Carri€ Messages postés 41 Date d'inscription lundi 19 février 2007 Statut Membre Dernière intervention 27 novembre 2007 29
27 nov. 2007 à 17:28
Salut!
Alors j'ai pas mal progressé, et j'ai enfin reussi a avoir mon paquet rpm avec quelque chose à l'interieur. Donc quand je fais rpm -i ca s'installe (dans la racine au lieu du bon repertoire mais au moins il y a quelque chose) et quand je tape rpm -e tous diparait donc tres bien!!!

Par contre j'ai fais l'essai avec un fichier texte et une image et il ne me reste plus qu'a refaire la même chose avec tous les fichers de mon programme et faire de sorte que l'installation ait lieu ailleur que dans root. Il va falloir compiler...ca va pas être de la tarte. :o/
0