在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近又在centos6.4下折腾tengine了,刚好不久前看了rpm包的制作方法,所以又有了搞个rpm包的想法。 1 安装CentOS的开发环境集成包及tengine的依赖包 复制代码 代码如下:yum groupinstall "Development Tools" yum install pcre-devel yum install openssl openssl-devel 2 创建tengine rpm包,用非root用户test 复制代码 代码如下:su - test mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} 3 在家目录编写.rpmmacros(就是上一篇说的自定义制作路径的文件) 复制代码 代码如下:#.rpmmacros %_topdir /home/test/rpmbuild %_tmppath /home/test/rpmbuild/tmp %buildroot /home/test/rpmbuild/BUILDROOT %_prefix / 4 在家目录里创建制作目录rpmbuild 复制代码 代码如下:rpmbuild/ ├── BUILD ├── RPMS ├── SOURCES │ └── tengine-1.5.0.tar.gz ├── SPECS │ └── tengine.spec ├── SRPMS └── tmp 5 tengine.spec内容 复制代码 代码如下:Name: tengine Version: 1.5.0 Release: 1 Vendor: Taobao Summary: GUN Tengine X86_64 License: GPL Source: tengine-1.5.0.tar.gz Group: System Enviroment/Daemons URL: http://tengine.taobao.org/ Packager: [email protected] %description Taobao tengine package</p> <p> %prep %setup -q ./configure --prefix=/etc/Nginx/ </p> <p>make %install make DESTDIR=$RPM_BUILD_ROOT install %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" make clean</p> <p>%files %defattr (-,root,root) /etc/nginx/ 注意:在centos 6.0上使用rpmbuild制作rpm包如果出现file not found: /root/rpmbuild/BUILDROOT/…的错误,看是centos 6中的rpmbuild topdir已经改变,为了能兼容centos 5的spec文件,需要对topdir进行修改 复制代码 代码如下:编辑/usr/lib/rpm/macros文件: %_topdir %{getenv:HOME}/rpmbuild 修改为: %_topdir %{_usrsrc}/ 6 开始生产rpm包 复制代码 代码如下:#在test家目录 rpmbuild -ba ./rpmbuild/SPECS/tengine.spec 如果没有错误,则会在rpmbuild/RPMS目录下生成相关rpm包。这只是简单的制作过程,如果要做深度定制,可以针对安装前后执行的脚本做定制。 |
请发表评论