2012-01-30 5 views
1

내 Java 코드에 대한 RPM을 빌드하려고합니다 .RPM 빌드 및 설치 섹션이 제대로 작동합니다.하지만 나중에 쉘 스크립트를 % 일부 파일을 생성하고 자바 응용 프로그램을 시작하는 쉘 스크립트 파일을 실행하는 게시 섹션. 파일은 잘 복사됩니다. 그러나 % post 섹션에서 실패한 종속성 bin/sh 오류가 발생합니다. 저는 Linux 시스템과 대상 시스템에 rpm을 구축하고 있습니다. centOS입니다. 나는 또한 AutoReqProv : spec 파일에을 시도하지 않았습니다. 루트 사용자로 설치를 실행하지 않습니다. 또한 대상 컴퓨터에 ANT가 있어야합니다 (iam이 Java 코드를 작성하기 위해이 코드를 사용합니다. 문제에 관련 없음). 아래 코드를 첨부합니다. 기본 설치 위치는 tmp 폴더에 있습니다 (테스트 용).RPM을 설치하는 동안 오류가 발생했습니다 - 사양 실패한 post/bin/sh

Summary: test   Summary: test 
     Name: test 
     Version: 1 
     Release: 1 
     License: Restricted 
     Group: Applications/System 
     BuildRoot: ~/rpm/BUILD/helloworld-root 
     URL: http://mycompany.net/helloworld.tar 
     Vendor: Mycompany 
     Packager: Mycompany 
     Prefix: /tmp 
     BuildArchitectures: x86_64 

     %description 
     Hello World 

     %prep 
     pwd 
     %build 
     pwd 
     echo "changing directory" 
     echo $RPM_BUILD_ROOT 
     cd %{_sourcedir} 
     pwd 
     ant -f testbuild.xml 
     %install 
     pwd 
     echo "in install" 
     echo $RPM_BUILD_ROOT 
     rm -rf $RPM_BUILD_ROOT 
     mkdir -p $RPM_BUILD_ROOT/tmp/test/ 
     cd $RPM_BUILD_ROOT/tmp/test/ 
     tar -xf %{_builddir}/test.tar 

     %post 
     sh /tmp/test/createdb.sh 
     %clean 
     %files 
     /tmp/test 
     %changelog 

는 또한 구글에 검색했지만, 내가 명령 줄을 통해 실행하는 시도는 괜찮아요이 도움을 주셔서 감사합니다 실행 후 섹션을 축출 spec.with에서 쉘 스크립트를 실행하는 방법을 찾을 수 없습니다 사람이 할 수있는 경우에 문제가있는 지점?

+0

AutReqProv : no는 실수 일 수 있습니다. 실제 명령과 오류 메시지를 복사하여 붙여 넣을 수 있습니까? – sarnold

+0

오류는 http://stackoverflow.com/questions/3959040/rpm-installation-fails-due-to-depencency-bin-sh-not-found와 동일합니다 .iam이 루트로 로그인하지 않고 오류가 발생하는 경우를 제외하고 rpm.Now iam을 설치하려고하면 AutReqProv를 사용하지 않습니다. 내가 사용하고있는 SPEC 파일은 위에 제시되어있다. 내 % 게시물 섹션이 맞습니까? – keerthi

답변

1
%post -p /bin/bash 

이렇게하면 게시 스크립트에 bash 명령을 실행하는 터미널과 사용자가 수행하고있는 모든 작업을 수행 할 수 있습니다.