[sr-dev] git:4.2: kazoo : remove dependencies

Luis Azedo luis at 2600hz.com
Mon Nov 10 16:11:36 CET 2014


Hi Daniel,

i understand your points, i addressed both json-c and rabbitmq-c projects before doing this and they saw no problems with that.

creating the json-c and rabbitmq-c packages for rpm and make the constraint to build kazoo module did work for centos 6,7 and rehl 6,7, but, this would also imply that these packages would be integrated into kamailio rpm dist so that install of kazoo module would not fail because of missing dependencies at install time, wouldn't this be a problem too (distributing an outside library built by us) ?
as you know, opensuse build server doesn't not allow (or maybe i missed that) to reference external repos like epel, but most servers will have this repo added, won't there be a conflict with json ad/or rabbitmq at install time?

as for the debian deb packages, as you know, wheezy or squeeze are the versions supported at this time since jessie is still beta, right ?
 
we are not releasing librabbitmq or json-c versions, we are releasing  a kazoo-deps library. 
the libkazoo-deps does not affect other modules and will tend to disappear in future releases and is only installed if kazoo module is.

cheers

________________________________________
From: Daniel-Constantin Mierla [miconda at gmail.com]
Sent: Monday, November 10, 2014 6:17 AM
To: Luis Azedo; Kamailio (SER) - Development Mailing List
Subject: Re: [sr-dev] git:4.2: kazoo : remove dependencies

On 10/11/14 14:51, Luis Azedo wrote:
> reverted from 4.2 (it was a cherrypick from master)

For the future, use '-x' with cherry-pick in order to be able to track
easily what commits were backported.

>
> the code is included because there are too many issues trying to build kazoo module with existing rpm or deb, specially on deb for released and supported versions of debian.
>
> with this commit, i was able to create rpm for centos 5,6,7, rehl 5,6,7, opensuse 12.3, 13.1, 13.2 and deb for squeeze, wheezy, jessie, precise, trusty
>
> the code included is to be part of kazoo module distribution, kazoo.so + libkazoo-deps.so in deb/rpm
>
> the code it self will be maintained by releases of kazoo module and will tend to disappear in the future, we are just trying to give the community a working module that people can actually build without the mess of deb/rpm dependencies.
>
> as for the 4.2 commit, my fault, thought that this commit could go into minor release you're planning and finally get usable deb packages.
>
> if you still want me to revert from master i will do it
Master is ok for me until there is a good solution agreed by most
developers.

I really appreciate your time and work to find solutions, but there
might be negative side effects, that's why we discuss on sr-dev before
pushing anything major to a stable branch.

One of the problems when including other libraries is (as pointed by
others) that we risk to get Kamailio removed from main linux
distributions. It is the standard mechanism to rely on shared libraries
and distros don't like embedding, which is understandable from many
points of view, including security, maintenance, symbol conflicts, etc.

Then importing source code requires licensing review as we become the
distributors (we have it on our repository) and we risk legal actions if
we are not sure the licensing is compatible and we don't infringe anything.

Therefore such actions are not that straightforward, being more than
just technical side and getting something compiled.

I thought you got the rpms built by having the rabbitmq and jsoc-c
libraries built separately and made as constraints for building
kamailio-kazoo package. Is it right?

There are many modules not built for old distros (like redis, mongodb,
cassandra), we cannot embed all these libraries, it's going to get too
complex and messy. The solution I still find the best is to build these
libs as separate packages and offer them via custom (our) repos. Iirc,
we built hiredis lib for a while, not sure it is still the case.

However, we cannot get it pushed to old distros and again, embedding
everything can result in getting all kamailio removed, not following the
standard linux procedure/structure with libs.

Cheers,
Daniel

