rpm: debuginfo를 비활성화하는 방법

rpm: debuginfo를 비활성화하는 방법

운영 체제 레드햇 8.4

%debug_package파일에 매크로를 포함하면 spec패키지에 대한 디버깅 정보가 생성되고 mypackage-debuginfo-<VERSION>.<ARCH>rpm이 생성된다는 것을 알고 있습니다 . 그러나 흥미롭게도 spec내 파일에는 이 매크로가 없지만 디버그 정보가 빌드됩니다.

그러나 파일 상단에는 spec다음과 같은 전역 변수가 있습니다.

%global _hardened_build 1
%global sysrepo 0
%undefine _missing_build_ids_terminate_build
%define _unpackaged_files_terminate_build 0

%debug_package그 중 하나에 매크로가 활성화 되어 있는지 궁금합니다 .

답변1

rpm 매크로 정의는 순차적으로 로드되므로 가장 좋은 옵션은 다음과 같습니다.

  1. RPM에서 재정의 - 해당 RPM에 대한 debuginfo RPM 생성을 비활성화하는 데 사용됩니다.
  2. ~/.rpmrc귀하의 계정에 구축된 RPM에 대한 debuginfo 생성을 비활성화하려면 --에서 이것을 재정의하십시오.
  3. /etc/rpm/macros/etc/rpmrc해당 시스템에 구축된 RPM에 대한 디버그 정보 생성을 비활성화하려면 또는 --에서 이를 재정의합니다 .

내 시스템의 정의는 __debug_package 1/usr/lib/rpm/macros에 설정되어 있으므로 그 이후에 읽은 RC 파일은 모두 작동합니다(RPM 파일 자체 포함).

관련 정보