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
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 #!/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
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éé.
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
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
Partager