rpm包制作
nginx1.7.7 rpm包制作過程
制作環(huán)境:centos 6.5 x64 ?2.6.32-431.el6.x86_64
1、檢查是否安裝了rpmbuild
? ?
2、檢查是否生成了rpmbuild工作目錄,如果沒有使用rpmdev-setuptree重新生成
? ?
各目錄功能如下:
SOURCES:放置打包資源,包括源碼打包文件和補(bǔ)丁文件等。
SPECS:放置SPEC文檔。
BUILD:打包過程中的工作目錄。
RPMS:存放生成的二進(jìn)制包。
SRPMS:目錄存放生成的源碼包。
3、編寫spec文件
? ??
Summary:High?Performance?Web?Server Name:nginx Version:1.7.7 Release:el6 Source0:%{name}-%{version}.tar.gz License:GPL BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root Group:Applications/Server Distribution:Linux Packager:apeter<854999372@qq.com> %description nginx?[engine?x]?is?a?HTTP?and?reverse?proxy?server,?as?well?as?a?mail?proxy?server %prep rm?-rf?$RPM_BUILD_DIR/nginx1.7.7 zcat?$RPM_SOURCE_DIR/nginx-1.7.7.tar.gz?|?tar?-xvf?- %build cd?nginx-1.7.7 ./configure?--prefix=/usr/local/nginx make %install cd?nginx-1.7.7 make?install?DESTDIR=%{buildroot} %preun if?[?-z?"`ps?aux?|?grep?nginx?|?grep?-v?grep`"?];then killall?nginx?>/dev/null exit?0 fi %files /usr/local/nginx4、接下來一步是構(gòu)建rpm包
? ? ? 首先安裝編譯需要的rpm包,如gcc、pcre、pcre-devel,然后復(fù)制nginx源碼到~/rpmbuild/SOURCES目錄,nginx源碼復(fù)制完成后,進(jìn)入~/rpmbuild/SPECS目錄,使用rpmbuild -bb nginx.spec命令制作RPM包。制作完成后會在~/rpmbuild/RPMS/x86_64生成一個(gè)rpm包。
? ? ??
在制作過程中遇到了下圖中的錯(cuò)誤,具體解決方法是這樣的:
? ? ? ?編輯/usr/lib/rpm/macros文件:
? ? ? ?%_topdir ? ? ? ? ? ? ? ?%{getenv:HOME}/rpmbuild
? ? ? ?修改為:
? ? ? ?%_topdir ? ? ? ? ? ? ? ?%{_usrsrc}/redhat
? ? ? ?另外還需要定義buildroot
? ? ? ?在spec文件中的make install后面加上DESTDIR=%{buildroot},即:
? ? ? ?make install ?DESTDIR=%{buildroot}
轉(zhuǎn)載于:https://blog.51cto.com/apeter/1605071
總結(jié)
- 上一篇: centos 磁盘扩容,新建lv
- 下一篇: QQ 5.0侧滑HorizontalSc