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 07/02/2011 00:21:32

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

[Résolu] Nouveau dans l'empaquetage RPM

Bonsoir / Bonjour à tous,

Voilà, suite à une discution au FOSDEM 2011 avec un membre du crew Fedora (dommage que je ne me souvienne plus de son nom !) sur une facon utile et dans mes cordes d'aider la communauté Fedora, j'ai décidé de m'attaquer à l'empaquetage RPM :)

Le wiki est très bien fait, tout l'environnement de construction est ok mais je n'ai pas trop d'idées de quoi empaqueter pour commencer (j'ai bien des idées pour après mais pas pour le premier) ...

Par quoi avez vous commencé personellement ? :p J'aurais idéalement besoin de me faire la main sur un petit paquet !

Ah oui et une question : un src.rpm ou un srpm c'est la même chose? ca consiste en fichiers sources (genre .c ou .o) ?

Merci d'avance !


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#2 07/02/2011 08:06:39

remi
Crazy PHP packages monkey... !
Rédacteur Wiki
Lieu : Champagne...
Inscription : 16/10/2004
Messages : 5 569
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

Salut,

Des idées :
http://fedoraproject.org/wiki/Package_m … s_wishlist

Sinon, pour débuter, tu peux aussi regarder les revues en cours
http://fedoraproject.org/PackageReviewStatus/NEW.html

C'est en lisant les spec des autres qu'on peut apprendre.

++

Hors ligne

#3 07/02/2011 10:59:26

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

