v3.1.1: initial commit
- archlinux: PKGBUILD - systemd: services - systemd: tmpfiles.d Signed-off-by: Ralf Zerres <ralf.zerres@networkx.de>
This commit is contained in:
35
INSTALL.archlinux
Normal file
35
INSTALL.archlinux
Normal file
@@ -0,0 +1,35 @@
|
||||
archlinux specific
|
||||
-------------------
|
||||
|
||||
|
||||
Structure
|
||||
---------
|
||||
|
||||
OpenSIPS suite is build as a modular system.
|
||||
This packages just includes the core functionality and the parser.
|
||||
|
||||
All sophisticated SIP packet handling is provided through dedicated modules and its usage will vary
|
||||
in every installation. Please select and install from the supported 'opensips-modules' packages and adapt
|
||||
the configuration to your individual needs.
|
||||
You are encouraged to make use of your prefered database. Interaction will be provided via the corresponding
|
||||
opensip-module-<database> package. This package will in turn pull in the dependend base packages.
|
||||
|
||||
The complete documentation is provided via the 'opensips-documentation' package.
|
||||
Beside html-, and text files you will find example configurations explaining the integration of available modules.
|
||||
|
||||
Since version 3.0 OpenSIPS is managed either via a python commandline tool 'opensips-cli'
|
||||
or via the web-frontend 'opensips-cp'. Both packages may be installed side by side.
|
||||
|
||||
|
||||
Database preparation
|
||||
--------------------
|
||||
|
||||
To create a the table structure for an 'opensips' database, following actions need to be performed:
|
||||
|
||||
1) install the prefered database backend
|
||||
eg for MySQL: 'pacman -S opensips-module-mysql'
|
||||
eg for PostgreSQL: 'pacman -S opensips-module-postgresql'
|
||||
eg for SQlite: 'pacman -S opensips-module-sqlite'
|
||||
2) adapt the default configruation file (/etc/opensip/opensip-cli.conf)
|
||||
3) create database 'opensips'
|
||||
'opensips-cli -x database create'
|
||||
641
PKGBUILD
Normal file
641
PKGBUILD
Normal file
@@ -0,0 +1,641 @@
|
||||
# vim:set ts=8 sw=8 et:
|
||||
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
|
||||
# Contributor: Ralf Zerres <ralf.zerres@networkx.de>
|
||||
|
||||
pkgbase=opensips
|
||||
pkgname=('opensips' 'opensips-modules'
|
||||
'opensips-module-b2bua' 'opensips-module-cpl' 'opensips-module-presence'
|
||||
'opensips-module-berkeley' 'opensips-module-http' 'opensips-module-mysql'
|
||||
'opensips-module-perlvdb' 'opensips-module-postgresql'
|
||||
'opensips-module-sqlite' 'opensips-module-unixodbc' 'opensips-module-text'
|
||||
'opensips-module-virtual' 'opensips-module-cachedb'
|
||||
'opensips-documentation')
|
||||
|
||||
pkgver=3.1.1
|
||||
pkgrel=1
|
||||
pkgdesc="An Open Source SIP Server able to act as a SIP proxy, registrar, location server, redirect server ..."
|
||||
url="https://www.opensips.org"
|
||||
depends=('attr' 'db' 'gcc-libs' 'libxml2' 'openssl')
|
||||
makedepends=(
|
||||
'bison'
|
||||
'confuse'
|
||||
'doxygen' 'docbook-sgml' 'docbook-utils' 'docbook-xml'
|
||||
'expat'
|
||||
'flex'
|
||||
'hiredis'
|
||||
'geoip'
|
||||
'json-c'
|
||||
'freeradius'
|
||||
'libldap>=2.4.18' 'libmariadbclient' 'libmemcached' 'libmicrohttpd'
|
||||
'librabbitmq-c' 'libtap-git' 'libutf8proc' 'libuv' 'libxslt'
|
||||
'lksctp-tools'
|
||||
'lua>=5.1'
|
||||
'lynx'
|
||||
'mongo-c-driver'
|
||||
'net-snmp'
|
||||
'osptoolkit'
|
||||
'postgresql-libs>=8.4.1'
|
||||
'radcli'
|
||||
'thrift' 'unixodbc' 'xmlrpc-c' 'zlib'
|
||||
)
|
||||
checkdepends=('expat' 'libtap-git')
|
||||
arch=('x86_64' 'armv7')
|
||||
license=('GPL')
|
||||
options=('!emptydirs' 'zipman' '!makeflags' 'docs')
|
||||
source=("${pkgbase%%-*}-${pkgver}::https://github.com/OpenSIPS/opensips/archive/${pkgver}.tar.gz"
|
||||
usr_lib_systemd_system_opensips.service
|
||||
usr_lib_tmpfiles.d_opensips.conf)
|
||||
sha256sums=('a4bc1f144af12e6e0984c5886a54b96ef203ea2a4b58df3701f8eadc795d083a'
|
||||
'c2fec4be085b108db10834fa9832e98d696c2de6408f85f96cf89c13bf6be819'
|
||||
'ee2baa9bc7b7fb1612b3eeffb9f8d23abdde20b2154d0756f3351344e4e75b7d')
|
||||
changelog="$pkgname.changelog"
|
||||
validpgpkeys=( # Ralf Zerres (Package Signing)
|
||||
'1EC4BE4FF2A6C9F4DDDF30F33C5F485DBD250D66'
|
||||
)
|
||||
|
||||
# Database modules
|
||||
modules_http=('modules/db_http')
|
||||
modules_oracle=('modules/db_oracle')
|
||||
modules_mysql=('modules/db_mysql')
|
||||
modules_perlvdb=('modules/db_perlvdb')
|
||||
modules_postgresql=('modules/db_postgres')
|
||||
modules_sqlite=('modules/db_sqlite')
|
||||
modules_text=('modules/db_text')
|
||||
modules_unixodbc=('modules/db_unixodbc')
|
||||
modules_virtual=('modules/db_virtual')
|
||||
|
||||
modules_cachedb=('cachedb_cassandra'
|
||||
#'cachedb_couchbase'
|
||||
'cachedb_local' 'cachedb_memcached'
|
||||
'cachedb_mongodb' 'cachedb_redis' 'cachedb_sql')
|
||||
|
||||
# Commandline parser modules
|
||||
modules_cpl=('cpl_c')
|
||||
|
||||
# Application specific modules
|
||||
modules_b2bua=('b2b_entities' 'b2b_logic' 'b2b_sca')
|
||||
modules_presence=('presence' 'presence_callinfo' 'presence_dfks'
|
||||
'presence_dialoginfo' 'presence_mwi'
|
||||
'presence_xcapdiff' 'presence_xml'
|
||||
'pua' 'pua_bla' 'pua_dialoginfo' 'pua_mi'
|
||||
'pua_usrloc' 'pua_xmpp')
|
||||
|
||||
# General purpose modules
|
||||
modules_base=('aaa_radius'
|
||||
'acc'
|
||||
'alias_db'
|
||||
'auth' 'auth_aaa' 'auth_db' 'auth_jwt'
|
||||
'avpops'
|
||||
'benchmark'
|
||||
'call_center' 'call_control' 'callops'
|
||||
'carrierroute'
|
||||
'cfgutils'
|
||||
'cgrates'
|
||||
'cluster'
|
||||
'compression'
|
||||
'dialog'
|
||||
'dialplan'
|
||||
'dispatcher'
|
||||
'diversion'
|
||||
'dns_cache'
|
||||
'domain'
|
||||
'domainpolicy'
|
||||
'drouting'
|
||||
'emergency'
|
||||
'enum'
|
||||
'event_datagram' 'event_flatstore' 'event_rabbitmq' 'event_route'
|
||||
'event_routing' 'event_stream' 'event_virtual' 'event_xmlrpc'
|
||||
'exec'
|
||||
'fraud_detection'
|
||||
'freeswitch' 'freeswitch_scripting'
|
||||
'gflags'
|
||||
'group'
|
||||
'h350'
|
||||
'identity'
|
||||
'imc'
|
||||
'jabber'
|
||||
'json' 'jsonrpc'
|
||||
'ldap'
|
||||
'load_balancer'
|
||||
'lua'
|
||||
'mangler'
|
||||
'mahops'
|
||||
'maxfwd'
|
||||
'media_exchange'
|
||||
'mediaproxy'
|
||||
'mid_registrar'
|
||||
'mi_datagram' 'mi_fifo' 'mi_html' 'mi_http' ' mi_xmlrpc_ng'
|
||||
'mmgeoip'
|
||||
'msilo'
|
||||
'nathelper'
|
||||
'nat_traversal'
|
||||
'options'
|
||||
'path'
|
||||
'peering'
|
||||
'perl'
|
||||
'permissions'
|
||||
'pi_http'
|
||||
'pike'
|
||||
'proto_bin' 'proto_hep' 'proto_sctp' 'proto_smpp' 'proto_tls' 'proto_ws' 'proto_wss'
|
||||
'python'
|
||||
'qos' 'qrouting'
|
||||
'rabbitmq' 'rabbitmq_consumer'
|
||||
'rate_cacher' 'ratelimit'
|
||||
'regex'
|
||||
'registrar'
|
||||
'rest_client'
|
||||
'rls'
|
||||
'rr'
|
||||
'rtpengine' 'rtpproxy'
|
||||
'script_helper'
|
||||
'signaling'
|
||||
'sipcapture'
|
||||
'sip_i' 'sipmsgops' 'siprec'
|
||||
'sl'
|
||||
#'sngtc'
|
||||
'snmpstats'
|
||||
'speeddial'
|
||||
'sql_cacher'
|
||||
'sst'
|
||||
'statistics'
|
||||
'stir_shaken'
|
||||
'stun'
|
||||
'textops'
|
||||
'tls_mgm'
|
||||
'tm'
|
||||
'topology_hiding'
|
||||
'tracer'
|
||||
'uac' 'uac_auth' 'uac_redirect' 'uac_registrant'
|
||||
'userblacklist' 'usrloc'
|
||||
'uuid'
|
||||
'xcap' 'xcap_client'
|
||||
'xml'
|
||||
'xmpp')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
if [ -h "$srcdir"/Makefile.conf.template ]; then
|
||||
msg2 "preset Makefile.conf template"
|
||||
test ! -f Makefile.conf.template.orig &&
|
||||
mv Makefile.conf.template Makefile.conf.template.orig
|
||||
cp "$srcdir"/Makefile.conf.template Makefile.conf.template
|
||||
fi
|
||||
|
||||
# since 3.0 use upstream file
|
||||
#cp "$srcdir"/Makefile.defs Makefile.defs
|
||||
|
||||
if [ ! -f .makepkg-patched ]; then
|
||||
if [ ! -d ./.git ]; then
|
||||
msg2 "patching: create orphan git repository"
|
||||
git init -b opensips-${pkgver}
|
||||
git checkout --orphan ${pkgbase%%-*}-${pkgver}
|
||||
msg2 "patching: create commits corresponding to version ${pkgver}"
|
||||
git add -A
|
||||
git commit -m "opensips ${pkgver}"
|
||||
|
||||
fi
|
||||
cp ../../rabbitmq_consumer.xml modules/rabbitmq_consumer/doc/rabbitmq_consumer.xml
|
||||
git add modules/rabbitmq_consumer/doc/rabbitmq_consumer.xml
|
||||
git commit -am "rabbitmq_consumer.xml"
|
||||
#git add Makefile.defs
|
||||
#git commit -am "opensips-${pkgver}: Makefile.defs"
|
||||
if [ -d ../../patches-git-${pkgver} ]; then
|
||||
git am --signoff ../../patches-git-${pkgver}/0001-packaging-Arch-Linux-update-search-path-for-docbook.patch
|
||||
fi
|
||||
msg2 " patching [done]"
|
||||
touch .makepkg-patched
|
||||
#echo " -> no patches for branch '${_branch}' needed"
|
||||
fi
|
||||
|
||||
if [ ! -f "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/INSTALL.archlinux" ]; then
|
||||
cp ../../INSTALL.archlinux "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/INSTALL.archlinux"
|
||||
fi
|
||||
|
||||
#msg2 "ensure python2 usage (<=v3.0)"
|
||||
#for file in $(find . -name '*.py' -print); do
|
||||
# sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
|
||||
# sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
|
||||
#done
|
||||
|
||||
msg2 "ensure binaries live in /bin and /usr/bin"
|
||||
sed -i 's|sbin|bin|g' Makefile
|
||||
sed -i 's|bin-dir = sbin/|bin-dir = bin/|' Makefile.defs
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
#FASTER=1
|
||||
make -j$(nproc) \
|
||||
#include_modules="${_modules}" \
|
||||
LIBDIR=lib \
|
||||
PREFIX=/usr \
|
||||
skip_modules="cachedb_couchbase db_oracle sngtc"
|
||||
}
|
||||
|
||||
package_opensips() {
|
||||
pkgdesc="A very fast and flexible SIP Server (RFC3261, stable version)"
|
||||
|
||||
depends=(
|
||||
'confuse' 'geoip' 'json-c'
|
||||
'libtap-git' 'libuv' 'libxslt'
|
||||
'lksctp-tools')
|
||||
optdepends=(
|
||||
'cassandra-cpp-driver: cassandra C++ support'
|
||||
'curl: curl support'
|
||||
'confuse: confuse support'
|
||||
'lksctp-tools: sctp support'
|
||||
'lynx: text browser support'
|
||||
'hiredis: HiRedis support'
|
||||
'libldap: LDAP support'
|
||||
'libmariadbclient: Maria DB support'
|
||||
'libmaxminddb: MaxMin DB support'
|
||||
'libmemcached: Memory caching support'
|
||||
'libmicrohttpd: Inline HTTPD support'
|
||||
'librabbitmq-c: Rabbitmq C support'
|
||||
'libsasl: SASL authentication support'
|
||||
'libutf8proc: UTF8 processing support'
|
||||
'lua: LUA scripting support'
|
||||
'mariadb-libs: Maria-DB support'
|
||||
'mongo-c-driver: C-Interface for Mongo-DB support'
|
||||
'net-snmp: SNMP support'
|
||||
'osptoolkit: OSP Toolkit support'
|
||||
'pcre: Perl Regular-Expression support'
|
||||
'perl: Perl support'
|
||||
'postgresql-libs: PostgreSQL-DB support'
|
||||
'python2: Python v2 support'
|
||||
'radcli: RAD commandline support'
|
||||
'rabbitmq: Rabbit CacheMemory support'
|
||||
'thrift: Thrift support'
|
||||
'unixodbc: UNIX ODBC support')
|
||||
install=opensips.install
|
||||
|
||||
provides=("opensips=${pkgver}")
|
||||
conflicts=('opensips-git')
|
||||
|
||||
_components=('opensips')
|
||||
backup=(
|
||||
"etc/opensips/opensips.cfg"
|
||||
"etc/opensips/regex_groups.cfg"
|
||||
)
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
# install app only, excluding console, modules and modules docs
|
||||
for _cmp in ${_components[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
install-app
|
||||
|
||||
# Conforms to the arch packaging standards (https://wiki.archlinux.org/index.php/Arch_Packaging_Standards)
|
||||
mkdir -p "$pkgdir"/etc/
|
||||
mv "$pkgdir"/usr/etc/opensips/ "$pkgdir"/etc/
|
||||
sed -i 's#mpath=".*lib/opensips/modules/"#mpath="/usr/lib/opensips/modules/"#' "$pkgdir"/etc/opensips/opensips.cfg
|
||||
|
||||
# fix bad paths
|
||||
cd "$pkgdir"/usr/share
|
||||
find -type f -exec sed -i "s#"$pkgdir"##" {} \;
|
||||
|
||||
mv "$pkgdir"/usr/sbin "$pkgdir"/usr/bin
|
||||
|
||||
cd "$pkgdir"/etc
|
||||
find -type f -exec sed -i "s#"$pkgdir"##" {} \;
|
||||
|
||||
# python2 is being used
|
||||
#cd "$pkgdir"
|
||||
#grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done
|
||||
|
||||
# Systemd files
|
||||
install -Dm0644 "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/${pkgname}.service" "$pkgdir"/usr/lib/systemd/system/${pkgname}.service
|
||||
install -Dm0644 "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/${pkgname}.tmpfiles.conf" "$pkgdir"/usr/lib/tmpfiles.d/${pkgname}.conf
|
||||
if [ -f "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/INSTALL.archlinux" ]; then
|
||||
install -Dm0644 "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/INSTALL.archlinux" "$pkgdir"/usr/share/doc/${pkgname}/INSTALL.archlinux
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# base modules
|
||||
package_opensips-modules() {
|
||||
pkgdesc="A fast and flexible SIP Server - base modules (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules=${pkgver}")
|
||||
conflicts=('opensips-modules-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
# install app only, excluding console, modules and modules docs
|
||||
for _module in ${modules_base[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/${_module} \
|
||||
install-modules
|
||||
done
|
||||
}
|
||||
|
||||
# Application specific modules
|
||||
package_opensips-module-b2bua() {
|
||||
pkgdesc="A fast and flexible SIP Server - B2B User-Agent modules (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-b2bua=${pkgver}")
|
||||
conflicts=('opensips-modules-b2bua-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
for _module in ${modules_b2bua[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/${_module} \
|
||||
install-modules
|
||||
done
|
||||
}
|
||||
|
||||
package_opensips-module-cpl() {
|
||||
pkgdesc="A fast and flexible SIP Server - Call Processing Language module (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-cpl=${pkgver}")
|
||||
conflicts=('opensips-modules-cpl-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/$modules_cpl \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-presence() {
|
||||
pkgdesc="A fast and flexible SIP Server - Presence handling modules (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-presence=${pkgver}")
|
||||
conflicts=('opensips-modules-presence-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
for _module in ${modules_presence[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/${_module} \
|
||||
install-modules
|
||||
done
|
||||
}
|
||||
|
||||
# Database modules
|
||||
package_opensips-module-berkeley() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module Berkeley (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-berkeley=${pkgver}")
|
||||
conflicts=('opensips-modules-berkeley-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_berkeley" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-flatstore() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module Flatstore (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-flatstore=${pkgver}")
|
||||
conflicts=('opensips-modules-flatstore-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_flatstore" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-http() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module HTTP (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-http=${pkgver}")
|
||||
conflicts=('opensips-modules-http-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_http" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-mysql() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module MySQL (stable version)"
|
||||
depends=('opensips' 'mariadb')
|
||||
provides=("opensips-modules-mysql=${pkgver}")
|
||||
conflicts=('opensips-modules-mysql-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_mysql" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-oracle() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module Oracle (stable version)"
|
||||
depends=('opensips' 'oracle')
|
||||
provides=("opensips-modules-oracle=${pkgver}")
|
||||
conflicts=('opensips-modules-oracle-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_oracle" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-perlvdb() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module Perl virtual DB (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-perlvdb=${pkgver}")
|
||||
conflicts=('opensips-modules-perlvdb-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_perlvdb" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-postgresql() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module PostgreSQL (stable version)"
|
||||
depends=('opensips' 'postgresql')
|
||||
provides=("opensips-modules-postgresql=${pkgver}")
|
||||
conflicts=('opensips-modules-postgresql-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_postgresql" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-sqlite() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module SQlite (stable version)"
|
||||
depends=('opensips' 'sqlite')
|
||||
provides=("opensips-modules-sqlite=${pkgver}")
|
||||
conflicts=('opensips-modules-sqlite-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_sqlite" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-unixodbc() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module UnixODBC (stable version)"
|
||||
depends=('opensips' 'unixodbc')
|
||||
provides=("opensips-modules-mysql=${pkgver}")
|
||||
conflicts=('opensips-modules-mysql-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_unixodbc" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-text() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module text (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-text=${pkgver}")
|
||||
conflicts=('opensips-modules-text-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_text" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-virtual() {
|
||||
pkgdesc="A fast and flexible SIP Server - virtual database module (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-virtual=${pkgver}")
|
||||
conflicts=('opensips-modules-virtual-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_virtual" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-cachedb() {
|
||||
pkgdesc="A fast and flexible SIP Server - database modules for caching (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-cachedb=${pkgver}")
|
||||
conflicts=('opensips-modules-cachedb-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
for _module in ${modules_cachedb[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/${_module} \
|
||||
install-modules
|
||||
#skip_modules="cachedb_couchbase"
|
||||
done
|
||||
}
|
||||
|
||||
# Offline documentation
|
||||
package_opensips-documentation() {
|
||||
pkgdesc="A fast and flexible SIP Server - documentation (stable version)"
|
||||
suggests=('opensips')
|
||||
provides=("opensips-documentation=${pkgver}")
|
||||
conflicts=('opensips-documentation-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
msg2 "create documentation targets"
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
doxygen modules-docbook-html
|
||||
# modules-docbook-pdf \
|
||||
#dbschema-docbook-html dbschema-docbook-pdf \
|
||||
#modules-readme
|
||||
|
||||
msg2 "install documentation targets"
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
install-doc \
|
||||
install-modules-docbook
|
||||
|
||||
msg2 " ... text files"
|
||||
DOC_DIR="$pkgdir/usr/share/doc/${pkgbase%%-*}"
|
||||
if [ -d "$DOC_DIR/txt" ]; then
|
||||
mkdir -p "$DOC_DIR/txt"
|
||||
chmod 0755 "$DOC_DIR/txt"
|
||||
mv --recursive $DOC_DIR/README.* "$DOC_DIR/txt"
|
||||
chmod --recursive 0644 "$DOC_DIR/txt"
|
||||
fi
|
||||
|
||||
msg2 " ... html documents"
|
||||
DOC_DIR="$pkgdir/usr/share/doc/${pkgbase%%-*}"
|
||||
if [ -d "$DOC_DIR/html" ]; then
|
||||
mkdir -p "$DOC_DIR/html"
|
||||
chmod 0755 "$DOC_DIR/html"
|
||||
mv --recursive $DOC_DIR/*.html "$DOC_DIR/html"
|
||||
chmod --recursive 0644 "$DOC_DIR/html"
|
||||
fi
|
||||
|
||||
msg2 " ... examples"
|
||||
DOC_DIR="$pkgdir/usr/share/doc/${pkgbase%%-*}"
|
||||
if [ -d ./examples ]; then
|
||||
mkdir -p "$DOC_DIR"
|
||||
cp --recursive ./examples "$DOC_DIR"
|
||||
chmod --recursive 0644 "$DOC_DIR"
|
||||
fi
|
||||
}
|
||||
641
PKGBUILD-3.1.1
Normal file
641
PKGBUILD-3.1.1
Normal file
@@ -0,0 +1,641 @@
|
||||
# vim:set ts=8 sw=8 et:
|
||||
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
|
||||
# Contributor: Ralf Zerres <ralf.zerres@networkx.de>
|
||||
|
||||
pkgbase=opensips
|
||||
pkgname=('opensips' 'opensips-modules'
|
||||
'opensips-module-b2bua' 'opensips-module-cpl' 'opensips-module-presence'
|
||||
'opensips-module-berkeley' 'opensips-module-http' 'opensips-module-mysql'
|
||||
'opensips-module-perlvdb' 'opensips-module-postgresql'
|
||||
'opensips-module-sqlite' 'opensips-module-unixodbc' 'opensips-module-text'
|
||||
'opensips-module-virtual' 'opensips-module-cachedb'
|
||||
'opensips-documentation')
|
||||
|
||||
pkgver=3.1.1
|
||||
pkgrel=1
|
||||
pkgdesc="An Open Source SIP Server able to act as a SIP proxy, registrar, location server, redirect server ..."
|
||||
url="https://www.opensips.org"
|
||||
depends=('attr' 'db' 'gcc-libs' 'libxml2' 'openssl')
|
||||
makedepends=(
|
||||
'bison'
|
||||
'confuse'
|
||||
'doxygen' 'docbook-sgml' 'docbook-utils' 'docbook-xml'
|
||||
'expat'
|
||||
'flex'
|
||||
'hiredis'
|
||||
'geoip'
|
||||
'json-c'
|
||||
'freeradius'
|
||||
'libldap>=2.4.18' 'libmariadbclient' 'libmemcached' 'libmicrohttpd'
|
||||
'librabbitmq-c' 'libtap-git' 'libutf8proc' 'libuv' 'libxslt'
|
||||
'lksctp-tools'
|
||||
'lua>=5.1'
|
||||
'lynx'
|
||||
'mongo-c-driver'
|
||||
'net-snmp'
|
||||
'osptoolkit'
|
||||
'postgresql-libs>=8.4.1'
|
||||
'radcli'
|
||||
'thrift' 'unixodbc' 'xmlrpc-c' 'zlib'
|
||||
)
|
||||
checkdepends=('expat' 'libtap-git')
|
||||
arch=('x86_64' 'armv7')
|
||||
license=('GPL')
|
||||
options=('!emptydirs' 'zipman' '!makeflags' 'docs')
|
||||
source=("${pkgbase%%-*}-${pkgver}::https://github.com/OpenSIPS/opensips/archive/${pkgver}.tar.gz"
|
||||
usr_lib_systemd_system_opensips.service
|
||||
usr_lib_tmpfiles.d_opensips.conf)
|
||||
sha256sums=('a4bc1f144af12e6e0984c5886a54b96ef203ea2a4b58df3701f8eadc795d083a'
|
||||
'c2fec4be085b108db10834fa9832e98d696c2de6408f85f96cf89c13bf6be819'
|
||||
'ee2baa9bc7b7fb1612b3eeffb9f8d23abdde20b2154d0756f3351344e4e75b7d')
|
||||
changelog="$pkgname.changelog"
|
||||
validpgpkeys=( # Ralf Zerres (Package Signing)
|
||||
'1EC4BE4FF2A6C9F4DDDF30F33C5F485DBD250D66'
|
||||
)
|
||||
|
||||
# Database modules
|
||||
modules_http=('modules/db_http')
|
||||
modules_oracle=('modules/db_oracle')
|
||||
modules_mysql=('modules/db_mysql')
|
||||
modules_perlvdb=('modules/db_perlvdb')
|
||||
modules_postgresql=('modules/db_postgres')
|
||||
modules_sqlite=('modules/db_sqlite')
|
||||
modules_text=('modules/db_text')
|
||||
modules_unixodbc=('modules/db_unixodbc')
|
||||
modules_virtual=('modules/db_virtual')
|
||||
|
||||
modules_cachedb=('cachedb_cassandra'
|
||||
#'cachedb_couchbase'
|
||||
'cachedb_local' 'cachedb_memcached'
|
||||
'cachedb_mongodb' 'cachedb_redis' 'cachedb_sql')
|
||||
|
||||
# Commandline parser modules
|
||||
modules_cpl=('cpl_c')
|
||||
|
||||
# Application specific modules
|
||||
modules_b2bua=('b2b_entities' 'b2b_logic' 'b2b_sca')
|
||||
modules_presence=('presence' 'presence_callinfo' 'presence_dfks'
|
||||
'presence_dialoginfo' 'presence_mwi'
|
||||
'presence_xcapdiff' 'presence_xml'
|
||||
'pua' 'pua_bla' 'pua_dialoginfo' 'pua_mi'
|
||||
'pua_usrloc' 'pua_xmpp')
|
||||
|
||||
# General purpose modules
|
||||
modules_base=('aaa_radius'
|
||||
'acc'
|
||||
'alias_db'
|
||||
'auth' 'auth_aaa' 'auth_db' 'auth_jwt'
|
||||
'avpops'
|
||||
'benchmark'
|
||||
'call_center' 'call_control' 'callops'
|
||||
'carrierroute'
|
||||
'cfgutils'
|
||||
'cgrates'
|
||||
'cluster'
|
||||
'compression'
|
||||
'dialog'
|
||||
'dialplan'
|
||||
'dispatcher'
|
||||
'diversion'
|
||||
'dns_cache'
|
||||
'domain'
|
||||
'domainpolicy'
|
||||
'drouting'
|
||||
'emergency'
|
||||
'enum'
|
||||
'event_datagram' 'event_flatstore' 'event_rabbitmq' 'event_route'
|
||||
'event_routing' 'event_stream' 'event_virtual' 'event_xmlrpc'
|
||||
'exec'
|
||||
'fraud_detection'
|
||||
'freeswitch' 'freeswitch_scripting'
|
||||
'gflags'
|
||||
'group'
|
||||
'h350'
|
||||
'identity'
|
||||
'imc'
|
||||
'jabber'
|
||||
'json' 'jsonrpc'
|
||||
'ldap'
|
||||
'load_balancer'
|
||||
'lua'
|
||||
'mangler'
|
||||
'mahops'
|
||||
'maxfwd'
|
||||
'media_exchange'
|
||||
'mediaproxy'
|
||||
'mid_registrar'
|
||||
'mi_datagram' 'mi_fifo' 'mi_html' 'mi_http' ' mi_xmlrpc_ng'
|
||||
'mmgeoip'
|
||||
'msilo'
|
||||
'nathelper'
|
||||
'nat_traversal'
|
||||
'options'
|
||||
'path'
|
||||
'peering'
|
||||
'perl'
|
||||
'permissions'
|
||||
'pi_http'
|
||||
'pike'
|
||||
'proto_bin' 'proto_hep' 'proto_sctp' 'proto_smpp' 'proto_tls' 'proto_ws' 'proto_wss'
|
||||
'python'
|
||||
'qos' 'qrouting'
|
||||
'rabbitmq' 'rabbitmq_consumer'
|
||||
'rate_cacher' 'ratelimit'
|
||||
'regex'
|
||||
'registrar'
|
||||
'rest_client'
|
||||
'rls'
|
||||
'rr'
|
||||
'rtpengine' 'rtpproxy'
|
||||
'script_helper'
|
||||
'signaling'
|
||||
'sipcapture'
|
||||
'sip_i' 'sipmsgops' 'siprec'
|
||||
'sl'
|
||||
#'sngtc'
|
||||
'snmpstats'
|
||||
'speeddial'
|
||||
'sql_cacher'
|
||||
'sst'
|
||||
'statistics'
|
||||
'stir_shaken'
|
||||
'stun'
|
||||
'textops'
|
||||
'tls_mgm'
|
||||
'tm'
|
||||
'topology_hiding'
|
||||
'tracer'
|
||||
'uac' 'uac_auth' 'uac_redirect' 'uac_registrant'
|
||||
'userblacklist' 'usrloc'
|
||||
'uuid'
|
||||
'xcap' 'xcap_client'
|
||||
'xml'
|
||||
'xmpp')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
if [ -h "$srcdir"/Makefile.conf.template ]; then
|
||||
msg2 "preset Makefile.conf template"
|
||||
test ! -f Makefile.conf.template.orig &&
|
||||
mv Makefile.conf.template Makefile.conf.template.orig
|
||||
cp "$srcdir"/Makefile.conf.template Makefile.conf.template
|
||||
fi
|
||||
|
||||
# since 3.0 use upstream file
|
||||
#cp "$srcdir"/Makefile.defs Makefile.defs
|
||||
|
||||
if [ ! -f .makepkg-patched ]; then
|
||||
if [ ! -d ./.git ]; then
|
||||
msg2 "patching: create orphan git repository"
|
||||
git init -b opensips-${pkgver}
|
||||
git checkout --orphan ${pkgbase%%-*}-${pkgver}
|
||||
msg2 "patching: create commits corresponding to version ${pkgver}"
|
||||
git add -A
|
||||
git commit -m "opensips ${pkgver}"
|
||||
|
||||
fi
|
||||
cp ../../rabbitmq_consumer.xml modules/rabbitmq_consumer/doc/rabbitmq_consumer.xml
|
||||
git add modules/rabbitmq_consumer/doc/rabbitmq_consumer.xml
|
||||
git commit -am "rabbitmq_consumer.xml"
|
||||
#git add Makefile.defs
|
||||
#git commit -am "opensips-${pkgver}: Makefile.defs"
|
||||
if [ -d ../../patches-git-${pkgver} ]; then
|
||||
git am --signoff ../../patches-git-${pkgver}/0001-packaging-Arch-Linux-update-search-path-for-docbook.patch
|
||||
fi
|
||||
msg2 " patching [done]"
|
||||
touch .makepkg-patched
|
||||
#echo " -> no patches for branch '${_branch}' needed"
|
||||
fi
|
||||
|
||||
if [ ! -f "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/INSTALL.archlinux" ]; then
|
||||
cp ../../INSTALL.archlinux "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/INSTALL.archlinux"
|
||||
fi
|
||||
|
||||
#msg2 "ensure python2 usage (<=v3.0)"
|
||||
#for file in $(find . -name '*.py' -print); do
|
||||
# sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
|
||||
# sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
|
||||
#done
|
||||
|
||||
msg2 "ensure binaries live in /bin and /usr/bin"
|
||||
sed -i 's|sbin|bin|g' Makefile
|
||||
sed -i 's|bin-dir = sbin/|bin-dir = bin/|' Makefile.defs
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
#FASTER=1
|
||||
make -j$(nproc) \
|
||||
#include_modules="${_modules}" \
|
||||
LIBDIR=lib \
|
||||
PREFIX=/usr \
|
||||
skip_modules="cachedb_couchbase db_oracle sngtc"
|
||||
}
|
||||
|
||||
package_opensips() {
|
||||
pkgdesc="A very fast and flexible SIP Server (RFC3261, stable version)"
|
||||
|
||||
depends=(
|
||||
'confuse' 'geoip' 'json-c'
|
||||
'libtap-git' 'libuv' 'libxslt'
|
||||
'lksctp-tools')
|
||||
optdepends=(
|
||||
'cassandra-cpp-driver: cassandra C++ support'
|
||||
'curl: curl support'
|
||||
'confuse: confuse support'
|
||||
'lksctp-tools: sctp support'
|
||||
'lynx: text browser support'
|
||||
'hiredis: HiRedis support'
|
||||
'libldap: LDAP support'
|
||||
'libmariadbclient: Maria DB support'
|
||||
'libmaxminddb: MaxMin DB support'
|
||||
'libmemcached: Memory caching support'
|
||||
'libmicrohttpd: Inline HTTPD support'
|
||||
'librabbitmq-c: Rabbitmq C support'
|
||||
'libsasl: SASL authentication support'
|
||||
'libutf8proc: UTF8 processing support'
|
||||
'lua: LUA scripting support'
|
||||
'mariadb-libs: Maria-DB support'
|
||||
'mongo-c-driver: C-Interface for Mongo-DB support'
|
||||
'net-snmp: SNMP support'
|
||||
'osptoolkit: OSP Toolkit support'
|
||||
'pcre: Perl Regular-Expression support'
|
||||
'perl: Perl support'
|
||||
'postgresql-libs: PostgreSQL-DB support'
|
||||
'python2: Python v2 support'
|
||||
'radcli: RAD commandline support'
|
||||
'rabbitmq: Rabbit CacheMemory support'
|
||||
'thrift: Thrift support'
|
||||
'unixodbc: UNIX ODBC support')
|
||||
install=opensips.install
|
||||
|
||||
provides=("opensips=${pkgver}")
|
||||
conflicts=('opensips-git')
|
||||
|
||||
_components=('opensips')
|
||||
backup=(
|
||||
"etc/opensips/opensips.cfg"
|
||||
"etc/opensips/regex_groups.cfg"
|
||||
)
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
# install app only, excluding console, modules and modules docs
|
||||
for _cmp in ${_components[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
install-app
|
||||
|
||||
# Conforms to the arch packaging standards (https://wiki.archlinux.org/index.php/Arch_Packaging_Standards)
|
||||
mkdir -p "$pkgdir"/etc/
|
||||
mv "$pkgdir"/usr/etc/opensips/ "$pkgdir"/etc/
|
||||
sed -i 's#mpath=".*lib/opensips/modules/"#mpath="/usr/lib/opensips/modules/"#' "$pkgdir"/etc/opensips/opensips.cfg
|
||||
|
||||
# fix bad paths
|
||||
cd "$pkgdir"/usr/share
|
||||
find -type f -exec sed -i "s#"$pkgdir"##" {} \;
|
||||
|
||||
mv "$pkgdir"/usr/sbin "$pkgdir"/usr/bin
|
||||
|
||||
cd "$pkgdir"/etc
|
||||
find -type f -exec sed -i "s#"$pkgdir"##" {} \;
|
||||
|
||||
# python2 is being used
|
||||
#cd "$pkgdir"
|
||||
#grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done
|
||||
|
||||
# Systemd files
|
||||
install -Dm0644 "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/${pkgname}.service" "$pkgdir"/usr/lib/systemd/system/${pkgname}.service
|
||||
install -Dm0644 "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/${pkgname}.tmpfiles.conf" "$pkgdir"/usr/lib/tmpfiles.d/${pkgname}.conf
|
||||
if [ -f "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/INSTALL.archlinux" ]; then
|
||||
install -Dm0644 "${srcdir}/${pkgbase%%-*}-${pkgver}/packaging/arch/INSTALL.archlinux" "$pkgdir"/usr/share/doc/${pkgname}/INSTALL.archlinux
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# base modules
|
||||
package_opensips-modules() {
|
||||
pkgdesc="A fast and flexible SIP Server - base modules (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules=${pkgver}")
|
||||
conflicts=('opensips-modules-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
# install app only, excluding console, modules and modules docs
|
||||
for _module in ${modules_base[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/${_module} \
|
||||
install-modules
|
||||
done
|
||||
}
|
||||
|
||||
# Application specific modules
|
||||
package_opensips-module-b2bua() {
|
||||
pkgdesc="A fast and flexible SIP Server - B2B User-Agent modules (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-b2bua=${pkgver}")
|
||||
conflicts=('opensips-modules-b2bua-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
for _module in ${modules_b2bua[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/${_module} \
|
||||
install-modules
|
||||
done
|
||||
}
|
||||
|
||||
package_opensips-module-cpl() {
|
||||
pkgdesc="A fast and flexible SIP Server - Call Processing Language module (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-cpl=${pkgver}")
|
||||
conflicts=('opensips-modules-cpl-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/$modules_cpl \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-presence() {
|
||||
pkgdesc="A fast and flexible SIP Server - Presence handling modules (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-presence=${pkgver}")
|
||||
conflicts=('opensips-modules-presence-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
for _module in ${modules_presence[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/${_module} \
|
||||
install-modules
|
||||
done
|
||||
}
|
||||
|
||||
# Database modules
|
||||
package_opensips-module-berkeley() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module Berkeley (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-berkeley=${pkgver}")
|
||||
conflicts=('opensips-modules-berkeley-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_berkeley" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-flatstore() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module Flatstore (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-flatstore=${pkgver}")
|
||||
conflicts=('opensips-modules-flatstore-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_flatstore" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-http() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module HTTP (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-http=${pkgver}")
|
||||
conflicts=('opensips-modules-http-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_http" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-mysql() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module MySQL (stable version)"
|
||||
depends=('opensips' 'mariadb')
|
||||
provides=("opensips-modules-mysql=${pkgver}")
|
||||
conflicts=('opensips-modules-mysql-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_mysql" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-oracle() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module Oracle (stable version)"
|
||||
depends=('opensips' 'oracle')
|
||||
provides=("opensips-modules-oracle=${pkgver}")
|
||||
conflicts=('opensips-modules-oracle-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_oracle" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-perlvdb() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module Perl virtual DB (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-perlvdb=${pkgver}")
|
||||
conflicts=('opensips-modules-perlvdb-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_perlvdb" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-postgresql() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module PostgreSQL (stable version)"
|
||||
depends=('opensips' 'postgresql')
|
||||
provides=("opensips-modules-postgresql=${pkgver}")
|
||||
conflicts=('opensips-modules-postgresql-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_postgresql" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-sqlite() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module SQlite (stable version)"
|
||||
depends=('opensips' 'sqlite')
|
||||
provides=("opensips-modules-sqlite=${pkgver}")
|
||||
conflicts=('opensips-modules-sqlite-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_sqlite" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-unixodbc() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module UnixODBC (stable version)"
|
||||
depends=('opensips' 'unixodbc')
|
||||
provides=("opensips-modules-mysql=${pkgver}")
|
||||
conflicts=('opensips-modules-mysql-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_unixodbc" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-text() {
|
||||
pkgdesc="A fast and flexible SIP Server - database module text (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-text=${pkgver}")
|
||||
conflicts=('opensips-modules-text-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_text" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-virtual() {
|
||||
pkgdesc="A fast and flexible SIP Server - virtual database module (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-virtual=${pkgver}")
|
||||
conflicts=('opensips-modules-virtual-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules="$modules_virtual" \
|
||||
install-modules
|
||||
}
|
||||
|
||||
package_opensips-module-cachedb() {
|
||||
pkgdesc="A fast and flexible SIP Server - database modules for caching (stable version)"
|
||||
depends=('opensips')
|
||||
provides=("opensips-modules-cachedb=${pkgver}")
|
||||
conflicts=('opensips-modules-cachedb-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
for _module in ${modules_cachedb[@]}; do
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
modules=modules/${_module} \
|
||||
install-modules
|
||||
#skip_modules="cachedb_couchbase"
|
||||
done
|
||||
}
|
||||
|
||||
# Offline documentation
|
||||
package_opensips-documentation() {
|
||||
pkgdesc="A fast and flexible SIP Server - documentation (stable version)"
|
||||
suggests=('opensips')
|
||||
provides=("opensips-documentation=${pkgver}")
|
||||
conflicts=('opensips-documentation-git')
|
||||
|
||||
cd "$srcdir"/${pkgbase%%-*}-${pkgver}
|
||||
|
||||
msg2 "create documentation targets"
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
doxygen modules-docbook-html
|
||||
# modules-docbook-pdf \
|
||||
#dbschema-docbook-html dbschema-docbook-pdf \
|
||||
#modules-readme
|
||||
|
||||
msg2 "install documentation targets"
|
||||
make \
|
||||
BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
install-doc \
|
||||
install-modules-docbook
|
||||
|
||||
msg2 " ... text files"
|
||||
DOC_DIR="$pkgdir/usr/share/doc/${pkgbase%%-*}"
|
||||
if [ -d "$DOC_DIR/txt" ]; then
|
||||
mkdir -p "$DOC_DIR/txt"
|
||||
chmod 0755 "$DOC_DIR/txt"
|
||||
mv --recursive $DOC_DIR/README.* "$DOC_DIR/txt"
|
||||
chmod --recursive 0644 "$DOC_DIR/txt"
|
||||
fi
|
||||
|
||||
msg2 " ... html documents"
|
||||
DOC_DIR="$pkgdir/usr/share/doc/${pkgbase%%-*}"
|
||||
if [ -d "$DOC_DIR/html" ]; then
|
||||
mkdir -p "$DOC_DIR/html"
|
||||
chmod 0755 "$DOC_DIR/html"
|
||||
mv --recursive $DOC_DIR/*.html "$DOC_DIR/html"
|
||||
chmod --recursive 0644 "$DOC_DIR/html"
|
||||
fi
|
||||
|
||||
msg2 " ... examples"
|
||||
DOC_DIR="$pkgdir/usr/share/doc/${pkgbase%%-*}"
|
||||
if [ -d ./examples ]; then
|
||||
mkdir -p "$DOC_DIR"
|
||||
cp --recursive ./examples "$DOC_DIR"
|
||||
chmod --recursive 0644 "$DOC_DIR"
|
||||
fi
|
||||
}
|
||||
254
PKGBUILD.git
Normal file
254
PKGBUILD.git
Normal file
@@ -0,0 +1,254 @@
|
||||
# vim:set ts=8 sw=8 et:
|
||||
# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
|
||||
# Supporter: Ralf Zerres <ralf.zerres@networkx.de>
|
||||
|
||||
pkgbase=opensips-git
|
||||
_pkgname=opensips
|
||||
_branch=master
|
||||
pkgname=('opensips-git' 'opensips-git-modules' 'opensips-git-documentation')
|
||||
pkgver=0.r15296.g38778a4d3
|
||||
pkgrel=1
|
||||
pkgdesc="An Open Source SIP Server able to act as a SIP proxy, registrar, location server, redirect server ..."
|
||||
url="https://www.opensips.org"
|
||||
depends=('attr' 'db' 'gcc-libs' 'libxml2' 'openssl')
|
||||
makedepends=(
|
||||
'bison'
|
||||
'confuse' 'cassandra-cpp-driver'
|
||||
'doxygen' 'docbook-sgml' 'docbook-utils' 'docbook-xsl'
|
||||
'expat'
|
||||
'flex'
|
||||
'geoip' 'git'
|
||||
'hiredis'
|
||||
'json-c'
|
||||
'freeradius'
|
||||
'libjwt' 'libldap>=2.4.18' 'libmariadbclient' 'libmemcached' 'libmicrohttpd'
|
||||
'librabbitmq-c' 'libtap-git' 'libutf8proc' 'libuv' 'libxslt'
|
||||
'lksctp-tools'
|
||||
'lua>=5.1'
|
||||
'lynx'
|
||||
'mongo-c-driver'
|
||||
'net-snmp'
|
||||
'osptoolkit'
|
||||
'postgresql-libs>=8.4.1'
|
||||
'radcli'
|
||||
'thrift' 'unixodbc' 'xmlrpc-c' 'zlib'
|
||||
)
|
||||
checkdepends=('expat' 'libtap-git')
|
||||
backup=("etc/opensips/opensips.cfg"
|
||||
"etc/opensips/regex_groups.cfg"
|
||||
"etc/opensips/osipsconsolerc"
|
||||
"etc/opensips/opensipsctlrc")
|
||||
arch=('x86_64' 'armv7')
|
||||
license=('GPL')
|
||||
options=('!emptydirs' 'zipman' '!makeflags' 'docs')
|
||||
source=("${pkgname}::git+https://github.com/OpenSIPS/$_pkgname.git#branch=$_branch"
|
||||
Makefile.conf.template)
|
||||
sha256sums=('SKIP'
|
||||
'2d6114c21a9bd59bfaac755ec21568fefa4f64f356dc2d1bc8610476f7cc6ca8')
|
||||
validpgpkeys=(
|
||||
'1EC4BE4FF2A6C9F4DDDF30F33C5F485DBD250D66' # Ralf Zerres (Package Signing)
|
||||
)
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir"/${pkgbase}
|
||||
|
||||
# check out given branch and update to head
|
||||
git checkout $_branch
|
||||
echo "prepare: pull $_branch"
|
||||
git pull --rebase
|
||||
|
||||
if [ -h "$srcdir"/Makefile.conf.template ]; then
|
||||
msg2 "preset Makefile.conf template"
|
||||
test ! -f Makefile.conf.template.orig &&
|
||||
mv Makefile.conf.template Makefile.conf.template.orig
|
||||
cp "$srcdir"/Makefile.conf.template Makefile.conf.template
|
||||
fi
|
||||
|
||||
# patching
|
||||
if [ ! -f .makepkg-patched ]; then
|
||||
msg2 "patching:"
|
||||
git am --signoff ../../patches-git/0001-packaging-Arch-Linux-update-search-path-for-docbook.patch
|
||||
#git am --signoff ../../patches-git/0002-packaging-Arch-Linux-update-PKGBUILD.git.patch
|
||||
touch .makepkg-patched
|
||||
#msg2 "no patches for branch '${_branch}' needed"
|
||||
fi
|
||||
|
||||
msg2 "ensure python2 usage"
|
||||
for file in $(find . -name '*.py' -print); do
|
||||
sed -i 's_^#!.*/usr/bin/python$_#!/usr/bin/python2_' $file
|
||||
sed -i 's_^#!.*/usr/bin/env.*python$_#!/usr/bin/env python2_' $file
|
||||
done
|
||||
|
||||
msg2 "ensure binaries live in /bin and /usr/bin"
|
||||
sed -i 's|sbin|bin|g' Makefile
|
||||
sed -i 's|bin-dir = sbin/|bin-dir = bin/|' Makefile.defs
|
||||
}
|
||||
|
||||
pkgver() {
|
||||
cd "${srcdir}/${pkgname}"
|
||||
echo "0.r$(git rev-list --count $_branch).g$(git log -1 --format="%h")"
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir"/${pkgbase}
|
||||
|
||||
# create binary targets
|
||||
#FASTER=1
|
||||
#make -j$(nproc) \
|
||||
make LIBDIR=lib \
|
||||
PREFIX=/usr \
|
||||
skip_modules="cachedb_couchbase db_oracle sngtc"
|
||||
|
||||
# create documentation targets
|
||||
make BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
doxygen \
|
||||
modules-docbook-html \
|
||||
modules-readme
|
||||
# dbschema-docbook-html
|
||||
# dbschema-docbook-pdf \
|
||||
# modules-docbook-pdf \
|
||||
}
|
||||
|
||||
package_opensips-git() {
|
||||
pkgdesc="OpenSIPS an open source SIP Server (git version)"
|
||||
|
||||
depends=(
|
||||
'confuse' 'geoip' 'json-c'
|
||||
'libtap-git' 'libuv' 'libxslt'
|
||||
'lksctp-tools')
|
||||
optdepends=(
|
||||
'cassandra-cpp-driver: cassandra C++ support'
|
||||
'curl: curl support'
|
||||
'confuse: confuse support'
|
||||
'lksctp-tools: sctp support'
|
||||
'lynx: text browser support'
|
||||
'hiredis: HiRedis support'
|
||||
'libldap: LDAP support'
|
||||
'libmariadbclient: Maria DB support'
|
||||
'libmaxminddb: MaxMin DB support'
|
||||
'libmemcached: Memory caching support'
|
||||
'libmicrohttpd: Inline HTTPD support'
|
||||
'librabbitmq-c: Rabbitmq C support'
|
||||
'libsasl: SASL authentication support'
|
||||
'libutf8proc: UTF8 processing support'
|
||||
'lua: LUA scripting support'
|
||||
'mariadb-libs: Maria-DB support'
|
||||
'mongo-c-driver: C-Interface for Mongo-DB support'
|
||||
'net-snmp: SNMP support'
|
||||
'osptoolkit: OSP Toolkit support'
|
||||
'pcre: Perl Regular-Expression support'
|
||||
'perl: Perl support'
|
||||
'postgresql-libs: PostgreSQL-DB support'
|
||||
'python2: Python v2 support'
|
||||
'radcli: RAD commandline support'
|
||||
'rabbitmq: Rabbit CacheMemory support'
|
||||
'thrift: Thrift support'
|
||||
'unixodbc: UNIX ODBC support')
|
||||
install=opensips.install
|
||||
|
||||
provides=("opensips=${pkgver}")
|
||||
conflicts=('opensips')
|
||||
|
||||
_components=('opensips')
|
||||
|
||||
cd "$srcdir"/${pkgbase}
|
||||
|
||||
# install app only, excluding console, modules and modules docs
|
||||
for _cmp in ${_components[@]}; do
|
||||
make BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
install-app
|
||||
|
||||
# Conforms to the arch packaging standards (https://wiki.archlinux.org/index.php/Arch_Packaging_Standards)
|
||||
mkdir -p "$pkgdir"/etc/
|
||||
mv "$pkgdir"/usr/etc/opensips/ "$pkgdir"/etc/
|
||||
sed -i 's#mpath=".*lib/opensips/modules/"#mpath="/usr/lib/opensips/modules/"#' "$pkgdir"/etc/opensips/opensips.cfg
|
||||
|
||||
# fix bad paths
|
||||
cd "$pkgdir"/usr/share
|
||||
find -type f -exec sed -i "s#"$pkgdir"##" {} \;
|
||||
|
||||
mv "$pkgdir"/usr/sbin "$pkgdir"/usr/bin
|
||||
|
||||
cd "$pkgdir"/etc
|
||||
find -type f -exec sed -i "s#"$pkgdir"##" {} \;
|
||||
|
||||
# python2 is being used
|
||||
cd "$pkgdir"
|
||||
grep -lR '#!.*python' * | while read file; do sed -s 's/\(#!.*python\)/\12/g' -i "$file"; done
|
||||
|
||||
# Systemd files
|
||||
install -Dm0644 "${srcdir}/${pkgbase}/packaging/arch/${_pkgname}.service" "$pkgdir"/usr/lib/systemd/system/${_pkgname}.service
|
||||
install -Dm0644 "${srcdir}/${pkgbase}/packaging/arch/${_pkgname}.tmpfiles.conf" "$pkgdir"/usr/lib/tmpfiles.d/${_pkgname}.conf
|
||||
|
||||
done
|
||||
}
|
||||
|
||||
package_opensips-git-modules() {
|
||||
pkgdesc="OpenSIPS modules (git version)"
|
||||
depends=('opensips-git')
|
||||
provides=("opensips-modules=${pkgver}")
|
||||
conflicts=('opensips-modules')
|
||||
|
||||
cd "$srcdir"/${pkgbase}
|
||||
|
||||
make BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
install-modules
|
||||
|
||||
msg2 "ensure binaries live in /bin and /usr/bin"
|
||||
mv "$pkgdir"/usr/sbin "$pkgdir"/usr/bin
|
||||
}
|
||||
|
||||
package_opensips-git-documentation() {
|
||||
pkgdesc="OpenSIPS modules (git version)"
|
||||
suggests=('opensips-git')
|
||||
provides=("opensips-documentation=${pkgver}")
|
||||
conflicts=('opensips-documentation')
|
||||
|
||||
cd "$srcdir"/${pkgbase}
|
||||
|
||||
msg2 "install documentation targets"
|
||||
make BASEDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
LIBDIR=lib \
|
||||
install-doc \
|
||||
install-modules-docbook
|
||||
|
||||
DOC_DIR="$pkgdir/usr/share/doc/${_pkgname}"
|
||||
|
||||
msg2 "install README documentation"
|
||||
if [ ! -d "$DOC_DIR/txt" ]; then
|
||||
mkdir -p "$DOC_DIR/txt"
|
||||
chmod 0755 "$DOC_DIR/txt"
|
||||
fi
|
||||
mv $DOC_DIR/README.* "$DOC_DIR/txt"
|
||||
chmod --recursive 0644 "$DOC_DIR/txt"
|
||||
|
||||
msg2 "install doxygen documentation"
|
||||
if [ ! -d "$DOC_DIR/doxygen" ]; then
|
||||
mkdir -p "$DOC_DIR/doxygen"
|
||||
chmod 0755 "$DOC_DIR/doxygen"
|
||||
fi
|
||||
|
||||
if [ -d "$srcdir/${pkgbase}/doc/html" ]; then
|
||||
cd "$srcdir/${pkgbase}/doc/html"
|
||||
find . -print0 | xargs -0 -I {} cp -a {} "$DOC_DIR/doxygen/"
|
||||
chmod --recursive 0644 "$DOC_DIR/doxygen"
|
||||
fi
|
||||
|
||||
msg2 "install example configurations"
|
||||
if [ ! -d $DOC_DIR/examples ]; then
|
||||
mkdir -p "$DOC_DIR/examples"
|
||||
chmod 0755 "$DOC_DIR/examples"
|
||||
fi
|
||||
|
||||
if [ -d ./examples ]; then
|
||||
mv ./examples "$DOC_DIR"
|
||||
chmod --recursive 0644 "$DOC_DIR/examples"
|
||||
fi
|
||||
}
|
||||
11
usr_lib_systemd_system_opensips.service
Normal file
11
usr_lib_systemd_system_opensips.service
Normal file
@@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=OpenSIPS daemon
|
||||
After=network.target remote-fs.target nss-lookup.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/run/opensips.pid
|
||||
ExecStart=/usr/bin/opensips -f /etc/opensips/opensips.cfg -w /var/tmp -P /run/opensips.pid
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
1
usr_lib_tmpfiles.d_opensips.conf
Normal file
1
usr_lib_tmpfiles.d_opensips.conf
Normal file
@@ -0,0 +1 @@
|
||||
d /run/opensips 0755 opensips opensips -
|
||||
Reference in New Issue
Block a user