123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497 |
- #!/bin/bash
- ##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
- ##### Author: Travis Cross <tc@traviscross.com>
- codename="sid"
- modulelist_opt=""
- modules_add=""
- use_sysvinit=""
- while getopts "c:m:p:v" o; do
- case "$o" in
- c) codename="$OPTARG" ;;
- m) modulelist_opt="$OPTARG" ;;
- p) modules_add="$modules_add $OPTARG";;
- v) use_sysvinit="true";;
- esac
- done
- shift $(($OPTIND-1))
- if [ x${use_sysvinit} = x ]; then
- case "$codename" in
- wheezy|trusty|utopic|xenial) use_sysvinit="true";;
- *) use_sysvinit="false";;
- esac
- fi
- mod_dir="../src/mod"
- conf_dir="../conf"
- lang_dir="../conf/vanilla/lang"
- fs_description="FreeSWITCH is a scalable open source cross-platform telephony platform designed to route and interconnect popular communication protocols using audio, video, text or any other form of media."
- mod_build_depends="." mod_depends="." mod_recommends="." mod_suggests="."
- supported_debian_distros="wheezy jessie stretch sid"
- supported_ubuntu_distros="trusty utopic xenial"
- supported_distros="$supported_debian_distros $supported_ubuntu_distros"
- avoid_mods=(
- applications/mod_sms_flowroute
- applications/mod_limit
- applications/mod_mongo
- applications/mod_mp4
- applications/mod_mp4v2
- applications/mod_osp
- applications/mod_rad_auth
- applications/mod_skel
- applications/mod_cluechoo
- asr_tts/mod_cepstral
- codecs/mod_com_g729
- codecs/mod_ilbc
- codecs/mod_openh264
- codecs/mod_siren
- codecs/mod_skel_codec
- endpoints/mod_gsmopen
- endpoints/mod_h323
- endpoints/mod_khomp
- endpoints/mod_opal
- endpoints/mod_reference
- endpoints/mod_unicall
- event_handlers/mod_smpp
- formats/mod_webm
- sdk/autotools
- xml_int/mod_xml_ldap
- xml_int/mod_xml_radius
- )
- avoid_mods_sid=(
- directories/mod_ldap
- )
- avoid_mods_jessie=(
- directories/mod_ldap
- )
- avoid_mods_wheezy=(
- event_handlers/mod_amqp
- languages/mod_java
- languages/mod_managed
- applications/mod_av
- applications/mod_cv
- applications/mod_hiredis
- formats/mod_shout
- applications/mod_sonar
- applications/mod_soundtouch
- formats/mod_vlc
- )
- avoid_mods_trusty=(
- event_handlers/mod_amqp
- codecs/mod_sangoma_codec
- )
- avoid_mods_utopic=(
- directories/mod_ldap
- codecs/mod_sangoma_codec
- )
- avoid_mods_xenial=(
- event_handlers/mod_ldap
- event_handlers/mod_amqp
- codecs/mod_sangoma_codec
- asr_tts/mod_flite
- )
- manual_pkgs=(
- freeswitch-all
- freeswitch
- libfreeswitch1
- freeswitch-meta-bare
- freeswitch-meta-default
- freeswitch-meta-vanilla
- freeswitch-meta-sorbet
- freeswitch-meta-all
- freeswitch-meta-codecs
- freeswitch-meta-conf
- freeswitch-meta-lang
- freeswitch-meta-mod-say
- freeswitch-all-dbg
- freeswitch-dbg
- libfreeswitch1-dbg
- libfreeswitch-dev
- freeswitch-doc
- freeswitch-lang
- freeswitch-timezones
- )
- if [ ${use_sysvinit} = "true" ]; then
- manual_pkgs=( "${manual_pkgs[@]}" "freeswitch-sysvinit" )
- else
- manual_pkgs=( "${manual_pkgs[@]}" "freeswitch-systemd" )
- fi
- err () {
- echo "$0 error: $1" >&2
- exit 1
- }
- xread () {
- local xIFS="$IFS"
- IFS=''
- read $@
- local ret=$?
- IFS="$xIFS"
- return $ret
- }
- intersperse () {
- local sep="$1"
- awk "
- BEGIN {
- first=1;
- sep=\"${sep}\";
- }"'
- /.*/ {
- if (first == 0) {
- printf "%s%s", sep, $0;
- } else {
- printf "%s", $0;
- }
- first=0;
- }
- END { printf "\n"; }'
- }
- postfix () {
- local px="$1"
- awk "
- BEGIN { px=\"${px}\"; }"'
- /.*/ { printf "%s%s\n", $0, px; }'
- }
- avoid_mod_filter () {
- local x="avoid_mods_$codename[@]"
- local -a mods=("${avoid_mods[@]}" "${!x}")
- for x in "${mods[@]}"; do
- if [ "$1" = "$x" ]; then
- [ "$2" = "show" ] && echo "excluding module $x" >&2
- return 1
- fi
- done
- return 0
- }
- modconf_filter () {
- while xread l; do
- if [ "$1" = "$l" ]; then
- [ "$2" = "show" ] && echo "including module $l" >&2
- return 0
- fi
- done < modules.conf
- return 1
- }
- mod_filter () {
- if test -f modules.conf; then
- modconf_filter $@
- else
- avoid_mod_filter $@
- fi
- }
- mod_filter_show () {
- mod_filter "$1" show
- }
- map_fs_modules () {
- local filterfn="$1" percatfns="$2" permodfns="$3"
- for x in $mod_dir/*; do
- test -d $x || continue
- test ! ${x##*/} = legacy || continue
- category=${x##*/} category_path=$x
- for f in $percatfns; do $f; done
- for y in $x/*; do
- module_name=${y##*/} module_path=$y
- module=$category/$module_name
- if $filterfn $category/$module; then
- [ -f ${y}/module ] && . ${y}/module
- for f in $permodfns; do $f; done
- fi
- unset module_name module_path module
- done
- unset category category_path
- done
- }
- map_modules () {
- local filterfn="$1" percatfns="$2" permodfns="$3"
- for x in $parse_dir/*; do
- test -d $x || continue
- category=${x##*/} category_path=$x
- for f in $percatfns; do $f; done
- for y in $x/*; do
- test -f $y || continue
- module=${y##*/} module_path=$y
- $filterfn $category/$module || continue
- module="" category="" module_name=""
- section="" description="" long_description=""
- build_depends="" depends="" recommends="" suggests=""
- distro_conflicts=""
- distro_vars=""
- for x in $supported_distros; do
- distro_vars="$distro_vars build_depends_$x"
- eval build_depends_$x=""
- done
- . $y
- [ -n "$description" ] || description="$module_name"
- [ -n "$long_description" ] || description="Adds ${module_name}."
- for f in $permodfns; do $f; done
- unset \
- module module_name module_path \
- section description long_description \
- build_depends depends recommends suggests \
- distro_conflicts $distro_vars
- done
- unset category category_path
- done
- }
- map_confs () {
- local fs="$1"
- for x in $conf_dir/*; do
- test ! -d $x && continue
- conf=${x##*/} conf_dir=$x
- for f in $fs; do $f; done
- unset conf conf_dir
- done
- }
- map_langs () {
- local fs="$1"
- for x in $lang_dir/*; do
- test ! -d $x && continue
- lang=${x##*/} lang_dir=$x
- for f in $fs; do $f; done
- unset lang lang_dir
- done
- }
- map_pkgs () {
- local fsx="$1"
- for x in "${manual_pkgs[@]}"; do
- $fsx $x
- done
- map_pkgs_confs () { $fsx "freeswitch-conf-${conf//_/-}"; }
- map_confs map_pkgs_confs
- map_pkgs_langs () { $fsx "freeswitch-lang-${lang//_/-}"; }
- map_langs map_pkgs_langs
- map_pkgs_mods () {
- $fsx "freeswitch-${module//_/-}"
- $fsx "freeswitch-${module//_/-}-dbg"; }
- map_modules map_pkgs_mods
- }
- list_pkgs () {
- list_pkgs_thunk () { printf '%s\n' "$1"; }
- map_pkgs list_pkgs_thunk
- }
- print_source_control () {
- local libtool_dep="libtool, libtool-bin"
- case "$codename" in
- wheezy|trusty) libtool_dep="libtool" ;;
- esac
- local debhelper_dep="debhelper (>= 8.0.0)"
- if [ ${use_sysvinit} = "false" ]; then
- debhelper_dep=${debhelper_dep}", dh-systemd"
- fi
- cat <<EOF
- Source: freeswitch
- Section: comm
- Priority: optional
- Maintainer: Travis Cross <tc@traviscross.com>
- Build-Depends:
- # for debian
- ${debhelper_dep},
- # bootstrapping
- automake (>= 1.9), autoconf, ${libtool_dep},
- # core build
- dpkg-dev (>= 1.15.8.12), gcc (>= 4:4.4.5), g++ (>= 4:4.4.5),
- libc6-dev (>= 2.11.3), make (>= 3.81),
- libpcre3-dev,
- libedit-dev (>= 2.11),
- libsqlite3-dev,
- wget, pkg-config,
- yasm,
- # core codecs
- libogg-dev, libspeex-dev, libspeexdsp-dev,
- # configure options
- libssl-dev, unixodbc-dev, libpq-dev,
- libncurses5-dev, libjpeg62-turbo-dev | libjpeg-turbo8-dev | libjpeg62-dev | libjpeg8-dev,
- python-dev, python-all-dev, python-support (>= 0.90) | dh-python, erlang-dev,
- # documentation
- doxygen,
- # for APR (not essential for build)
- uuid-dev, libexpat1-dev, libgdbm-dev, libdb-dev,
- # used by many modules
- libcurl4-openssl-dev | libcurl4-gnutls-dev | libcurl-dev,
- bison, zlib1g-dev,
- # module build-depends
- $(debian_wrap "${mod_build_depends}")
- Standards-Version: 3.9.3
- Homepage: https://freeswitch.org/
- Vcs-Git: https://freeswitch.org/stash/scm/fs/freeswitch.git
- Vcs-Browser: https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse
- EOF
- }
- print_core_control () {
- cat <<EOF
- Package: freeswitch-all
- Architecture: any
- Depends: freeswitch-meta-all (= \${binary:Version})
- Conflicts: freeswitch-all (<= 1.6.7)
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a package which depends on all packaged FreeSWITCH modules.
- Package: freeswitch
- Architecture: any
- Depends: \${shlibs:Depends}, \${perl:Depends}, \${misc:Depends},
- libfreeswitch1 (= \${binary:Version})
- Recommends:
- Suggests: freeswitch-dbg
- Conflicts: freeswitch-all (<= 1.6.7)
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This package contains the FreeSWITCH core.
- Package: libfreeswitch1
- Architecture: any
- Depends: \${shlibs:Depends}, \${misc:Depends}
- Recommends:
- Suggests: libfreeswitch1-dbg
- Conflicts: freeswitch-all (<= 1.6.7)
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This package contains the FreeSWITCH core library.
- Package: python-esl
- Section: python
- Architecture: any
- Depends: \${shlibs:Depends}, \${misc:Depends}, \${python:Depends}
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This package contains the Python binding for FreeSWITCH Event Socket Library (ESL).
- Package: libesl-perl
- Section: perl
- Architecture: any
- Depends: \${shlibs:Depends}, \${misc:Depends}, \${perl:Depends}
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This package contains the Perl binding for FreeSWITCH Event Socket Library (ESL).
- Package: freeswitch-meta-bare
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version})
- Recommends:
- freeswitch-doc (= \${binary:Version}),
- freeswitch-mod-commands (= \${binary:Version}),
- freeswitch-init,
- freeswitch-lang (= \${binary:Version}),
- freeswitch-timezones (= \${binary:Version}),
- freeswitch-music,
- freeswitch-sounds
- Suggests:
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on the packages needed for a very
- bare FreeSWITCH install.
- Package: freeswitch-meta-default
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
- freeswitch-mod-commands (= \${binary:Version}),
- freeswitch-mod-conference (= \${binary:Version}),
- freeswitch-mod-db (= \${binary:Version}),
- freeswitch-mod-dptools (= \${binary:Version}),
- freeswitch-mod-fifo (= \${binary:Version}),
- freeswitch-mod-hash (= \${binary:Version}),
- freeswitch-mod-spandsp (= \${binary:Version}),
- freeswitch-mod-voicemail (= \${binary:Version}),
- freeswitch-mod-dialplan-xml (= \${binary:Version}),
- freeswitch-mod-loopback (= \${binary:Version}),
- freeswitch-mod-sofia (= \${binary:Version}),
- freeswitch-mod-local-stream (= \${binary:Version}),
- freeswitch-mod-native-file (= \${binary:Version}),
- freeswitch-mod-sndfile (= \${binary:Version}),
- freeswitch-mod-tone-stream (= \${binary:Version}),
- freeswitch-mod-lua (= \${binary:Version}),
- freeswitch-mod-console (= \${binary:Version}),
- freeswitch-mod-say-en (= \${binary:Version})
- Recommends:
- freeswitch-init,
- freeswitch-lang (= \${binary:Version}),
- freeswitch-timezones (= \${binary:Version}),
- freeswitch-meta-codecs (= \${binary:Version}),
- freeswitch-music,
- freeswitch-sounds
- Suggests:
- freeswitch-mod-cidlookup (= \${binary:Version}),
- freeswitch-mod-curl (= \${binary:Version}),
- freeswitch-mod-directory (= \${binary:Version}),
- freeswitch-mod-enum (= \${binary:Version}),
- freeswitch-mod-spy (= \${binary:Version}),
- freeswitch-mod-valet-parking (= \${binary:Version})
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on the packages needed for a
- reasonably basic FreeSWITCH install.
- Package: freeswitch-meta-vanilla
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
- freeswitch-init,
- freeswitch-mod-console (= \${binary:Version}),
- freeswitch-mod-logfile (= \${binary:Version}),
- freeswitch-mod-enum (= \${binary:Version}),
- freeswitch-mod-cdr-csv (= \${binary:Version}),
- freeswitch-mod-event-socket (= \${binary:Version}),
- freeswitch-mod-sofia (= \${binary:Version}),
- freeswitch-mod-loopback (= \${binary:Version}),
- freeswitch-mod-commands (= \${binary:Version}),
- freeswitch-mod-conference (= \${binary:Version}),
- freeswitch-mod-db (= \${binary:Version}),
- freeswitch-mod-dptools (= \${binary:Version}),
- freeswitch-mod-expr (= \${binary:Version}),
- freeswitch-mod-fifo (= \${binary:Version}),
- freeswitch-mod-hash (= \${binary:Version}),
- freeswitch-mod-voicemail (= \${binary:Version}),
- freeswitch-mod-esf (= \${binary:Version}),
- freeswitch-mod-fsv (= \${binary:Version}),
- freeswitch-mod-valet-parking (= \${binary:Version}),
- freeswitch-mod-httapi (= \${binary:Version}),
- freeswitch-mod-dialplan-xml (= \${binary:Version}),
- freeswitch-mod-dialplan-asterisk (= \${binary:Version}),
- freeswitch-mod-spandsp (= \${binary:Version}),
- freeswitch-mod-g723-1 (= \${binary:Version}),
- freeswitch-mod-g729 (= \${binary:Version}),
- freeswitch-mod-amr (= \${binary:Version}),
- freeswitch-mod-h26x (= \${binary:Version}),
- freeswitch-mod-sndfile (= \${binary:Version}),
- freeswitch-mod-native-file (= \${binary:Version}),
- freeswitch-mod-local-stream (= \${binary:Version}),
- freeswitch-mod-tone-stream (= \${binary:Version}),
- freeswitch-mod-lua (= \${binary:Version}),
- freeswitch-mod-say-en (= \${binary:Version}),
- Recommends:
- freeswitch-lang (= \${binary:Version}),
- freeswitch-timezones (= \${binary:Version}),
- freeswitch-music,
- freeswitch-sounds,
- freeswitch-conf-vanilla (= \${binary:Version}),
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on the packages needed for
- running the FreeSWITCH vanilla example configuration.
- Package: freeswitch-meta-sorbet
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
- Recommends:
- freeswitch-init,
- freeswitch-lang (= \${binary:Version}),
- freeswitch-timezones (= \${binary:Version}),
- freeswitch-meta-codecs (= \${binary:Version}),
- freeswitch-music,
- freeswitch-sounds,
- freeswitch-mod-abstraction (= \${binary:Version}),
- freeswitch-mod-avmd (= \${binary:Version}),
- freeswitch-mod-blacklist (= \${binary:Version}),
- freeswitch-mod-callcenter (= \${binary:Version}),
- freeswitch-mod-cidlookup (= \${binary:Version}),
- freeswitch-mod-commands (= \${binary:Version}),
- freeswitch-mod-conference (= \${binary:Version}),
- freeswitch-mod-curl (= \${binary:Version}),
- freeswitch-mod-db (= \${binary:Version}),
- freeswitch-mod-directory (= \${binary:Version}),
- freeswitch-mod-distributor (= \${binary:Version}),
- freeswitch-mod-dptools (= \${binary:Version}),
- freeswitch-mod-easyroute (= \${binary:Version}),
- freeswitch-mod-enum (= \${binary:Version}),
- freeswitch-mod-esf (= \${binary:Version}),
- freeswitch-mod-esl (= \${binary:Version}),
- freeswitch-mod-expr (= \${binary:Version}),
- freeswitch-mod-fifo (= \${binary:Version}),
- freeswitch-mod-fsk (= \${binary:Version}),
- freeswitch-mod-fsv (= \${binary:Version}),
- freeswitch-mod-hash (= \${binary:Version}),
- freeswitch-mod-httapi (= \${binary:Version}),
- freeswitch-mod-http-cache (= \${binary:Version}),
- freeswitch-mod-lcr (= \${binary:Version}),
- freeswitch-mod-nibblebill (= \${binary:Version}),
- freeswitch-mod-oreka (= \${binary:Version}),
- freeswitch-mod-redis (= \${binary:Version}),
- freeswitch-mod-rss (= \${binary:Version}),
- freeswitch-mod-sms (= \${binary:Version}),
- freeswitch-mod-snapshot (= \${binary:Version}),
- freeswitch-mod-snom (= \${binary:Version}),
- freeswitch-mod-sonar (= \${binary:Version}),
- freeswitch-mod-soundtouch (= \${binary:Version}),
- freeswitch-mod-spandsp (= \${binary:Version}),
- freeswitch-mod-spy (= \${binary:Version}),
- freeswitch-mod-stress (= \${binary:Version}),
- freeswitch-mod-valet-parking (= \${binary:Version}),
- freeswitch-mod-vmd (= \${binary:Version}),
- freeswitch-mod-voicemail (= \${binary:Version}),
- freeswitch-mod-voicemail-ivr (= \${binary:Version}),
- freeswitch-mod-flite (= \${binary:Version}),
- freeswitch-mod-pocketsphinx (= \${binary:Version}),
- freeswitch-mod-tts-commandline (= \${binary:Version}),
- freeswitch-mod-dialplan-xml (= \${binary:Version}),
- freeswitch-mod-loopback (= \${binary:Version}),
- freeswitch-mod-rtmp (= \${binary:Version}),
- freeswitch-mod-skinny (= \${binary:Version}),
- freeswitch-mod-sofia (= \${binary:Version}),
- freeswitch-mod-cdr-csv (= \${binary:Version}),
- freeswitch-mod-cdr-sqlite (= \${binary:Version}),
- freeswitch-mod-event-socket (= \${binary:Version}),
- freeswitch-mod-json-cdr (= \${binary:Version}),
- freeswitch-mod-local-stream (= \${binary:Version}),
- freeswitch-mod-native-file (= \${binary:Version}),
- freeswitch-mod-shell-stream (= \${binary:Version}),
- freeswitch-mod-sndfile (= \${binary:Version}),
- freeswitch-mod-tone-stream (= \${binary:Version}),
- freeswitch-mod-lua (= \${binary:Version}),
- freeswitch-mod-console (= \${binary:Version}),
- freeswitch-mod-logfile (= \${binary:Version}),
- freeswitch-mod-syslog (= \${binary:Version}),
- freeswitch-mod-say-en (= \${binary:Version}),
- freeswitch-mod-posix-timer (= \${binary:Version}),
- freeswitch-mod-timerfd (= \${binary:Version}),
- freeswitch-mod-xml-cdr (= \${binary:Version}),
- freeswitch-mod-xml-curl (= \${binary:Version}),
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which recommends most packaged FreeSWITCH
- modules except a few which aren't recommended.
- Package: freeswitch-meta-all
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
- freeswitch-init,
- freeswitch-lang (= \${binary:Version}),
- freeswitch-timezones (= \${binary:Version}),
- freeswitch-meta-codecs (= \${binary:Version}),
- freeswitch-meta-conf (= \${binary:Version}),
- freeswitch-meta-lang (= \${binary:Version}),
- freeswitch-meta-mod-say (= \${binary:Version}),
- freeswitch-music,
- freeswitch-sounds,
- freeswitch-mod-abstraction (= \${binary:Version}),
- freeswitch-mod-avmd (= \${binary:Version}),
- freeswitch-mod-av (= \${binary:Version}),
- freeswitch-mod-blacklist (= \${binary:Version}),
- freeswitch-mod-callcenter (= \${binary:Version}),
- freeswitch-mod-cidlookup (= \${binary:Version}),
- freeswitch-mod-commands (= \${binary:Version}),
- freeswitch-mod-conference (= \${binary:Version}),
- freeswitch-mod-curl (= \${binary:Version}),
- freeswitch-mod-db (= \${binary:Version}),
- freeswitch-mod-directory (= \${binary:Version}),
- freeswitch-mod-distributor (= \${binary:Version}),
- freeswitch-mod-dptools (= \${binary:Version}),
- freeswitch-mod-easyroute (= \${binary:Version}),
- freeswitch-mod-enum (= \${binary:Version}),
- freeswitch-mod-esf (= \${binary:Version}),
- freeswitch-mod-esl (= \${binary:Version}),
- freeswitch-mod-expr (= \${binary:Version}),
- freeswitch-mod-fifo (= \${binary:Version}),
- freeswitch-mod-fsk (= \${binary:Version}),
- freeswitch-mod-fsv (= \${binary:Version}),
- freeswitch-mod-hash (= \${binary:Version}),
- freeswitch-mod-httapi (= \${binary:Version}),
- freeswitch-mod-http-cache (= \${binary:Version}),
- freeswitch-mod-lcr (= \${binary:Version}),
- freeswitch-mod-memcache (= \${binary:Version}),
- freeswitch-mod-nibblebill (= \${binary:Version}),
- freeswitch-mod-oreka (= \${binary:Version}),
- freeswitch-mod-png (= \${binary:Version}),
- freeswitch-mod-redis (= \${binary:Version}),
- freeswitch-mod-rss (= \${binary:Version}),
- freeswitch-mod-sms (= \${binary:Version}),
- freeswitch-mod-snapshot (= \${binary:Version}),
- freeswitch-mod-snom (= \${binary:Version}),
- freeswitch-mod-sonar (= \${binary:Version}),
- freeswitch-mod-soundtouch (= \${binary:Version}),
- freeswitch-mod-spandsp (= \${binary:Version}),
- freeswitch-mod-spy (= \${binary:Version}),
- freeswitch-mod-stress (= \${binary:Version}),
- freeswitch-mod-translate (= \${binary:Version}),
- freeswitch-mod-valet-parking (= \${binary:Version}),
- freeswitch-mod-voicemail (= \${binary:Version}),
- freeswitch-mod-voicemail-ivr (= \${binary:Version}),
- freeswitch-mod-flite (= \${binary:Version}),
- freeswitch-mod-pocketsphinx (= \${binary:Version}),
- freeswitch-mod-tts-commandline (= \${binary:Version}),
- freeswitch-mod-unimrcp (= \${binary:Version}),
- freeswitch-mod-dialplan-asterisk (= \${binary:Version}),
- freeswitch-mod-dialplan-directory (= \${binary:Version}),
- freeswitch-mod-dialplan-xml (= \${binary:Version}),
- freeswitch-mod-dingaling (= \${binary:Version}),
- freeswitch-mod-loopback (= \${binary:Version}),
- freeswitch-mod-portaudio (= \${binary:Version}),
- freeswitch-mod-rtc (= \${binary:Version}),
- freeswitch-mod-rtmp (= \${binary:Version}),
- freeswitch-mod-skinny (= \${binary:Version}),
- freeswitch-mod-skypopen (= \${binary:Version}),
- freeswitch-mod-sofia (= \${binary:Version}),
- freeswitch-mod-verto (= \${binary:Version}),
- freeswitch-mod-cdr-csv (= \${binary:Version}),
- freeswitch-mod-cdr-mongodb (= \${binary:Version}),
- freeswitch-mod-cdr-sqlite (= \${binary:Version}),
- freeswitch-mod-erlang-event (= \${binary:Version}),
- freeswitch-mod-event-multicast (= \${binary:Version}),
- freeswitch-mod-event-socket (= \${binary:Version}),
- freeswitch-mod-json-cdr (= \${binary:Version}),
- freeswitch-mod-kazoo (= \${binary:Version}),
- freeswitch-mod-snmp (= \${binary:Version}),
- freeswitch-mod-local-stream (= \${binary:Version}),
- freeswitch-mod-native-file (= \${binary:Version}),
- freeswitch-mod-portaudio-stream (= \${binary:Version}),
- freeswitch-mod-shell-stream (= \${binary:Version}),
- freeswitch-mod-sndfile (= \${binary:Version}),
- freeswitch-mod-tone-stream (= \${binary:Version}),
- freeswitch-mod-java (= \${binary:Version}),
- freeswitch-mod-lua (= \${binary:Version}),
- freeswitch-mod-perl (= \${binary:Version}),
- freeswitch-mod-python (= \${binary:Version}),
- freeswitch-mod-yaml (= \${binary:Version}),
- freeswitch-mod-console (= \${binary:Version}),
- freeswitch-mod-logfile (= \${binary:Version}),
- freeswitch-mod-syslog (= \${binary:Version}),
- freeswitch-mod-posix-timer (= \${binary:Version}),
- freeswitch-mod-timerfd (= \${binary:Version}),
- freeswitch-mod-xml-cdr (= \${binary:Version}),
- freeswitch-mod-xml-curl (= \${binary:Version}),
- freeswitch-mod-xml-rpc (= \${binary:Version}),
- freeswitch-mod-xml-scgi (= \${binary:Version}),
- Recommends:
- Suggests:
- freeswitch-mod-vmd (= \${binary:Version}),
- freeswitch-mod-vlc (= \${binary:Version}),
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which recommends or suggests all packaged
- FreeSWITCH modules.
- Package: freeswitch-meta-codecs
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
- freeswitch-mod-amr (= \${binary:Version}),
- freeswitch-mod-amrwb (= \${binary:Version}),
- freeswitch-mod-b64 (= \${binary:Version}),
- freeswitch-mod-bv (= \${binary:Version}),
- freeswitch-mod-codec2 (= \${binary:Version}),
- freeswitch-mod-dahdi-codec (= \${binary:Version}),
- freeswitch-mod-g723-1 (= \${binary:Version}),
- freeswitch-mod-g729 (= \${binary:Version}),
- freeswitch-mod-h26x (= \${binary:Version}),
- freeswitch-mod-isac (= \${binary:Version}),
- freeswitch-mod-mp4v (= \${binary:Version}),
- freeswitch-mod-opus (= \${binary:Version}),
- freeswitch-mod-silk (= \${binary:Version}),
- freeswitch-mod-spandsp (= \${binary:Version}),
- freeswitch-mod-theora (= \${binary:Version}),
- Suggests:
- freeswitch-mod-ilbc (= \${binary:Version}),
- freeswitch-mod-siren (= \${binary:Version})
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on the packages needed to install
- most FreeSWITCH codecs.
- Package: freeswitch-meta-codecs-dbg
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
- freeswitch-mod-amr-dbg (= \${binary:Version}),
- freeswitch-mod-amrwb-dbg (= \${binary:Version}),
- freeswitch-mod-b64-dbg (= \${binary:Version}),
- freeswitch-mod-bv-dbg (= \${binary:Version}),
- freeswitch-mod-codec2-dbg (= \${binary:Version}),
- freeswitch-mod-dahdi-codec-dbg (= \${binary:Version}),
- freeswitch-mod-g723-1-dbg (= \${binary:Version}),
- freeswitch-mod-g729-dbg (= \${binary:Version}),
- freeswitch-mod-h26x-dbg (= \${binary:Version}),
- freeswitch-mod-isac-dbg (= \${binary:Version}),
- freeswitch-mod-mp4v-dbg (= \${binary:Version}),
- freeswitch-mod-opus-dbg (= \${binary:Version}),
- freeswitch-mod-silk-dbg (= \${binary:Version}),
- freeswitch-mod-spandsp-dbg (= \${binary:Version}),
- freeswitch-mod-theora-dbg (= \${binary:Version}),
- Suggests:
- freeswitch-mod-ilbc-dbg (= \${binary:Version}),
- freeswitch-mod-siren-dbg (= \${binary:Version})
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on the packages needed to install
- most FreeSWITCH codecs.
- Package: freeswitch-meta-conf
- Architecture: all
- Depends: \${misc:Depends},
- freeswitch-conf-curl (= \${binary:Version}),
- freeswitch-conf-insideout (= \${binary:Version}),
- freeswitch-conf-sbc (= \${binary:Version}),
- freeswitch-conf-softphone (= \${binary:Version}),
- freeswitch-conf-vanilla (= \${binary:Version}),
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on the available configuration
- examples for FreeSWITCH.
- Package: freeswitch-meta-lang
- Architecture: all
- Depends: \${misc:Depends},
- freeswitch-lang-de (= \${binary:Version}),
- freeswitch-lang-en (= \${binary:Version}),
- freeswitch-lang-es (= \${binary:Version}),
- freeswitch-lang-fr (= \${binary:Version}),
- freeswitch-lang-he (= \${binary:Version}),
- freeswitch-lang-pt (= \${binary:Version}),
- freeswitch-lang-ru (= \${binary:Version}),
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on all language files for
- FreeSWITCH.
- Package: freeswitch-meta-mod-say
- Architecture: any
- Depends: \${misc:Depends},
- freeswitch-mod-say-de (= \${binary:Version}),
- freeswitch-mod-say-en (= \${binary:Version}),
- freeswitch-mod-say-es (= \${binary:Version}),
- freeswitch-mod-say-fa (= \${binary:Version}),
- freeswitch-mod-say-fr (= \${binary:Version}),
- freeswitch-mod-say-he (= \${binary:Version}),
- freeswitch-mod-say-hr (= \${binary:Version}),
- freeswitch-mod-say-hu (= \${binary:Version}),
- freeswitch-mod-say-it (= \${binary:Version}),
- freeswitch-mod-say-ja (= \${binary:Version}),
- freeswitch-mod-say-nl (= \${binary:Version}),
- freeswitch-mod-say-pl (= \${binary:Version}),
- freeswitch-mod-say-pt (= \${binary:Version}),
- freeswitch-mod-say-ru (= \${binary:Version}),
- freeswitch-mod-say-th (= \${binary:Version}),
- freeswitch-mod-say-zh (= \${binary:Version}),
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on all mod_say languages for
- FreeSWITCH.
- Package: freeswitch-meta-mod-say-dbg
- Architecture: any
- Depends: \${misc:Depends},
- freeswitch-mod-say-de-dbg (= \${binary:Version}),
- freeswitch-mod-say-en-dbg (= \${binary:Version}),
- freeswitch-mod-say-es-dbg (= \${binary:Version}),
- freeswitch-mod-say-fa-dbg (= \${binary:Version}),
- freeswitch-mod-say-fr-dbg (= \${binary:Version}),
- freeswitch-mod-say-he-dbg (= \${binary:Version}),
- freeswitch-mod-say-hr-dbg (= \${binary:Version}),
- freeswitch-mod-say-hu-dbg (= \${binary:Version}),
- freeswitch-mod-say-it-dbg (= \${binary:Version}),
- freeswitch-mod-say-ja-dbg (= \${binary:Version}),
- freeswitch-mod-say-nl-dbg (= \${binary:Version}),
- freeswitch-mod-say-pl-dbg (= \${binary:Version}),
- freeswitch-mod-say-pt-dbg (= \${binary:Version}),
- freeswitch-mod-say-ru-dbg (= \${binary:Version}),
- freeswitch-mod-say-th-dbg (= \${binary:Version}),
- freeswitch-mod-say-zh-dbg (= \${binary:Version}),
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on all mod_say languages for
- FreeSWITCH.
- Package: freeswitch-meta-all-dbg
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
- freeswitch-meta-codecs-dbg (= \${binary:Version}),
- freeswitch-meta-mod-say (= \${binary:Version}),
- freeswitch-mod-abstraction-dbg (= \${binary:Version}),
- freeswitch-mod-avmd-dbg (= \${binary:Version}),
- freeswitch-mod-av-dbg (= \${binary:Version}),
- freeswitch-mod-blacklist-dbg (= \${binary:Version}),
- freeswitch-mod-callcenter-dbg (= \${binary:Version}),
- freeswitch-mod-cidlookup-dbg (= \${binary:Version}),
- freeswitch-mod-commands-dbg (= \${binary:Version}),
- freeswitch-mod-conference-dbg (= \${binary:Version}),
- freeswitch-mod-curl-dbg (= \${binary:Version}),
- freeswitch-mod-db-dbg (= \${binary:Version}),
- freeswitch-mod-directory-dbg (= \${binary:Version}),
- freeswitch-mod-distributor-dbg (= \${binary:Version}),
- freeswitch-mod-dptools-dbg (= \${binary:Version}),
- freeswitch-mod-easyroute-dbg (= \${binary:Version}),
- freeswitch-mod-enum-dbg (= \${binary:Version}),
- freeswitch-mod-esf-dbg (= \${binary:Version}),
- freeswitch-mod-esl-dbg (= \${binary:Version}),
- freeswitch-mod-expr-dbg (= \${binary:Version}),
- freeswitch-mod-fifo-dbg (= \${binary:Version}),
- freeswitch-mod-fsk-dbg (= \${binary:Version}),
- freeswitch-mod-fsv-dbg (= \${binary:Version}),
- freeswitch-mod-hash-dbg (= \${binary:Version}),
- freeswitch-mod-httapi-dbg (= \${binary:Version}),
- freeswitch-mod-http-cache-dbg (= \${binary:Version}),
- freeswitch-mod-lcr-dbg (= \${binary:Version}),
- freeswitch-mod-memcache-dbg (= \${binary:Version}),
- freeswitch-mod-nibblebill-dbg (= \${binary:Version}),
- freeswitch-mod-oreka-dbg (= \${binary:Version}),
- freeswitch-mod-png-dbg (= \${binary:Version}),
- freeswitch-mod-redis-dbg (= \${binary:Version}),
- freeswitch-mod-rss-dbg (= \${binary:Version}),
- freeswitch-mod-sms-dbg (= \${binary:Version}),
- freeswitch-mod-snapshot-dbg (= \${binary:Version}),
- freeswitch-mod-snom-dbg (= \${binary:Version}),
- freeswitch-mod-sonar-dbg (= \${binary:Version}),
- freeswitch-mod-soundtouch-dbg (= \${binary:Version}),
- freeswitch-mod-spandsp-dbg (= \${binary:Version}),
- freeswitch-mod-spy-dbg (= \${binary:Version}),
- freeswitch-mod-stress-dbg (= \${binary:Version}),
- freeswitch-mod-translate-dbg (= \${binary:Version}),
- freeswitch-mod-valet-parking-dbg (= \${binary:Version}),
- freeswitch-mod-voicemail-dbg (= \${binary:Version}),
- freeswitch-mod-voicemail-ivr-dbg (= \${binary:Version}),
- freeswitch-mod-flite-dbg (= \${binary:Version}),
- freeswitch-mod-pocketsphinx-dbg (= \${binary:Version}),
- freeswitch-mod-tts-commandline-dbg (= \${binary:Version}),
- freeswitch-mod-unimrcp-dbg (= \${binary:Version}),
- freeswitch-mod-dialplan-asterisk-dbg (= \${binary:Version}),
- freeswitch-mod-dialplan-directory-dbg (= \${binary:Version}),
- freeswitch-mod-dialplan-xml-dbg (= \${binary:Version}),
- freeswitch-mod-dingaling-dbg (= \${binary:Version}),
- freeswitch-mod-loopback-dbg (= \${binary:Version}),
- freeswitch-mod-portaudio-dbg (= \${binary:Version}),
- freeswitch-mod-rtc-dbg (= \${binary:Version}),
- freeswitch-mod-rtmp-dbg (= \${binary:Version}),
- freeswitch-mod-skinny-dbg (= \${binary:Version}),
- freeswitch-mod-skypopen-dbg (= \${binary:Version}),
- freeswitch-mod-sofia-dbg (= \${binary:Version}),
- freeswitch-mod-verto-dbg (= \${binary:Version}),
- freeswitch-mod-cdr-csv-dbg (= \${binary:Version}),
- freeswitch-mod-cdr-mongodb-dbg (= \${binary:Version}),
- freeswitch-mod-cdr-sqlite-dbg (= \${binary:Version}),
- freeswitch-mod-erlang-event-dbg (= \${binary:Version}),
- freeswitch-mod-event-multicast-dbg (= \${binary:Version}),
- freeswitch-mod-event-socket-dbg (= \${binary:Version}),
- freeswitch-mod-json-cdr-dbg (= \${binary:Version}),
- freeswitch-mod-kazoo-dbg (= \${binary:Version}),
- freeswitch-mod-snmp-dbg (= \${binary:Version}),
- freeswitch-mod-local-stream-dbg (= \${binary:Version}),
- freeswitch-mod-native-file-dbg (= \${binary:Version}),
- freeswitch-mod-portaudio-stream-dbg (= \${binary:Version}),
- freeswitch-mod-shell-stream-dbg (= \${binary:Version}),
- freeswitch-mod-sndfile-dbg (= \${binary:Version}),
- freeswitch-mod-tone-stream-dbg (= \${binary:Version}),
- freeswitch-mod-java-dbg (= \${binary:Version}),
- freeswitch-mod-lua-dbg (= \${binary:Version}),
- freeswitch-mod-perl-dbg (= \${binary:Version}),
- freeswitch-mod-python-dbg (= \${binary:Version}),
- freeswitch-mod-yaml-dbg (= \${binary:Version}),
- freeswitch-mod-console-dbg (= \${binary:Version}),
- freeswitch-mod-logfile-dbg (= \${binary:Version}),
- freeswitch-mod-syslog-dbg (= \${binary:Version}),
- freeswitch-mod-posix-timer-dbg (= \${binary:Version}),
- freeswitch-mod-timerfd-dbg (= \${binary:Version}),
- freeswitch-mod-xml-cdr-dbg (= \${binary:Version}),
- freeswitch-mod-xml-curl-dbg (= \${binary:Version}),
- freeswitch-mod-xml-rpc-dbg (= \${binary:Version}),
- freeswitch-mod-xml-scgi-dbg (= \${binary:Version}),
- Recommends:
- Suggests:
- freeswitch-mod-vmd-dbg (= \${binary:Version}),
- freeswitch-mod-vlc-dbg (= \${binary:Version}),
- Description: Cross-Platform Scalable Multi-Protocol Soft Switch
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which recommends or suggests all packaged
- FreeSWITCH modules.
- Package: freeswitch-all-dbg
- Section: debug
- Priority: extra
- Architecture: any
- Depends: \${misc:Depends}, freeswitch-meta-all (= \${binary:Version}), freeswitch-meta-all-dbg (= \${binary:Version})
- Description: debugging symbols for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- This package contains debugging symbols for FreeSWITCH.
- Package: freeswitch-dbg
- Section: debug
- Priority: extra
- Architecture: any
- Depends: \${misc:Depends}, freeswitch (= \${binary:Version})
- Description: debugging symbols for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- This package contains debugging symbols for FreeSWITCH.
- Package: libfreeswitch1-dbg
- Section: debug
- Priority: extra
- Architecture: any
- Depends: \${misc:Depends}, libfreeswitch1 (= \${binary:Version})
- Description: debugging symbols for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- This package contains debugging symbols for libfreeswitch1.
- Package: libfreeswitch-dev
- Section: libdevel
- Architecture: any
- Depends: \${misc:Depends}, freeswitch
- Description: development libraries and header files for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- This package contains include files for FreeSWITCH.
- Package: freeswitch-doc
- Section: doc
- Architecture: all
- Depends: \${misc:Depends}
- Description: documentation for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- This package contains Doxygen-produced documentation for FreeSWITCH.
- It may be an empty package at the moment.
- ## misc
- ## languages
- Package: freeswitch-lang
- Architecture: all
- Depends: \${misc:Depends},
- freeswitch-lang-en (= \${binary:Version})
- Description: Language files for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- This is a metapackage which depends on the default language packages
- for FreeSWITCH.
- ## timezones
- Package: freeswitch-timezones
- Architecture: all
- Depends: \${misc:Depends}
- Description: Timezone files for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- $(debian_wrap "This package includes the timezone files for FreeSWITCH.")
- ## startup
- EOF
- if [ ${use_sysvinit} = "true" ]; then
- cat <<EOF
- Package: freeswitch-sysvinit
- Architecture: all
- Depends: \${misc:Depends}, lsb-base (>= 3.0-6), sysvinit | sysvinit-utils
- Conflicts: freeswitch-init
- Provides: freeswitch-init
- Description: FreeSWITCH SysV init script
- $(debian_wrap "${fs_description}")
- .
- This package contains the SysV init script for FreeSWITCH.
- EOF
- else
- cat <<EOF
- Package: freeswitch-systemd
- Architecture: all
- Depends: \${misc:Depends}, systemd
- Conflicts: freeswitch-init, freeswitch-all (<= 1.6.7)
- Provides: freeswitch-init
- Description: FreeSWITCH systemd configuration
- $(debian_wrap "${fs_description}")
- .
- This package contains the systemd configuration for FreeSWITCH.
- EOF
- fi
- }
- print_mod_control () {
- local m_section="${section:-comm}"
- cat <<EOF
- Package: freeswitch-${module_name//_/-}
- Section: ${m_section}
- Architecture: any
- $(debian_wrap "Depends: \${shlibs:Depends}, \${misc:Depends}, libfreeswitch1 (= \${binary:Version}), ${depends}")
- $(debian_wrap "Recommends: ${recommends}")
- $(debian_wrap "Suggests: freeswitch-${module_name//_/-}-dbg, ${suggests}")
- Conflicts: freeswitch-all (<= 1.6.7)
- Description: ${description} for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- $(debian_wrap "This package contains ${module_name} for FreeSWITCH.")
- .
- $(debian_wrap "${long_description}")
- Package: freeswitch-${module_name//_/-}-dbg
- Section: debug
- Priority: extra
- Architecture: any
- Depends: \${misc:Depends},
- freeswitch-${module_name//_/-} (= \${binary:Version})
- Description: ${description} for FreeSWITCH (debug)
- $(debian_wrap "${fs_description}")
- .
- $(debian_wrap "This package contains debugging symbols for ${module_name} for FreeSWITCH.")
- .
- $(debian_wrap "${long_description}")
- EOF
- }
- print_mod_install () {
- cat <<EOF
- /usr/lib/freeswitch/mod/${1}.so
- EOF
- }
- print_long_filename_override () {
- local p="$1"
- cat <<EOF
- # The long file names are caused by appending the nightly information.
- # Since one of these packages will never end up on a Debian CD, the
- # related problems with long file names will never come up here.
- ${p}: package-has-long-file-name *
- EOF
- }
- print_gpl_openssl_override () {
- local p="$1"
- cat <<EOF
- # We're definitely not doing this. Nothing in FreeSWITCH has a more
- # restrictive license than LGPL or MPL.
- ${p}: possible-gpl-code-linked-with-openssl
- EOF
- }
- print_itp_override () {
- local p="$1"
- cat <<EOF
- # We're not in Debian (yet) so we don't have an ITP bug to close.
- ${p}: new-package-should-close-itp-bug
- EOF
- }
- print_common_overrides () {
- print_long_filename_override "$1"
- }
- print_mod_overrides () {
- print_common_overrides "$1"
- print_gpl_openssl_override "$1"
- }
- print_conf_overrides () {
- print_common_overrides "$1"
- }
- print_conf_control () {
- cat <<EOF
- Package: freeswitch-conf-${conf//_/-}
- Architecture: all
- Depends: \${misc:Depends}
- Conflicts: freeswitch-all (<= 1.6.7)
- Description: FreeSWITCH ${conf} configuration
- $(debian_wrap "${fs_description}")
- .
- $(debian_wrap "This package contains the ${conf} configuration for FreeSWITCH.")
- EOF
- }
- print_conf_install () {
- cat <<EOF
- conf/${conf} /usr/share/freeswitch/conf
- EOF
- }
- print_lang_overrides () {
- print_common_overrides "$1"
- }
- print_lang_control () {
- local lang_name="$(echo ${lang} | tr '[:lower:]' '[:upper:]')"
- case "${lang}" in
- de) lang_name="German" ;;
- en) lang_name="English" ;;
- es) lang_name="Spanish" ;;
- fr) lang_name="French" ;;
- he) lang_name="Hebrew" ;;
- pt) lang_name="Portuguese" ;;
- ru) lang_name="Russian" ;;
- esac
- cat <<EOF
- Package: freeswitch-lang-${lang//_/-}
- Architecture: all
- Depends: \${misc:Depends}
- Recommends: freeswitch-sounds-${lang}
- Conflicts: freeswitch-all (<= 1.6.7)
- Description: ${lang_name} language files for FreeSWITCH
- $(debian_wrap "${fs_description}")
- .
- $(debian_wrap "This package includes the ${lang_name} language files for FreeSWITCH.")
- EOF
- }
- print_lang_install () {
- cat <<EOF
- conf/vanilla/lang/${lang} /usr/share/freeswitch/lang
- EOF
- }
- print_edit_warning () {
- echo "#### Do not edit! This file is auto-generated from debian/bootstrap.sh."; echo
- }
- gencontrol_per_mod () {
- print_mod_control "$module_name" "$description" "$long_description" >> control
- }
- gencontrol_per_cat () {
- (echo "## mod/$category"; echo) >> control
- }
- geninstall_per_mod () {
- local f=freeswitch-${module_name//_/-}.install
- (print_edit_warning; print_mod_install "$module_name") > $f
- test -f $f.tmpl && cat $f.tmpl >> $f
- }
- genoverrides_per_mod () {
- local f=freeswitch-${module_name//_/-}.lintian-overrides
- (print_edit_warning; print_mod_overrides freeswitch-${module_name//_/-}) > $f
- test -f $f.tmpl && cat $f.tmpl >> $f
- }
- genmodulesconf () {
- genmodules_per_cat () { echo "## $category"; }
- genmodules_per_mod () { echo "$module"; }
- print_edit_warning
- map_modules 'mod_filter' 'genmodules_per_cat' 'genmodules_per_mod'
- }
- genconf () {
- print_conf_control >> control
- local p=freeswitch-conf-${conf//_/-}
- local f=$p.install
- (print_edit_warning; print_conf_install) > $f
- test -f $f.tmpl && cat $f.tmpl >> $f
- local f=$p.lintian-overrides
- (print_edit_warning; print_conf_overrides "$p") > $f
- test -f $f.tmpl && cat $f.tmpl >> $f
- }
- genlang () {
- print_lang_control >> control
- local p=freeswitch-lang-${lang//_/-}
- local f=$p.install
- (print_edit_warning; print_lang_install) > $f
- test -f $f.tmpl && cat $f.tmpl >> $f
- local f=$p.lintian-overrides
- (print_edit_warning; print_lang_overrides "$p") > $f
- test -f $f.tmpl && cat $f.tmpl >> $f
- }
- geninstall_perl () {
- local archlib
- eval `perl -V:archlib`
- echo $archlib/ESL.\* >libesl-perl.install
- echo $archlib/ESL/\*.\* >>libesl-perl.install
- }
- accumulate_mod_deps () {
- local x=""
- # build-depends
- if [ -n "$(eval echo \$build_depends_$codename)" ]; then
- x="$(eval echo \$build_depends_$codename)"
- else x="${build_depends}"; fi
- if [ -n "$x" ]; then
- if [ ! "$mod_build_depends" = "." ]; then
- mod_build_depends="${mod_build_depends}, ${x}"
- else mod_build_depends="${x}"; fi; fi
- # depends
- if [ -n "$(eval echo \$depends_$codename)" ]; then
- x="$(eval echo \$depends_$codename)"
- else x="${depends}"; fi
- x="$(echo "$x" | sed 's/, \?/\n/g' | grep -v '^freeswitch' | tr '\n' ',' | sed -e 's/,$//' -e 's/,/, /g')"
- if [ -n "$x" ]; then
- if [ ! "$mod_depends" = "." ]; then
- mod_depends="${mod_depends}, ${x}"
- else mod_depends="${x}"; fi; fi
- # recommends
- if [ -n "$(eval echo \$recommends_$codename)" ]; then
- x="$(eval echo \$recommends_$codename)"
- else x="${recommends}"; fi
- x="$(echo "$x" | sed 's/, \?/\n/g' | grep -v '^freeswitch' | tr '\n' ',' | sed -e 's/,$//' -e 's/,/, /g')"
- if [ -n "$x" ]; then
- if [ ! "$mod_recommends" = "." ]; then
- mod_recommends="${mod_recommends}, ${x}"
- else mod_recommends="${x}"; fi; fi
- # suggests
- if [ -n "$(eval echo \$suggests_$codename)" ]; then
- x="$(eval echo \$suggests_$codename)"
- else x="${suggests}"; fi
- x="$(echo "$x" | sed 's/, \?/\n/g' | grep -v '^freeswitch' | tr '\n' ',' | sed -e 's/,$//' -e 's/,/, /g')"
- if [ -n "$x" ]; then
- if [ ! "$mod_suggests" = "." ]; then
- mod_suggests="${mod_suggests}, ${x}"
- else mod_suggests="${x}"; fi; fi
- }
- genmodctl_new_mod () {
- grep -e "^Module: ${module}$" control-modules >/dev/null && return 0
- cat <<EOF
- Module: $module
- Description: $description
- $long_description
- EOF
- echo
- }
- genmodctl_new_cat () {
- grep -e "^## mod/${category}$" control-modules >/dev/null && return 0
- cat <<EOF
- ## mod/$category
- EOF
- }
- pre_parse_mod_control () {
- local fl=true ll_nl=false ll_descr=false
- while xread l; do
- if [ -z "$l" ]; then
- # is newline
- if ! $ll_nl && ! $fl; then
- echo
- fi
- ll_nl=true
- continue
- elif [ -z "${l##\#*}" ]; then
- # is comment
- continue
- elif [ -z "${l## *}" ]; then
- # is continuation line
- if ! $ll_descr; then
- echo -n "$l"
- else
- echo -n "Long-Description: $(echo "$l" | sed -e 's/^ *//')"
- fi
- else
- # is header line
- $fl || echo
- if [ "${l%%:*}" = "Description" ]; then
- ll_descr=true
- echo "Description: ${l#*: }"
- continue
- else
- echo -n "$l"
- fi
- fi
- fl=false ll_nl=false ll_descr=false
- done < control-modules
- }
- var_escape () {
- (echo -n \'; echo -n "$1" | sed -e "s/'/'\\\\''/g"; echo -n \')
- }
- parse_mod_control () {
- pre_parse_mod_control > control-modules.preparse
- local category=""
- local module_name=""
- rm -rf $parse_dir
- while xread l; do
- if [ -z "$l" ]; then
- # is newline
- continue
- fi
- local header="${l%%:*}"
- local value="${l#*: }"
- if [ "$header" = "Module" ]; then
- category="${value%%/*}"
- module_name="${value#*/}"
- mkdir -p $parse_dir/$category
- (echo "module=$(var_escape "$value")"; \
- echo "category=$(var_escape "$category")"; \
- echo "module_name=$(var_escape "$module_name")"; \
- ) >> $parse_dir/$category/$module_name
- else
- ([ -n "$category" ] && [ -n "$module_name" ]) \
- || err "unexpected header $header"
- local var_name="$(echo "$header" | sed -e 's/-/_/g' | tr '[A-Z]' '[a-z]')"
- echo "${var_name}=$(var_escape "$value")" >> $parse_dir/$category/$module_name
- fi
- done < control-modules.preparse
- }
- debian_wrap () {
- local fl=true
- echo "$1" | fold -s -w 69 | while xread l; do
- local v="$(echo "$l" | sed -e 's/ *$//g')"
- if $fl; then
- fl=false
- echo "$v"
- else
- echo " $v"
- fi
- done
- }
- genmodctl_cat () {
- (echo "## mod/$category"; echo)
- }
- genmodctl_mod () {
- echo "Module: $module"
- [ -n "$section" ] && echo "Section: $section"
- echo "Description: $description"
- echo "$long_description" | fold -s -w 69 | while xread l; do
- local v="$(echo "$l" | sed -e 's/ *$//g')"
- echo " $v"
- done
- [ -n "$build_depends" ] && debian_wrap "Build-Depends: $build_depends"
- for x in $supported_distros; do
- [ -n "$(eval echo \$build_depends_$x)" ] \
- && debian_wrap "Build-Depends-$x: $(eval echo \$build_depends_$x)"
- done
- [ -n "$depends" ] && debian_wrap "Depends: $depends"
- [ -n "$reccomends" ] && debian_wrap "Recommends: $recommends"
- [ -n "$suggests" ] && debian_wrap "Suggests: $suggests"
- [ -n "$distro_conflicts" ] && debian_wrap "Distro-Conflicts: $distro_conflicts"
- echo
- }
- set_modules_non_dfsg () {
- local len=${#avoid_mods}
- for ((i=0; i<len; i++)); do
- case "${avoid_mods[$i]}" in
- codecs/mod_siren|codecs/mod_ilbc)
- unset avoid_mods[$i]
- ;;
- esac
- done
- }
- unavoid_modules () {
- local len=${#avoid_mods}
- for ((i=0; i<len; i++)); do
- for x in $1; do
- if test "${avoid_mods[$i]}" = "$x"; then
- unset avoid_mods[$i]
- fi
- done
- done
- }
- conf_merge () {
- local of="$1" if="$2"
- if [ -s $if ]; then
- grep -v '^##\|^$' $if | while xread x; do
- touch $of
- if ! grep -e "$x" $of >/dev/null; then
- printf '%s\n' "$x" >> $of
- fi
- done
- fi
- }
- echo "Bootstrapping debian/ for ${codename}" >&2
- echo >&2
- echo "Please wait, this takes a few seconds..." >&2
- test -z "$modulelist_opt" || set_modules_${modulelist_opt/-/_}
- test -z "$modules_add" || unavoid_modules "$modules_add"
- echo "Adding any new modules to control-modules..." >&2
- parse_dir=control-modules.parse
- map_fs_modules ':' 'genmodctl_new_cat' 'genmodctl_new_mod' >> control-modules
- echo "Parsing control-modules..." >&2
- parse_mod_control
- echo "Displaying includes/excludes..." >&2
- map_modules 'mod_filter_show' '' ''
- echo "Generating modules_.conf..." >&2
- genmodulesconf > modules_.conf
- echo "Generating control-modules.gen as sanity check..." >&2
- (echo "# -*- mode:debian-control -*-"; \
- echo "##### Author: Travis Cross <tc@traviscross.com>"; echo; \
- map_modules ':' 'genmodctl_cat' 'genmodctl_mod' \
- ) > control-modules.gen
- echo "Accumulating dependencies from modules..." >&2
- map_modules 'mod_filter' '' 'accumulate_mod_deps'
- echo "Generating debian/..." >&2
- > control
- (print_edit_warning; print_source_control; print_core_control) >> control
- echo "Generating debian/ (conf)..." >&2
- (echo "### conf"; echo) >> control
- map_confs 'genconf'
- echo "Generating debian/ (lang)..." >&2
- (echo "### lang"; echo) >> control
- map_langs 'genlang'
- echo "Generating debian/ (modules)..." >&2
- (echo "### modules"; echo) >> control
- map_modules "mod_filter" \
- "gencontrol_per_cat" \
- "gencontrol_per_mod geninstall_per_mod genoverrides_per_mod"
- geninstall_perl
- if [ ${use_sysvinit} = "true" ]; then
- echo -n freeswitch-sysvinit >freeswitch-init.provided_by
- else
- echo -n freeswitch-systemd >freeswitch-init.provided_by
- fi
- echo "Generating additional lintian overrides..." >&2
- grep -e '^Package:' control | while xread l; do
- m="${l#*: }"
- f=$m.lintian-overrides
- [ -s $f ] || print_edit_warning >> $f
- if ! grep -e 'package-has-long-file-name' $f >/dev/null; then
- print_long_filename_override "$m" >> $f
- fi
- if ! grep -e 'new-package-should-close-itp-bug' $f >/dev/null; then
- print_itp_override "$m" >> $f
- fi
- done
- for p in freeswitch libfreeswitch1; do
- f=$p.lintian-overrides
- [ -s $f ] || print_edit_warning >> $f
- print_gpl_openssl_override "$p" >> $f
- done
- echo "Cleaning up..." >&2
- rm -f control-modules.preparse
- rm -rf control-modules.parse
- diff control-modules control-modules.gen >/dev/null && rm -f control-modules.gen
- echo "Done bootstrapping debian/" >&2
- touch .stamp-bootstrap
|