Le plus dur c'est de trouver un logiciel qui ne serait pas déjà packagé (pas dans les dépôts) et qui en plus t'intéresse (juste parce que c'est plus facile de packager un soft qu'on connait, mais rien d'obligatoire).

Pour le SRPM ou src.rpm c'est la même chose, et ce fichier contient tout le nécessaire pour reconstruire ton paquet RPM qui a été généré en même temps. Il y a donc dedans ton fichier spec ainsi que les sources du programmes (.c par ex) et d'éventuels patch.

Tu utilise mock pour la compilation des rpms? Tu va t'inscrire chez fedora?

Hors ligne

#4 07/02/2011 13:48:24

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

rpm ou src.rpm c'est un zip tu peux donc regarder son contenu utilisant:
- rpmls
- nautilus -> clique droit extraire


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

#5 07/02/2011 15:25:21

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

Merci à tous pour vos réponses,

@madko : Oui, pas évident du tout, j'ai quelques idées purement desktop pour le moment(screenlets, jeux) mais bon comme premier RPM c'est niet

madko a écrit :

Tu utilise mock pour la compilation des rpms? Tu va t'inscrire chez fedora?

Qu'est ce que c'est exactement?

Ici, j'essaie simplement de me battre avec mon fichier spec et de comprendre de quoi il en retourne, je nage tongue

Quelqu'un aurait un fichier spec très simple et commenté a disposition? Ca pourrait m'aider grandement smile


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#6 07/02/2011 15:47:22

remi
Crazy PHP packages monkey... !
Rédacteur Wiki
Lieu : Champagne...
Inscription : 16/10/2004
Messages : 5 569
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

Ben il y en a ~10000 dans le dépôt...
Et pas mal de simple.

+

Hors ligne

#7 07/02/2011 15:51:17

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

@remi : en effet, je n'avais pas été gratter assez loin !


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#8 07/02/2011 19:03:22

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

Bon je galêre bien, il y'a quelque chose que je ne dois pas avoir compris ...

Imaginons que je veuille empaqueter une image (ou une pack d'images, d'icones au format tar, bref) comment devrais-je m'y prendre?

Voici mon fichier spec :

RPM-builder@Dwarf ~/rpmbuild/SPECS $ cat fedora-images-one.spec 
Name:           fedora-images-one
Version:        1.0
Release:        0.9alpha%{?dist}
Summary:        Fedora

#Group:          
License:    GNU GPL        
#URL:            
Source0:      logo.tar      
#BuildRequires:  
#Requires:       

%description
Fedora logos and wallpapers

%prep
%setup -q


%build
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

Et l'erreur après :

RPM-builder@Dwarf ~/rpmbuild/SPECS $ rpmbuild -bp fedora-images-one.spec 
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.uL8ak6
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /home/RPM-builder/rpmbuild/BUILD
+ rm -rf fedora-images-one-1.0
+ /bin/tar -xf /home/RPM-builder/rpmbuild/SOURCES/logo.tar
+ cd fedora-images-one-1.0
/var/tmp/rpm-tmp.uL8ak6: line 34: cd: fedora-images-one-1.0: No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.uL8ak6 (%prep)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.uL8ak6 (%prep)

Merci de votre aide ! smile

Dernière modification par Wampyr (07/02/2011 19:04:00)


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#9 07/02/2011 19:34:30

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

c'est parce que par défaut, la macro %setup décompresse l'archive spéficiée en source0 et s'attend à trouver dans celle-ci un repertoire <name>-<version>. Donc ici dans ton cas, fedora-images-one-1.0 d'où le

+ cd fedora-images-one-1.0
/var/tmp/rpm-tmp.uL8ak6: line 34: cd: fedora-images-one-1.0: No such file or directory

Alors soit tu précise le nom du repertoire contenu dans ton archive avec l'option -n pour la macro %setup, soit dans ton archive tu respectes la "norme" repertoire nom-version.

Dernière modification par madko (07/02/2011 19:35:08)

Hors ligne

#10 07/02/2011 21:13:07

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

Merci madko, je ne savais pas du tout que ca fonctionnait ainsi.

Je suis par contre bloqué a l'étape de la compilation..

RPM-builder@Dwarf ~/rpmbuild/SPECS $ rpmbuild -bp fedora-images-one.spec 
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.OUWoDh
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /home/RPM-builder/rpmbuild/BUILD
+ rm -rf fedora-images-one-1.0
+ /bin/tar -xf /home/RPM-builder/rpmbuild/SOURCES/fedora-images-one-1.0.tar
+ cd fedora-images-one-1.0
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
RPM-builder@Dwarf ~/rpmbuild/SPECS $ ls
fedora-images-one.spec
RPM-builder@Dwarf ~/rpmbuild/SPECS $ cd ..
RPM-builder@Dwarf ~/rpmbuild $ ls -R
.:
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS

./BUILD:
fedora-images-one-1.0  logo.png

./BUILD/fedora-images-one-1.0:
logo.png

./BUILDROOT:

./RPMS:

./SOURCES:
fedora-images-one-1.0  fedora-images-one-1.0.tar

./SOURCES/fedora-images-one-1.0:
logo.png

./SPECS:
fedora-images-one.spec

./SRPMS:
RPM-builder@Dwarf ~/rpmbuild $ cd SPECS/
RPM-builder@Dwarf ~/rpmbuild/SPECS $ rpmbuild -bc --short-circuit fedora-images-one.spec 
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.HVlyvT
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ cd fedora-images-one-1.0
+ LANG=C
+ export LANG
+ unset DISPLAY
+ make -j4
make: *** No targets specified and no makefile found.  Stop.
error: Bad exit status from /var/tmp/rpm-tmp.HVlyvT (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.HVlyvT (%build)
RPM-builder@Dwarf ~/rpmbuild/SPECS $ 

C'est pas l'envie qui manque pour contribuer mais je débute vraiment dans l'empaquetage, j'ai encore du mal à m'autocorriger tongue

Dernière modification par Wampyr (07/02/2011 21:14:12)


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#11 07/02/2011 22:47:42

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

Dans la section %build tu as indiqué la commande make qui sert à compiler des sources. Si ton archive ne contient que des images tu n'a pas besoin de faire de compilation, la section %build te sers à rien.

Hors ligne

#12 07/02/2011 22:50:59

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

Je pense que tu dois la garder même si elle peut être vide


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

#13 07/02/2011 23:01:24

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

Ok, je comprend et c'est logique, j'ai donc viré le %build et la partie make install de %install (bien fait?)

Je suis donc à l'étape Empaquetage, contrôles des %files (%files dont je n'ai pas compris le principe neutral )

RPM-builder@Dwarf ~/rpmbuild/SPECS $ rpmbuild -bi --short-circuit fedora-images-one.spec 
$Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.Z81mIo
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ '[' /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386 '!=' / ']'
+ rm -rf /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
++ dirname /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ mkdir -p /home/RPM-builder/rpmbuild/BUILDROOT
+ mkdir /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ cd fedora-images-one-1.0
+ LANG=C
+ export LANG
+ unset DISPLAY
+ rm -rf /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
find: `/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386': No such file or directory
+ /usr/lib/rpm/redhat/brp-compress
/usr/lib/rpm/redhat/brp-compress: line 8: cd: /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386: No such file or directory
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
find: `/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386': No such file or directory
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
find: `/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386': No such file or directory
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
find: `/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386': No such file or directory
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
find: `/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386': No such file or directory
Can't list /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ /usr/lib/rpm/redhat/brp-python-hardlink
find: `/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386': No such file or directory
+ /usr/lib/rpm/redhat/brp-java-repack-jars
find: `/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386': No such file or directory
Processing files: fedora-images-one-1.0-1.fc14.i686
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
RPM-builder@Dwarf ~/rpmbuild/SPECS $ $

Voici mon .spec (encore un peu de mal avec les numéros de version vu que les images n'ont pas de version mais qu'il faut donner un numéro au paquet)

RPM-builder@Dwarf ~/rpmbuild/SPECS $ cat fedora-images-one.spec 
Name:           fedora-images-one
Version:        1.0
Release:        1%{?dist}
Summary:        Fedora

#Group:          
License:    GNU GPL        
#URL:            
Source0:      fedora-images-one-1.0.tar      
#BuildRequires:  
#Requires:       

%description
Fedora logos and wallpapers

%prep
%setup -q

%install
rm -rf $RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT


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

%changelog

Merci pour ton aide !

@pingou : La garder telle qu'elle ? ou tout commenter? Dans ce cas ci, je n'ai rien à compiler

Dernière modification par Wampyr (07/02/2011 23:03:09)


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#14 07/02/2011 23:06:36

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

Il faut que tu remplisses la section %files, par contre là je pense que ton rpm ne dois pas faire grand chose :)
Regarde du côté de la commande install wink


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

#15 07/02/2011 23:25:06

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

install -d %{buildroot}/BUILD/fedora-images-one-1.0 /usr/share

Je brûle ou je m'enterre là? hammer


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#16 07/02/2011 23:26:34

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

Le but de la section %install est de positionner les fichiers dans leur repertoire de destination cible, qu'on préfixe par la variable $RPM_BUILD_ROOT (ou %{buildroot}) car nous sommes en faite dans cette partie sur une arborescence temporaire. Comme l'a suggéré Pingou on utilise habituellement la commande install pour ça, une sorte de commande cp évoluée.

EDIT: tu brûles ;) mais je pense pas que les chemins soient bons

Dernière modification par madko (07/02/2011 23:28:25)

Hors ligne

#17 07/02/2011 23:37:31

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

Ahh j'avance, j'aime big_smile

Voici le résultat de la commande, déja plus intéressant :

RPM-builder@Dwarf ~/rpmbuild/SPECS $ rpmbuild -bi --short-circuit fedora-images-one.spec 
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.Wn12OD
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ '[' /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386 '!=' / ']'
+ rm -rf /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
++ dirname /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ mkdir -p /home/RPM-builder/rpmbuild/BUILDROOT
+ mkdir /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ cd fedora-images-one-1.0
+ LANG=C
+ export LANG
+ unset DISPLAY
+ install -d /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386/BUILD/fedora-images-one-1.0 /usr/share
+ /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: fedora-images-one-1.0-1.fc14.i686
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386

Mon .spec modifié : (ajout du install et suppression de rm -rf $RPM_BUILD_ROOT)

RPM-builder@Dwarf ~/rpmbuild/SPECS $ cat fedora-images-one.spec 
Name:           fedora-images-one
Version:        1.0
Release:        1%{?dist}
Summary:        Fedora

#Group:          
License:    GNU GPL        
#URL:            
Source0:      fedora-images-one-1.0.tar      
#BuildRequires:  
#Requires:       

%description
Fedora logos and wallpapers

%prep
%setup -q

%install
install -d %{buildroot}/BUILD/fedora-images-one-1.0 /usr/share

%clean
rm -rf $RPM_BUILD_ROOT


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

%changelog

Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#18 08/02/2011 01:15:12

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

Quelques remarques rapides, je ne suis pas allé voir les sources...

Tu ne dois jamais utiliser de chemins "en dur" dans un spec, mais toujours les macros qui vont bien :
http://fedoraproject.org/wiki/Packaging:RPMMacros

/usr/share devient donc %{_datadir}

Pour "installer" tes fichiers (ce que ferait un "make install" ou équivalent par exemple) ; il faut que tu copies des sources vers l'emplacement (temporaire dans le cas d'un RPM). Ta logique est inversée. Tu devrais avoir kkch du genre :

mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}
install -p mon/fichier/source $RPM_BUILD_ROOT%{_datadir}/%{name}

Le %files servira ensuite à placer dans le RPM les fichiers qui auront été installés. rpmbuild te mettra une jolie erreur pour chacun des "fichiers installés, mais non empaquetés". Pour reprendre mon exemple, tu aura un truc du genre :

%files
%defattr(-,root,root,-)
%doc
%{_datadir}/%{name}

Le %build ne doit pas être supprimé ; il faut le laisser et éventuellement mettre un commentaire qui indique qu'il est vide, simplement.
Enfin, penses à toujours renseigner le changelog aussi :)

Notes bien qu'il faut adapter mes exemples à ton cas précis ;)


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

#19 08/02/2011 01:18:23

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

Ha, autre chose !

$RPM_BUILD_ROOT et %{buildroot} sont tous les deux très valables ; mais il ne faut en utiliser qu'un seul dans un même fichier SPEC (il me semble que c'est noté dans le tuto d'ailleurs).


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

#20 08/02/2011 08:41:07

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

Rooh trashy, tu donnes toutes les réponses là, il est où le plaisir de le faire chercher big_smile <mode sadique=off>


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

#21 08/02/2011 09:43:05

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

@pingou : tu remarquera que mes réponses ne sont pas si précises que ça ; le copié/collé ne marchera pas :p


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

#22 08/02/2011 19:12:04

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

Hello !

Merci de votre aide constante, ca fait plaisir smile

Bon j'avoue que trasher m'a tracé une voie d'or mais tant mieux, j'ai une bien meillieure vue du fonctionnement du fichier .spec maintenant

L'empaquetage à l'air d'etre OK, je poste en dessous le (long) rapport apparement sans message d'erreur et mon fichier .spec !

Création :

RPM-builder@Dwarf ~/rpmbuild/SPECS $ rpmbuild -bp fedora-images-one.spec 
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.eRsqPG
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /home/RPM-builder/rpmbuild/BUILD
+ rm -rf fedora-images-one-1.0
+ /bin/tar -xf /home/RPM-builder/rpmbuild/SOURCES/fedora-images-one-1.0.tar
+ cd fedora-images-one-1.0
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
RPM-builder@Dwarf ~/rpmbuild/SPECS $ rpmbuild -bi --short-circuit fedora-images-one.spec 
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.6VGtwx
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ '[' /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386 '!=' / ']'
+ rm -rf /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
++ dirname /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ mkdir -p /home/RPM-builder/rpmbuild/BUILDROOT
+ mkdir /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ cd fedora-images-one-1.0
+ LANG=C
+ export LANG
+ unset DISPLAY
+ mkdir -p '/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386//usr/share/%{Wallpapers}'
+ install -d BUILD/fedora-images-one-1.0 '/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386//usr/share/%{Wallpapers}'
+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id /home/RPM-builder/rpmbuild/BUILD/fedora-images-one-1.0
+ /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: fedora-images-one-1.0-1.fc14.i686
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: fedora-images-one-debuginfo-1.0-1.fc14.i686
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
RPM-builder@Dwarf ~/rpmbuild/SPECS $ rpmbuild -ba fedora-images-one.spec Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.BzxYmU
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ cd /home/RPM-builder/rpmbuild/BUILD
+ rm -rf fedora-images-one-1.0
+ /bin/tar -xf /home/RPM-builder/rpmbuild/SOURCES/fedora-images-one-1.0.tar
+ cd fedora-images-one-1.0
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.Dzy4J2
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ cd fedora-images-one-1.0
+ LANG=C
+ export LANG
+ unset DISPLAY
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.vFkiab
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ '[' /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386 '!=' / ']'
+ rm -rf /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
++ dirname /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ mkdir -p /home/RPM-builder/rpmbuild/BUILDROOT
+ mkdir /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ cd fedora-images-one-1.0
+ LANG=C
+ export LANG
+ unset DISPLAY
+ mkdir -p '/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386//usr/share/%{Wallpapers}'
+ install -d BUILD/fedora-images-one-1.0 '/home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386//usr/share/%{Wallpapers}'
+ /usr/lib/rpm/find-debuginfo.sh --strict-build-id /home/RPM-builder/rpmbuild/BUILD/fedora-images-one-1.0
+ /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1
+ /usr/lib/rpm/redhat/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-java-repack-jars
Processing files: fedora-images-one-1.0-1.fc14.i686
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: fedora-images-one-debuginfo-1.0-1.fc14.i686
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
Wrote: /home/RPM-builder/rpmbuild/SRPMS/fedora-images-one-1.0-1.fc14.src.rpm
Wrote: /home/RPM-builder/rpmbuild/RPMS/i686/fedora-images-one-1.0-1.fc14.i686.rpm
Wrote: /home/RPM-builder/rpmbuild/RPMS/i686/fedora-images-one-debuginfo-1.0-1.fc14.i686.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.hAa7fL
+ umask 022
+ cd /home/RPM-builder/rpmbuild/BUILD
+ cd fedora-images-one-1.0
+ rm -rf /home/RPM-builder/rpmbuild/BUILDROOT/fedora-images-one-1.0-1.fc14.i386
+ exit 0
RPM-builder@Dwarf ~/rpmbuild/SPECS $ cd .. ; ls -R
.:
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS

./BUILD:
fedora-images-one-1.0

./BUILD/fedora-images-one-1.0:
BUILD  debugfiles.list  debuglinks.list  debugsources.list  logo.png

./BUILD/fedora-images-one-1.0/BUILD:
fedora-images-one-1.0

./BUILD/fedora-images-one-1.0/BUILD/fedora-images-one-1.0:

./BUILDROOT:

./RPMS:
i686

./RPMS/i686:
fedora-images-one-1.0-1.fc14.i686.rpm
fedora-images-one-debuginfo-1.0-1.fc14.i686.rpm

./SOURCES:
fedora-images-one-1.0  fedora-images-one-1.0.tar

./SOURCES/fedora-images-one-1.0:
logo.png

./SPECS:
fedora-images-one.spec

./SRPMS:
fedora-images-one-1.0-1.fc14.src.rpm

Fichier .spec :

RPM-builder@Dwarf ~/rpmbuild $ cat SPECS/fedora-images-one.spec 
Name:           fedora-images-one
Version:        1.0
Release:        1%{?dist}
Summary:        Fedora

#Group:          
License:    GNU GPL        
#URL:            
Source0:      fedora-images-one-1.0.tar      
#BuildRequires:  
#Requires:       

%description
Fedora logos and wallpapers

%prep
%setup -q

%build
#

%install
mkdir -p %{buildroot}/%{_datadir}/%{Wallpapers}
install -d BUILD/fedora-images-one-1.0 %{buildroot}/%{_datadir}/%{Wallpapers}

%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%doc
%{_datadir}/%{Wallpapers}
%changelog
RPM-builder@Dwarf ~/rpmbuild $ 

Ca me semble bien lancé non? smile en tout cas, le .rpm est présent

Je m'en vais lire la doc sur la facon de tester un rpm !


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#23 08/02/2011 19:15:27

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

Re : [Résolu] Nouveau dans l'empaquetage RPM

check rpmls pour lister son contenu ça te donnera une première idée de s'il est bien fait


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

#24 08/02/2011 20:10:32

Wampyr
Linux lov3r
Lieu : .be
Inscription : 29/10/2010
Messages : 281
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

RPM-builder@Dwarf ~/rpmbuild/RPMS/i686 $ rpmls fedora-images-one-1.0-1.fc14.i686.rpm 
drwxr-xr-x  /usr/share/%{Wallpapers}
RPM-builder@Dwarf ~/rpmbuild/RPMS/i686 $ rpmfile fedora-images-one-1.0-1.fc14.i686.rpm 
/usr/share/%{Wallpapers}    40755    directory

Le %{Wallpapers} a t'il une raison d'etre sous cette forme? Je pensais à "installer" les wallpapers dans /usr/share/Wallpapers (Wallpapers qui est un nouveau dossier, crée précedemment)

EDIT : fichier .spec modifié, rpmls et rpmfile me renvoit un chemin qui semble correct

RPM-builder@Dwarf ~/rpmbuild/RPMS/i686 $ rpmls fedora-images-1.1-1.fc14.i686.rpm 
drwxr-xr-x  /usr/share/Wallpapers

EDIT 2 : rpmfile ne devrait il pas me retourner les fichier présents au lieu d'un directory ? (dans lequel devraient etre les fichiers)

Dernière modification par Wampyr (08/02/2011 20:43:20)


Desktop principal :  Scientific Linux 6.4 Rapsberry Pi : Fedora 17 Remix - NFS - Laptop : Manjaro Linux
sig1987833.gif

Hors ligne

#25 08/02/2011 21:29:11

remi
Crazy PHP packages monkey... !
Rédacteur Wiki
Lieu : Champagne...
Inscription : 16/10/2004
Messages : 5 569
Site Web

Re : [Résolu] Nouveau dans l'empaquetage RPM

> rpmfile ne devrait il pas me retourner les fichier présents au lieu d'un directory ?

Ben, il faut, pendant le %install copier les fichiers (extraits du source) dans ce dossier.

+

Hors ligne

Pied de page des forums