[Devel] EXCLUDED_MODULES not overriding exlude_modules

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Dec 7 11:04:21 CET 2006


Hi Julien,

here is a patch to Debian control and rules for incorporating the new 
modules in OpenSER (the patch is for the devel version):

    1) osp module is excluded from packaging since its dependencies 
cannot be solved by other Debian packages.
    2) xmpp module was added to the openser-jabber-module package
    3) presence pua pua_mi pua_usrloc modules form a a new 
openser-presence-modules package
    4) mi_xmlrpc module form a a new openser-xmlrpc-module package

please take a look if my changes are correct and if ok we should upload 
it on cvs.

Thanks and regards,
Bogdan

Bogdan-Andrei Iancu wrote:

> Hi Juha,
>
> actually the exclude_module from Makefile and  EXCLUDED_MODULES from 
> debian rules are different things.
>
> In Makefile is the list of modules not to be compiled by default and 
> there are modules with external libraries dependencies.
>
> In debian rules is the list of modules that should not go into main 
> package (because of lib dependency or because the module is not ready 
> to be released).
>
>
> but, you are right, the new added modules have to  find their way in 
> the proper debian package (probably new ones) or to be excluded.
>
> I will generate a patch and sent to Julien for overview.
>
> Thanks for report,
> Bogdan
>
>
> Juha Heinanen wrote:
>
>> looks like setting of EXCLUDED_MODULES in debian/rules
>>
>> ALL_MODULES = $(MYSQL_MODULES) $(POSTGRES_MODULES) 
>> $(UNIXODBC_MODULES) $(JABBER_MODULES) $(CPL_MODULES) $(RADIUS_MODULES)
>>
>> # modules not in the "main" package or unstable modules
>> EXCLUDED_MODULES = $(ALL_MODULES) pa
>>
>> does not override what is excluded by default in Makefile:
>>
>> # if not set on the cmd. line or the env, exclude this modules:
>> exclude_modules?=         jabber cpl-c mysql pa postgres osp unixodbc \
>>                         avp_radius auth_radius group_radius 
>> uri_radius xmpp \
>>                         presence pua pua_mi pua_usrloc mi_xmlrpc
>>
>> since xmpp, presence, pua, pua_mi, pua_usrloc, and mi_xmlrpc are not
>> complied and included in the debian package although they are not
>> included in $(ALL_MODULES) above.
>>
>> what is the clean way to get these modules compiled?  it is not pretty,
>> if i need to sed in debian/rules exlude_modules list of Makefile.
>>
>> -- juha
>>
>> _______________________________________________
>> Devel mailing list
>> Devel at openser.org
>> http://openser.org/cgi-bin/mailman/listinfo/devel
>>
>>  
>>
>
>
> _______________________________________________
> Devel mailing list
> Devel at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/devel
>

-------------- next part --------------
? packaging/debian/.control.swp
? packaging/debian/.rules.swp
Index: packaging/debian/control
===================================================================
RCS file: /cvsroot/openser/sip-server/packaging/debian/control,v
retrieving revision 1.14
diff -u -r1.14 control
--- packaging/debian/control	25 Oct 2006 07:52:08 -0000	1.14
+++ packaging/debian/control	7 Dec 2006 09:56:39 -0000
@@ -3,13 +3,13 @@
 Priority: optional
 Maintainer: Debian VoIP Maintainers <pkg-voip-maintainers at lists.alioth.debian.org>
 Uploaders: Julien BLACHE <jblache at debian.org>
