Creation de RPMS

Creation de RPMS - Linux et OS Alternatifs

Marsh Posté le 27-02-2004 à 13:17:28    

Salut,
 
Je me suis lancé dans la création de RPMS (pour Fedora) et j'ai décidé de commencer par pekwm (puisqu'il n'existe pas de RPM pour le moment)
 
Mais je me heurte à un problème passablment embêtant : je construit mes RPMS en user (encore heureux) et j'ai un problème de droits
 
La sortie d'erreur :

( cd src  && make install )
make[1]: Entering directory `/home/nico/rpm/BUILD/pekwm-0.1.3/src'
mkdir -p /home/nico/rpm/tmp/pekwm-0.1.3-fedora-buildroot/usr/bin
/usr/bin/install -c -m 755 pekwm /home/nico/rpm/tmp/pekwm-0.1.3-fedora-buildroot/usr/bin
make[1]: Leaving directory `/home/nico/rpm/BUILD/pekwm-0.1.3/src'
( cd data && make install )
make[1]: Entering directory `/home/nico/rpm/BUILD/pekwm-0.1.3/data'
( cd themes && make )
make[2]: Entering directory `/home/nico/rpm/BUILD/pekwm-0.1.3/data/themes'
for i in default minimal; do \
  sed 's:<PREFIX>:/usr/share/pekwm:' $i/theme.in > $i/theme; \
done
make[2]: Leaving directory `/home/nico/rpm/BUILD/pekwm-0.1.3/data/themes'
mkdir -p /etc/pekwm
mkdir: cannot create directory `/etc/pekwm': Permission denied
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/nico/rpm/BUILD/pekwm-0.1.3/data'
make: *** [install] Error 2
erreur: Mauvais status de sortie pour /home/nico/rpm/tmp/rpm-tmp.56311 (%build)
 
Erreur de construction de RPM:
    Mauvais status de sortie pour /home/nico/rpm/tmp/rpm-tmp.56311 (%build)


 
Si j'ai bien compris le principe la variable "%_topdir" sert normalement de "racine" au système lors du make install. Apparemment là ça ne se passe pas comme ça :(
 
Des avis, conseils ??
 
Merci :)
 
 
Le fichier de spec


Summary: Pekwm window manager
Name: pekwm
Version: 0.1.3
Release: fedora
License: GPL
Group: User Interface/Desktops
URL: http://www.pekwm.org
Source0: %{_topdir}/SOURCES/%{name}-%{version}.tar.bz2
Source1: http://www.pekwm.org:/files/source/%{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 
%description
Pekwm is a lightweight window manager written by Claes Nästen <pekdon@pekdon.net>
 
%prep
%setup -q
 
%build
%configure
make
 
%makeinstall
make install
 
%install
rm -rf $RPM_BUILD_ROOT
 
 
%clean
rm -rf $RPM_BUILD_ROOT
 
%files
%defattr(-,root,root)
%doc
 
 
%changelog
* Feb 27 2004 Nico
- Initial build.
 


 
les fichiers de config RPM
 
~/.rpmrc


buildarchtranslate: i386: i586
buildarchtranslate: i486: i586
buildarchtranslate: i586: i586
buildarchtranslate: i686: i586


 
~/.rpmmacros


%_topdir                /home/nico/rpm/
%_tmppath               /home/nico/rpm/tmp/
 
%_signature             gpg
%_gpg_name              Fedora Core
%_gpg_path              ~/.gnupg
%distribution           Fedora Core 1
%vendor                 Fedora

Reply

Marsh Posté le 27-02-2004 à 13:17:28   

Reply

Marsh Posté le 27-02-2004 à 15:56:45    

Up pour ce petit topic :)
Personne a jamais packagé un RPM ?

Reply

Marsh Posté le 27-02-2004 à 16:13:48    

Moi j'y avais songé .
 
