Fedora에서의 RPM spec 파일 관련 질문입니다
글쓴이: realstorm103 / 작성시간: 수, 2011/08/10 - 9:39오전
Fedora15에서 RPM 파일을 만들고 있는데요
제가 하고자 하는 건 Source0, 1, 2의 파일을 홈폴더 아래에 있는 MYDIR에 옮기는 작업입니다
아래의 spec 파일 코드에서 어떤 부분을 수정해야 할지 감이 잘 안오네요...
참고로 Source 0, 1, 2에 해당하는 txt 파일들은 SOURCE 폴더에 넣어뒀고요
test.spec ----------
Name : TestPackage
Summary : Package for test
Group : Monitoring
Source0:eula.1028.txt
Source1:eula.1031.txt
Source2:eula.1033.txt
Version:2.0.0
Release:dhw
License:GPL
BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}
%description
nothing special
cp * $HOME/MYDIR/
%files
%defattr(-,root, root)
현재 spec 파일을 rpmbuild -ba test.spec을 통해서 build 하고 나면
src.rpm 파일과 rpm 파일이 생기는데요 src.rpm 파일에는 소스 파일들이 포함이 되어 있는데
정작 rpm 파일에는 아무 파일도 포함이 안 되어 있네요...
어떤 식으로 spec 파일을 수정하면 좋을지 조언 부탁드립니다
Forums:
%files 단락이 비어있네요. 이부분이 채워져
%files 단락이 비어있네요.
이부분이 채워져 있어야 합니다.
source0, source1, source2를 설치위치($HOME/MYDIR/source0가 되도록) 경로에 맞춰서 입력해주세요.
어떤 식으로 채워야할지 잘 이해가 안 되서요..
제가 본 문서의 예제에서는
%attr(644,root,root) %{_sysconfdir}/security/console.apps/*
%attr(644,root,root) %{_sysconfdir}/pam.d/*
%{_bindir}/*
%{_sbindir}/*
%{_mandir}/*
이런 식으로 채워져있던데.. 파일마다 경로를 어떻게 설정해야하는지 그런걸 잘 모르겠네요;
description 섹션에 cp 관련 명령이 있는데
description 섹션에 cp 관련 명령이 있는데 그걸 %files 섹션으로 옮겨보세요.
cp * $HOME/MYDIR/ 하기 전에
mkdir -p $HOME/MYDIR/정도를 두는 게 나을 것 같네요.
%files 섹션에 넣을 수가 없네요
cp * $HOME/MYDIR/을 files 섹션으로 옮겼더니
파일은 반드시 /로 시작해야함. 이라는 에러 메시지가 뜨면서 빌드 자체가 안 되네요.
file 섹션에는 파일 명칭!만 들어가야 합니다.
cp xx
같은 명령어는 못들어갑니다.
그리거 rpm에 파일 넣으려면
$HOME/mydir로 복사하는 것보다는
그냥
cp ${buildroot}
로 빌드루트에 넣거
file섹션에는
*.*
만 적어두는게 좋을듯
즐린
지금 저 위의 cp에선...
지금 저 위의 cp는 rpm을 실제로 사용할 사람의
HOME 아래의 MYDIR이란 폴더에 제가 원하는 파일을 넣기 위해서
적어둔 거였는데 그럼 저기에는 문제가 없는건가요?
그리고 buildroot라는 폴더가 하는 역할 좀 정확히 알려주실 수 있나요 ㅜ
대충 알긴 하는데 정확한 역할을 몰라서 그런가 혼동이 오네요;
뭘 적어야할지도 오락가락하고요
%files 섹션 밑에 어떤 특정 파일명들을 적으면
RPM 제작 오류:
glob으로 파일을 찾을 수 없음:
/home/abcabc/rpmbuild/BUILDROOT/TestPackage-2.0.0.5.i386/*.*
이런 에러 메시지가 뜨네요; release는 이글 올린 후에 5로 제가 바꾼거고요
근데 TestPackage-2.0.0.5라는 폴더는 rpmbuild를 실행하면 생성한 후에 종료까지 알아서 하던데
저기에서 왜 파일을 찾는건지...
buildroot는 rpm안에 들어갈 파일이 위치하는 곳입니다.
그 안에 파일을 복사하고
files섹션에 지정하면
rpm안에 들어갑니다.
그리고 buildroot지정하는 게 아마 %{buildroot}였나 %{BuildRoot}였나
cp 복사할 파일 $RPM_BUILD_ROOT
이렇게 해야 rpm안에 들어갈겁니다
http://rpm5.org/docs/api/buildroot.html
즐린
댓글 달기