kamailio/openser/opensips 生成RPM包/RPM打包
来源:互联网 发布:java并发编程实践源码 编辑:程序博客网 时间:2024/06/07 01:07
使用RPM包进行安装部署可以节省许多时间,一些环境的配置都可以使用脚本完成,这样部署一台proxy服务器两步走,脚本配环境,RPM装程序。先说说标准流程,然后再说下如何加入自己开发的模块。
一.RPM环境配置
安装rpmforge,根据系统架构选择32位版还是64位版。
- i386 - http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm
- x86_64 - http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
安装DAG's GPG key
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt.
安装下载的RPM包
rpm -ivh rpmforge-release-0.5.2-2.el5.rf.*.rpm
安装rpm-build,把命令复制来一起执行就行了。
yum install rpm-buildyum install redhat-rpm-configcdmkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
二.进行kamailio打包
cd kamailio源码目录make FLAVOUR=kamailio tar
复制 Kamailio Spec Files
kamailio.default里面的参数可以把共享内存和私有内存调大一些。
cdmv kamailio-3.1/kamailio/kamailio-3.1.2_src.tar.gz rpmbuild/SOURCES/cp kamailio-3.1/kamailio/pkg/kamailio/rpm/kamailio.init rpmbuild/SOURCES/cp kamailio-3.1/kamailio/pkg/kamailio/rpm/kamailio.default rpmbuild/SOURCES/cp kamailio-3.1/kamailio/pkg/kamailio/rpm/kamailio.spec.CentOS rpmbuild/SPECS/
安装kamailio依赖
yum install makeyum install gccyum install flexyum install bisonyum install mysql-develyum install openssl-develyum install pcre-develyum install postgresql-develyum install unixODBC-develyum install libxml2-develyum install radiusclient-ng-develyum install lm_sensors-develyum install net-snmp-develyum install curl-develyum install expat-develyum install libconfuse-develyum install libpurple-develyum install openldap-develyum install mod_perl-develyum install lua-develyum install python-develyum install yum install
现在生成RPM包
cd ~/rpmbuild/SPECSrpmbuild -ba kamailio.spec.CenOS
等吧,这是一个比较费时的过程,当你看到以下信息就成功了。
...Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/kamailio-3.1.2-buildrootWrote: /home/cezar/rpmbuild/SRPMS/kamailio-3.1.2-0.src.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-mysql-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-postgres-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-unixodbc-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-utils-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-cpl-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-radius-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-snmpstats-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-presence-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-xmpp-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-tls-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-carrierroute-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-purple-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-ldap-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-perl-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-lua-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-python-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-geoip-3.1.2-0.i386.rpmWrote: /home/cezar/rpmbuild/RPMS/i386/kamailio-debuginfo-3.1.2-0.i386.rpmExecuting(%clean): /bin/sh -e /var/tmp/rpm-tmp.19156+ umask 022+ cd /home/cezar/rpmbuild/BUILD+ cd kamailio-3.1.2+ rm -rf /var/tmp/kamailio-3.1.2-buildroot+ exit 0
三.添加自己开发的模块
这个主要是修改spec文件,比如我完成一个叫test的模块开发,而这个test的模块依赖了其他第三方库,比如protobuf。
1.先要让rpm会编译这个库
vi kamailio.spec.CenOS在文件中找 make FLAVOUR=kamailio cfg 这一行,然后在此行最后加上include_modules="test"make FLAVOUR=kamailio cfg prefix=/usr cfg_prefix=$RPM_BUILD_ROOT basedir=$RPM_BUILD_ROOT cfg_target=/%{_sysconfdir}/kamailio/ modules_dirs="modules modules_k" include_modules="db_mysql test"
2.让rpm包打包新增的库so
vi kamailio.spec.CenOS找到这一段:%dir %{_libdir}/kamailio 从此开始下面都是库文件,在最后面加入以下行:/usr/lib64/kamailio/test.so
3.解决依赖问题,一个简单+暴力的方法就是直接把这种依赖去掉。安装的时候就不会提示依赖问题,但是还得提前把依赖的那些库装好了程序才能运行。
vi kamailio.spec.CenOS找到Conflicts开头的行,然后新增一行加入以下内容AutoReq: no
参考文档:
http://wiki.centos.org/AdditionalResources/Repositories/RPMForge
http://kb.asipto.com/kamailio:install:3.1.x-rpms-centos5x
kamailio/opensips 技术交流QQ群:118791050
- kamailio/openser/opensips 生成RPM包/RPM打包
- 如何学习opensips/kamailio/openser
- 生成rpm包
- kamailio/opensips/openser 日志分割/logrotate 日志配置
- rpm打包
- rpm打包
- rpm打包
- RPM打包
- 打包编译Erlang程序为RPM包
- nginx源码打包成rpm包记录
- rpm包
- rpm包
- RPM 包
- 实例说明:源码包生成RPM格式
- 实例说明:源码包生成RPM格式
- 修改、重新生成和安装RPM包
- 如何将源码编译生成RPM包
- 编译libfastjson-0.99.3生成rpm包
- 存储过程实现组合查询
- 网络扫描技术揭秘读书笔记3-TCP/UDP端口扫描器设计原理
- mingw的安装
- opencv学习_8 ( 图像细化)
- 海量数据库设计思想
- kamailio/openser/opensips 生成RPM包/RPM打包
- 线性感知机和SVM(初探)
- 解决mysql“Access denied for user 'root'@'localhost'”
- 角色权限管理系统(登录模块)
- malloc和calloc的区别
- PHP 站点根目录的获取
- Connection is read-only. Queries leading to data modification are not allowed
- 黑魔法师之门(Poetize系列)(并查集)
- LightOJ 1005 Rooks (排列数 组合数)