Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1469 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script de post installation dans un RPM

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script de post installation dans un RPM

n°1315619
cestrade
Posté le 06-07-2012 à 15:02:28  profilanswer
 

Bonjour,
 
J'utilise un script pour générer automatiquement un rpm (génération d'un fichier de spec+rpmbuild)
Je l'ai modifié pour rajouter des commandes de post install qui sont les suivantes :
 

Code :
  1. %post
  2. chmod -R 444 /usr/local/bin/toto/XXX
  3. find /usr/local/bin/toto/XXX -type f -name XXX -print0 | xargs -0 chmod 555
  4. find /usr/local/bin/toto/XXX -type f -regex .*ini -print0 | xargs -0 chmod 666
  5. find /usr/local/bin/toto/XXX -type f -regex .*xml -print0 | xargs -0 chmod 666
  6. /sbin/ldconfig


 
Prises séparément, ces commandes semblent fonctionner correctement.
Seulement, une fois incluses dans le RPM, lors de l'installation du RPM, on se retrouve avec tout le chemin /usr/local/bin/... dont les droits d'accès sont changés !
Ce qui pourri au passage la partition : pour la remettre d'aplomb, il faut faire les commandes suivantes, en root :

Code :
  1. Cd /
  2. Chmod 755 .
  3. Chmod 755 usr
  4. Chmod 755 usr/local
  5. Chmod 755 usr/local/bin
  6. Chmod -R 755 usr/local/bin/...


 
Je ne comprend pas qu'est ce qui change les droits de ce chemin, puisque les seules commandes que j'ai rajouté fonctionnent correctement, à part ?
 
Voici une partie du fichier de spec qui permet de générer le rpm :

Code :
  1. # Initial spec file created by autospec ver. 0.8 with rpm 3 compatibility
  2. Summary: XXX_RPM
  3. # The Summary: line should be expanded to about here -----^
  4. #Summary(fr): (translated summary goes here)
  5. Name: XXX
  6. Version: 8.8.4
  7. Release: 1
  8. Group: XXX
  9. #Group(fr): (translated group goes here)
  10. License: XXX
  11. Source: XXX.bin.tar.gz
  12. #NoSource: XXX.bin.tar.gz
  13. BuildRoot: %{_tmppath}/%{name}-root
  14. # Following are optional fields
  15. #URL: http://www.example.net/XXX_RPM/
  16. #Distribution: Red Hat Contrib-Net
  17. #Patch: XXX_RPM-%{version}.patch
  18. Prefix:/usr/local/bin/toto/XXX
  19. #BuildArch: noarch
  20. #Requires:
  21. #Obsoletes:
  22. #BuildRequires:
  23. %description
  24. XXX version 8.8.4
  25. #%description -l fr
  26. #(translated description goes here)
  27. %prep
  28. %setup -c XXX_RPM
  29. #%patch
  30. %install
  31. %__cp -a . "${RPM_BUILD_ROOT-/}"
  32. %clean
  33. [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
  34. %post
  35. chmod -R 444 /usr/local/bin/toto/XXX
  36. find /usr/local/bin/toto/XXX -type f -name XXX -print0 | xargs -0 chmod 555
  37. find /usr/local/bin/toto/XXX -type f -regex .*ini -print0 | xargs -0 chmod 666
  38. find /usr/local/bin/toto/XXX -type f -regex .*xml -print0 | xargs -0 chmod 666
  39. /sbin/ldconfig
  40. %files
  41. %defattr(744,root,root,744)
  42. %dir /./
  43. /./XXX.tar.gz
  44. /./Temp.spec
  45. /./XXX.spec
  46. /./tmp
  47. /./Temp2.spec
  48. %dir /./usr/
  49. %dir /./usr/local/
  50. %dir /./usr/local/bin/
  51. [...]
  52. %dir /./usr/local/natinst/
  53. %dir /./usr/local/natinst/smserver/
  54. %changelog
  55. * Sat Jul 04 2009 root <root@xq2500-1>
  56. - Initial spec file created by autospec ver. 0.8 with rpm 3 compatibility


 
Merci pour vos conseils !
 
Configuration: Red hat 5

mood
Publicité
Posté le 06-07-2012 à 15:02:28  profilanswer
 

n°1315656
Mjules
Modérateur
Parle dans le vide
Posté le 06-07-2012 à 22:25:03  profilanswer
 

les fichiers que tu cherches sont installés par le rpm ? si oui, pourquoi tu n'appliques pas les droits dans la section files ?
avec un %attr{555,root,root)/fichier/qui/va/bien


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1315808
cestrade
Posté le 10-07-2012 à 10:31:47  profilanswer
 

Mjules a écrit :

les fichiers que tu cherches sont installés par le rpm ? si oui, pourquoi tu n'appliques pas les droits dans la section files ?
avec un %attr{555,root,root)/fichier/qui/va/bien


 
Merci Mjules pour ta réponse.
C'est effectivement une solution, mais vu que je génère automatiquement le fichier de spec avec un script, ce n'est pas évident de donner les bons attibuts aux bons fichiers.
Je vais voir si je peux creuser dans cette direction

n°1315881
Mjules
Modérateur
Parle dans le vide
Posté le 10-07-2012 à 18:48:47  profilanswer
 

tu as possibilité d'utiliser des caractères joker dans ton %files :
%attr{666,root,root}/path/vers/chemin/*ini  
 
va empaqueter tous les ini du dossier avec les bons droits
 
http://www.rpm.org/max-rpm/s1-rpm- [...] -list.html


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°1315976
cestrade
Posté le 12-07-2012 à 15:20:07  profilanswer
 

Merci Mjules.
En fait j'ai trouvé le problème, ca saute aux yeux...!
 

Code :
  1. %files
  2. %defattr(744,root,root,744)
  3. %dir /./</gras>
  4. [...]
  5. %dir /./usr/
  6. %dir /./usr/local/
  7. %dir /./usr/local/bin/


 
=> aux dossiers . , ./usr , ./usr/local ... on définit par défaut les attributs 744
d'où le plantage de mon OS

n°1315998
Mjules
Modérateur
Parle dans le vide
Posté le 12-07-2012 à 19:11:19  profilanswer
 

d'ailleurs, c'est un peu violent d'attibuer tout /usr (et autres) à ton paquet. Il ne devrait s'attribuer que les dossiers dont il est réellement proprio


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Script de post installation dans un RPM

 

Sujets relatifs
Script Bash pour récuperer seulement l'adresse IPInstallation Debian en Raid 1
probleme d'installation debian sur RAID LSIinstallation lemonldap-ng
Installation de Gentoo sur Vmaware Fusion sous Mac[LUBUNTU] Installation impossible [Resolu]
Message JAVA SCRIPT qui me bloque FirefoxDD 2To illisible après installation ubuntu
[Résolus]Problème d'installation de Gmesh 
Plus de sujets relatifs à : Script de post installation dans un RPM


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR