Bonjour à tous,

Voila je dois réaliser un RPM (c'est une première pour moi) et je dois avouer que je galère. Je souhaiterai comprendre un petit peu mieux ce que je copie des exemples d'internet pour me permettre de résoudre un pbl que j'ai sur mon RPM.
Mon RPM doit installer un service sur une CentOs 6.5
J'ai 3 fichiers à copier, 1 binaire et 2 fichiers de configuration

J'ai réalisé un script qui construit le RPM de façon automatique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
#!/bin/bash
cd /home/MonLogin
 
# On commence par supprimer l'ancien repertoire rpmbuild
rm -rf ./rpmbuild
 
# Creation des repertoires necessaires pour l utilisation de rpmbuild
mkdir rpmbuild
mkdir -p ./rpmbuild/SOURCES ./rpmbuild/SPECS ./rpmbuild/RPMS ./rpmbuild/SRPMS ./rpmbuild/BUILD
mkdir ./rpmbuild/SOURCES/projet-0.1
 
# Creation du fichier tar.gz a partir du contenu du repertoire packageRPM
tar -czvf projet-0.1.tar.gz projet-0.1
mv projet-0.1.tar.gz ./rpmbuild/SOURCES/projet-0.1/
 
# copie du fichier SPEC
cp ./projet.spec ./rpmbuild/SPECS/
 
# Creation du fichier rpm
rpmbuild -ba ./rpmbuild/SPECS/projet.spec
et j'ai créé le fichier projet.spec correspondant à mon RPM
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
Summary: projet software
Name: projet
Version: 0.1
Release: 1
License: Mylicense
Group: Applications
Source: projet-0.1.tar.gz
Distribution: RedHat
Vendor: Me
Packager: MeToo
 
%description
projet software
 
%prep
%setup -q -n %{name}-%{version}
# Dans cette section le fichier tar.gz est dezippe dans le repertoire BUILD
 
%build
# Pas besoin de cette section on ne recompile pas les sources à l'install
 
%install
# Creation des repertoires de destination dans le repertoire temp
mkdir -p $RPM_BUILD_ROOT/usr/bin
mkdir -p $RPM_BUILD_ROOT/etc/rsyslog.d
 
# On copie les fichiers
cp usr/bin/projet $RPM_BUILD_ROOT/usr/bin/
cp usr/projet.conf $RPM_BUILD_ROOT/usr/
cp etc/rsyslog.d/00_project.conf $RPM_BUILD_ROOT/etc/rsyslog.d/
 
%clean
rm -rf $RPM_BUILD_ROOT
 
%files
%defattr(-,root,root)
%attr(0755,root,root) /usr/bin/projet
%attr(0755,root,root) /usr/projet.conf
%attr(0755,root,root) /etc/rsyslog.d/00_project.conf
Voila alors je pensais que lorsque l'on installait le rpm par la commande rpm -i, le contenu du RPM_BUILD_ROOT était reporté sur le système, la le rpmbuild se déroule bien il me créer bien mon fichier rpm dans le répertoire SRPMS mais lors de l'installation aucun fichier n'est créé.

Je suis un peu perdu avec tout ce que je trouve sur internet pouvez vous m'expliquer comment fonctionne excatement ce RPM_BUILD_ROOT et si les commentaires que j'ai essayé d'introduire dans le spec correspondent bien a ce qui est réellement fait lors de l'installation.

Merci d'avance

Nerixm