RPM 가방 만 드 는 법

RPM RedHat Package Manager(RedHat       )   ,                   ,      Linux    。     .RPM      。  rpm              。             rpm       ,          rpm 。
       nginx rpm         。     centos-5 32    。
  nginx rpm  
1、      
/usr/src/redhat/SOURCES —      ,  ,     。
/usr/src/redhat/SPECS —       rpm     spec  。
/usr/src/redhat/BUILD —            。
/usr/src/redhat/RPMS —    rpmbuild        。
/usr/src/redhat/SRPMS —   rpmbuild       。
1.mkdir -p /usr/src/redhat
2.cd /usr/src/redhat
3.mkdir SOURCES SPECS BUILD RPMS SRPMS
2、     
      SOURCES  ,     。
1.cd /usr/src/redhat/SOURCES
2.wget http://nginx.org/download/nginx-1.2.1.tar.gz
3、  Spec  
1.cd /usr/src/redhat/SPECS
2.vi nginx.spec
    :
1.#
2.# Example spec file for nginx
3.#
4.Summary: high performance web server
5.Name: nginx
6.Version: 1.2.1
7.Release: 1.el5.ngx
8.License: 2-clause BSD-like license
9.Group: Applications/Server
10.Source: http://nginx.org/download/nginx-1.2.1.tar.gz
11.URL: http://nginx.org/
12.Distribution: Linux
13.Packager: zhumaohai 
14.
15.%description
16.nginx [engine x] is a HTTP and reverse proxy server, as well as
17.a mail proxy server
18.%prep
19.rm -rf $RPM_BUILD_DIR/nginx-1.2.1
20.zcat $RPM_SOURCE_DIR/nginx-1.2.1.tar.gz | tar -xvf -
21.%build
22.cd nginx-1.2.1
23../configure --prefix=/usr/local/nginx
24.make
25.%install
26.cd nginx-1.2.1
27.make install
28.%preun
29.if [ -z "`ps aux | grep nginx | grep -v grep`" ];then
30.killall nginx >/dev/null
31.exit 0
32.fi
33.%files
34./usr/local/nginx
4、  RPM  
   RPM            , rpmbuild,gcc 。
1.yum install gcc rpm-build pcre-devel
1.cd /usr/src/redhat/SPECS/
2.rpmbuild -bb nginx.spec
      ,   nginx rpm ,/usr/src/redhat/RPMS/i386/nginx-1.2.1-1.el5.ngx.i386.rpm。
5、  rpm 
1.rpm -ivh /usr/src/redhat/RPMS/i386/nginx-1.2.1-1.el5.ngx.i386.rpm
spec    
            ,  rpm       spec  ,              。
#: #     ,rpm    。
Summary:      。
Name :  rpm   。
Version:       
Release:     
License:      
Group:     
Source: ×××  
URL:       
Distribution:      
Packager:       
%description:      ,   
%prep :         ,   。
%build :      , make
%install :      , make install
%files :           , /usr/local/nginx
%preun :         ,     。
           tag,       :http://www.rpm.org/max-rpm/ch-rpm-inside.html

 
 
계통 centos6.0  x86_64
centos 6.0 에 rpmbuild 를 사용 하여 rpm 가방 을 만 들 면 File 이 나타 납 니 다. not found: /root / rpmbuild / BUILDROOT /... 의 오 류 는 centos 입 니 다. 6 의 rpmbuild centos 를 호 환 하기 위해 서 topdir 가 바 뀌 었 습 니 다. 5 의 spec 파일, topdir 를 수정 해 야 합 니 다:
편집 / usr / lib / rpm / macros 파일:
%_topdir                %{getenv:HOME}/rpmbuild
다음으로 변경:
%_topdir                %{_usrsrc}/redhat
buildroot
spec 파일 에 있 는 make install 뒤에 DESTDIR =% {buildroot}, 즉:
make install  DESTDIR=%{buildroot}
 

좋은 웹페이지 즐겨찾기