Il y en a qui font des RPM avec checkinstall pour faire simple.
Checkinstall génère un RPM qui est " light " dans le sens qu'il n'y a pas vraiment la partie description du RPM complète ni le chemin d'install quand tu regardes la description du rpm.
Disons qu'il n'est pas parfait le RPM généré par checkinstall.
 
Moi perso j'avais commencé a me pencher sur l'écriture de makefile et fichier .spec mais bon j'ai un peu laissé ca de coté.
 
Une fois qu'on maitrise la création de Makefile et de fichier spec ca doit aller tout seul.


Message édité par scorpio le 27-02-2004 à 16:16:07
Reply

Marsh Posté le 27-02-2004 à 16:18:06    

l'écriture de Makefile je trouve ça simple mais là je pige pas pourquoi le bouzin "sort" de cette racine. A moins que j'ai pas compris le truc :)

Reply

Marsh Posté le 27-02-2004 à 16:37:43    

Pour le makefile en effet c simple.
Pour le spec bof quoi .
En fait j'ai pleins de choses a faire , j'ai pas beaucoup consacré de tps a la création de RPM.

Reply

Marsh Posté le 23-03-2004 à 11:51:52    

un petit UP !
 
Alors t'en es ou ?
T'as réussi a t'en sortir ?


Message édité par scorpio le 23-03-2004 à 11:52:14
Reply

Marsh Posté le 23-03-2004 à 12:59:09    

Non, j'ai pas eu/pris trop le temps... Je trouve pas d'où ça vient :(

Reply

Marsh Posté le 23-03-2004 à 14:37:54    

C'est parce que dans le spec tu fais un make install et là le make install crée le repertoire /etc/pekwm
Il ne faut pas que tu fasses exactement comme ca mais plutôt :
Soit tu lances les commandes pour copier les fichiers là où ca va bien
Soit make install prefixdir=%{_tmppath} ....
Pour avoir de bon exemples va voir cette page : http://freshrpms.net/packages/builds/

Reply

Marsh Posté le 23-03-2004 à 15:08:40    

Summary: Pekwm window manager
Name: pekwm
Version: 0.1.3
Release: fedora
License: GPL
Group: User Interface/Desktops
URL: http://www.pekwm.org
Source0: %{_topdir}/SOURCES/%{name}-%{version}.tar.bz2
Source1: http://www.pekwm.org:/files/source/%{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 
%description
Pekwm is a lightweight window manager written by Claes Nästen <pekdon@pekdon.net>
 
%prep
%setup -q
 
%build
%configure
make
 
%install
rm -rf $RPM_BUILD_ROOT
%makeinstall
 
 
%clean
rm -rf $RPM_BUILD_ROOT
 
%files
%defattr(-,root,root)
%doc
 
 
%changelog
- Initial build.


 
Je me suis inspiré d'un spec sur freshrpms, mais il essaye encore de créer /etc/pekwm  :fou:  :fou:  
 

make[2]: Leaving directory `/home/nico/rpm/BUILD/pekwm-0.1.3/data/themes'
mkdir -p /etc/pekwm
mkdir: cannot create directory `/etc/pekwm': Permission denied
make[1]: *** [install] Error 1
make[1]: Leaving directory `/home/nico/rpm/BUILD/pekwm-0.1.3/data'
make: *** [install] Error 2
erreur: Mauvais status de sortie pour /home/nico/rpm/tmp/rpm-tmp.64234 (%install)
 
 
Erreur de construction de RPM:
    Mauvais status de sortie pour /home/nico/rpm/tmp/rpm-tmp.64234 (%install)

Reply

Marsh Posté le 23-03-2004 à 17:23:33    

Et un ./configure;make dans le répertoire du source engendre-t-il la même erreur ? Sinon n'as-tu pas une macro %make plutôt que d'invoquer make ?

Reply

Marsh Posté le 23-03-2004 à 17:23:33   

Reply

Marsh Posté le 23-03-2004 à 18:21:05    

il compile correctement, pas de pb à ce niveau là

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed