Browse Source

pkg/kamailio/fedora/fc16: Updated .spec file to work for both Fedora 16 and CentOS 6

- Also updated release number to pre3
Peter Dunkley 13 years ago
parent
commit
79de354127
1 changed files with 164 additions and 79 deletions
  1. 164 79
      pkg/kamailio/fedora/fc16/kamailio.spec

+ 164 - 79
pkg/kamailio/fedora/fc16/kamailio.spec

@@ -1,6 +1,6 @@
 %define name    kamailio
 %define name    kamailio
 %define ver     3.3.0
 %define ver     3.3.0
-%define rel     pre2.fc16
+%define rel     pre3%{dist}
 %define _sharedir %{_prefix}/share
 %define _sharedir %{_prefix}/share
 
 
 
 
@@ -19,17 +19,18 @@ BuildRoot:     %{_tmppath}/%{name}-%{ver}-buildroot
 Conflicts:     kamailio-mysql < %ver, kamailio-postgresql < %ver
 Conflicts:     kamailio-mysql < %ver, kamailio-postgresql < %ver
 Conflicts:     kamailio-unixODBC < %ver, kamailio-bdb < %ver
 Conflicts:     kamailio-unixODBC < %ver, kamailio-bdb < %ver
 Conflicts:     kamailio-sqlite < %ver, kamailio-utils < %ver
 Conflicts:     kamailio-sqlite < %ver, kamailio-utils < %ver
-Conflicts:     kamailio-cpl < %ver, kamailio-radius < %ver
-Conflicts:     kamailio-snmpstats < %ver, kamailio-presence < %ver
-Conflicts:     kamailio-xmpp < %ver, kamailio-tls < %ver
-Conflicts:     kamailio-carrierroute < %ver, kamailio-purple < %ver
-Conflicts:     kamailio-ldap < %ver, kamailio-xmlrpc < %ver
-Conflicts:     kamailio-perl < %ver, kamailio-lua < %ver
-Conflicts:     kamailio-python < %ver, kamailio-GeoIP < %ver
-Conflicts:     kamailio-regex < %ver, kamailio-dialplan < %ver
-Conflicts:     kamailio-lcr < %ver, kamailio-xmlops < %ver
-Conflicts:     kamailio-redis < %ver, kamailio-json < %ver
-Conflicts:     kamailio-mono < %ver
+Conflicts:     kamailio-cpl < %ver, kamailio-snmpstats < %ver
+Conflicts:     kamailio-presence < %ver, kamailio-xmpp < %ver
+Conflicts:     kamailio-tls < %ver, kamailio-purple < %ver, kamailio-ldap < %ver
+Conflicts:     kamailio-xmlrpc < %ver, kamailio-perl < %ver, kamailio-lua < %ver
+Conflicts:     kamailio-python < %ver, kamailio-regex < %ver
+Conflicts:     kamailio-dialplan < %ver, kamailio-lcr < %ver
+Conflicts:     kamailio-xmlops < %ver
+%if 0%{?fedora}
+Conflicts:     kamailio-radius < %ver, kamailio-carrierroute < %ver
+Conflicts:     kamailio-redis < %ver, kamailio-json < %ver 
+Conflicts:     kamailio-mono < %ver, kamailio-GeoIP < %ver
+%endif
 BuildRequires: bison flex gcc make
 BuildRequires: bison flex gcc make
 
 
 %description
 %description
@@ -115,20 +116,10 @@ BuildRequires: libxml2-devel
 CPL (Call Processing Language) interpreter for Kamailio.
 CPL (Call Processing Language) interpreter for Kamailio.
 
 
 
 
-%package radius
-Summary:       Radius AAA API for Kamailio.
-Group:         System Environment/Daemons
-Requires:      radiusclient-ng, kamailio = %ver
-BuildRequires: radiusclient-ng-devel
-
-%description radius
-Radius AAA API for Kamailio.
-
-
 %package snmpstats
 %package snmpstats
 Summary:       SNMP management interface (scalar statistics) for Kamailio.
 Summary:       SNMP management interface (scalar statistics) for Kamailio.
 Group:         System Environment/Daemons
 Group:         System Environment/Daemons
-Requires:      net-snmp-agent-libs, kamailio = %ver
+Requires:      net-snmp-libs, kamailio = %ver
 BuildRequires: lm_sensors-devel, net-snmp-devel
 BuildRequires: lm_sensors-devel, net-snmp-devel
 
 
 %description snmpstats
 %description snmpstats
@@ -165,26 +156,6 @@ BuildRequires: openssl-devel
 TLS transport for Kamailio.
 TLS transport for Kamailio.
 
 
 
 
-%package carrierroute
-Summary:       Routing, balancing, and blacklisting for Kamailio.
-Group:         System Environment/Daemons
-Requires:      libconfuse, kamailio = %ver
-BuildRequires: libconfuse-devel
-
-%description carrierroute
-Routing, balancing, and blacklisting for Kamailio.
-
-
-%package  purple
-Summary:  Multi-protocol IM and presence gateway module.
-Group:    System Environment/Daemons
-Requires: glib, libpurple, libxml2, kamailio = %ver, kamailio-presence = %ver
-BuildRequires: glib-devel, libpurple-devel, libxml2-devel
-
-%description purple
-Multi-protocol IM and presence gateway module.
-
-
 %package ldap
 %package ldap
 Summary:       LDAP search interface for Kamailio.
 Summary:       LDAP search interface for Kamailio.
 Group:         System Environment/Daemons
 Group:         System Environment/Daemons
@@ -235,16 +206,6 @@ BuildRequires: python-devel
 Python extensions for Kamailio.
 Python extensions for Kamailio.
 
 
 
 
-%package GeoIP
-Summary:       Max Mind GeoIP real-time query support for Kamailio.
-Group:         System Environment/Daemons
-Requires:      GeoIP, kamailio = %ver
-BuildRequires: GeoIP-devel
-
-%description GeoIP
-Max Mind GeoIP real-time query support for Kamailio.
-
-
 %package regex
 %package regex
 Summary:       PCRE mtaching operations for Kamailio.
 Summary:       PCRE mtaching operations for Kamailio.
 Group:         System Environment/Daemons
 Group:         System Environment/Daemons
@@ -285,6 +246,41 @@ BuildRequires: libxml2-devel
 XML operation functions for Kamailio.
 XML operation functions for Kamailio.
 
 
 
 
+%package  purple
+Summary:  Multi-protocol IM and presence gateway module.
+Group:    System Environment/Daemons
+%if 0%{?fedora}
+Requires: glib, libpurple, libxml2, kamailio = %ver, kamailio-presence = %ver
+BuildRequires: glib-devel, libpurple-devel, libxml2-devel
+%else
+Requires: glib2, libpurple, libxml2, kamailio = %ver, kamailio-presence = %ver
+BuildRequires: glib2-devel, libpurple-devel, libxml2-devel
+%endif
+
+%description purple
+Multi-protocol IM and presence gateway module.
+
+%if 0%{?fedora}
+%package radius
+Summary:       Radius AAA API for Kamailio.
+Group:         System Environment/Daemons
+Requires:      radiusclient-ng, kamailio = %ver
+BuildRequires: radiusclient-ng-devel
+
+%description radius
+Radius AAA API for Kamailio.
+
+
+%package carrierroute
+Summary:       Routing, balancing, and blacklisting for Kamailio.
+Group:         System Environment/Daemons
+Requires:      libconfuse, kamailio = %ver
+BuildRequires: libconfuse-devel
+
+%description carrierroute
+Routing, balancing, and blacklisting for Kamailio.
+
+
 %package redis
 %package redis
 Summary:       REDIS NoSQL database connector for Kamailio.
 Summary:       REDIS NoSQL database connector for Kamailio.
 Group:         System Environment/Daemons
 Group:         System Environment/Daemons
@@ -315,6 +311,17 @@ BuildRequires: mono-devel
 Mono extensions for Kamailio.
 Mono extensions for Kamailio.
 
 
 
 
+%package GeoIP
+Summary:       Max Mind GeoIP real-time query support for Kamailio.
+Group:         System Environment/Daemons
+Requires:      GeoIP, kamailio = %ver
+BuildRequires: GeoIP-devel
+
+%description GeoIP
+Max Mind GeoIP real-time query support for Kamailio.
+%endif
+
+
 
 
 %prep
 %prep
 %setup -n %{name}-%{ver}
 %setup -n %{name}-%{ver}
