# Contributor: Ɓukasz Jendrysik # Contributor: Michael Mason # Contributor: Leonardo Arena # Maintainer: Nathan Angelacos global pkgname := 'kamailio' # If building from a git snapshot, specify the gitcommit # run "abuild snapshot", then abuild as normal # If building a proper release, leave gitcommit blank #_gitcommit=e27802533cee global _giturl := ""git://github.com/$pkgname/$pkgname.git"" global _gittag := 'HEAD' global pkgver := '5.0.2' global pkgrel := '2' test -z $(_gitcommit) && global _suffix := '"_src'" || global _suffix := ""-$(_gitcommit)"" global pkgdesc := '"Open Source SIP Server'" global url := '"http://www.kamailio.org/'" global arch := '"all'" global pkgusers := '"kamailio'" global pkggroups := '"kamailio'" global arch := '"all'" global license := '"GPL2+'" global depends := ''"" global makedepends := '"bison flex expat-dev postgresql-dev pcre-dev mariadb-dev libxml2-dev curl-dev unixodbc-dev confuse-dev ncurses-dev sqlite-dev lua-dev openldap-dev libressl-dev net-snmp-dev libuuid libev-dev jansson-dev json-c-dev libevent-dev linux-headers libmemcached-dev rabbitmq-c-dev hiredis-dev libmaxminddb-dev libunistring-dev'" global install := ""$pkgname.pre-install $pkgname.pre-upgrade"" # See Makefile.groups for the list of recommended modules for # each package. What follows is a simplified version of Makefile.groups # # Alpine specific changes: # # _mod_list_debugger is not defined in the orginal # # Move avp from _mod_list_extras to _mod_list_basic, so that we can create # a kamailio-extras package # # Remove db_text from _mod_list_db because we create a separate dbtext package # # - basic used modules, with no extra dependency (widespread usage) global _mod_list_basic := '"avp async auth benchmark blst cfg_rpc cfgt cfgutils corex counters \ ctl debugger diversion enum exec gzcompress ipops kex mangler \ maxfwd mediaproxy mqueue \ nat_traversal nathelper path pike pv ratelimit rr rtimer \ rtpproxy sanity sdpops siputils sl smsops statsc statistics \ textops textopsx tm tmx topoh topos xlog rtpengine stun sipt'" # - extra used modules, with no extra dependency global _mod_list_extras := '"auth_diameter call_control cnxcc dmq domainpolicy log_custom \ msrp pdb qos sca seas sms sst timer tmrec tsilo uac_redirect \ xhttp xhttp_rpc xprint nosip dmq_usrloc statsd rtjson tcpops \ auth_xkeys'" # - common modules depending on database global _mod_list_db := '"acc alias_db auth_db avpops cfg_db db_flatstore \ db_cluster dialog dispatcher domain drouting group \ htable imc matrix mohqueue msilo mtree p_usrloc pdt permissions \ pipelimit prefix_route registrar sipcapture siptrace speeddial \ sqlops uac uri_db userblacklist usrloc'" # - common modules depending on database, using UID db schema global _mod_list_dbuid := '"db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags \ uid_uri_db'" # - modules for devel purposes global _mod_list_devel := '"malloc_test print print_lib'" # - modules depending on pcre3 library global _mod_list_pcre := '"dialplan lcr regex'" # - modules depending on radius client library global _mod_list_radius := '"acc_radius auth_radius misc_radius peering'" # - modules depending on ldap client library global _mod_list_ldap := '"db2_ldap h350 ldap'" # - modules depending on mysql client library global _mod_list_mysql := '"db_mysql'" # - modules depending on postgres client library global _mod_list_postgres := '"db_postgres'" # - modules depending on unixodbc library global _mod_list_unixodbc := '"db_unixodbc'" # - modules depending on mysql cassandra library global _mod_list_cassandra := '"db_cassandra ndb_cassandra'" # - modules depending on xml2 library global _mod_list_cpl := '"cplc'" # - modules depending on xml2 library global _mod_list_xml := '"xhttp_pi xmlrpc xmlops'" # - modules depending on net-snmp library global _mod_list_snmpstats := '"snmpstats'" # - modules depending on expat library global _mod_list_xmpp := '"xmpp'" # - modules depending on confuse library global _mod_list_carrierroute := '"carrierroute'" # - modules depending on bdb (db4) library global _mod_list_berkeley := '"db_berkeley'" # - modules depending on curl library global _mod_list_utils := '"utils http_client'" # - async http_async_client global _mod_list_http_async := '"http_async_client'" # - modules depending on purple library global _mod_list_purple := '"purple'" # - modules depending on memcache library global _mod_list_memcached := '"memcached'" # - modules depending on openssl library global _mod_list_tls := '"auth_identity crypto tls'" # - modules depending on openssl library global _mod_list_outbound := '"outbound'" # - modules depending on unistring library global _mod_list_websocket := '"websocket'" # - modules depending on libval-threads libcrypto libsres libpthread global _mod_list_dnssec := '"dnssec'" # - modules depending on libsctp global _mod_list_sctp := '"sctp'" # - modules depending on openssl library global _mod_list_authephemeral := '"auth_ephemeral'" # - modules related to SIMPLE presence extensions global _mod_list_presence := '"presence presence_conference presence_dialoginfo \ presence_mwi presence_profile presence_reginfo \ presence_xml \ pua pua_bla pua_dialoginfo pua_reginfo \ pua_rpc pua_usrloc pua_xmpp \ rls xcap_client xcap_server'" # - modules depending on lua library global _mod_list_lua := '"app_lua'" # - modules depending on perl library global _mod_list_perl := '"app_perl db_perlvdb'" # - modules depending on python library global _mod_list_python := '"app_python'" # - modules depending on rabbitmq global _mod_list_rabbitmq := '"rabbitmq'" # - modules depending on geoip2 library global _mod_list_geoip2 := '"geoip2'" # - modules depending on sqlite library global _mod_list_sqlite := '"db_sqlite'" # - modules depending on oracle library global _mod_list_oracle := '"db_oracle'" # - modules depending on json library global _mod_list_json := '"json jsonrpcc jsonrpcs'" # - modules depending on redis library global _mod_list_redis := '"ndb_redis'" # - modules depending on mono library global _mod_list_mono := '"app_mono'" # - modules related to IMS extensions global _mod_list_ims := '"cdp cdp_avp ims_dialog ims_auth ims_isc ims_icscf ims_qos \ ims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf \ ims_usrloc_scscf ims_charging'" # - modules depending on osp toolkit library global _mod_list_osp := '"osp'" # - modules depending on java library global _mod_list_java := '"app_java'" # - modules depending on iptables library global _mod_list_iptrtpproxy := '"iptrtpproxy'" # - modules depending on gzip library global _mod_list_gzcompress := '"gzcompress'" # - modules depending on uuid library global _mod_list_uuid := '"uuid'" # - modules depending on ev library global _mod_list_ev := '"evapi'" # - modules depending on kazoo/rabbitmq global _mod_list_kazoo := '"kazoo'" # - modules depending on mongodb global _mod_list_mongodb := '"db_mongodb ndb_mongodb'" # - modules depending on jansson library global _mod_list_jansson := '"jansson janssonrpcc'" # - modules depending on libm global _mod_list_jsdt := '"app_jsdt'" # Alpine Specific global _mod_list_debugger := ""$_mod_list_devel benchmark debugger"" # Standard modules in main pkg global _module_group_kstandard := ""$_mod_list_basic $_mod_list_dbuid $_mod_list_pcre"" # END Makefile.groups ############################################################# global subpackages := ""$pkgname-doc $pkgname-dbg"" global _modules := $_module_group_kstandard for _i in [db postgres sqlite dbtext mysql \ cpl xml unixodbc snmpstats xmpp carrierroute \ ldap utils tls presence lua ims outbound debugger \ extras json websocket authephemeral \ uuid ev memcached redis geoip2 jansson \ jsdt http_async kazoo] { global subpackages := ""$subpackages $pkgname-$_i"" eval "_modules=\"\$_modules \$_mod_list_$_i\"" } global source := ""http://www.kamailio.org/pub/kamailio/$pkgver/src/$(pkgname)-$(pkgver)$(_suffix).tar.gz 0001-kamdbctl.base.patch 0002-remove-spurious-execinfo.patch 0003-src_modules_tls_tls_init_c.patch 0004-src_core_tcp_read_c.patch kamailio.cfg kamailio.initd "" proc snapshot { mkdir -p $srcdir cd $(SRCDEST:-$srcdir) if ! test -d $pkgname.git { git clone --bare $_giturl || return 1 cd $pkgname.git } else { cd $pkgname.git git fetch || return 1 } git archive --prefix=$pkgname-$pkgver/ -o "$SRCDEST"/$(pkgname)-$(pkgver)$(_suffix).tar.gz $_gittag } global _builddir := ""$srcdir"/$pkgname-$pkgver" proc prepare { cd $_builddir default_prepare cd utils/kamctl/ sed -i -e 's:/var/run/kamailio.pid:/var/run/kamailio/kamailio.pid:g' \ kamctl.base kamctlrc || return 1 # we actually dont need bash sed -i -e 's:/bin/bash:/bin/sh:' kamctl kamdbctl \ || return 1 } proc build { cd $_builddir make FLAVOUR=kamailio STUN=1 \ PREFIX=/usr \ CC_EXTRA_OPTS="$CFLAGS -D_GNU_SOURCE" \ cfg_target=/etc/kamailio/ \ run_prefix="" \ include_modules="$_modules" \ LIBDIR=lib \ DESTDIR="$pkgdir" \ cfg_prefix="$pkgdir" \ cfg make EMBEDDED_UTF8_DECODE=1 STUN=1 \ all || return 1 } proc package { cd $_builddir make -j1 install || return 1 # move default config to -doc package and use our own default config mv "$pkgdir"/etc/kamailio/kamailio.cfg \ "$pkgdir"/usr/share/doc/kamailio/ install -m644 -D "$srcdir"/kamailio.cfg \ "$pkgdir"/etc/kamailio/kamailio.cfg install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname install -d -o kamailio "$pkgdir"/var/run/kamailio } proc _mv_mod { var moddir = 'usr/lib/kamailio/modules', i = '' mkdir -p "$subpkgdir"/$moddir for i in [$ifsjoin(Argv)] { mv "$pkgdir"/$moddir/$i.so "$subpkgdir"/$moddir/ || return 1 } } proc _generic_pkg { global pkgdesc := ""Kamailio $1"" global depends := $pkgname _mv_mod $2 } proc _db_driver { global pkgdesc := ""Database drivers for $1"" global depends := ""$pkgname $pkgname-db"" _mv_mod db_$2 || return 1 mkdir -p "$subpkgdir"/usr/share/kamailio \ "$subpkgdir"/usr/lib/kamailio/kamctl mv "$pkgdir"/usr/share/kamailio/$3 \ "$subpkgdir"/usr/share/kamailio/ || return 1 mv "$pkgdir"/usr/lib/kamailio/kamctl/*.$4 \ "$subpkgdir"/usr/lib/kamailio/kamctl/ || return 1 } proc db { _generic_pkg "modules using a database backend" $_mod_list_db } proc postgres { _db_driver Postgres postgres postgres pgsql } proc mysql { _db_driver Mysql mysql mysql mysql } proc sqlite { _db_driver SQlite sqlite db_sqlite sqlite } proc dbtext { _db_driver DBText text dbtext dbtext || return 1 # kamdbctl.dbtext is a python script - but we will not make python # a dependency because kamdbctl is not normaly used global depends := $depends mkdir -p "$subpkgdir"/usr/lib/kamailio/kamctl || return 1 mv "$pkgdir"/usr/lib/kamailio/kamctl/dbtextdb \ "$subpkgdir"/usr/lib/kamailio/kamctl/ || return 1 } proc cpl { _generic_pkg "CPL (Call Processing Language) interpreter" \ $_mod_list_cpl } proc xml { _generic_pkg "XML related modules: $_mod_list_xml" \ $_mod_list_xml || return 1 mkdir -p "$subpkgdir"/usr/share/kamailio mv "$pkgdir"/usr/share/kamailio/xhttp_pi \ "$subpkgdir"/usr/share/kamailio || return 1 mkdir -p "$subpkgdir"/etc/kamailio/ mv "$pkgdir"/etc/kamailio/pi_framework.xml \ "$subpkgdir"/etc/kamailio || return 1 } proc unixodbc { _generic_pkg "Database drivers for unixodbc" \ $_mod_list_unixodbc } proc snmpstats { _generic_pkg "SNMP statistics support" \ $_mod_list_snmpstats || return 1 mkdir -p "$subpkgdir"/usr/share/snmp mv "$_builddir"/src/modules/snmpstats/mibs \ "$subpkgdir"/usr/share/snmp/ || return 1 } proc xmpp { _generic_pkg "XMPP (Jabber) gateway" \ $_mod_list_xmpp } proc carrierroute { _generic_pkg "carrier grade routing functions" \ $_mod_list_carrierroute } proc ldap { _generic_pkg "LDAP search functions" \ $_mod_list_ldap } proc utils { _generic_pkg "miscelaneous utility functions" \ $_mod_list_utils } proc tls { _generic_pkg "TLS support" \ $_mod_list_tls } proc presence { _generic_pkg "SIP Notify (Presence) support" \ $_mod_list_presence } proc lua { _generic_pkg "Lua script support" \ $_mod_list_lua } proc ims { _generic_pkg "IP Multimedia Subsystem (IMS) support" \ $_mod_list_ims } proc outbound { _generic_pkg "RFC 5626 section 5 Outbound support" \ $_mod_list_outbound } proc debugger { _generic_pkg "debugging modules" \ $_mod_list_debugger } proc extras { _generic_pkg "extra modules" \ $_mod_list_extras } proc websocket { _generic_pkg "websocket support" \ $_mod_list_websocket } proc authephemeral { _generic_pkg "auth ephemeral (webrtc)" \ $_mod_list_authephemeral } proc json { _generic_pkg "Operations on json strings" \ $_mod_list_json } proc jansson { _generic_pkg "Operations on json strings using jansson library" \ $_mod_list_jansson } proc geoip2 { _generic_pkg "MaxMind GeoIP lookup support" \ $_mod_list_geoip2 } proc ev { _generic_pkg "Network event broadcast API" \ $_mod_list_ev } proc uuid { _generic_pkg "UUID generator using libuuid" \ $_mod_list_uuid } proc memcached { _generic_pkg "memcached support" \ $_mod_list_memcached } proc rabbitmq { _generic_pkg "RabbitMQ client for configuration file" \ $_mod_list_rabbitmq } proc jsdt { _generic_pkg "Support for executing JavaScript" \ $_mod_list_jsdt } proc redis { _generic_pkg "Redis NoSQL support" \ $_mod_list_redis } proc http_async { _generic_pkg "Asynchronous HTTP queries support" \ $_mod_list_http_async } proc kazoo { _generic_pkg "Kazoo VoIP platform support" \ $_mod_list_kazoo } global sha512sums := '"d2bd320edb9612006277979f96079c8a01b8fef3774af5847aab78529dbe61880be6a4e596af1ce6c67fa34142a0f200e7728ff3a725691f081fccd51cd11f16 kamailio-5.0.2_src.tar.gz 6badfb611c02ffcb4c2e9937731162ea1a4b737f042ed52120e2f96ebb80b5b7d240b5612c9ca565e693eec9b8c52c1ee5db04dfc47d204501021f984b4b11db 0001-kamdbctl.base.patch e60e8d41e55008f0473e4d645af3b43f2bc097e341bb3bb81daec8bc47abcd6d037cbb56082675c24ffb1c50b2eb93e3c4fc50b0dc2df9cdfe4f28ad7b9fbf9e 0002-remove-spurious-execinfo.patch 84b8645e551a41737863085dad6c2c865e60bbe505bfdf750dec530cdd0501025a69e60a48b54971f0d0daaf5f52d1cc0aa8d275395f5c110a3563bb269bb6df 0003-src_modules_tls_tls_init_c.patch af8362201957eae6b66baf7368c9ca884024209a396d77c5c52180c9aabe13772e9c6513e59721d39503e5bb7a8c1030f5c10301ea9055bddafb7f01ee2f3076 0004-src_core_tcp_read_c.patch c1abf69b48847dc8c7ab0d11ef9adb531aa4635f9d44db6933981edc5a47df374664fb24867b19aa64abbcc9777bf1cd0360d9aea54e27b081065928c61e0f0b kamailio.cfg cd6e3b677d803cd78561ad14d9b2589fd35ad0096f48047fdcb4ddc7d9103871357efba3b350946844cb53dbb081210746421fc420c22ac845b90251168a628e kamailio.initd'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(kamailio)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_giturl) op: Equal rhs: {(DQ ("git://github.com/") ($ VSub_Name "$pkgname") (/) ($ VSub_Name "$pkgname") (.git))} spids: [28] ) ] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_gittag) op:Equal rhs:{(HEAD)} spids:[37])] spids: [37] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(5.0.2)} spids:[42])] spids: [42] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[45])] spids: [45] ) (AndOr children: [ (C {(Lit_Other "[")} {(-z)} {(DQ (${ VSub_Name _gitcommit))} {(Lit_Other "]")}) (AndOr children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_suffix) op:Equal rhs:{(DQ (_src))} spids:[62])] spids: [62] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_suffix) op: Equal rhs: {(DQ (-) (${ VSub_Name _gitcommit))} spids: [69] ) ] spids: [69] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Open Source SIP Server"))} spids: [78] ) ] spids: [78] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.kamailio.org/"))} spids: [83] ) ] spids: [83] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[88])] spids: [88] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgusers) op:Equal rhs:{(DQ (kamailio))} spids:[93])] spids: [93] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkggroups) op:Equal rhs:{(DQ (kamailio))} spids:[98])] spids: [98] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[103])] spids: [103] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("GPL2+"))} spids:[108])] spids: [108] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[113])] spids: [113] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ("bison flex expat-dev postgresql-dev pcre-dev mariadb-dev\n") ("\tlibxml2-dev curl-dev unixodbc-dev confuse-dev ncurses-dev sqlite-dev\n") ("\tlua-dev openldap-dev libressl-dev net-snmp-dev libuuid libev-dev\n") ("\tjansson-dev json-c-dev libevent-dev linux-headers libmemcached-dev\n") ("\trabbitmq-c-dev hiredis-dev libmaxminddb-dev libunistring-dev") ) } spids: [117] ) ] spids: [117] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (".pre-install ") ($ VSub_Name "$pkgname") (.pre-upgrade))} spids: [126] ) ] spids: [126] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_basic) op: Equal rhs: { (DQ ("avp async auth benchmark blst cfg_rpc cfgt cfgutils corex counters ") ("\t\tctl debugger diversion enum exec gzcompress ipops kex mangler ") ("\t\tmaxfwd mediaproxy mqueue ") ("\t\tnat_traversal nathelper path pike pv ratelimit rr rtimer ") ("\t\trtpproxy sanity sdpops siputils sl smsops statsc statistics ") ("\t\ttextops textopsx tm tmx topoh topos xlog rtpengine stun sipt") ) } spids: [174] ) ] spids: [174] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_extras) op: Equal rhs: { (DQ ("auth_diameter call_control cnxcc dmq domainpolicy log_custom ") ("\t\tmsrp pdb qos sca seas sms sst timer tmrec tsilo uac_redirect ") ("\t\txhttp xhttp_rpc xprint nosip dmq_usrloc statsd rtjson tcpops ") ("\t\tauth_xkeys") ) } spids: [193] ) ] spids: [193] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_db) op: Equal rhs: { (DQ ("acc alias_db auth_db avpops cfg_db db_flatstore ") ("\t\tdb_cluster dialog dispatcher domain drouting group ") ("\t\thtable imc matrix mohqueue msilo mtree p_usrloc pdt permissions ") ("\t\tpipelimit prefix_route registrar sipcapture siptrace speeddial ") ("\t\tsqlops uac uri_db userblacklist usrloc") ) } spids: [208] ) ] spids: [208] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_dbuid) op: Equal rhs: {(DQ ("db2_ops uid_auth_db uid_avp_db uid_domain uid_gflags ") ("\t\tuid_uri_db"))} spids: [225] ) ] spids: [225] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_devel) op: Equal rhs: {(DQ ("malloc_test print print_lib"))} spids: [236] ) ] spids: [236] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_pcre) op: Equal rhs: {(DQ ("dialplan lcr regex"))} spids: [245] ) ] spids: [245] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_radius) op: Equal rhs: {(DQ ("acc_radius auth_radius misc_radius peering"))} spids: [254] ) ] spids: [254] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_ldap) op: Equal rhs: {(DQ ("db2_ldap h350 ldap"))} spids: [263] ) ] spids: [263] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_mysql) op: Equal rhs: {(DQ (db_mysql))} spids: [272] ) ] spids: [272] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_postgres) op: Equal rhs: {(DQ (db_postgres))} spids: [281] ) ] spids: [281] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_unixodbc) op: Equal rhs: {(DQ (db_unixodbc))} spids: [290] ) ] spids: [290] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_cassandra) op: Equal rhs: {(DQ ("db_cassandra ndb_cassandra"))} spids: [299] ) ] spids: [299] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mod_list_cpl) op:Equal rhs:{(DQ (cplc))} spids:[308])] spids: [308] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_xml) op: Equal rhs: {(DQ ("xhttp_pi xmlrpc xmlops"))} spids: [317] ) ] spids: [317] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_snmpstats) op: Equal rhs: {(DQ (snmpstats))} spids: [326] ) ] spids: [326] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mod_list_xmpp) op:Equal rhs:{(DQ (xmpp))} spids:[335])] spids: [335] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_carrierroute) op: Equal rhs: {(DQ (carrierroute))} spids: [344] ) ] spids: [344] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_berkeley) op: Equal rhs: {(DQ (db_berkeley))} spids: [353] ) ] spids: [353] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_utils) op: Equal rhs: {(DQ ("utils http_client"))} spids: [362] ) ] spids: [362] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_http_async) op: Equal rhs: {(DQ (http_async_client))} spids: [371] ) ] spids: [371] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_purple) op: Equal rhs: {(DQ (purple))} spids: [380] ) ] spids: [380] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_memcached) op: Equal rhs: {(DQ (memcached))} spids: [389] ) ] spids: [389] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_tls) op: Equal rhs: {(DQ ("auth_identity crypto tls"))} spids: [398] ) ] spids: [398] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_outbound) op: Equal rhs: {(DQ (outbound))} spids: [407] ) ] spids: [407] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_websocket) op: Equal rhs: {(DQ (websocket))} spids: [416] ) ] spids: [416] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_dnssec) op: Equal rhs: {(DQ (dnssec))} spids: [425] ) ] spids: [425] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mod_list_sctp) op:Equal rhs:{(DQ (sctp))} spids:[434])] spids: [434] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_authephemeral) op: Equal rhs: {(DQ (auth_ephemeral))} spids: [443] ) ] spids: [443] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_presence) op: Equal rhs: { (DQ ("presence presence_conference presence_dialoginfo ") ("\t\t\tpresence_mwi presence_profile presence_reginfo ") ("\t\t\tpresence_xml ") ("\t\t\tpua pua_bla pua_dialoginfo pua_reginfo ") ("\t\t\tpua_rpc pua_usrloc pua_xmpp ") ("\t\t\trls xcap_client xcap_server") ) } spids: [452] ) ] spids: [452] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_lua) op: Equal rhs: {(DQ (app_lua))} spids: [471] ) ] spids: [471] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_perl) op: Equal rhs: {(DQ ("app_perl db_perlvdb"))} spids: [480] ) ] spids: [480] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_python) op: Equal rhs: {(DQ (app_python))} spids: [489] ) ] spids: [489] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_rabbitmq) op: Equal rhs: {(DQ (rabbitmq))} spids: [498] ) ] spids: [498] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_geoip2) op: Equal rhs: {(DQ (geoip2))} spids: [507] ) ] spids: [507] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_sqlite) op: Equal rhs: {(DQ (db_sqlite))} spids: [516] ) ] spids: [516] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_oracle) op: Equal rhs: {(DQ (db_oracle))} spids: [525] ) ] spids: [525] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_json) op: Equal rhs: {(DQ ("json jsonrpcc jsonrpcs"))} spids: [534] ) ] spids: [534] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_redis) op: Equal rhs: {(DQ (ndb_redis))} spids: [543] ) ] spids: [543] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_mono) op: Equal rhs: {(DQ (app_mono))} spids: [552] ) ] spids: [552] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_ims) op: Equal rhs: { (DQ ("cdp cdp_avp ims_dialog ims_auth ims_isc ims_icscf ims_qos ") ("\t\tims_registrar_pcscf ims_registrar_scscf ims_usrloc_pcscf ") ("\t\tims_usrloc_scscf ims_charging") ) } spids: [561] ) ] spids: [561] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mod_list_osp) op:Equal rhs:{(DQ (osp))} spids:[574])] spids: [574] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_java) op: Equal rhs: {(DQ (app_java))} spids: [583] ) ] spids: [583] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_iptrtpproxy) op: Equal rhs: {(DQ (iptrtpproxy))} spids: [592] ) ] spids: [592] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_gzcompress) op: Equal rhs: {(DQ (gzcompress))} spids: [601] ) ] spids: [601] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mod_list_uuid) op:Equal rhs:{(DQ (uuid))} spids:[610])] spids: [610] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mod_list_ev) op:Equal rhs:{(DQ (evapi))} spids:[619])] spids: [619] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_kazoo) op: Equal rhs: {(DQ (kazoo))} spids: [628] ) ] spids: [628] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_mongodb) op: Equal rhs: {(DQ ("db_mongodb ndb_mongodb"))} spids: [637] ) ] spids: [637] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_jansson) op: Equal rhs: {(DQ ("jansson janssonrpcc"))} spids: [646] ) ] spids: [646] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_jsdt) op: Equal rhs: {(DQ (app_jsdt))} spids: [655] ) ] spids: [655] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mod_list_debugger) op: Equal rhs: {(DQ ($ VSub_Name "$_mod_list_devel") (" benchmark debugger"))} spids: [665] ) ] spids: [665] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_module_group_kstandard) op: Equal rhs: { (DQ ($ VSub_Name "$_mod_list_basic") (" ") ($ VSub_Name "$_mod_list_dbuid") (" ") ($ VSub_Name "$_mod_list_pcre") ) } spids: [675] ) ] spids: [675] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") (-dbg))} spids: [689] ) ] spids: [689] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_modules) op: Equal rhs: {(DQ ($ VSub_Name "$_module_group_kstandard"))} spids: [697] ) ] spids: [697] ) (ForEach iter_name: _i iter_words: [ {(db)} {(postgres)} {(sqlite)} {(dbtext)} {(mysql)} {(cpl)} {(xml)} {(unixodbc)} {(snmpstats)} {(xmpp)} {(carrierroute)} {(ldap)} {(utils)} {(tls)} {(presence)} {(lua)} {(ims)} {(outbound)} {(debugger)} {(extras)} {(json)} {(websocket)} {(authephemeral)} {(uuid)} {(ev)} {(memcached)} {(redis)} {(geoip2)} {(jansson)} {(jsdt)} {(http_async)} {(kazoo)} ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" ") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_i") ) } spids: [787] ) ] spids: [787] ) (C {(eval)} { (DQ ("_modules=") (EscapedLiteralPart token:) (EscapedLiteralPart token:) ("_modules ") (EscapedLiteralPart token:) (_mod_list_) ($ VSub_Name "$_i") (EscapedLiteralPart token:) ) } ) ] spids: [783 810] ) spids: [707 781] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://www.kamailio.org/pub/kamailio/") ($ VSub_Name "$pkgver") (/src/) (${ VSub_Name pkgname) (-) (${ VSub_Name pkgver) (${ VSub_Name _suffix) (".tar.gz\n") ("\t0001-kamdbctl.base.patch\n") ("\t0002-remove-spurious-execinfo.patch\n") ("\t0003-src_modules_tls_tls_init_c.patch\n") ("\t0004-src_core_tcp_read_c.patch\n") ("\tkamailio.cfg\n") ("\tkamailio.initd\n") ("\t") ) } spids: [813] ) ] spids: [813] ) (FuncDef name: snapshot body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$srcdir"))}) (C {(cd)} { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{($ VSub_Name "$srcdir")}) spids: [858 862] ) ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(Lit_Other "[")} {(-d)} {($ VSub_Name "$pkgname") (.git)} {(Lit_Other "]")} ) ] negated: True ) terminator: ) ] action: [ (AndOr children: [ (C {(git)} {(clone)} {(--bare)} {($ VSub_Name "$_giturl")}) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (C {(cd)} {($ VSub_Name "$pkgname") (.git)}) ] spids: [-1 880] ) ] else_action: [ (C {(cd)} {($ VSub_Name "$pkgname") (.git)}) (AndOr children: [ (C {(git)} {(fetch)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [904 924] ) (C {(git)} {(archive)} {(--prefix) (Lit_Other "=") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (/)} {(-o)} {(DQ ($ VSub_Name "$SRCDEST")) (/) (${ VSub_Name pkgname) (-) (${ VSub_Name pkgver) (${ VSub_Name _suffix) (.tar.gz) } {($ VSub_Name "$_gittag")} ) ] spids: [843] ) spids: [839 842] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver")} spids: [963] ) ] spids: [963] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (C {(default_prepare)}) (C {(cd)} {(utils/kamctl/)}) (AndOr children: [ (C {(sed)} {(-i)} {(-e)} {(SQ <"s:/var/run/kamailio.pid:/var/run/kamailio/kamailio.pid:g">)} {(kamctl.base)} {(kamctlrc)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(sed)} {(-i)} {(-e)} {(SQ <"s:/bin/bash:/bin/sh:">)} {(kamctl)} {(kamdbctl)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [976] ) spids: [972 975] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (C {(make)} {(Lit_VarLike "FLAVOUR=") (kamailio)} {(Lit_VarLike "STUN=") (1)} {(Lit_VarLike "PREFIX=") (/usr)} {(Lit_VarLike "CC_EXTRA_OPTS=") (DQ ($ VSub_Name "$CFLAGS") (" -D_GNU_SOURCE"))} {(Lit_VarLike "cfg_target=") (/etc/kamailio/)} {(Lit_VarLike "run_prefix=") (DQ )} {(Lit_VarLike "include_modules=") (DQ ($ VSub_Name "$_modules"))} {(Lit_VarLike "LIBDIR=") (lib)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(Lit_VarLike "cfg_prefix=") (DQ ($ VSub_Name "$pkgdir"))} {(cfg)} ) (AndOr children: [ (C {(make)} {(Lit_VarLike "EMBEDDED_UTF8_DECODE=") (1)} {(Lit_VarLike "STUN=") (1)} {(all)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [1051] ) spids: [1047 1050] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(make)} {(-j1)} {(install)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/kamailio/kamailio.cfg)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/kamailio/)} ) (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/kamailio.cfg)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/kamailio/kamailio.cfg)} ) (C {(install)} {(-m755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) ($ VSub_Name "$pkgname")} ) (C {(install)} {(-d)} {(-o)} {(kamailio)} {(DQ ($ VSub_Name "$pkgdir")) (/var/run/kamailio)}) ] spids: [1149] ) spids: [1145 1148] ) (FuncDef name: _mv_mod body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:moddir) op: Equal rhs: {(usr/lib/kamailio/modules)} spids: [1258] ) (assign_pair lhs:(LhsName name:i) op:Equal rhs:{(SQ )} spids:[1261]) ] spids: [1256] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/) ($ VSub_Name "$moddir")}) (ForEach iter_name: i iter_words: [{($ VSub_At "$@")}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$moddir") (/) ($ VSub_Name "$i") (.so) } {(DQ ($ VSub_Name "$subpkgdir")) (/) ($ VSub_Name "$moddir") (/)} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [1284 1312] ) spids: [1280 1282] ) ] spids: [1253] ) spids: [1249 1252] ) (FuncDef name: _generic_pkg body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Kamailio ") ($ VSub_Number "$1"))} spids: [1324] ) ] spids: [1324] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname"))} spids: [1331] ) ] spids: [1331] ) (C {(_mv_mod)} {($ VSub_Number "$2")}) ] spids: [1321] ) spids: [1317 1320] ) (FuncDef name: _db_driver body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Database drivers for ") ($ VSub_Number "$1"))} spids: [1352] ) ] spids: [1352] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (" ") ($ VSub_Name "$pkgname") (-db))} spids: [1359] ) ] spids: [1359] ) (AndOr children: [ (C {(_mv_mod)} {(db_) ($ VSub_Number "$2")}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/kamailio)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/kamailio/kamctl)} ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/kamailio/) ($ VSub_Number "$3")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/kamailio/)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/kamailio/kamctl/) (Lit_Other "*") (.) ($ VSub_Number "$4") } {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/kamailio/kamctl/)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [1349] ) spids: [1345 1348] ) (FuncDef name: db body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("modules using a database backend"))} {(DQ ($ VSub_Name "$_mod_list_db"))} ) ] spids: [1450] ) spids: [1446 1449] ) (FuncDef name: postgres body: (BraceGroup children: [(C {(_db_driver)} {(Postgres)} {(postgres)} {(postgres)} {(pgsql)})] spids: [1470] ) spids: [1466 1469] ) (FuncDef name: mysql body: (BraceGroup children: [(C {(_db_driver)} {(Mysql)} {(mysql)} {(mysql)} {(mysql)})] spids: [1490] ) spids: [1486 1489] ) (FuncDef name: sqlite body: (BraceGroup children: [(C {(_db_driver)} {(SQlite)} {(sqlite)} {(db_sqlite)} {(sqlite)})] spids: [1510] ) spids: [1506 1509] ) (FuncDef name: dbtext body: (BraceGroup children: [ (AndOr children: [ (C {(_db_driver)} {(DBText)} {(text)} {(dbtext)} {(dbtext)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$depends"))} spids: [1558] ) ] spids: [1558] ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/kamailio/kamctl)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/kamailio/kamctl/dbtextdb)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/kamailio/kamctl/)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [1530] ) spids: [1526 1529] ) (FuncDef name: cpl body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("CPL (Call Processing Language) interpreter"))} {(DQ ($ VSub_Name "$_mod_list_cpl"))} ) ] spids: [1607] ) spids: [1603 1606] ) (FuncDef name: xml body: (BraceGroup children: [ (AndOr children: [ (C {(_generic_pkg)} {(DQ ("XML related modules: ") ($ VSub_Name "$_mod_list_xml"))} {(DQ ($ VSub_Name "$_mod_list_xml"))} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/kamailio)}) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/kamailio/xhttp_pi)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/kamailio)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/kamailio/)}) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/kamailio/pi_framework.xml)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/kamailio)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [1629] ) spids: [1625 1628] ) (FuncDef name: unixodbc body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Database drivers for unixodbc"))} {(DQ ($ VSub_Name "$_mod_list_unixodbc"))} ) ] spids: [1720] ) spids: [1716 1719] ) (FuncDef name: snmpstats body: (BraceGroup children: [ (AndOr children: [ (C {(_generic_pkg)} {(DQ ("SNMP statistics support"))} {(DQ ($ VSub_Name "$_mod_list_snmpstats"))} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/snmp)}) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$_builddir")) (/src/modules/snmpstats/mibs)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/snmp/)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [1742] ) spids: [1738 1741] ) (FuncDef name: xmpp body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("XMPP (Jabber) gateway"))} {(DQ ($ VSub_Name "$_mod_list_xmpp"))}) ] spids: [1801] ) spids: [1797 1800] ) (FuncDef name: carrierroute body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("carrier grade routing functions"))} {(DQ ($ VSub_Name "$_mod_list_carrierroute"))} ) ] spids: [1823] ) spids: [1819 1822] ) (FuncDef name: ldap body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("LDAP search functions"))} {(DQ ($ VSub_Name "$_mod_list_ldap"))}) ] spids: [1845] ) spids: [1841 1844] ) (FuncDef name: utils body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("miscelaneous utility functions"))} {(DQ ($ VSub_Name "$_mod_list_utils"))} ) ] spids: [1867] ) spids: [1863 1866] ) (FuncDef name: tls body: (BraceGroup children: [(C {(_generic_pkg)} {(DQ ("TLS support"))} {(DQ ($ VSub_Name "$_mod_list_tls"))})] spids: [1889] ) spids: [1885 1888] ) (FuncDef name: presence body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("SIP Notify (Presence) support"))} {(DQ ($ VSub_Name "$_mod_list_presence"))} ) ] spids: [1911] ) spids: [1907 1910] ) (FuncDef name: lua body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Lua script support"))} {(DQ ($ VSub_Name "$_mod_list_lua"))}) ] spids: [1933] ) spids: [1929 1932] ) (FuncDef name: ims body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("IP Multimedia Subsystem (IMS) support"))} {(DQ ($ VSub_Name "$_mod_list_ims"))} ) ] spids: [1955] ) spids: [1951 1954] ) (FuncDef name: outbound body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("RFC 5626 section 5 Outbound support"))} {(DQ ($ VSub_Name "$_mod_list_outbound"))} ) ] spids: [1977] ) spids: [1973 1976] ) (FuncDef name: debugger body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("debugging modules"))} {(DQ ($ VSub_Name "$_mod_list_debugger"))}) ] spids: [1999] ) spids: [1995 1998] ) (FuncDef name: extras body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("extra modules"))} {(DQ ($ VSub_Name "$_mod_list_extras"))}) ] spids: [2021] ) spids: [2017 2020] ) (FuncDef name: websocket body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("websocket support"))} {(DQ ($ VSub_Name "$_mod_list_websocket"))}) ] spids: [2043] ) spids: [2039 2042] ) (FuncDef name: authephemeral body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("auth ephemeral (webrtc)"))} {(DQ ($ VSub_Name "$_mod_list_authephemeral"))} ) ] spids: [2065] ) spids: [2061 2064] ) (FuncDef name: json body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Operations on json strings"))} {(DQ ($ VSub_Name "$_mod_list_json"))} ) ] spids: [2087] ) spids: [2083 2086] ) (FuncDef name: jansson body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Operations on json strings using jansson library"))} {(DQ ($ VSub_Name "$_mod_list_jansson"))} ) ] spids: [2109] ) spids: [2105 2108] ) (FuncDef name: geoip2 body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("MaxMind GeoIP lookup support"))} {(DQ ($ VSub_Name "$_mod_list_geoip2"))} ) ] spids: [2131] ) spids: [2127 2130] ) (FuncDef name: ev body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Network event broadcast API"))} {(DQ ($ VSub_Name "$_mod_list_ev"))} ) ] spids: [2153] ) spids: [2149 2152] ) (FuncDef name: uuid body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("UUID generator using libuuid"))} {(DQ ($ VSub_Name "$_mod_list_uuid"))} ) ] spids: [2175] ) spids: [2171 2174] ) (FuncDef name: memcached body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("memcached support"))} {(DQ ($ VSub_Name "$_mod_list_memcached"))}) ] spids: [2197] ) spids: [2193 2196] ) (FuncDef name: rabbitmq body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("RabbitMQ client for configuration file"))} {(DQ ($ VSub_Name "$_mod_list_rabbitmq"))} ) ] spids: [2219] ) spids: [2215 2218] ) (FuncDef name: jsdt body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Support for executing JavaScript"))} {(DQ ($ VSub_Name "$_mod_list_jsdt"))} ) ] spids: [2241] ) spids: [2237 2240] ) (FuncDef name: redis body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Redis NoSQL support"))} {(DQ ($ VSub_Name "$_mod_list_redis"))}) ] spids: [2264] ) spids: [2260 2263] ) (FuncDef name: http_async body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Asynchronous HTTP queries support"))} {(DQ ($ VSub_Name "$_mod_list_http_async"))} ) ] spids: [2286] ) spids: [2282 2285] ) (FuncDef name: kazoo body: (BraceGroup children: [ (C {(_generic_pkg)} {(DQ ("Kazoo VoIP platform support"))} {(DQ ($ VSub_Name "$_mod_list_kazoo"))} ) ] spids: [2308] ) spids: [2304 2307] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "d2bd320edb9612006277979f96079c8a01b8fef3774af5847aab78529dbe61880be6a4e596af1ce6c67fa34142a0f200e7728ff3a725691f081fccd51cd11f16 kamailio-5.0.2_src.tar.gz\n" ) ( "6badfb611c02ffcb4c2e9937731162ea1a4b737f042ed52120e2f96ebb80b5b7d240b5612c9ca565e693eec9b8c52c1ee5db04dfc47d204501021f984b4b11db 0001-kamdbctl.base.patch\n" ) ( "e60e8d41e55008f0473e4d645af3b43f2bc097e341bb3bb81daec8bc47abcd6d037cbb56082675c24ffb1c50b2eb93e3c4fc50b0dc2df9cdfe4f28ad7b9fbf9e 0002-remove-spurious-execinfo.patch\n" ) ( "84b8645e551a41737863085dad6c2c865e60bbe505bfdf750dec530cdd0501025a69e60a48b54971f0d0daaf5f52d1cc0aa8d275395f5c110a3563bb269bb6df 0003-src_modules_tls_tls_init_c.patch\n" ) ( "af8362201957eae6b66baf7368c9ca884024209a396d77c5c52180c9aabe13772e9c6513e59721d39503e5bb7a8c1030f5c10301ea9055bddafb7f01ee2f3076 0004-src_core_tcp_read_c.patch\n" ) ( "c1abf69b48847dc8c7ab0d11ef9adb531aa4635f9d44db6933981edc5a47df374664fb24867b19aa64abbcc9777bf1cd0360d9aea54e27b081065928c61e0f0b kamailio.cfg\n" ) ( "cd6e3b677d803cd78561ad14d9b2589fd35ad0096f48047fdcb4ddc7d9103871357efba3b350946844cb53dbb081210746421fc420c22ac845b90251168a628e kamailio.initd" ) ) } spids: [2327] ) ] spids: [2327] ) ] )