RPM 패키징. 2 부 : SPEC 파일 이론

RPM의 마법은 패키지 빌드에 대한 모든 지침은 단일 SPEC 파일에 포함되어 있습니다.. 물론 먼저 그것을 이해해야하며 때로는 쉽지 않습니다 ...

SPEC 파일이란 무엇입니까?

기본적으로 패키지를 빌드, 설치 및 제거하는 방법을 나타내는 파일입니다.

우리가 제공 할 지침은 그 자체가 매크로 인 단계로 나뉩니다. 다음은 기본 단계입니다.

  1. % 준비: 소스의 압축이 풀리고 패치가 적용됩니다.
  2. % 짓다: 바이너리가 컴파일됩니다.
  3. % 확인: 올바르게 컴파일되었는지 확인합니다.
  4. % 설치: 설치 드릴이 수행됩니다.
  5. % 파일: 패키지에 나타날 모든 파일을 나열합니다. 속성을 할당하는데도 자주 사용됩니다. 나열되지 않은 파일이 있으면 빌드되지 않습니다.

일부 SPEC에는 일부 단계가 없을 수 있습니다. 필수가 아닙니다..

호출되는 다른 단계가 있습니다. 스크립틀릿. 패키지가 빌드 될 때 실행되지 않고 설치 또는 제거 될 때 실행되기 때문에 특별합니다. 다른 패키지가 설치 될 때 실행되도록 트리거를 예약 할 수도 있습니다.. 이것은 RPM이 DEB 파일에 비해 갖는 큰 장점 중 하나입니다.

RPM의 큰 혼란은 모든 것에 대해 동일한 구문이 있습니다.. 즉,이 모든 특수 단어 앞에 퍼센트 기호 (%)는 RPM 매크로이지만 모든 종류의 매크로가 있습니다.

  • 기능 (% setup, % configure, % patch…)
  • 미리 정의 된 변수 (% _bindir, % dist…)
  • SPEC 자체에 정의 된 변수 (% buildroot, % 이름, % 버전 ...)
  • 정적 섹션 (설명 %, 변경 로그 %…)
  • 단계 (% 빌드, % 설치…)
  • 트리거 (% triggerin, % triggerpostun…)
  • 스크립틀릿 (% pretrans, % postun…)

특정 매크로가 어떻게 사용되는지 알기위한 유일한 방법은 문서를 참조하십시오. 사실 당신은 항상 다음과 같은 다른 트릭을 사용할 수 있습니다. SPEC이 당신과 비슷한 패키지로 어떻게 만들어 졌는지보세요, 또는 시행 착오 방법. 한쌍 실용적인 명령:

rpmbuild --showrc # 모든 매크로보기
rpmbuild --eval = "% macro_name"# 확장 된 매크로 표시

매크로 주변에 대괄호가 있으면 동일합니다. 괄호 뒤에 물음표가 있으면 확장 할 내용이 없으면 공백으로 표시됩니다. 예를 들면 1 % {? Dist} 확장됩니다 1. FC16 Fedora 16에서는 있지만 다른 배포판에서는 다음과 같이 유지됩니다. 1.

매크로는 주석에서도 확장됩니다. 퍼지는 것을 막으려면 두 퍼센트를 연속해서 사용하십시오. 예를 들면 %% 설정 될 것입니다 % 설정 말 그대로 확장함으로써.

식욕을 돋우다

우리는 이미이 튜토리얼의 두 번째 편에 있으며 우리가 무엇을 포장 할 것인지 아직 모르기 때문에 입을 벌리는 비디오는 다음과 같습니다.

우리가 포장 할 게임은 중독성이 강한. 이 게임을하면서 몇 시간을 낭비한 후 시간이없는 경우 튜토리얼을 완료하지 않는 것이 좋습니다.

< < RPM 패키징 튜토리얼의 첫 번째 부분 읽기


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.