@@ -326,12 +333,21 @@ make FLAVOUR=kamailio cfg prefix=/usr cfg_prefix=$RPM_BUILD_ROOT\
 	basedir=$RPM_BUILD_ROOT cfg_target=/%{_sysconfdir}/kamailio/\
 	basedir=$RPM_BUILD_ROOT cfg_target=/%{_sysconfdir}/kamailio/\
 	modules_dirs="modules modules_k"
 	modules_dirs="modules modules_k"
 make
 make
+%if 0%{?fedora}
 make every-module skip_modules="auth_identity db_cassandra iptrtpproxy\
 make every-module skip_modules="auth_identity db_cassandra iptrtpproxy\
 	db_oracle memcached mi_xmlrpc osp" group_include="kstandard kmysql\
 	db_oracle memcached mi_xmlrpc osp" group_include="kstandard kmysql\
 	kpostgres kunixodbc kldap kperl kpython klua kutils kpurple ktls kxmpp\
 	kpostgres kunixodbc kldap kperl kpython klua kutils kpurple ktls kxmpp\
 	kcpl ksnmpstats kcarrierroute kpresence kradius kgeoip kregex kdialplan\
 	kcpl ksnmpstats kcarrierroute kpresence kradius kgeoip kregex kdialplan\
 	klcr ksqlite kredis kjson kmono kberkeley" include_modules="xmlrpc\
 	klcr ksqlite kredis kjson kmono kberkeley" include_modules="xmlrpc\
 	xmlops"
 	xmlops"
+%else
+make every-module skip_modules="auth_identity db_cassandra iptrtpproxy\
+	db_oracle memcached mi_xmlrpc osp" group_include="kstandard kmysql\
+	kpostgres kunixodbc kldap kperl kpython klua kutils kpurple ktls kxmpp\
+	kcpl ksnmpstats kpresence kregex kdialplan\
+	klcr ksqlite kberkeley" include_modules="xmlrpc\
+	xmlops"
+%endif
 
 
 
 
 
 
@@ -339,6 +355,7 @@ make every-module skip_modules="auth_identity db_cassandra iptrtpproxy\
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
 
 
 make install
 make install
+%if 0%{?fedora}
 make install-modules-all skip_modules="auth_identity db_cassandra iptrtpproxy\
 make install-modules-all skip_modules="auth_identity db_cassandra iptrtpproxy\
 	db_oracle memcached mi_xmlrpc osp" group_include="kstandard kmysql\
 	db_oracle memcached mi_xmlrpc osp" group_include="kstandard kmysql\
 	kpostgres kunixodbc kldap kperl kpython klua kutils kpurple ktls kxmpp\
 	kpostgres kunixodbc kldap kperl kpython klua kutils kpurple ktls kxmpp\
@@ -347,12 +364,28 @@ make install-modules-all skip_modules="auth_identity db_cassandra iptrtpproxy\
 	xmlops"
 	xmlops"
 
 
 mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
 mkdir -p $RPM_BUILD_ROOT/%{_unitdir}
-install -m644 pkg/kamailio/fedora/fc16/kamailio.service \
+install -m644 pkg/kamailio/fedora/fc%{?fedora}/kamailio.service \
 		$RPM_BUILD_ROOT/%{_unitdir}/kamailio.service
 		$RPM_BUILD_ROOT/%{_unitdir}/kamailio.service
 
 
 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig
 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig
-install -m644 pkg/kamailio/fedora/fc16/kamailio.sysconfig \
+install -m644 pkg/kamailio/fedora/fc%{?fedora}/kamailio.sysconfig \
 		$RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/kamailio
 		$RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/kamailio
+%else
+make install-modules-all skip_modules="auth_identity db_cassandra iptrtpproxy\
+	db_oracle memcached mi_xmlrpc osp" group_include="kstandard kmysql\
+	kpostgres kunixodbc kldap kperl kpython klua kutils kpurple ktls kxmpp\
+	kcpl ksnmpstats kpresence kregex kdialplan\
+	klcr ksqlite kberkeley" include_modules="xmlrpc\
+	xmlops"
+
+mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d
+install -m755 pkg/kamailio/centos/%{?centos}/kamailio.init \
+		$RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d/kamailio
+
+mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig
+install -m644 pkg/kamailio/centos/%{?centos}/kamailio.sysconfig \
+		$RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/kamailio
+%endif
 
 
 
 
 
 
@@ -369,14 +402,23 @@ rm -rf "$RPM_BUILD_ROOT"
 
 
 
 
 %post
 %post
