2010-10-27 29 views
10

Je crée un RPM. Ce RPM particulier a des exigences qui ne peuvent pas être exprimées en termes de prérequis RPM, appelons-les une configuration de système de fichiers/disque particulière. Actuellement, la panne se produit après l'installation, au moment de l'exécution, lorsque les conditions ne sont pas remplies.Échec d'une installation RPM par programmation dans une étape de spécification

Je peux vérifier les prérequis requis dans la section% install, de mon script. Cependant, je ne peux pas comprendre comment échouer l'installation si certains critères sont remplis. Est-il possible d'échouer une installation de RPM à l'exécution via un déclencheur dans la section% install (ou une autre section)?

Un exemple ressemblerait à quelque chose comme cela, dans un fichier .spec:

%install 
if [ -f /some/file ] 
then 
    FAIL_RPM_INSTALL ## What is this command? 
fi 

Répondre

2
%pre 
df /data|awk 'END{if ($2 < 10000000) exit 1;}'; 
if [ $? == 1 ]; 
    then echo ERROR not enough space;exit 1; 
fi 
+0

awk vous donnera une valeur incorrecte lorsque le système de fichier * * nom est trop long. Je crois que l'utilisation de 'df -P' évite ce problème. – draganHR