본문으로 바로가기

RPM Packaging Spec file

category Package/RPM Package 2019. 7. 28. 12:45
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