+ /usr/lib/rpm/brp-compress 파일 처리 중: kernel-2.4.2127.ELSH0.1-2 Provides: kernel-2.4.21-27.EL-SH-0.1 kernel-drm Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 파일 처리 중: kernel-debuginfo-2.4.2127.ELSH0.1-2 오류: /usr/src/redhat/BUILD/kernel-2.4.2127.ELSH0.1/debugfiles.list 파일의 %files를 열 수 없음: 그런 파일이나 디렉토리가 없음
흐흠. debugfiles.list 가 없다는거네. 소스 디렉토리에서 찾아봤다.
grep debuginfo * grep -r debuginfo *
없잖아;
그래서 google로 가서 검색을 했다. 대략 나랑 같은 현상이 많군; debugfiles.list가 어딨냐는 질문이 의외로 많다. 좋아. 혼자만의 고민은 아닌거야. 대략 답변을 찾기 귀찮아서 rpmbuild로 한글 웹을 검색해봤다. 요런게 보인다.
-ba 로 소스와 바이너리 패키지를 제작합니다. -bb 로 바이너리 패키지 만을 제작합니다.
소스와 바이너리 소스와 바이너리 소스와 바이너리 소스와 바이너리... SRPM을 만드는데 debugfiles.list가 필요한가? 받아서 풀어봤던 SRPM에는 그런게 없다. 일단 디렉토리도 다르다. 난 SPEC 디렉토리에서 rpmbuild를 실행했고, 저사람은 redhat 디렉토리에서 rpmbuild를 실행한거지. 가능성을 하나씩 찾아가자. 아직 회의 시간이 남았으니 검색. debugfiles.list가 뭐지? 뭔데 google의 한글 검색에는 걸리지 않느냐는거다; 찾았다.
cd /usr/src/redhat/ rpmbuild -bb SPECS/kernel.spec 실행 중(%prep): /bin/sh -e /var/tmp/rpm-tmp.73985
자고로 성공한 선배님들의 조언을 따라서. 회의끝. 교육 시작. 교육중에 확인. ....
+ /usr/lib/rpm/brp-compress 파일 처리 중: kernel-2.4.2127.ELSH0.1-2 Provides: kernel-2.4.21-27.EL-SH-0.1 kernel-drm Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 파일 처리 중: kernel-debuginfo-2.4.2127.ELSH0.1-2 오류: /usr/src/redhat/BUILD/kernel-2.4.2127.ELSH0.1/debugfiles.list 파일의 %files를 열 수 없음: 그런 파일이나 디렉토리가 없음
똑같음; 니놈이 아니였구나. 미안타. 사과하마;; 다시 google로 검색질. 비슷하지만 좀 다른 내용을 찾았다.
요런데자나. rpmbuild 옵션이 좀 다르고, 에러 메시지도 좀 다르다. 대략 오류가 의심되는 대목이 저거라는거로군. 아니면 말고; 대충대충 해석하자. 교육시작 5분전. 그거 막고 시작.
/usr/lib/rpm/redhat/macros (lines 99 - 114):
# Template for debug information sub-package. # NOTE: This is a copy from rpm to get the ifnarch noarch fix, it can be removed later #%debug_package \ #%ifnarch noarch\ #%global __debug_package 1\ #%package debuginfo \ #Summary: Debug information for package %{name}\ #Group: Development/Debug\ #%description debuginfo\ #This package provides debug information for package %{name}.\ #Debug information is useful when developing applications that use this\ #package or when debugging this package.\ #%files debuginfo -f debugfiles.list\ #%defattr(-,root,root)\ #%endif\ #%{nil}
교육 끝나고 나면 결과가 나와있겠지. 거의 포기상태. ..... 또냐; 다시 검색질. 와중에 이상한걸 발견했다. make rpm. 이게 머지? 혹시나 하는 마음에 해봤다.
spec 문서에 넣어주라는데 신빙성 있잖아. 그래서 도전. 점심식사하러. 식사후. module_install중. 패스.
+ cp arch/i386/boot/bzImage /var/tmp/kernel-2.4.2127.ELSH0.1-root/boot/vmlinuz-2.4.21-27.EL-SH-0.1 + cp System.map /var/tmp/kernel-2.4.2127.ELSH0.1-root/boot/System.map-2.4.21-27.EL-SH-0.1 + cp .config /var/tmp/kernel-2.4.2127.ELSH0.1-root/boot/config-2.4.21-27.EL-SH-0.1 + /usr/lib/rpm/brp-compress 파일 처리 중: kernel-2.4.2127.ELSH0.1-2 Provides: kernel-2.4.21-27.EL-SH-0.1 kernel-drm Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/kernel-2.4.2127.ELSH0.1-root 작성: /usr/src/redhat/RPMS/i386/kernel-2.4.2127.ELSH0.1-2.i386.rpm 실행 중(%clean): /bin/sh -e /var/tmp/rpm-tmp.64405 + umask 022 + cd /usr/src/redhat/BUILD + cd kernel-2.4.2127.ELSH0.1 + exit 0
깨끗하게 완료. 일단은 성공.
ls RPMS/i386/ kernel-2.4.2127.EL0.1-2.i386.rpm
생성. -가 빠져서 안이쁘지만 대충 성공한데 의의를 두자구. 여기서 궁금한게 debug_package를 %{nil}로 define해서 spec 문서에 넣고 성공한거지. 자자 그럼 궁금한게
/usr/lib/rpm/redhat/macros
요놈의
%_enable_debug_packages 0
이 항목. 0이 아니라 %{nil}이 아닐까? 또또또. 어디서 kernel rpm을 릴리즈 한걸 보니 *-highmem-* *-smp-* 요런 넘들도 있는데 달랑 rpm이 하나만 나왔네? 자자. 그럼 저 %_enable_debug_packages 항목을 %{nil}로 define 하고 make rpm 하면 다 나오지 않을까? 어짜피 점심식사후 다시 교육이니. 도전해보자.