diff --git a/debian b/debian deleted file mode 120000 index 6b418cd1c..000000000 --- a/debian +++ /dev/null @@ -1 +0,0 @@ -pkg/kamailio/deb/squeeze \ No newline at end of file diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..bc84c4288 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,340 @@ +kamailio (3.3+ngcp2.7.2) unstable; urgency=low + + [ Richard Fuchs ] + * Introduce sipping_disable_bflag option + + -- Andrew Pogrebennyk Thu, 07 Feb 2013 12:56:41 +0100 + +kamailio (3.3+ngcp2.7.1) unstable; urgency=low + + * Fix possible segfault in pv module + * Create nathelper option to always use contact address + + -- Richard Fuchs Wed, 09 Jan 2013 12:40:43 -0500 + +kamailio (3.3+ngcp2.7.0) unstable; urgency=low + + * Implement lcr cost-based routing as new lcr_rate module + * move send() and send_tcp() from core to corex module. EXPERIMENTAL! + * backporting corex module from kamailio trunk including all changes to append_branch() + * Fix hunting for Auth header in rare cases in digest parser. + + -- Andrew Pogrebennyk Fri, 21 Dec 2012 10:59:56 +0100 + +kamailio (3.3+ngcp2.6.12) unstable; urgency=low + + * Don't stop after first Authorization header if all message is already parsed in find_credentials. + + -- Andrew Pogrebennyk Sun, 16 Dec 2012 18:21:47 +0100 + +kamailio (3.3+ngcp2.6.10) unstable; urgency=low + + * Fix bag tagging. + + -- Andrew Pogrebennyk Mon, 26 Nov 2012 12:38:23 +0100 + +kamailio (3.3+ngcp2.6.9) unstable; urgency=low + + [ Jon Bonilla ] + * Merge with upstream 3.3.2 + + [ Richard Fuchs ] + * Fix a mem leak in siputils module + + -- Jon Bonilla Thu, 08 Nov 2012 17:42:19 +0100 + +kamailio (3.3+ngcp2.6.8) unstable; urgency=low + + * merge [f5997ba] b/f: In case of IPv6 Option in the RTP-Command, the pointers and the length need to be updated. + * attempt to work around the modules/ctl message chunk limitation + + -- Richard Fuchs Thu, 20 Sep 2012 11:30:41 -0400 + +kamailio (3.3+ngcp2.6.7) unstable; urgency=low + + * Fix segfault caused by invalid SDP bodies + + -- Richard Fuchs Tue, 04 Sep 2012 17:14:56 -0400 + +kamailio (3.3+ngcp2.6.6) unstable; urgency=low + + [ Richard Fuchs ] + * Fix a= lines inserted out of order + + -- Andrew Pogrebennyk Wed, 29 Aug 2012 22:51:01 +0200 + +kamailio (3.3+ngcp2.6.5) unstable; urgency=low + + [ Michael Prokop ] + * kamailio.postinst: postinst: do not exit if update-rc.d does not work + + [ jbonilla ] + * kamailio.postinst: Remove debhelper mark fomr postinst script + * rules: disable dh_installdebconf + + -- Jon Bonilla Wed, 29 Aug 2012 10:30:35 +0200 + +kamailio (3.3+ngcp2.6.4) unstable; urgency=low + + * Conflict with ngcp-system-tools-* packages. + * Depend on mysql for correct insserv. + + -- Andrew Pogrebennyk Tue, 28 Aug 2012 10:42:53 +0200 + +kamailio (3.3+ngcp2.6.3) unstable; urgency=low + + * Fix init script and default file handling + + -- Jon Bonilla Mon, 27 Aug 2012 13:15:04 +0200 + +kamailio (3.3+ngcp2.6.2) unstable; urgency=low + + * Fix bad tagging + + -- Jon Bonilla Thu, 23 Aug 2012 21:51:43 +0200 + +kamailio (3.3+ngcp2.6.1) unstable; urgency=low + + [ Michael Prokop ] + * Provide postrm script + * Provide postinst script, taking care of services restarts in HA mode + + [ jbonilla ] + * re-add init stuff + + -- Jon Bonilla Thu, 23 Aug 2012 17:23:00 +0200 + +kamailio (3.3+ngcp2.6.0) unstable; urgency=low + + [ rfuchs ] + * Makefile,pcem_logic.c,pcem_logic.h,pcem_mod.c,pcem_mod.h: fix duplicated content in files screwup + * lcr_mod.c,regex_mod.c: PCRE_INFO_SIZE requires a size_t argument + + [ Michael Prokop ] + * wrap and sort items in Debian packaging files + + [ mwang ] + * subscribe.c: modules_k/rls: Fixed memory leak in rls + * resource_notify.c: modules_k/rls: Added DB transaction code around rls_presentity insert/replace + * send_subscribe.c: modules_k/pua: Fixed double-free in pua + * subscribe.c: modules_k/rls: Fixed memory leak in rls under some error conditions + * rls.c: modules_k/rls: Fixed incorrect table version check + + [ jbonilla ] + * Updated to upstream 3.3.1 + * Apply 9211_accounting_time_precision.patch + * Apply 9231_dialplan_regexp_subst.patch + * Apply 9233_unforce_rtp_proxy_one_param.patch + * Apply 9239_forward_port_usrloc.patch + * Apply 9441_add_pcem_module.patch + * Apply 9535_no_default_config.patch + * Create folder of patches to track Sipwise changes + * notify.c: Merge 25c6efc8d245c339c77748f93c222188769a7be8 + * loose.c: Upstream 8db3e9c29b2cf1ff5c6f93411d3e9a90f7eb82ef + * Add kamailio-dbg package to packaging + + -- Jon Bonilla Tue, 07 Aug 2012 20:23:56 +0200 + +kamailio (3.3.0+ngcp0) unstable; urgency=low + + * update to 3.3.0 from upstream + + -- Andrew Pogrebennyk Fri, 22 Jun 2012 17:42:30 +0200 + +kamailio (3.1.5+sipwise8) unstable; urgency=low + + [ agranig ] + * path.c: Use single-quotes instead of double-quotes in received-param. + * parse_param.c: Also parse single-quoted params correctly. + + -- Andrew Pogrebennyk Mon, 04 Jun 2012 18:16:56 +0200 + +kamailio (3.1.5+sipwise7) unstable; urgency=low + + [rfuchs] + * Fix logic mistakes in unforce_rtp_proxy1_f. + + -- Andrew Pogrebennyk Wed, 25 Apr 2012 17:53:51 +0200 + +kamailio (3.1.5+sipwise6) unstable; urgency=low + + * Fix 'wday' period matching in tmrec module + + -- Richard Fuchs Mon, 16 Apr 2012 10:22:28 -0400 + +kamailio (3.1.5+sipwise5) unstable; urgency=low + + [ agranig ] + * rtpproxy.c,rtpproxy_funcs.c: Also parse via1 branch. + * rtpproxy.c,rtpproxy_funcs.h: Add unforce_rtp_proxy("param") function. + * rtpproxy.c: Copy viabranch to iovec for sending it out. + * rtpproxy.c: More debug for rtpp. + * rtpproxy.c,rtpproxy_funcs.c,rtpproxy_funcs.h: Differentiate between 'v' (via1) and 'V' (via2) handling. + * rtpproxy.c: Fix position of viabranch. + * rtpproxy.c: Remove log message printing via. + * rtpproxy_funcs.c: Double-check parsed via header. + * rtpproxy.c,rtpproxy_funcs.c,rtpproxy_funcs.h: Cleanup getting via branch. + * ul_mi.c: Use Path as 6th param in ul_add. + * kamctl,kamctl.8,kamctl.ctlbase: Add path handling to kamctl. + * ul_mi.c,kamctl: Make path 0 if not used, otherwise mi parser bails out if empty. + * ul_mi.c: Better path detection. + * ul_mi.c: Fix syntax error. + * rtpproxy_admin.xml,rtpproxy.c: Change v/V flags to 1/2 and add doc. + + + [ apogrebennyk ] + * redis_client.c: while we are at it allow ndb_redis to reconnect + * Makefile: enable system malloc instead of pkg_malloc for fifo commands. + + -- Andrew Pogrebennyk Mon, 05 Mar 2012 17:15:57 +0100 + +kamailio (3.1.5+sipwise4) unstable; urgency=low + + * lcr: the lcr module shall support ipv6 + * lcr_mod.c: more required changes for ipv6 support + * lcr_mod.c: add [] around ipv6 addresses in sip uris + * lcr_mod.h: add a missing required .h include + * lcr_mod.c: support ipv6 addresses in [] notation as well + * lcr_mod.c: remove some ipv6 stuff if source isnt being built with ipv6 support + * lcr_mod.c: adjust sanity checks for longer ip addresses + * tmrec: Backport new tmrec module from trunk. + * tmrec: Add a port of Time::Period + * tmrec: Use different return values for different cases + * Makefile: Include tmrec module in builds. + + -- Andrew Pogrebennyk Thu, 26 Jan 2012 14:26:57 +0100 + +kamailio (3.1.5+sipwise3) unstable; urgency=low + + * Bump version for bad tagging fix + + -- Andrew Pogrebennyk Fri, 02 Dec 2011 14:16:48 +0100 + +kamailio (3.1.5+sipwise2) unstable; urgency=low + + * enable milliseconds precision for accounting (kamailio part) + * fix the usage of avps with string names in dialplan replacement (backport from 3.2.0; bug 453) + * db_text(k): init new db text table structure to 0 + * Do not consider late requests for dialogs in "deleted" + * fix ndb_redis connect arguments parsing + * Update init file lsb headers + + -- Andrew Pogrebennyk Fri, 02 Dec 2011 14:16:48 +0100 + +kamailio (3.1.5+sipwise1) unstable; urgency=low + + * Merge with kamailio 3.1.5 + + -- Jon Bonilla Tue, 27 Sep 2011 15:31:35 +0200 + +kamailio (3.1.3+sipwise7) unstable; urgency=low + + * Fix redis module package creation + + -- Jon Bonilla Mon, 26 Sep 2011 15:31:35 +0200 + +kamailio (3.1.3+sipwise6) unstable; urgency=low + + * Increase PKG_MEM_SIZE to 16 and MAX_BRANCHES to 24. + + -- Andreas Granig Tue, 20 Sep 2011 15:31:35 +0200 + +kamailio (3.1.3+sipwise5) unstable; urgency=low + + * Cherry-picked 9dbf735878acc87bab1a0740476f1d106f89412f from + upstream: core: allow forcing send socket for replies + + -- Andreas Granig Tue, 20 Sep 2011 13:25:00 +0200 + +kamailio (3.1.3+sipwise4) unstable; urgency=low + + * Cherry-picked b4fae8b9eee6d893aa2591bcc9039ea53a142161 from + upstream: rr(k): execute callbacks only for local route uri + + -- Andreas Granig Wed, 14 Sep 2011 11:40:57 +0200 + +kamailio (3.1.3+sipwise3) unstable; urgency=low + + * Backported ndb_redis module from 3.2 tree. + + -- Andreas Granig Fri, 22 Jul 2011 11:28:32 +0200 + +kamailio (3.1.3+sipwise2) unstable; urgency=low + + * Cherry-picked 16183d4553aca270da1284255f3f6862132a3aeb from + upstream to fix registrar handling with pjsip-based clients. + + -- Andreas Granig Wed, 08 Jun 2011 17:53:10 +0200 + +kamailio (3.1.3+sipwise1) unstable; urgency=low + + * Rebuild from upstream. + * Change PKG mem pool size to 8M. + * Suppress debug message regarding "broken replies" to natping requests. + + -- Andreas Granig Wed, 20 Apr 2011 16:15:29 +0200 + +kamailio (3.1.1) unstable; urgency=low + + * update to 3.1.1 from upstream + + -- Jon Bonilla Fri, 3 Dec 2010 16:30:00 +0100 + +kamailio (3.1.0) unstable; urgency=low + + * update to 3.1.0 from upstream + + -- Jon Bonilla Wed, 6 Oct 2010 17:24:00 +0100 + +kamailio (3.0.2.99) unstable; urgency=low + + * update to 3.0.2.99 for development version builds + + -- Jon Bonilla Fri, 28 May 2010 22:26:00 +0100 + +kamailio (3.0.2) unstable; urgency=low + + * update to 3.0.2 from upstream + + -- Daniel-Constantin Mierla Thu, 27 May 2010 10:27:36 +0100 + +kamailio (3.0.1) unstable; urgency=low + + * update to 3.0.1 from upstream + + -- Daniel-Constantin Mierla Mon, 08 Mar 2010 20:30:48 +0100 + +kamailio (3.0.0) unstable; urgency=low + + * update to 3.0.0 from upstream + + -- Daniel-Constantin Mierla Mon, 11 Jan 2010 18:30:42 +0100 + +kamailio (3.0.0-rc3) unstable; urgency=low + + * update to 3.0.0-rc3 from upstream + * updated debian/rules to work with the SIP Router style module packaging + + -- Daniel-Constantin Mierla Fri, 10 Dec 2009 12:10:02 +0100 + +kamailio (3.0.0-rc2) unstable; urgency=low + + * update to 3.0.0-rc2 from upstream + * updated debian/rules to work with the new style module packaging + + -- Jonas Bergler Wed, 18 Nov 2009 12:30:02 +1300 + +kamailio (1.5.0-svn1) unstable; urgency=low + + * increment debian packaging for trunk + + -- Henning Westerholt Mon, 02 Mar 2009 17:40:02 +0100 + +kamailio (1.4.0-svn1) unstable; urgency=low + + [ Klaus Darilion ] + * first release of Kamailio (after renaming from Openser) + + -- Julien BLACHE Wed, 12 Dec 2007 17:25:31 +0100 + + diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..7ed6ff82d --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..79071f8ef --- /dev/null +++ b/debian/control @@ -0,0 +1,399 @@ +Source: kamailio +Section: net +Priority: optional +Maintainer: Jon Bonilla +Build-Depends: bison, + debhelper (>= 5), + docbook-xml, + dpatch, + dpkg-dev (>= 1.13.19), + flex, + libconfuse-dev, + libcurl3-openssl-dev, + libdb-dev (>= 4.6.19), + libevent-dev, + libexpat1-dev, + libgeoip-dev (>= 1.4.5), + libjson0-dev, + libldap2-dev, + liblua5.1-0-dev, + libmemcache-dev, + libmysqlclient-dev, + libncurses5-dev, + libpcre3-dev, + libperl-dev, + libpq-dev, + libradiusclient-ng-dev, + libreadline-dev, + libsasl2-dev, + libsnmp-dev, + libsqlite3-dev, + libssl-dev, + libxml2-dev, + libxmlrpc-c3-dev, + ngcp-libswrate-dev (>= 1.0.8+0~1354556403.svn11955.90), + python, + python-dev, + unixodbc-dev, + xsltproc, + zlib1g-dev +Standards-Version: 3.8.0 +Homepage: http://www.kamailio.org/ + +Package: kamailio +Architecture: any +Depends: adduser, python, ${misc:Depends}, ${shlibs:Depends} +Conflicts: kamailio-regex-modules, + ngcp-system-tools-ce (<< 0.6.0), + ngcp-system-tools-pro (<< 0.6.0) +Suggests: kamailio-berkeley-modules, + kamailio-carrierroute-modules, + kamailio-cpl-modules, + kamailio-dbg, + kamailio-ldap-modules, + kamailio-lua-modules, + kamailio-mysql-modules, + kamailio-perl-modules, + kamailio-postgres-modules, + kamailio-presence-modules, + kamailio-python-modules, + kamailio-radius-modules, + kamailio-snmpstats-modules, + kamailio-tls-modules, + kamailio-unixodbc-modules, + kamailio-xml-modules, + kamailio-xmpp-modules +Description: very fast and configurable SIP proxy + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + C Shell-like scripting language provides full control over the server's + behaviour. Its modular architecture allows only required functionality to be + loaded. + . + Among others, the following modules are available: Digest Authentication, CPL + scripts, Instant Messaging, MySQL support, Presence Agent, Radius + Authentication, Record Routing, SMS Gateway, Jabber/XMPP Gateway, Transaction + Module, Registrar and User Location, XMLRPC Interface. + . + This package contains the main Kamailio binary along with the principal modules + and support binaries. + + +Package: kamailio-dbg +Architecture: any +Depends: ${shlibs:Depends}, kamailio (= ${binary:Version}) +Description: Debugging symbols for Kamailio SIP proxy + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides gdb debugging symbols for Kamailio + + +Package: kamailio-mysql-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), mysql-client, ${shlibs:Depends} +Replaces: kamailio-mysql-module +Description: MySQL database connectivity module for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the MySQL database driver for Kamailio. + +Package: kamailio-postgres-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), postgresql-client, ${shlibs:Depends} +Replaces: kamailio-postgres-module +Description: PostgreSQL database connectivity module for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the PostgreSQL database driver for Kamailio. + +Package: kamailio-cpl-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-cpl-module +Description: CPL module (CPL interpreter engine) for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides a CPL (Call Processing Language) interpreter for + Kamailio, turning Kamailio into a CPL server (storage and interpreter). + +Package: kamailio-radius-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Description: radius modules for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides a set of Radius modules for Kamailio, for + authentication, peering, group membership and messages URIs checking + against a Radius Server and for sending PacketCable Event Messages. + +Package: kamailio-unixodbc-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-unixodbc-module +Description: unixODBC database connectivity module for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the unixODBC database driver for Kamailio. + +Package: kamailio-presence-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Description: SIMPLE presence modules for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides several Kamailio modules for implementing presence + server and presence user agent for RICH presence, registrar-based presence, + external triggered presence and XCAP support. + +Package: kamailio-xml-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-xml-module, kamailio-xmlrpc-module +Provides: kamailio-xmlrpc-modules +Description: XML based extensions for Kamailio's Management Interface + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides: + - the XMLRPC transport implementations for Kamailio's + Management and Control Interface. + - xmlops module for XPath operations in configuration file + +Package: kamailio-xmlrpc-modules +Architecture: any +Depends: kamailio-xml-modules (= ${binary:Version}) +Description: Transitional package for kamailio-xml-modules + Dummy package for transition handling + +Package: kamailio-perl-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-perl-module +Conflicts: kamailio-perl-module +Description: Perl extensions and database driver for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides an interface for Kamailio to write Perl extensions and + the perlvdb database driver for Kamailio. + +Package: kamailio-snmpstats-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), snmpd, ${shlibs:Depends} +Replaces: kamailio-snmpstats-module +Description: SNMP AgentX subagent module for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the snmpstats module for Kamailio. This module acts + as an AgentX subagent which connects to a master agent. + +Package: kamailio-xmpp-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-xmpp-module +Description: XMPP gateway module for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the SIP to XMPP IM translator module for Kamailio. + +Package: kamailio-carrierroute-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-carrierroute-module +Description: Carrierroute module for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the carrierroute module for Kamailio, an integrated + solution for routing, balancing and blacklisting. + +Package: kamailio-berkeley-modules +Architecture: any +Depends: db4.6-util, kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-berkeley-module +Description: Berkeley Database module for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the berkeley database module for Kamailio, a + high-performance embedded DB kernel. All database tables are stored + in files, no additional server is necessary. + +Package: kamailio-ldap-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Description: LDAP modules for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the ldap and h350 modules for Kamailio, enabling LDAP + queries from the Kamailio config and storage of SIP account data in an LDAP + directory. + +Package: kamailio-utils-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-utils-module +Description: Provides a set utility functions for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + Provides a set of utility functions for Kamailio, which are not related + to the server configuration. + +#Package: kamailio-purple-modules +#Architecture: any +#Depends: ${shlibs:Depends}, kamailio (= ${binary:Version}) +#Replaces: kamailio-purple-module +#Description: Provides the purple module, a multi-protocol IM gateway +# Kamailio is a very fast and flexible SIP (RFC3261) +# proxy server. Written entirely in C, Kamailio can handle thousands calls +# per second even on low-budget hardware. +# . +# This package provides the purple module, a multi-protocol instant +# messaging gateway module. + +Package: kamailio-memcached-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), ${shlibs:Depends} +Replaces: kamailio-memcached-module +Description: Provides the memcached module, an interface to the memcached server + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the memcached module, an interface to the memcached + server, a high-performance, distributed memory object caching system. + +Package: kamailio-tls-modules +Architecture: any +Depends: kamailio (= ${Source-Version}), ${shlibs:Depends} +Description: contains the TLS kamailio transport module + This has been split out of the main kamailio package, so that kamailio will not + depend on openssl. This module will enable you to use the TLS transport. + +Package: kamailio-lua-modules +Architecture: any +Depends: kamailio (= ${Source-Version}), ${shlibs:Depends} +Description: contains the app_lua module + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the app_lua module, an extension allowing to + execute embedded Lua applications within configuration file. + +#Package: kamailio-mono-modules +#Architecture: any +#Depends: ${shlibs:Depends}, kamailio (= ${Source-Version}) +#Description: contains the app_mono module +# Kamailio is a very fast and flexible SIP (RFC3261) +# proxy server. Written entirely in C, Kamailio can handle thousands calls +# per second even on low-budget hardware. +# . +# This package provides the app_mono module, an extension allowing to +# execute embedded Mono applications within configuration file. + +Package: kamailio-python-modules +Architecture: any +Depends: kamailio (= ${Source-Version}), ${shlibs:Depends} +Description: contains the app_python module + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the app_python module, an extension allowing to + execute embedded Python applications within configuration file. + +Package: kamailio-geoip-modules +Architecture: any +Depends: kamailio (= ${Source-Version}), ${shlibs:Depends} +Description: contains the geoip module + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the geoip module, an extension allowing to + use GeoIP API within configuration file. + +#Package: kamailio-redis-modules +#Architecture: any +#Depends: ${shlibs:Depends}, kamailio (= ${binary:Version}), libhiredis0.10 +#Description: Redis database connectivity module for Kamailio +# Kamailio is a very fast and flexible SIP (RFC3261) +# proxy server. Written entirely in C, Kamailio can handle thousands calls +# per second even on low-budget hardware. +# . +# This package provides the Redis NOSQL database driver for Kamailio. + +Package: kamailio-sqlite-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), libsqlite3-0, ${shlibs:Depends} +Description: SQLite database connectivity module for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides the SQLite database driver for Kamailio. + +Package: kamailio-json-modules +Architecture: any +Depends: kamailio (= ${binary:Version}), + libevent-1.4-2, + libjson0, + ${shlibs:Depends} +Description: Json parser and jsonrpc modules for Kamailio + Kamailio is a very fast and flexible SIP (RFC3261) + proxy server. Written entirely in C, Kamailio can handle thousands calls + per second even on low-budget hardware. + . + This package provides json parser for Kamailio's configuration file + and the JSON-RPC client over netstrings. + +Package: kamailio-nth +Architecture: any +Depends: binutils, + bison, + bvi, + flex, + gcc, + gdb, + iftop, + lsof, + mc, + most, + ngrep, + psmisc, + screen, + sipsak, + tcpdump, + vim +Description: Kamailio - package for "nice to have" installation + This is a meta-package for easy installation various useful tools that may be + handy on server with Kamailio installed. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..801eac4b0 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,27 @@ +This package was debianized by Andrei Pelinescu-Onciul + on Tue, 16 Jul 2002 15:41:31 +0200. +This package was debianized by Julien BLACHE +on Thu, 29 Jun 2006 09:55:24 +0200, based on Andrei's work. + +It was downloaded from: http://kamailio.org + +Upstream Authors: + Andrei Pelinescu-Onciul + Bogdan-Andrei Iancu + Daniel-Constantin Mierla + Jan Janak + Jiri Kuthan + Juha Heinanen + Ramona-Elena Modroiu + Maxim Sobolev + Miklos Tirpak + Nils Ohlmeier + and others ; see the AUTHORS file in the source code tree for details + +This software is copyright (c) 2002-2003 by FhG Fokus + +You are free to distribute this software under the terms of +the GNU General Public License. + +On Debian systems, the complete text of the GNU General Public +License can be found in the file `/usr/share/common-licenses/GPL. diff --git a/debian/kamailio-lb.default b/debian/kamailio-lb.default new file mode 100644 index 000000000..89508675f --- /dev/null +++ b/debian/kamailio-lb.default @@ -0,0 +1,4 @@ +# do not use upstream script, we have our own +# /etc/default/kamailio.* configuration, generated +# via /etc/ngcp-config/templates/etc/default/kamailio.* +RUN_KAMAILIO=no diff --git a/debian/kamailio-lb.init b/debian/kamailio-lb.init new file mode 100755 index 000000000..901b58a1c --- /dev/null +++ b/debian/kamailio-lb.init @@ -0,0 +1,235 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: kamailio-lb +# Required-Start: $syslog $network $local_fs $time $remote_fs +# Required-Stop: $syslog $network $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start the Kamailio SIP proxy server +# Description: Start the Kamailio SIP proxy server +### END INIT INFO + +TYPE=lb +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/kamailio +NAME=kamailio +DESC=kamailio-$TYPE +HOMEDIR=/var/run/kamailio +PIDFILE=$HOMEDIR/$NAME.$TYPE.pid +DEFAULTS=/etc/default/kamailio.$TYPE +CFGFILE=/etc/kamailio/$TYPE/kamailio.cfg +RUN_KAMAILIO=no + +# Do not start kamailio if fork=no is set in the config file +# otherwise the boot process will just stop +check_fork () +{ + if grep -q "^[[:space:]]*fork[[:space:]]*=[[:space:]]*no.*" $CFGFILE; then + echo "Not starting $DESC: fork=no specified in config file; run /etc/init.d/kamailio debug instead" + exit 1 + fi +} + +check_kamailio_config () +{ + # Check if kamailio configuration is valid before starting the server + set +e + out=$($DAEMON $OPTIONS -c 2>&1 > /dev/null) + retcode=$? + set -e + if [ "$retcode" != '0' ]; then + echo "Not executing command for $DESC: invalid configuration file!" + echo -e "\n$out\n" + exit 1 + fi +} + +check_homedir () +{ + # Create HOMEDIR directory in case it doesn't exist + if [ ! -d $HOMEDIR ]; then + mkdir $HOMEDIR + fi + + # Set the appropiate owner and group + chown ${USER}:${GROUP} $HOMEDIR +} + + +create_radius_seqfile () +{ + # Create a radius sequence file to be used by the radius client if + # radius accounting is enabled. This is needed to avoid any issue + # with the file not being writable if kamailio first starts as user + # root because DUMP_CORE is enabled and creates this file as user + # root and then later it switches back to user kamailio and cannot + # write to the file. If the file exists before kamailio starts, it + # won't change it's ownership and will be writable for both root + # and kamailio, no matter what options are chosen at install time + RADIUS_SEQ_FILE=$HOMEDIR/kamailio_radius.seq + + if [ ! -f $RADIUS_SEQ_FILE ]; then + touch $RADIUS_SEQ_FILE + fi + + chown ${USER}:${GROUP} $RADIUS_SEQ_FILE + chmod 660 $RADIUS_SEQ_FILE +} + + +if [ ! -f $DAEMON ]; then + echo "No $DESC daemon at $DAEMON." + case "$1" in + status) + # LSB - 4: program or service status is unknown. + exit 4 + ;; + *) + # LSB - 5: program is not installed. + exit 5 + ;; + esac +fi + + +# Load startup options if available +if [ -f $DEFAULTS ]; then + . $DEFAULTS || true +fi + + +if [ "$RUN_KAMAILIO" != "yes" ]; then + echo "$DESC not yet configured. Edit /etc/default/kamailio.$TYPE first." + exit 0 +fi + + +set -e + + +test -z "$SHM_MEMORY" && SHM_MEMORY=64 +test -z "$PKG_MEMORY" && PKG_MEMORY=4 +SHM_MEMORY=$((`echo $SHM_MEMORY | sed -e 's/[^0-9]//g'`)) +PKG_MEMORY=$((`echo $PKG_MEMORY | sed -e 's/[^0-9]//g'`)) +[ $SHM_MEMORY -le 0 ] && SHM_MEMORY=64 +[ $PKG_MEMORY -le 0 ] && PKG_MEMORY=4 +[ -z "$USER" ] && USER=kamailio +[ -z "$GROUP" ] && GROUP=kamailio + + +if test "$DUMP_CORE" = "yes" ; then + # set proper ulimit + ulimit -c unlimited + + # directory for the core dump files + # COREDIR=/home/corefiles + # [ -d $COREDIR ] || mkdir $COREDIR + # chmod 777 $COREDIR + # echo "$COREDIR/core.$TYPE.%e.sig%s.%p" > /proc/sys/kernel/core_pattern +fi + + +if [ "$SSD_SUID" != "yes" ]; then + OPTIONS="-f $CFGFILE -P $PIDFILE -m $SHM_MEMORY -M $PKG_MEMORY -u $USER -g $GROUP" + SSDOPTS="" +else + OPTIONS="-f $CFGFILE -P $PIDFILE -m $SHM_MEMORY -M $PKG_MEMORY" + SSDOPTS="--chuid $USER:$GROUP" +fi + + +start_kamailio_daemon () +{ + start-stop-daemon --start --quiet --pidfile $PIDFILE $SSDOPTS \ + --exec $DAEMON -- $OPTIONS + res=$? + + echo -n "$NAME " + if [ $res -eq 0 ] ; then + echo "started." + exit 0 + else + if [ ! -r "$PIDFILE" ]; then + echo "error, failed to start." + exit 1 + elif read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then + echo "already running." + exit 0 + else + echo "error, failed to start ($PIDFILE exists)." + exit 1 + fi + fi +} + + +case "$1" in + start|debug) + check_kamailio_config + check_homedir + create_radius_seqfile + + if [ "$1" != "debug" ]; then + check_fork + fi + + echo "Starting $DESC using $CFGFILE: " + set +e + start_kamailio_daemon + ;; + + stop) + check_kamailio_config + echo "Stopping $DESC:" + start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + echo -n "$NAME " + if [ $? -eq 0 ] ; then + echo "stopped." + exit 0 + else + echo "failed to stop." + exit 1 + fi + ;; + + restart|force-reload) + check_kamailio_config + check_homedir + create_radius_seqfile + + echo "Restarting $DESC:" + set +e + start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE --retry=5 \ + --exec $DAEMON + if [ $? -ne 0 ] ; then + echo "$NAME failed to stop." + exit 1 + fi + + start_kamailio_daemon + ;; + + status) + echo -n "Status of $DESC: $NAME " + if [ ! -r "$PIDFILE" ]; then + echo "is not running." + exit 3 + fi + if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then + echo "is running." + exit 0 + else + echo "is not running but $PIDFILE exists." + exit 1 + fi + ;; + + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload|debug|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/kamailio-proxy.default b/debian/kamailio-proxy.default new file mode 100644 index 000000000..89508675f --- /dev/null +++ b/debian/kamailio-proxy.default @@ -0,0 +1,4 @@ +# do not use upstream script, we have our own +# /etc/default/kamailio.* configuration, generated +# via /etc/ngcp-config/templates/etc/default/kamailio.* +RUN_KAMAILIO=no diff --git a/debian/kamailio-proxy.init b/debian/kamailio-proxy.init new file mode 100755 index 000000000..dce5baa4b --- /dev/null +++ b/debian/kamailio-proxy.init @@ -0,0 +1,235 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: kamailio-proxy +# Required-Start: $syslog $network $local_fs $time mysql $remote_fs +# Required-Stop: $syslog $network $local_fs $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start the Kamailio SIP proxy server +# Description: Start the Kamailio SIP proxy server +### END INIT INFO + +TYPE=proxy +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/kamailio +NAME=kamailio +DESC=kamailio-$TYPE +HOMEDIR=/var/run/kamailio +PIDFILE=$HOMEDIR/$NAME.$TYPE.pid +DEFAULTS=/etc/default/kamailio.$TYPE +CFGFILE=/etc/kamailio/$TYPE/kamailio.cfg +RUN_KAMAILIO=no + +# Do not start kamailio if fork=no is set in the config file +# otherwise the boot process will just stop +check_fork () +{ + if grep -q "^[[:space:]]*fork[[:space:]]*=[[:space:]]*no.*" $CFGFILE; then + echo "Not starting $DESC: fork=no specified in config file; run /etc/init.d/kamailio debug instead" + exit 1 + fi +} + +check_kamailio_config () +{ + # Check if kamailio configuration is valid before starting the server + set +e + out=$($DAEMON $OPTIONS -c 2>&1 > /dev/null) + retcode=$? + set -e + if [ "$retcode" != '0' ]; then + echo "Not executing command for $DESC: invalid configuration file!" + echo -e "\n$out\n" + exit 1 + fi +} + +check_homedir () +{ + # Create HOMEDIR directory in case it doesn't exist + if [ ! -d $HOMEDIR ]; then + mkdir $HOMEDIR + fi + + # Set the appropiate owner and group + chown ${USER}:${GROUP} $HOMEDIR +} + + +create_radius_seqfile () +{ + # Create a radius sequence file to be used by the radius client if + # radius accounting is enabled. This is needed to avoid any issue + # with the file not being writable if kamailio first starts as user + # root because DUMP_CORE is enabled and creates this file as user + # root and then later it switches back to user kamailio and cannot + # write to the file. If the file exists before kamailio starts, it + # won't change it's ownership and will be writable for both root + # and kamailio, no matter what options are chosen at install time + RADIUS_SEQ_FILE=$HOMEDIR/kamailio_radius.seq + + if [ ! -f $RADIUS_SEQ_FILE ]; then + touch $RADIUS_SEQ_FILE + fi + + chown ${USER}:${GROUP} $RADIUS_SEQ_FILE + chmod 660 $RADIUS_SEQ_FILE +} + + +if [ ! -f $DAEMON ]; then + echo "No $DESC daemon at $DAEMON." + case "$1" in + status) + # LSB - 4: program or service status is unknown. + exit 4 + ;; + *) + # LSB - 5: program is not installed. + exit 5 + ;; + esac +fi + + +# Load startup options if available +if [ -f $DEFAULTS ]; then + . $DEFAULTS || true +fi + + +if [ "$RUN_KAMAILIO" != "yes" ]; then + echo "$DESC not yet configured. Edit /etc/default/kamailio.$TYPE first." + exit 0 +fi + + +set -e + + +test -z "$SHM_MEMORY" && SHM_MEMORY=64 +test -z "$PKG_MEMORY" && PKG_MEMORY=4 +SHM_MEMORY=$((`echo $SHM_MEMORY | sed -e 's/[^0-9]//g'`)) +PKG_MEMORY=$((`echo $PKG_MEMORY | sed -e 's/[^0-9]//g'`)) +[ $SHM_MEMORY -le 0 ] && SHM_MEMORY=64 +[ $PKG_MEMORY -le 0 ] && PKG_MEMORY=4 +[ -z "$USER" ] && USER=kamailio +[ -z "$GROUP" ] && GROUP=kamailio + + +if test "$DUMP_CORE" = "yes" ; then + # set proper ulimit + ulimit -c unlimited + + # directory for the core dump files + # COREDIR=/home/corefiles + # [ -d $COREDIR ] || mkdir $COREDIR + # chmod 777 $COREDIR + # echo "$COREDIR/core.$TYPE.%e.sig%s.%p" > /proc/sys/kernel/core_pattern +fi + + +if [ "$SSD_SUID" != "yes" ]; then + OPTIONS="-f $CFGFILE -P $PIDFILE -m $SHM_MEMORY -M $PKG_MEMORY -u $USER -g $GROUP" + SSDOPTS="" +else + OPTIONS="-f $CFGFILE -P $PIDFILE -m $SHM_MEMORY -M $PKG_MEMORY" + SSDOPTS="--chuid $USER:$GROUP" +fi + + +start_kamailio_daemon () +{ + start-stop-daemon --start --quiet --pidfile $PIDFILE $SSDOPTS \ + --exec $DAEMON -- $OPTIONS + res=$? + + echo -n "$NAME " + if [ $res -eq 0 ] ; then + echo "started." + exit 0 + else + if [ ! -r "$PIDFILE" ]; then + echo "error, failed to start." + exit 1 + elif read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then + echo "already running." + exit 0 + else + echo "error, failed to start ($PIDFILE exists)." + exit 1 + fi + fi +} + + +case "$1" in + start|debug) + check_kamailio_config + check_homedir + create_radius_seqfile + + if [ "$1" != "debug" ]; then + check_fork + fi + + echo "Starting $DESC using $CFGFILE: " + set +e + start_kamailio_daemon + ;; + + stop) + check_kamailio_config + echo "Stopping $DESC:" + start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + echo -n "$NAME " + if [ $? -eq 0 ] ; then + echo "stopped." + exit 0 + else + echo "failed to stop." + exit 1 + fi + ;; + + restart|force-reload) + check_kamailio_config + check_homedir + create_radius_seqfile + + echo "Restarting $DESC:" + set +e + start-stop-daemon --oknodo --stop --quiet --pidfile $PIDFILE --retry=5 \ + --exec $DAEMON + if [ $? -ne 0 ] ; then + echo "$NAME failed to stop." + exit 1 + fi + + start_kamailio_daemon + ;; + + status) + echo -n "Status of $DESC: $NAME " + if [ ! -r "$PIDFILE" ]; then + echo "is not running." + exit 3 + fi + if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then + echo "is running." + exit 0 + else + echo "is not running but $PIDFILE exists." + exit 1 + fi + ;; + + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|restart|force-reload|debug|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/debian/kamailio.README.Debian b/debian/kamailio.README.Debian new file mode 100644 index 000000000..4eaf90bf5 --- /dev/null +++ b/debian/kamailio.README.Debian @@ -0,0 +1,38 @@ +Kamailio for Debian +------------------ + +* init script check for fork=no +------------------------------- + +The Kamailio init script will not start Kamailio on boot if fork=no is +specified in the config file. The check in the initscript will match +any occurrence of fork=no in the file, even inside C-style comments. + +You can disable this check in the init script if you wish; just comment +out the calls to the check_fork function in the script. Your changes to +the init script will be preserved upon upgrade, as the file is tagged +as a conffile. + + +* Kamailio setup +--------------- + +To setup Kamailio, you need to: + - configure Kamailio properly to suit your needs + - edit /etc/default/kamailio, adjust the MEMORY parameter and set + RUN_KAMAILIO to "yes" + +If you are building an HA cluster using heartbeat or similar, you'll want +to disable the init script by running: + + update-rc.d kamailio remove + +so that Kamailio will not be launched at system startup. You still need +to set RUN_KAMAILIO to "yes" if you want to use the /etc/init.d/kamailio init +script. + +Set the DUMP_CORE parameter in /etc/default/kamailio to "yes" if you want to +get a core dump in case Kamailio crashes. The debug symbols for Kamailio are +provided by the kamailio-dbg package. + +-- Julien BLACHE , Fri, 08 Sep 2006 14:43:21 +0200 diff --git a/debian/kamailio.dirs b/debian/kamailio.dirs new file mode 100644 index 000000000..e69de29bb diff --git a/debian/kamailio.examples b/debian/kamailio.examples new file mode 100644 index 000000000..c48447a3e --- /dev/null +++ b/debian/kamailio.examples @@ -0,0 +1,2 @@ +examples/* + diff --git a/debian/kamailio.postinst b/debian/kamailio.postinst new file mode 100644 index 000000000..51e6f2b1c --- /dev/null +++ b/debian/kamailio.postinst @@ -0,0 +1,65 @@ +#! /bin/sh +# + +set -e + +HOMEDIR=/var/run/kamailio + +restart_handler() { + [ -n "$1" ] || return 1 + + if [ -x "/etc/init.d/$1" ]; then + if [ -x "$(which invoke-rc.d 2>/dev/null)" ]; then + invoke-rc.d "$1" restart || exit $? + else + /etc/init.d/"$1" restart || exit $? + fi + fi +} + +initscript_handler() { + [ -n "$1" ] || return 1 + + if [ -x "/etc/init.d/$1" ]; then + if ! update-rc.d "$1" defaults >/dev/null ; then + echo "Warning: update-rc.d could not be executed, might be caused by mysql not available yet." + fi + invoke-rc.d "$1" start || exit $? + fi +} + +init_handler() { + # just invoke init script wrappers on ce systems since + # they do not provide ngcp-check_active and we don't + # have to handle inactive nodes + if ! [ -x "$(which ngcp-check_active 2>/dev/null)" ]; then + restart_handler "$1" + initscript_handler "$1" + else # do not restart daemon on inactive node in pro systems + if ngcp-check_active ; then + echo "Active node detected, restarting $1" + restart_handler "$1" + else + echo "Inactive node detected, ignoring request to restart $1" + fi + fi +} + +case "$1" in + configure) + adduser --quiet --system --group --disabled-password \ + --shell /bin/false --gecos "Kamailio" \ + --home "$HOMEDIR" kamailio || true + init_handler kamailio-lb + init_handler kamailio-proxy + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + diff --git a/debian/kamailio.postrm b/debian/kamailio.postrm new file mode 100644 index 000000000..e1d344090 --- /dev/null +++ b/debian/kamailio.postrm @@ -0,0 +1,19 @@ +#!/bin/sh +# postrm script for kamailio + +set -e + +removal_wrapper() { + # remove the init script only on ce systems, as + # the pro system handles it inside the monitoring/HA setup + if ! [ -x "$(which ngcp-check_active 2>/dev/null)" ]; then + update-rc.d kamailio-lb remove >/dev/null + update-rc.d kamailio-proxy remove >/dev/null + fi +} + +if [ "$1" = "purge" ] ; then + removal_wrapper +fi + +exit 0 diff --git a/debian/overrides b/debian/overrides new file mode 100644 index 000000000..4be3a9458 --- /dev/null +++ b/debian/overrides @@ -0,0 +1 @@ +kamailio: postrm-contains-additional-updaterc.d-calls etc/init.d/kamailio-lb diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..9d4ef5d84 --- /dev/null +++ b/debian/rules @@ -0,0 +1,234 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. +# +# $Id$ +# +# History: +# -------- +# 2009-07-08 updated for sip-router (andrei) +# 2009-12-10 updated for kamailio 3.0 (daniel) + + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatibility version to use. +# export DH_COMPAT=4 +# -- already set in compat +# force no striping (always include debug symbols for now) +export DEB_BUILD_OPTIONS:="$(DEB_BUILD_OPTIONS) debug" + +# modules not in the "main" kamailio package +EXCLUDED_MODULES= purple + +# extra modules to skip, because they are not compilable now +# - regardless if they go to the main kamailio package or to some module package, +# they will be excluded from compile and install of all +EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa iptrtpproxy +#EXTRA_EXCLUDED_MODULES= + +# possible module directories that can appear in MODULES_SP +# (only used for deducing a module name) +MDIRS=modules modules_s modules_k + +# modules packaged in separate packages (complete with full modules_* path) +# with the package name: kamailio-$(module_name)-module +MODULES_SP= + +# module groups that are packaged in seperate packages +# (with the name kamailio-$(group_name)-modules) +# Note: the order is important (should be in dependency order, the one +# on which other depend first) +PACKAGE_GROUPS=mysql postgres berkeley unixodbc radius presence \ + ldap xml perl utils geoip memcached tls \ + snmpstats carrierroute xmpp cpl lua python \ + sqlite json + +# name of libdir in the path for libraries (e.g., lib for 32b, lib64 for 64b) +export LIBDIR=lib64 + +# directories with possible duplicate libraries (that should be deleted +# from current module* packages) +DUP_LIBS_DIRS=$(CURDIR)/debian/kamailio/usr/$(LIBDIR)/kamailio \ + $(CURDIR)/debian/kamailio-db-modules/usr/$(LIBDIR)/kamailio + +# modules names out of modules sp +MODULES_SP_NAMES=$(filter-out $(MDIRS),$(subst /, ,$(MODULES_SP))) + +# "function" to get package short name out of a dir/module_name +# it also transforms db_foo into foo +mod_name=$(subst db_,,$(lastword $(subst /, ,$(1)))) + +define PACKAGE_GRP_BUILD_template + # package all the modules in PACKAGE_GROUPS in separate packages + $(foreach grp,$(PACKAGE_GROUPS),\ + $(MAKE) -j`nproc` every-module group_include="k$(grp)" + ) +endef + + +define PACKAGE_MODULE_BUILD_template + # package all the modules MODULES_SP in separate packages + $(foreach mod,$(MODULES_SP),\ + $(MAKE) -j`nproc` modules modules="$(mod)" + ) +endef + + +define PACKAGE_GRP_INSTALL_template + $(foreach grp,$(PACKAGE_GROUPS),\ + $(MAKE) install-modules-all group_include="k$(grp)" \ + basedir=$(CURDIR)/debian/kamailio-$(grp)-modules \ + cfg_prefix=$(CURDIR)/debian/kamailio-$(grp)-modules \ + doc-dir=share/doc/kamailio-$(grp)-modules + # eliminate duplicate libs + -for d in $(DUP_LIBS_DIRS); do \ + test "$$d" != "$(CURDIR)/debian/kamailio-$(grp)-modules/usr/$(LIBDIR)/kamailio" &&\ + for r in $$d/lib*; do \ + echo "removing $(grp) lib `basename $$r` present also in $$d";\ + rm -f $(CURDIR)/debian/kamailio-$(grp)-modules/usr/$(LIBDIR)/kamailio/`basename "$$r"` ; \ + done ; \ + done + ) +endef + + +define PACKAGE_MODULE_INSTALL_template + $(foreach mod,$(MODULES_SP), + $(MAKE) install-modules-all modules="$(mod)" \ + modules_s="" modules_k="" \ + basedir=$(CURDIR)/debian/kamailio-$(call mod_name,$(mod))-module \ + doc-dir=share/doc/kamailio-$(call mod_name,$(mod))-module + # eliminate duplicate libs + -for d in $(DUP_LIBS_DIRS); do \ + test "$$d" != "$(CURDIR)/debian/kamailio-$(call mod_name,$(mod))-module/usr/$(LIBDIR)/kamailio" &&\ + for r in $$d/lib*; do \ + echo "removing $(call mod_name, $(mod)) lib `basename $$r` present also in $$d";\ + rm -f $(CURDIR)/debian/kamailio-$(call mod_name,$(mod))-module/usr/$(LIBDIR)/kamailio/`basename "$$r"` ; \ + done ; \ + done + ) +endef + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) + CFLAGS += -g +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +CFLAGS+=$(shell dpkg-buildflags --get CFLAGS) +LDFLAGS+=$(shell dpkg-buildflags --get LDFLAGS) + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + $(MAKE) FLAVOUR=kamailio cfg prefix=/usr cfg_prefix=$(CURDIR)/debian/kamailio \ + cfg_target=/etc/kamailio/ \ + basedir=$(CURDIR)/debian/kamailio \ + skip_modules="$(EXCLUDED_MODULES) $(EXTRA_EXCLUDED_MODULES)" \ + group_include="kstandard" + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + # Add here commands to compile the package. + $(MAKE) -j`nproc` all + # make groups + $(call PACKAGE_GRP_BUILD_template) + # make single-module packages + $(call PACKAGE_MODULE_BUILD_template) + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + # Add here commands to clean up after the build process. + -$(MAKE) maintainer-clean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + # Add here commands to install the package into debian/kamailio + $(MAKE) install group_include="kstandard" + # fix etc/kamailio dir location -- not needed -- andrei + # mv -f $(CURDIR)/debian/kamailio/usr/etc $(CURDIR)/debian/kamailio + # make group packages + $(call PACKAGE_GRP_INSTALL_template) + # make single module packages + $(call PACKAGE_MODULE_INSTALL_template) + # install /etc/default/kamailio file -- not needed in ngcp + #mkdir -p $(CURDIR)/debian/kamailio/etc/default + #cp -f debian/kamailio.default $(CURDIR)/debian/kamailio/etc/default/kamailio + #dh_movefiles + + + +# This single target is used to build all the packages, all at once, or +# one at a time. So keep in mind: any options passed to commands here will +# affect _all_ packages. Anything you want to only affect one package +# should be put in another target, such as the install target. +binary-common: + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs + dh_installexamples + dh_installmenu +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime + dh_installinit --name=kamailio-lb + dh_installinit --name=kamailio-proxy + dh_installcron + dh_installman + dh_installinfo +# dh_undocumented + dh_installchangelogs ChangeLog + dh_link + dh_strip --dbg-package=kamailio-dbg + dh_compress + dh_fixperms + dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture-independent packages using the common target +binary-indep: build install +# (Uncomment this next line if you have such packages.) +# $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common +# We have nothing to do by default. + + +# Build architecture-dependent packages using the common target +binary-arch: build install + $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common + mkdir -p $(CURDIR)/debian/kamailio/usr/share/lintian/overrides/ + cp -v debian/overrides $(CURDIR)/debian/kamailio/usr/share/lintian/overrides/kamailio + find $(CURDIR)/debian + +# Any other binary targets build just one binary package at a time. +binary-%: build install + $(MAKE) -f debian/rules binary-common DH_OPTIONS=-p$* + mkdir -p $(CURDIR)/debian/kamailio/usr/share/lintian/overrides/ + cp -v debian/overrides $(CURDIR)/debian/kamailio/usr/share/lintian/overrides/kamailio + find $(CURDIR)/debian + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure + diff --git a/debian/source.lintian-overrides b/debian/source.lintian-overrides new file mode 100644 index 000000000..83adb975c --- /dev/null +++ b/debian/source.lintian-overrides @@ -0,0 +1,2 @@ +# can be removed when/if the code is moved to GnuTLS +kamailio-tls-modules source: possible-gpl-code-linked-with-openssl