+%if 0%{?fedora}
 /bin/systemctl --system daemon-reload
 /bin/systemctl --system daemon-reload
+%else
+/sbin/chkconfig --add kamailio
+%endif
 
 
 
 
 
 
 %preun
 %preun
 if [ $1 = 0 ]; then
 if [ $1 = 0 ]; then
+%if 0%{?fedora}
 	/bin/systemctl stop kamailio.service
 	/bin/systemctl stop kamailio.service
 	/bin/systemctl disable kamailio.service 2> /dev/null
 	/bin/systemctl disable kamailio.service 2> /dev/null
+%else
+	/sbin/service kamailio stop > /dev/null 2>&1
+	/sbin/chkconfig --del kamailio
+%endif
 fi
 fi
 
 
 
 
@@ -479,7 +521,11 @@ fi
 
 
 %dir %{_sysconfdir}/kamailio
 %dir %{_sysconfdir}/kamailio
 %config(noreplace) %{_sysconfdir}/kamailio/*
 %config(noreplace) %{_sysconfdir}/kamailio/*
+%if 0%{?fedora}
 %config %{_unitdir}/*
 %config %{_unitdir}/*
+%else
+%config %{_sysconfdir}/rc.d/init.d/*
+%endif
 %config %{_sysconfdir}/sysconfig/*
 %config %{_sysconfdir}/sysconfig/*
 
 
 %dir %{_libdir}/kamailio
 %dir %{_libdir}/kamailio
@@ -673,18 +719,6 @@ fi
 %{_libdir}/kamailio/modules_k/cpl-c.so
 %{_libdir}/kamailio/modules_k/cpl-c.so
 
 
 
 
-%files radius
-%defattr(-,root,root)
-%{_docdir}/kamailio/modules_k/README.acc_radius
-%{_docdir}/kamailio/modules_k/README.auth_radius
-%{_docdir}/kamailio/modules_k/README.misc_radius
-%{_docdir}/kamailio/modules/README.peering
-%{_libdir}/kamailio/modules_k/acc_radius.so
-%{_libdir}/kamailio/modules_k/auth_radius.so
-%{_libdir}/kamailio/modules_k/misc_radius.so
-%{_libdir}/kamailio/modules/peering.so
-
-
 %files snmpstats
 %files snmpstats
 %defattr(-,root,root)
 %defattr(-,root,root)
 %{_docdir}/kamailio/modules_k/README.snmpstats
 %{_docdir}/kamailio/modules_k/README.snmpstats
@@ -741,12 +775,6 @@ fi
 %{_libdir}/kamailio/modules/tls.so
 %{_libdir}/kamailio/modules/tls.so
 
 
 
 
-%files carrierroute
-%defattr(-,root,root)
-%doc %{_docdir}/kamailio/modules/README.carrierroute
-%{_libdir}/kamailio/modules/carrierroute.so
-
-
 %files purple
 %files purple
 %defattr(-,root,root)
 %defattr(-,root,root)
 %doc %{_docdir}/kamailio/modules_k/README.purple
 %doc %{_docdir}/kamailio/modules_k/README.purple
@@ -807,12 +835,6 @@ fi
 %{_libdir}/kamailio/modules/app_python.so
 %{_libdir}/kamailio/modules/app_python.so
 
 
 
 
-%files GeoIP
-%defattr(-,root,root)
-%doc %{_docdir}/kamailio/modules/README.geoip
-%{_libdir}/kamailio/modules/geoip.so
-
-
 %files regex
 %files regex
 %defattr(-,root,root)
 %defattr(-,root,root)
 %doc %{_docdir}/kamailio/modules_k/README.regex
 %doc %{_docdir}/kamailio/modules_k/README.regex
@@ -837,6 +859,25 @@ fi
 %{_libdir}/kamailio/modules/xmlops.so
 %{_libdir}/kamailio/modules/xmlops.so
 
 
 
 
+%if 0%{?fedora}
+%files radius
+%defattr(-,root,root)
+%{_docdir}/kamailio/modules_k/README.acc_radius
+%{_docdir}/kamailio/modules_k/README.auth_radius
+%{_docdir}/kamailio/modules_k/README.misc_radius
+%{_docdir}/kamailio/modules/README.peering
+%{_libdir}/kamailio/modules_k/acc_radius.so
+%{_libdir}/kamailio/modules_k/auth_radius.so
+%{_libdir}/kamailio/modules_k/misc_radius.so
+%{_libdir}/kamailio/modules/peering.so
+
+
+%files carrierroute
+%defattr(-,root,root)
+%doc %{_docdir}/kamailio/modules/README.carrierroute
+%{_libdir}/kamailio/modules/carrierroute.so
+
+
 %files redis
 %files redis
 %defattr(-,root,root)
 %defattr(-,root,root)
 %doc %{_docdir}/kamailio/modules/README.ndb_redis
 %doc %{_docdir}/kamailio/modules/README.ndb_redis
@@ -857,8 +898,52 @@ fi
 %{_libdir}/kamailio/modules/app_mono.so
 %{_libdir}/kamailio/modules/app_mono.so
 
 
 
 
+%files GeoIP
+%defattr(-,root,root)
+%doc %{_docdir}/kamailio/modules/README.geoip
+%{_libdir}/kamailio/modules/geoip.so
+%endif
+
+
 
 
 %changelog
 %changelog
+* Thu May 31 2012 Peter Dunkley <[email protected]>
+  - Updated rel to pre3
+  - Combined Fedora/CentOS .spec in preparation for Fedora 17
+* Sun May 20 2012 Peter Dunkley <[email protected]>
+  - First version created for Kamailio 3.3.0. Based on spec-file for Fedora
+    created by myself (in turn based on an older spec-file for CentOS created
+    by Ovidiu Sas).
+  - Tested with CentOS 6.2 x86_64.
+  - Builds all Kamailio 3.3.0 modules (modules/modules_k) except:
+    - modules/app_mono: Requires mono which is not in the CentOS 6 repo
+    - modules/auth_identity: Conflicts with TLS unless statically linked (which
+      requires changes to Makefile and is impractical for generic RPM building)
+    - modules/db_cassandra: Requires Cassandra and Thrift which are not in the
+      CentOS 6 repo
+    - modules/geoip: Requires GeoIP which is not in the CentOS 6 repo
+    - modules/iptrtpproxy: Needs local copy of iptables source to build
+      (impractical for generic RPM building)
+    - modules/json: Requires json-c whish is not in the CentOS 6 repo
+    - modules/jsonrpc-c: Requires json-c whish is not in the CentOS 6 repo
+    - modules/ndb_redis: Requires hiredis which is not in the CentOS 6 repo
+    - modules/peering: Requires radiusclient-ng which is not in the CentOS 6
+      repo
+    - modules_k/acc_radius: Requires radiusclient-ng which is not in the CentOS
+      6 repo
+    - modules_k/auth_radius: Required radiusclient-ng which is not in the
+      CentOS 6 repo
+    - modules_k/carrierroute: Requires libconfuse which is not in the CentOS 6
+      repo
+    - modules_k/db_oracle: Requires Oracle which is not in the CentOS 6 repo
+      (and is closed-source)
+    - modules_k/memcached: Module compilation appears to require an older
+      version of libmemcached-devel than the one in the CentOS 6 repo
+    - modules_k/mi_xmlrpc: Requires libxmlrpc-c3 which is not in the CentOS 6
+      repo
+    - modules_k/misc_radius: Requires radiusclient-ng which is not in the
+      CentOS 6 repo
+    - modules_k/osp: Requires OSP Toolkit which is not in the CentOS 6 repo
 * Fri May 18 2012 Peter Dunkley <[email protected]>
 * Fri May 18 2012 Peter Dunkley <[email protected]>
   - Added missing BuildRequires (gcc).
   - Added missing BuildRequires (gcc).
   - Added .fc16 to rel.  This makes it easy to tell which distribution the RPMs
   - Added .fc16 to rel.  This makes it easy to tell which distribution the RPMs