4.2. 사양 파일 정보
사양
파일은 rpmbuild
유틸리티에서 RPM 패키지를 빌드하는 데 사용하는 지침이 포함된 파일입니다. 이 파일은 일련의 섹션에 지침을 정의하여 빌드 시스템에 필요한 정보를 제공합니다. 이러한 섹션은 Preamble 및 spec
파일의 Body 부분에 정의되어 있습니다.
- Preamble 섹션에는 본문 섹션에서 사용되는 일련의 메타데이터 항목이 포함되어 있습니다.
- Body 섹션은 지침의 주요 부분을 나타냅니다.
4.2.1. 사전 항목
다음은 RPM 사양
파일의 Preamble 섹션에서 사용할 수 있는 몇 가지 지시문입니다.
directive | 정의 |
---|---|
|
|
| 소프트웨어의 업스트림 버전 번호입니다. |
| 패키지 버전이 릴리스된 횟수입니다.
초기 값을 |
| 패키지에 대한 간단한 한 줄 요약입니다. |
| 패키지되는 소프트웨어의 라이센스입니다.
|
| 소프트웨어에 대한 자세한 내용은 전체 URL(예: 패키징 중인 소프트웨어에 대한 업스트림 프로젝트 웹 사이트)입니다. |
| 패치되지 않은 업스트림 소스 코드의 압축된 아카이브의 경로 또는 URL입니다. 이 링크는 아카이브의 액세스 가능하고 안정적인 스토리지(예: 패키지 관리자의 로컬 스토리지)가 아닌 업스트림 페이지(예: 업스트림 페이지)를 가리켜야 합니다.
지시문 이름 끝에 숫자 또는 숫자 없이 |
| 필요한 경우 소스 코드에 적용할 첫 번째 패치의 이름입니다.
지시문 이름 끝에 숫자 또는 숫자 없이
|
| 소프트웨어가 빌드될 아키텍처입니다.
예를 들어 소프트웨어를 해석된 프로그래밍 언어로 완전히 작성한 경우 해당 값을 |
|
컴파일된 언어로 작성된 프로그램을 빌드하는 데 필요한 쉼표 또는 공백으로 구분된 패키지 목록입니다. |
|
소프트웨어를 설치한 후 실행하는 데 필요한 쉼표 또는 공백으로 구분된 패키지 목록입니다. |
|
특정 프로세서 아키텍처에서 소프트웨어를 작동할 수 없는 경우 |
|
설치된 경우 소프트웨어가 제대로 작동하려면 시스템에 설치해서는 안 되는 쉼표 또는 공백으로 구분된 패키지 목록입니다. |
|
|
|
패키지에 |
이름
,버전
및 릴리스
(NVR) 지시문은 name-version-release
형식으로 RPM 패키지의 파일 이름을 구성합니다.
rpm
명령을 사용하여 RPM 데이터베이스를 쿼리하여 특정 패키지에 대한 NVR 정보를 표시할 수 있습니다. 예를 들면 다음과 같습니다.
# rpm -q bash
bash-4.4.19-7.el8.x86_64
bash
는 패키지 이름이고 4.4.19
는 버전이며 7.el8
은 릴리스입니다. x86_64
마커는 패키지 아키텍처입니다. NVR 과 달리 아키텍처 마커는 RPM 패키지러를 직접 제어하지 않지만 rpmbuild
빌드 환경에 의해 정의됩니다. 이에 대한 예외는 아키텍처 독립적인 noarch
패키지입니다.
4.2.2. 본문 항목
다음은 RPM 사양
파일의 Body 섹션에 사용된 항목입니다.
directive | 정의 |
---|---|
| RPM에 패키지된 소프트웨어에 대한 전체 설명입니다. 이 설명은 여러 행에 걸쳐 있을 수 있으며 단락으로 나눌 수 있습니다. |
|
빌드하기 위해 소프트웨어를 준비하는 명령 또는 일련의 명령(예: |
| 소프트웨어를 머신 코드(컴파일된 언어의 경우) 또는 바이트 코드(일부 해석 언어의 경우)로 빌드하는 명령 또는 일련의 명령입니다. |
|
소프트웨어를 빌드한 후
|
| 소프트웨어를 테스트하는 명령 또는 일련의 명령(예: 단위 테스트)입니다. |
| RPM 패키지에서 제공하는 파일 목록(사용자 시스템 및 시스템의 전체 경로 위치)을 설치합니다.
빌드 중에
|
|
다른 |
4.2.3. 고급 항목
사양
파일은 Scriptlets 또는 Trigger 와 같은 고급 항목을 포함할 수 있습니다.
스크립트릿 및 트리거는 빌드 프로세스가 아닌 최종 사용자의 시스템에서 설치 프로세스 중에 다른 지점에서 적용됩니다.