2012-12-07 5 views
0

나는 제거 할 때 클라이언트 측에서 메시지를 인쇄하고 싶습니다. 오류가 발생하면 항상 인쇄하고 rpm과 같은 간단한 메시지가 성공적으로 제거되면 선택 사항입니다 .client 옵션을 사용하십시오 rpm으로 설치 제거의 -v 다음 인쇄 (상세 다른 현명하지)rpm 빌드 : 클라이언트에서 spec 파일 디스플레이 메시지

rpm -ivh xyz.rpm for install and rpm -ev xyz for uninstall as below. 

# 사전 제거 섹션

%preun 
Processes=`ps -Ao"%p:%a" --cols 150 | 
egrep "Launcher|rmiregistry" | grep -v grep | cut -d ":" -f1` 
     if [ -n "$Processes" ]; then 
       echo 'xyz is running ,first stop it then uninstall.' > /dev/stderr; 
       exit 1; 
     else 
       echo 'xyz service is not running' >/dev/stdout; 
     fi 

현재 위의 코드를 인쇄 매번.

답변

1

% preun에서 업그레이드와 제거를 구별해야합니다.

내 *을 .spec 파일이 패턴을 사용

%preun 

if [ "$1" = "0" ]; then 
    # package removal 
    true; # bash doesn't like 'empty' conditional blocks 
elif [ "$1" = "1" ]; then 
    # package upgrade 
    true; # bash doesn't like 'empty' conditional blocks 
fi 

에서 일부 exrta 정보 : https://fedoraproject.org/wiki/Packaging:ScriptletSnippets#Syntax