Création d'un RPM et script de post install

Fermé
cestrade Messages postés 2 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 12 juillet 2012 - 5 juil. 2012 à 09:58
cestrade Messages postés 2 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 12 juillet 2012 - 12 juil. 2012 à 15:13
Bonjour,


J'utilise un script pour générer automatiquement un rpm
Je l'ai modifié pour rajouter des commandes de post install qui sont les suivantes :
%post
chmod -R 444 /usr/local/bin/alura/SCAL7
find /usr/local/bin/alura/SCAL7 -type f -name SCAL -print0 | xargs -0 chmod 555
find /usr/local/bin/alura/SCAL7 -type f -regex .*ini -print0 | xargs -0 chmod 666
find /usr/local/bin/alura/SCAL7 -type f -regex .*xml -print0 | xargs -0 chmod 666
/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 :
Cd /
Chmod 755 . 
Chmod 755 usr
Chmod 755 usr/local 
Chmod 755 usr/local/bin
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 :
# Initial spec file created by autospec ver. 0.8 with rpm 3 compatibility
Summary: SCAL_RPM
# The Summary: line should be expanded to about here -----^
#Summary(fr): (translated summary goes here)
Name: SCAL7
Version: 8.8.4
Release: 1
Group: SAPHIR
#Group(fr): (translated group goes here)
License: SAPHIR
Source: SCAL7.bin.tar.gz
#NoSource: SCAL7.bin.tar.gz
BuildRoot: %{_tmppath}/%{name}-root
# Following are optional fields
#URL: http://www.example.net/SCAL_RPM/
#Distribution: Red Hat Contrib-Net
#Patch: SCAL_RPM-%{version}.patch
Prefix:/usr/local/bin/alura/SCAL7
#BuildArch: noarch
#Requires: 
#Obsoletes: 
#BuildRequires: 

%description
SCAL7 version 8.8.4

#%description -l fr
#(translated description goes here)

%prep
%setup -c SCAL_RPM
#%patch

%install
%__cp -a . "${RPM_BUILD_ROOT-/}"

%clean
[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"

%post
chmod -R 444 /usr/local/bin/alura/SCAL7
find /usr/local/bin/alura/SCAL7 -type f -name SCAL -print0 | xargs -0 chmod 555
find /usr/local/bin/alura/SCAL7 -type f -regex .*ini -print0 | xargs -0 chmod 666
find /usr/local/bin/alura/SCAL7 -type f -regex .*xml -print0 | xargs -0 chmod 666
/sbin/ldconfig

%post
chmod -R 444 /usr/local/bin/alura/SCAL7
find /usr/local/bin/alura/SCAL7 -type f -name SCAL -print0 | xargs -0 chmod 555
find /usr/local/bin/alura/SCAL7 -type f -regex .*ini -print0 | xargs -0 chmod 666
find /usr/local/bin/alura/SCAL7 -type f -regex .*xml -print0 | xargs -0 chmod 666
/sbin/ldconfig

%files
%defattr(744,root,root,744)
%dir /./
/./SCAL7.tar.gz
/./Temp.spec
/./SCAL7.spec
/./tmp
/./Temp2.spec
%dir /./usr/
%dir /./usr/local/
%dir /./usr/local/bin/
%dir /./usr/local/bin/alura/
%dir /./usr/local/bin/alura/SCAL7/
%dir /./usr/local/bin/alura/SCAL7/SCAL_ExtTrack/
/./usr/local/bin/alura/SCAL7/SCAL_ExtTrack/Copy.vi
/./usr/local/bin/alura/SCAL7/SCAL_ExtTrack/Create.vi
[...]
%dir /./usr/local/natinst/
%dir /./usr/local/natinst/smserver/

%changelog
* Sat Jul 04 2009 root <root@xq2500-1>
- Initial spec file created by autospec ver. 0.8 with rpm 3 compatibility



Merci pour vos conseils !

A voir également:

1 réponse

cestrade Messages postés 2 Date d'inscription jeudi 5 juillet 2012 Statut Membre Dernière intervention 12 juillet 2012
12 juil. 2012 à 15:13
J'ai trouvé, ca saute aux yeux...!


%files
%defattr(744,root,root,744)
%dir /./
[...]
%dir /./usr/
%dir /./usr/local/
%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
0