-Build-Depends: debhelper (>= 5), dpatch, libmysqlclient15-dev, libexpat1-dev, libxml2-dev, libpq-dev, libradiusclient-ng-dev, flex, bison, zlib1g-dev, unixodbc-dev
+Build-Depends: debhelper (>= 5), dpatch, libmysqlclient15-dev, libexpat1-dev, libxml2-dev, libpq-dev, libradiusclient-ng-dev, flex, bison, zlib1g-dev, unixodbc-dev, libxmlrpc-c3-dev
 Standards-Version: 3.7.2
 
 Package: openser
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, adduser
-Suggests: openser-mysql-module, openser-postgres-module, openser-unixodbc-module, openser-jabber-module, openser-cpl-module, openser-radius-modules
+Suggests: openser-mysql-module, openser-postgres-module, openser-unixodbc-module, openser-jabber-module, openser-cpl-module, openser-radius-modules, openser-presence-modules, openser-xmlrpc-module
 Description: very fast and configurable SIP proxy
  OpenSER is a very fast and flexible SIP (RFC3261)
  proxy server. Written entirely in C, OpenSER can handle thousands calls
@@ -21,8 +21,8 @@
  .
  Among others, the following modules are available: Digest Authentication, CPL
  scripts, Instant Messaging, MySQL support, Presence Agent, Radius
- Authentication, Record Routing, SMS Gateway, Jabber Gateway, Transaction
- Module, Registrar and User Location.
+ Authentication, Record Routing, SMS Gateway, Jabber/XMPP Gateway, Transaction
+ Module, Registrar and User Location, XMLRPC Interface.
  .
  This package contains the main OpenSER binary along with the principal modules
  and support binaries.
@@ -62,12 +62,12 @@
 Package: openser-jabber-module
 Architecture: any
 Depends: ${shlibs:Depends}, openser (= ${Source-Version})
-Description: Jabber module (SIP-Jabber message translation) for OpenSER
+Description: Jabber and XMPP gateway modules for OpenSER
  OpenSER is a very fast and flexible SIP (RFC3261)
  proxy server. Written entirely in C, OpenSER can handle thousands calls
  per second even on low-budget hardware.
  .
- This package provides the SIP to Jabber translator module for OpenSER.
+ This package provides the SIP to Jabber and SIP to XMPP translator modules for OpenSER.
 
 Package: openser-cpl-module
 Architecture: any
@@ -101,3 +101,23 @@
  per second even on low-budget hardware. 
  . 
  This package provides the unixODBC database driver for OpenSER. 
+
+Package: openser-presence-modules 
+Architecture: any 
+Depends: ${shlibs:Depends}, openser (= ${Source-Version})
+Description: SIMPLE presence modules for OpenSER 
+ OpenSER is a very fast and flexible SIP (RFC3261) 
+ proxy server. Written entirely in C, OpenSER can handle thousands calls 
+ per second even on low-budget hardware. 
+ . 
+ This package provides several OpenSER modules for implementing presence server and presence user agent for RICH presence, registrar-based presence, external triggered presence and XCAP support.
+
+Package: openser-xmlrpc-module 
+Architecture: any 
+Depends: ${shlibs:Depends}, openser (= ${Source-Version})
+Description: XMLRPC support for Managemen Interface in OpenSER 
+ OpenSER is a very fast and flexible SIP (RFC3261) 
+ proxy server. Written entirely in C, OpenSER can handle thousands calls 
+ per second even on low-budget hardware. 
+ . 
+ This package provides the XMLRPC transport implementation for the Management Interface in OpenSER.
Index: packaging/debian/rules
===================================================================
RCS file: /cvsroot/openser/sip-server/packaging/debian/rules,v
retrieving revision 1.15
diff -u -r1.15 rules
--- packaging/debian/rules	1 Nov 2006 16:12:16 -0000	1.15
+++ packaging/debian/rules	7 Dec 2006 09:56:39 -0000
@@ -31,16 +31,21 @@
 # modules depending on unixODBC
 UNIXODBC_MODULES=unixodbc
 # jabber related modules
-JABBER_MODULES = jabber
+JABBER_MODULES = jabber xmpp
 # cpl related modules
 CPL_MODULES = cpl-c
 # module depending on radiusclient
 RADIUS_MODULES = avp_radius auth_radius group_radius uri_radius
+# presence related modules
+PRESENCE_MODULES = presence pua pua_mi pua_usrloc
+# XMLRPC module
+XMLRPC_MODULES = mi_xmlrpc
 
