BuildRoot의 내용을 보존하는 방법은 무엇입니까?

BuildRoot의 내용을 보존하는 방법은 무엇입니까?

좋은 오래된 rpm은 패키지를 단계적으로 빌드할 때 BuildRoot의 내용을 유지합니다. 이는 일부 소프트웨어를 만들기 어려운 경우 BuildRoot가 모두 괜찮은지 확인할 수 있기 때문에 나에게 매우 유용합니다.

이제 모든 "향상된" rpm으로 BuildRoot 항목이 자동으로 제거되므로 자세히 알아볼 수 없습니다(설치 단계가 그리 길지 않습니다).

내가 아는 한 가지 방법은 설치 단계가 끝날 때 rpm 사양에 일종의 절전 모드를 추가하는 것입니다. 하지만 추악합니다.

그래서 -질문-- BuildRoot의 내용을 좋게 보존하는 방법 -- 즉, 자동 삭제를 한꺼번에 비활성화하는 방법은 무엇입니까?

답변1

rpmbuild -bi해당 단계에서 모든 것이 설정되도록 테스트에서 사용해 보셨나요 %install? 나중에 자동으로 정리할 필요 없이 무슨 일이 일어났는지 알려줄 것입니다.

그런 다음 만족스러우면 정상적으로 빌드하세요.

답변2

그냥 추가하세요

    %define __spec_install_pre /bin/true

.spec파일 상단에

답변3

%clean사양 파일에 더미 개체를 추가해 보세요 . 그것은 다음과 같습니다:

%clean
echo NOOP

답변4

이것짜증나는데 동의합니다. rpm을 수정해도 괜찮다면 rpm 소스로 가서 BuildRoot가 제거된 위치를 찾아 해당 줄(아마도 한 줄)을 비활성화하고 다시 컴파일하는 것이 좋습니다. 제가 제안하고 싶은 또 다른 사항은 이전 동작을 복원하기 위해 위시리스트 버그를 제출하는 것입니다. 제 생각에는 이것이 구성 가능하다고 생각합니다.

질문: 어떤 버전의 rpm에서 이 동작이 변경되었습니까?

관련 정보