RPM 사양 파일을 작성할 때 다음 명령을 사용하여 사용 가능/정의된 매크로를 덤프할 수 있습니다.
rpm --showrc
또는rpm --eval %dump
또는 %dump
사양 파일 자체에 내장 매크로를 포함하고 RPM 빌드 프로세스의 출력을 확인합니다(빌드 출력에는 매크로 정의가 포함되어 있음).
두 경우 모두 일부 줄에는 "-14" 또는 "-11"이라는 접두사가 붙습니다. 여러 줄 정의의 대상이 되는 단일 줄은 없습니다.
이 출력에서 "-14"(또는 덜 일반적으로 "-11")는 무엇을 의미합니까? 더 중요한 것은 이 내용이 어디서 녹음되었는지 알고 싶습니다.
예제 출력:
-14: __autoconf autoconf
-14: __autoheader autoheader
-14: __automake automake
-11= _target_cpu x86_64
-11= _target_os linux
인용하다:
답변1
RPM 매크로에는 재귀 깊이라는 관련 수준이 있습니다.
이 수준의 매크로는 재귀 확장에서 돌아올 때 자동으로 정의되지 않습니다.
레벨 <= 0의 매크로는 항상 정의됩니다(어떤 의미에서는 전역).
음수 수준은 처음에 매크로가 정의된 위치(rpm 내에서 또는 구성 파일 읽기)를 표시하는 데 사용됩니다.
실제로 RPM의 어떤 것도 매크로 수준을 사용하거나 요구하지 않습니다.
하지만 이것이 "-14"가 의미하는 바입니다.
또한 정의되거나 사용되는 매크로를 알려주는 --showrc 출력의 ":"에서 "="로의 변경도 제외됩니다.
답변2
나는 rpm-ecosystem 메일링 리스트에 질문했습니다. 바라보다: http://lists.rpm.org/pipermail/rpm-ecosystem/2017-March/000476.html
"rpm --showrc"의 경우 이와 같은 음수는 매크로 정의의 "소스" 또는 "위치"를 나타냅니다.
-14 = -13 - 1: 매크로가 매크로 파일(예: /etc/rpm/macros.*)에 정의됩니다.
-11: 매크로는 rpmrc 파일(예: /usr/lib/rpm/rpmrc)에 정의됩니다.
-8 = -7 - 1: 매크로는 명령줄에서 정의됩니다(예: rpm -D "zzz 42" --showrc를 통해).
등.