-ALL_MODULES = $(MYSQL_MODULES) $(POSTGRES_MODULES) $(UNIXODBC_MODULES) $(JABBER_MODULES) $(CPL_MODULES) $(RADIUS_MODULES)
+
+ALL_MODULES = $(MYSQL_MODULES) $(POSTGRES_MODULES) $(UNIXODBC_MODULES) $(JABBER_MODULES) $(CPL_MODULES) $(RADIUS_MODULES) $(PRESENCE_MODULES) $(XMLRPC_MODULES)
 
 # modules not in the "main" package or unstable modules
-EXCLUDED_MODULES = $(ALL_MODULES) pa
+EXCLUDED_MODULES = $(ALL_MODULES) pa osp
 
 # the same but with path prepended (needed for modules="...")
 MYSQL_MOD_PATH=$(addprefix modules/, $(MYSQL_MODULES))
@@ -49,6 +54,8 @@
 JABBER_MOD_PATH=$(addprefix modules/, $(JABBER_MODULES))
 CPL_MOD_PATH=$(addprefix modules/, $(CPL_MODULES))
 RADIUS_MOD_PATH=$(addprefix modules/, $(RADIUS_MODULES))
+PRESENCE_MOD_PATH=$(addprefix modules/, $(PRESENCE_MODULES))
+XMLRPC_MOD_PATH=$(addprefix modules/, $(XMLRPC_MODULES))
 
 ifeq (cc, $(CC))
 CC = gcc
@@ -86,6 +93,8 @@
 	CC="$(CC)" CFLAGS="$(CFLAGS)" TLS=$(TLS) $(MAKE) modules modules="$(JABBER_MOD_PATH)" cfg-target=/etc/openser/
 	CC="$(CC)" CFLAGS="$(CFLAGS)" TLS=$(TLS) $(MAKE) modules modules="$(CPL_MOD_PATH)" cfg-target=/etc/openser/
 	CC="$(CC)" CFLAGS="$(CFLAGS)" TLS=$(TLS) $(MAKE) modules modules="$(RADIUS_MOD_PATH)" cfg-target=/etc/openser/
+	CC="$(CC)" CFLAGS="$(CFLAGS)" TLS=$(TLS) $(MAKE) modules modules="$(PRESENCE_MOD_PATH)" cfg-target=/etc/openser/
+	CC="$(CC)" CFLAGS="$(CFLAGS)" TLS=$(TLS) $(MAKE) modules modules="$(XMLRPC_MOD_PATH)" cfg-target=/etc/openser/
 
 	touch build-stamp
 
@@ -178,6 +187,23 @@
 	mkdir -p $(CURDIR)/debian/openser-radius-modules/etc/openser/
 	mv $(CURDIR)/debian/openser/etc/openser/dictionary.radius $(CURDIR)/debian/openser-radius-modules/etc/openser/
 
+	#install only the presence modules
+	CC="$(CC)" CFLAGS="$(CFLAGS)" TLS=$(TLS) $(MAKE) install-modules-all modules="$(PRESENCE_MOD_PATH)"  \
+		basedir=$(CURDIR)/debian/openser-presence-module \
+		prefix=/usr \
+		cfg-prefix=$(CURDIR)/debian/openser-presence-module \
+		cfg-target=/etc/openser/ \
+		doc-dir=share/doc/openser-presence-module
+
+	#install only the xmlrpc module
+	CC="$(CC)" CFLAGS="$(CFLAGS)" TLS=$(TLS) $(MAKE) install-modules-all modules="$(XMLRPC_MOD_PATH)"  \
+		basedir=$(CURDIR)/debian/openser-xmlrpc-module \
+		prefix=/usr \
+		cfg-prefix=$(CURDIR)/debian/openser-xmlrpc-module \
+		cfg-target=/etc/openser/ \
+		doc-dir=share/doc/openser-xmlrpc-module
+
+
 # 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


More information about the Devel mailing list