728x90
Summary:
Name:
Version:
Release:
License:
Group:
URL:
BuildRoot: 사용할 Build Root 경로 //option
Source0: 사용할 source (압축파일)
Requries: RPM이 설치되기 이전에 설치되어 있어야 할 rpm을 지정해줌
BuildRequires: build 하기위해 필요한 rpm을 지정 할 수 있음
description
%prep
//Source에 지정한 파일을 빌드 하기전에 필요한 일을 지정
%setup -q
//-q 옵션 : 압축푸는 과정을 보여주지 않음
//-n 옵션 : 이름을 지정할 수 있음
%build
//%prep 다음에 수행되며 압축을 푼 소스를 가지고 빌드
%install
//%build 다음에 수행되며 빌드 수행결과 생성된 파일들을 설치 폴더로 복사하는 역할을 수행한다.
//$RPM_BUILD_ROOT : rpmbuild/BUILDROOT
//rpmbuild/BUILDROOT 안에 복사되어진 파일만 RPM에 포함되므로 build 후 추가되는 다른 경로의 폴더들은 따로 지정해주어야 rpm에 추가되
어 생성된다
//(%file의 기본 root가 rpmbuild/BUILDROOT이기 떄문에)
%check
//%install 다음에 수행되며 설치 이후에 테스트 케이스 검증같은 작업을 위해 사용한다.
//TDD기반의 프로젝트라면 이 위치에 테스트를 수행하도록 설정해주면된다.
%clean
//build 마지막에 수행한다. 빌드 과정에서 생긴 파일들을 지우도록 설정 할 수 있으며 주로 설치 폴더를 삭제하도록 설정해준다.
%post
// rpm 설치 이후에 추가 작업을 해줘야 할 때 사용한다.
//설정 파일에서 값을 변경하거나 chkconfig와 같은 작업 지정이 가능하다
%preun
//삭제 전 할 일
%files
//rpm 파일에 묶여야 하는 파일의 이름을 지정해준다. (%files / - install에서 복사한 모든 파일)
%attr
//설치된 rpm 권한과 소유권을 지정해 준다 (%attr(<mode>,<user>, <group>) filename
//ex) %attr(600,root,-)/etc/test
%defattr
//기본 권한 값을 설정 해 줄 수 있다. (%deattr(<file mode>, <user>,<group>,<dir mode>)
//ex) %defattr(644,root,root,-)
%dir
//패키지에 포함시킬 폴더를 지정해줘서 생성하도록 한다. 주로 특정 위치에 빈 폴더를 생성 시키기 위해 사용한다.
%postun
//삭제 후 할 일
%defattr(-,root,root)
%package
//서브-패키지를 생성하기 위해 사용한다.
//Name 필드에 지정해준 이름을 사용하며 여기서 지정해준 이름을 이어서 패키지 이름을 지어준다.
%changelog
'Package > RPM Package' 카테고리의 다른 글
HAproxy RPM Spec (0) | 2019.11.11 |
---|---|
RPM Spec file Macro (0) | 2019.07.28 |