2010-11-23 3 views
4

첫 번째 RPM을 만들려고하는데 오류가 발생합니다. 내 .rpmmarcos 파일은 다음과 같습니다초보자 rpmbuild 오류

%packager Your Name 
%_topdir /home/snort/test 
%_tmppath /home/snort/test/tmp 
%_smp_mflags -j3 
%__arch_install_post /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot 

내가 실행 : "rpmbuild -v -bb SPECS/test.spec"나는이 오류가 :
+ STATUS = 0
+ '['0 - cd test-1 : 해당 파일이나 디렉토리가 없습니다.
오류 : 종료 상태가 잘못되었습니다. /home/snort/test/tmp/rpm-tmp.55712 (% prep)

rpm-tmp.55712로 끝나는 파일은 다음과 같습니다.

cd '/home/snort/test/BUILD' 
rm -rf 'test-1' 
/bin/gzip -dc '/home/snort/test/SOURCES/test-1.c55.tar.gz' | tar -xvvf - 
STATUS=$? 
if [ $STATUS -ne 0 ]; then 
    exit $STATUS 
fi 
cd 'test-1' 

rpmbuild가 "rm -rf 'test-1'"을 실행하여 오래된/불필요한 디렉토리를 제거한 다음 test-1.c55.tar.gz 파일을 untar 한 다음 "cd test-1"하지만 untar 명령은 디렉토리를 만들지 않으므로 스크립트 오류가 발생합니다. 지금 무엇을해야할지 모르겠습니다.

내 spec 파일 : 더 SPECS/test.spec

Name:   test 
Version:  1 
Release:  .c55 
Summary:  Just a Test 

Group:   MyJunk 
License:  GPL 
URL:   http://www.somesite.com 
Source0:  test-1.c55.tar.gz 
BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 

%description 
This is just a test 
<br> 
%prep 
%setup BUILD  


%build<br> 
%configure<br> 
make %{?_smp_mflags}<br> 


%install<br> 
rm -rf $RPM_BUILD_ROOT<br> 
make install DESTDIR=$RPM_BUILD_ROOT 
<br> 

%clean<br> 
rm -rf $RPM_BUILD_ROOT<br> 


%files 
%defattr(-,root,root,-) 
%doc 

%changelog 

어떤 아이디어? 도움말
게리

답변

5

RPM에 대한
감사 (또는, 정확한 수, % 설정 매크로) 소스 tarbal 테스트 1.c55가 .... 디렉토리 테스트-1이 포함되어있을 필요가 있습니다. 디렉토리가 다를 경우

, 당신은 자세한 내용은 http://www.rpm.org/max-rpm/s1-rpm-inside-macros.html를 참조

%setup -n yourdir 

를 사용하여 해당 문제를 해결할 수 있습니다.

+0

m1tk4, 빙고! 그것이 내가 놓친 것이었다. 나는 test-1 디렉토리를 만들고, 파일을 넣은 다음 디렉토리를 tar'd했다. 지금은 다른 이유로 실패하고 있지만 주제를 벗어나기 전에 질문을하기 전에 오류를 조사 할 것입니다. 감사! – Gary