>
> cheers
>
> ________________________________________
> From: sr-dev-bounces at lists.sip-router.org [sr-dev-bounces at lists.sip-router.org] on behalf of Daniel-Constantin Mierla [miconda at gmail.com]
> Sent: Monday, November 10, 2014 5:33 AM
> To: Kamailio (SER) - Development Mailing List
> Subject: Re: [sr-dev] git:4.2: kazoo : remove dependencies
>
> I don't feel comfortable about this commit.
>
> If it was a backport, it has to be done with 'git cherry-pick -x'
>
> The it looks like it messes up with the build system we have in the
> stable branch, adding shared objects in different location than internal
> libs and modules.
>
> Could you revert the commit in branch 4.2 and explain how all these
> imported libraries are built, installed and planned to be managed. Maybe
> there are better solutions or other people have solutions for a way that
> can be reused by other modules.
>
> I don't like importing external libraries in our source code unless it
> is a clear reason for it and everyone agrees with it.
>
> Also, remember that 4.2 is stable, pushing radical changes without
> discussing on sr-dev is strongly not recommended. It can break existing
> installations that are maintained from git. On git master, you have the
> freedom to play as you think is better, but not backporting immediately
> to any stable branch.
>
> Cheers,
> Daniel
>
> On 10/11/14 14:26, Luis Azedo wrote:
>> Module: sip-router
>> Branch: 4.2
>> Commit: 1630ec25958bda98a98864cbef57000dab8f2aeb
>> URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1630ec25958bda98a98864cbef57000dab8f2aeb
>>
>> Author: Luis Azedo <luis at 2600hz.com>
>> Committer: Luis Azedo <luis at 2600hz.com>
>> Date:   Mon Nov 10 13:25:30 2014 +0000
>>
>> kazoo : remove dependencies
>>
>> ---
>>
>>  modules/kazoo/Makefile                    |   27 +-
>>  modules/kazoo/README                      |    4 +-
>>  modules/kazoo/deps/Makefile               |   18 +
>>  modules/kazoo/deps/amqp.h                 | 2352 +++++++++++++++++++++++++++++
>>  modules/kazoo/deps/amqp_api.c             |  340 +++++
>>  modules/kazoo/deps/amqp_connection.c      |  535 +++++++
>>  modules/kazoo/deps/amqp_consumer.c        |  308 ++++
>>  modules/kazoo/deps/amqp_framing.c         | 2102 ++++++++++++++++++++++++++
>>  modules/kazoo/deps/amqp_framing.h         |  640 ++++++++
>>  modules/kazoo/deps/amqp_hostcheck.c       |  201 +++
>>  modules/kazoo/deps/amqp_hostcheck.h       |   36 +
>>  modules/kazoo/deps/amqp_mem.c             |  252 +++
>>  modules/kazoo/deps/amqp_openssl.c         |  626 ++++++++
>>  modules/kazoo/deps/amqp_private.h         |  363 +++++
>>  modules/kazoo/deps/amqp_socket.c          | 1388 +++++++++++++++++
>>  modules/kazoo/deps/amqp_socket.h          |  195 +++
>>  modules/kazoo/deps/amqp_ssl_socket.h      |  168 ++
>>  modules/kazoo/deps/amqp_table.c           |  614 ++++++++
>>  modules/kazoo/deps/amqp_tcp_socket.c      |  303 ++++
>>  modules/kazoo/deps/amqp_tcp_socket.h      |   73 +
>>  modules/kazoo/deps/amqp_timer.c           |  140 ++
>>  modules/kazoo/deps/amqp_timer.h           |   67 +
>>  modules/kazoo/deps/amqp_url.c             |  218 +++
>>  modules/kazoo/deps/arraylist.c            |  101 ++
>>  modules/kazoo/deps/arraylist.h            |   56 +
>>  modules/kazoo/deps/bits.h                 |   28 +
>>  modules/kazoo/deps/config.h               |  209 +++
>>  modules/kazoo/deps/debug.c                |   83 +
>>  modules/kazoo/deps/debug.h                |   71 +
>>  modules/kazoo/deps/json.h                 |   34 +
>>  modules/kazoo/deps/json_c_version.c       |   20 +
>>  modules/kazoo/deps/json_c_version.h       |   22 +
>>  modules/kazoo/deps/json_config.h          |    4 +
>>  modules/kazoo/deps/json_inttypes.h        |   28 +
>>  modules/kazoo/deps/json_object.c          |  855 +++++++++++
>>  modules/kazoo/deps/json_object.h          |  612 ++++++++
>>  modules/kazoo/deps/json_object_iterator.c |  168 ++
>>  modules/kazoo/deps/json_object_iterator.h |  239 +++
>>  modules/kazoo/deps/json_object_private.h  |   47 +
>>  modules/kazoo/deps/json_tokener.c         |  890 +++++++++++
>>  modules/kazoo/deps/json_tokener.h         |  208 +++
>>  modules/kazoo/deps/json_util.c            |  300 ++++
>>  modules/kazoo/deps/json_util.h            |   41 +
>>  modules/kazoo/deps/libjson.c              |   26 +
>>  modules/kazoo/deps/linkhash.c             |  602 ++++++++
>>  modules/kazoo/deps/linkhash.h             |  292 ++++
>>  modules/kazoo/deps/math_compat.h          |   38 +
>>  modules/kazoo/deps/printbuf.c             |  192 +++
>>  modules/kazoo/deps/printbuf.h             |   77 +
>>  modules/kazoo/deps/random_seed.c          |  237 +++
>>  modules/kazoo/deps/random_seed.h          |   25 +
>>  modules/kazoo/deps/threads.h              |   29 +
>>  modules/kazoo/doc/kazoo_admin.xml         |   12 +-
>>  modules/kazoo/kazoo.c                     |   15 +
>>  modules/kazoo/kz_amqp.c                   |  150 ++-
>>  modules/kazoo/kz_amqp.h                   |    6 +
>>  modules/kazoo/kz_pua.c                    |    3 +-
>>  57 files changed, 16644 insertions(+), 46 deletions(-)
>>
>> Diff:   http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commitdiff;h=1630ec25958bda98a98864cbef57000dab8f2aeb
>>
>> _______________________________________________
>> sr-dev mailing list
>> sr-dev at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
> --
> Daniel-Constantin Mierla
> http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
> Kamailio Advanced Training, Nov 24-27, Berlin - http://www.asipto.com
>
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Nov 24-27, Berlin - http://www.asipto.com




More information about the sr-dev mailing list