rpmbuild 로 rpm 패키지 만들기

개요

rpm 패키지 만들기


설정


일반 사용자로 rpmbuild 실행


사용자의 $HOME 디렉터리내 .rpmmacros  파일에 rpmbuild 설정 저장

vi ~/.rpmmacros
## $HOME는 문자열로 취급하므로 제대로 동작하지 않으며 환경변수를 가져오려면 %{getenv:ENNVNAME} 을 사용
%_topdir %{getenv:HOME}/rpmbuild
%_tmppath   %{_topdir}/rpmbuild/tmp


RPM 디렉터리 생성

mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}   



SPEC

어떻게 rpm 을 만들지 기술하는 파일.


주요 항목

  • %files: The list of files that will be installed. See the %files section below for more.
  • %changelog: Changes in the package. Use the format example above. Do NOT put software's changelog at here.This changelog is for RPM itself.


테스트 spec

program.spec
Summary: Key info on software
Name: name-of-the-package
Version: 1.2.3.4
Release: 1
License: Copyright info
Group: Applications/System
%description
Brief description of software package.
%prep
%build
%install
%clean
%files
%defattr(-,root,root)
%doc README TODO COPYING ChangeLog
%{_bindir}/*
%{_sbindir}/*
%changelog
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
* - 2.1.5-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Fri Jul 02 2010 Kamil Dudka <kdudka@redhat.com> 2.1.5-20
- handle multi-partition devices with spaces in mount points properly (#608502)


바이너리 rpm 만들기

rpmbuild -ba program.spec


Ref