2012-02-23 20:03:09 -05:00
#!/bin/bash
##### -*- mode:shell-script; indent-tabs-mode:nil; sh-basic-offset:2 -*-
##### Author: Travis Cross <tc@traviscross.com>
mod_dir = "../src/mod"
conf_dir = "../conf"
2013-02-10 03:11:59 -05:00
lang_dir = "../conf/vanilla/lang"
2012-02-23 20:03:09 -05:00
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."
2013-10-18 04:17:50 -04:00
mod_build_depends = "." mod_depends = "." mod_recommends = "." mod_suggests = "."
2013-05-25 05:52:01 -04:00
supported_distros = "squeeze wheezy jessie sid"
2012-02-23 20:03:09 -05:00
avoid_mods = (
applications/mod_limit
2012-05-06 06:23:37 -04:00
applications/mod_mongo
2012-02-23 20:03:09 -05:00
applications/mod_mp4
applications/mod_osp
applications/mod_rad_auth
applications/mod_skel
asr_tts/mod_cepstral
codecs/mod_com_g729
2012-05-28 09:35:00 -04:00
codecs/mod_ilbc
2012-02-23 20:03:09 -05:00
codecs/mod_sangoma_codec
2012-05-28 09:35:00 -04:00
codecs/mod_siren
2012-02-23 20:03:09 -05:00
codecs/mod_skel_codec
codecs/mod_voipcodecs
endpoints/mod_gsmopen
endpoints/mod_h323
endpoints/mod_khomp
endpoints/mod_opal
endpoints/mod_reference
endpoints/mod_unicall
2012-06-01 23:07:12 -04:00
languages/mod_managed
2012-05-09 13:13:21 -04:00
languages/mod_spidermonkey
2012-02-23 20:03:09 -05:00
sdk/autotools
xml_int/mod_xml_ldap
2012-09-20 02:48:07 -04:00
xml_int/mod_xml_radius
2012-02-23 20:03:09 -05:00
)
2012-05-28 09:11:21 -04:00
avoid_mods_sid = (
2013-11-08 20:06:39 -05:00
languages/mod_java
2012-05-28 09:11:21 -04:00
)
2013-05-25 05:52:01 -04:00
avoid_mods_jessie = (
)
2012-05-28 09:11:21 -04:00
avoid_mods_wheezy = (
)
2012-05-07 19:32:09 -04:00
avoid_mods_squeeze = (
formats/mod_vlc
2012-05-12 14:11:28 -04:00
languages/mod_managed
2012-05-07 19:32:09 -04:00
)
2013-12-07 19:31:11 -05:00
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-init
freeswitch-sysvinit
freeswitch-systemd
freeswitch-lang
)
2012-02-23 20:03:09 -05:00
err ( ) {
echo " $0 error: $1 " >& 2
exit 1
}
2012-05-05 16:28:46 -04:00
xread ( ) {
2012-02-23 20:03:09 -05:00
local xIFS = " $IFS "
IFS = ''
read $@
local ret = $?
IFS = " $xIFS "
return $ret
}
2013-12-07 19:31:11 -05:00
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; } '
}
2012-02-23 20:03:09 -05:00
avoid_mod_filter ( ) {
2012-05-08 10:34:47 -04:00
local x = " avoid_mods_ $codename [@] "
local -a mods = ( " ${ avoid_mods [@] } " " ${ !x } " )
2012-05-07 19:32:09 -04:00
for x in " ${ mods [@] } " ; do
2012-05-08 10:34:47 -04:00
if [ " $1 " = " $x " ] ; then
[ " $2 " = "show" ] && echo " excluding module $x " >& 2
return 1
fi
2012-02-23 20:03:09 -05:00
done
return 0
}
modconf_filter ( ) {
2012-05-08 10:34:47 -04:00
while xread l; do
if [ " $1 " = " $l " ] ; then
[ " $2 " = "show" ] && echo " including module $l " >& 2
return 0
fi
2012-02-23 20:03:09 -05:00
done < modules.conf
return 1
}
mod_filter ( ) {
if test -f modules.conf; then
modconf_filter $@
else
avoid_mod_filter $@
fi
}
2012-05-08 10:34:47 -04:00
mod_filter_show ( ) {
mod_filter " $1 " show
}
2012-02-23 20:03:09 -05:00
map_fs_modules ( ) {
local filterfn = " $1 " percatfns = " $2 " permodfns = " $3 "
for x in $mod_dir /*; do
2014-01-14 17:34:36 -05:00
test -d $x || continue
2014-01-14 17:36:17 -05:00
test ! ${ x ##*/ } = legacy || continue
2014-01-14 17:34:36 -05:00
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
2012-02-23 20:03:09 -05:00
done
}
2012-05-05 16:28:46 -04:00
map_modules ( ) {
2012-02-23 20:03:09 -05:00
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 = ""
2012-05-12 15:58:48 -04:00
section = "" description = "" long_description = ""
2012-02-23 20:03:09 -05:00
build_depends = "" depends = "" recommends = "" suggests = ""
distro_conflicts = ""
2012-05-12 00:38:56 -04:00
distro_vars = ""
for x in $supported_distros ; do
distro_vars = " $distro_vars build_depends_ $x "
eval build_depends_$x = ""
done
2012-02-23 20:03:09 -05:00
. $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 \
2012-05-12 15:58:48 -04:00
section description long_description \
2012-02-23 20:03:09 -05:00
build_depends depends recommends suggests \
2012-05-12 00:38:56 -04:00
distro_conflicts $distro_vars
2012-02-23 20:03:09 -05:00
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
}
2013-02-10 03:11:59 -05:00
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
}
2013-12-07 19:31:11 -05:00
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 ( ) {
2013-12-18 13:53:19 -05:00
$fsx " freeswitch- ${ module //_/- } "
$fsx " freeswitch- ${ module //_/- } -dbg " ; }
2013-12-07 19:31:11 -05:00
map_modules map_pkgs_mods
}
list_pkgs ( ) {
list_pkgs_thunk ( ) { printf '%s\n' " $1 " ; }
map_pkgs list_pkgs_thunk
}
list_freeswitch_all_pkgs ( ) {
list_pkgs \
| grep -v '^freeswitch-all$' \
| grep -v -- '-dbg$'
}
list_freeswitch_all_provides ( ) {
list_freeswitch_all_pkgs \
| intersperse ',\n '
}
list_freeswitch_all_replaces ( ) {
list_freeswitch_all_pkgs \
| postfix ' (<= ${binary:Version})' \
| intersperse ',\n '
}
list_freeswitch_all_dbg_pkgs ( ) {
list_pkgs \
| grep -v '^freeswitch-all-dbg$' \
| grep -- '-dbg$'
}
list_freeswitch_all_dbg_provides ( ) {
list_freeswitch_all_dbg_pkgs \
| intersperse ',\n '
}
list_freeswitch_all_dbg_replaces ( ) {
list_freeswitch_all_dbg_pkgs \
| postfix ' (<= ${binary:Version})' \
| intersperse ',\n '
}
2012-02-23 20:03:09 -05:00
print_source_control ( ) {
cat <<EOF
Source: freeswitch
Section: comm
Priority: optional
Maintainer: Travis Cross <tc@traviscross.com>
Build-Depends:
# for debian
debhelper ( >= 8.0.0) ,
# bootstrapping
automake ( >= 1.9) , autoconf, libtool,
# core build
2013-07-03 06:32:25 -04:00
dpkg-dev ( >= 1.15.8.12) , gcc ( >= 4:4.4.5) , g++ ( >= 4:4.4.5) ,
2012-05-06 03:28:10 -04:00
libc6-dev ( >= 2.11.3) , make ( >= 3.81) ,
wget, pkg-config,
2012-02-23 20:03:09 -05:00
# configure options
2012-12-07 15:17:13 -05:00
libssl-dev, unixodbc-dev, libpq-dev,
2012-10-31 11:17:09 -04:00
libncurses5-dev, libjpeg62-dev | libjpeg8-dev,
2012-02-23 20:03:09 -05:00
python-dev, erlang-dev,
# documentation
doxygen,
# for APR (not essential for build)
uuid-dev, libexpat1-dev, libgdbm-dev, libdb-dev,
# used by many modules
bison, zlib1g-dev,
# module build-depends
$( debian_wrap " ${ mod_build_depends } " )
2012-05-06 03:14:22 -04:00
Standards-Version: 3.9.3
2012-02-23 20:03:09 -05:00
Homepage: http://freeswitch.org/
Vcs-Git: git://git.freeswitch.org/freeswitch
Vcs-Browser: http://git.freeswitch.org/git/freeswitch/
EOF
}
print_core_control ( ) {
cat <<EOF
2013-10-18 04:17:50 -04:00
Package: freeswitch-all
Architecture: any
2013-12-07 19:31:11 -05:00
Provides: $( list_freeswitch_all_provides)
Replaces: $( list_freeswitch_all_replaces)
Conflicts: $( list_freeswitch_all_replaces)
2013-10-18 04:17:50 -04:00
Depends: \$ { shlibs:Depends} , \$ { perl:Depends} , \$ { misc:Depends} ,
freeswitch-music-default ( >= 1.0.8) ,
freeswitch-sounds-en-us-callie ( >= 1.0.25) | freeswitch-sounds,
$( debian_wrap " ${ mod_depends } " )
Recommends:
$( debian_wrap " ${ mod_recommends } " )
Suggests: freeswitch-all-dbg,
$( debian_wrap " ${ mod_suggests } " )
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$( debian_wrap " ${ fs_description } " )
.
This package contains FreeSWITCH and all modules and extras.
2012-02-23 20:03:09 -05:00
Package: freeswitch
Architecture: any
2012-05-10 14:47:02 -04:00
Depends: \$ { shlibs:Depends} , \$ { perl:Depends} , \$ { misc:Depends} ,
libfreeswitch1 ( = \$ { binary:Version} )
2012-02-23 20:03:09 -05:00
Recommends:
Suggests: freeswitch-dbg
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$( debian_wrap " ${ fs_description } " )
.
This package contains the FreeSWITCH core.
2012-05-09 17:44:55 -04:00
Package: libfreeswitch1
Architecture: any
2012-05-10 14:25:30 -04:00
Depends: \$ { shlibs:Depends} , \$ { misc:Depends}
2012-05-09 17:44:55 -04:00
Recommends:
Suggests: libfreeswitch1-dbg
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$( debian_wrap " ${ fs_description } " )
.
This package contains the FreeSWITCH core library.
2012-02-23 20:03:09 -05:00
Package: freeswitch-meta-bare
Architecture: any
Depends: \$ { misc:Depends} , freeswitch ( = \$ { binary:Version} )
Recommends:
freeswitch-doc ( = \$ { binary:Version} ) ,
freeswitch-mod-commands ( = \$ { binary:Version} ) ,
freeswitch-init ( = \$ { binary:Version} ) ,
2013-02-10 03:11:59 -05:00
freeswitch-lang ( = \$ { binary:Version} ) ,
2013-12-18 14:51:12 -05:00
freeswitch-music,
freeswitch-sounds
2012-02-23 20:03:09 -05:00
Suggests:
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$( debian_wrap " ${ fs_description } " )
.
2012-05-06 14:34:12 -04:00
This is a metapackage which depends on the packages needed for a very
bare FreeSWITCH install.
2012-02-23 20:03:09 -05:00
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} ) ,
2013-02-27 00:48:01 -05:00
freeswitch-mod-sndfile ( = \$ { binary:Version} ) ,
2012-02-23 20:03:09 -05:00
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 ( = \$ { binary:Version} ) ,
2013-02-10 03:11:59 -05:00
freeswitch-lang ( = \$ { binary:Version} ) ,
2012-02-23 20:03:09 -05:00
freeswitch-meta-codecs ( = \$ { binary:Version} ) ,
2013-12-18 14:51:12 -05:00
freeswitch-music,
freeswitch-sounds
2012-02-23 20:03:09 -05:00
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 } " )
.
2012-05-06 14:34:12 -04:00
This is a metapackage which depends on the packages needed for a
reasonably basic FreeSWITCH install.
2012-02-23 20:03:09 -05:00
Package: freeswitch-meta-vanilla
Architecture: any
Depends: \$ { misc:Depends} , freeswitch ( = \$ { binary:Version} ) ,
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-cluechoo ( = \$ { 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-init ( = \$ { binary:Version} ) ,
2013-02-10 03:11:59 -05:00
freeswitch-lang ( = \$ { binary:Version} ) ,
2013-12-18 14:51:12 -05:00
freeswitch-music,
freeswitch-sounds,
2012-02-23 20:03:09 -05:00
freeswitch-conf-vanilla ( = \$ { binary:Version} ) ,
Suggests:
freeswitch-mod-spidermonkey ( = \$ { binary:Version} ) ,
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$( debian_wrap " ${ fs_description } " )
.
2012-05-06 14:34:12 -04:00
This is a metapackage which depends on the packages needed for
running the FreeSWITCH vanilla example configuration.
2012-02-23 20:03:09 -05:00
2012-09-23 03:33:51 -04:00
Package: freeswitch-meta-sorbet
Architecture: any
Depends: \$ { misc:Depends} , freeswitch ( = \$ { binary:Version} ) ,
Recommends:
freeswitch-init ( = \$ { binary:Version} ) ,
2013-02-10 03:11:59 -05:00
freeswitch-lang ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
freeswitch-meta-codecs ( = \$ { binary:Version} ) ,
2013-12-18 14:51:12 -05:00
freeswitch-music,
freeswitch-sounds,
2012-09-23 03:33:51 -04:00
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-random ( = \$ { 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} ) ,
2013-02-07 10:32:15 -05:00
freeswitch-mod-flite ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
freeswitch-mod-pocketsphinx ( = \$ { binary:Version} ) ,
freeswitch-mod-tts-commandline ( = \$ { binary:Version} ) ,
freeswitch-mod-dialplan-xml ( = \$ { binary:Version} ) ,
freeswitch-mod-html5 ( = \$ { 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} ) ,
Recommends:
freeswitch-init ( = \$ { binary:Version} ) ,
2013-02-10 03:11:59 -05:00
freeswitch-lang ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
freeswitch-meta-codecs ( = \$ { binary:Version} ) ,
2013-05-27 00:47:45 -04:00
freeswitch-meta-conf ( = \$ { binary:Version} ) ,
freeswitch-meta-lang ( = \$ { binary:Version} ) ,
freeswitch-meta-mod-say ( = \$ { binary:Version} ) ,
2013-12-18 14:51:12 -05:00
freeswitch-music,
freeswitch-sounds,
2012-09-23 03:33:51 -04:00
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-cluechoo ( = \$ { 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-ladspa ( = \$ { binary:Version} ) ,
freeswitch-mod-lcr ( = \$ { binary:Version} ) ,
freeswitch-mod-memcache ( = \$ { binary:Version} ) ,
freeswitch-mod-nibblebill ( = \$ { binary:Version} ) ,
freeswitch-mod-oreka ( = \$ { binary:Version} ) ,
freeswitch-mod-random ( = \$ { binary:Version} ) ,
freeswitch-mod-redis ( = \$ { binary:Version} ) ,
freeswitch-mod-rss ( = \$ { binary:Version} ) ,
freeswitch-mod-sms ( = \$ { binary:Version} ) ,
freeswitch-mod-snapshot ( = \$ { binary:Version} ) ,
freeswitch-mod-snipe-hunt ( = \$ { 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} ) ,
2013-04-23 06:29:31 -04:00
freeswitch-mod-translate ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
freeswitch-mod-valet-parking ( = \$ { binary:Version} ) ,
freeswitch-mod-vmd ( = \$ { binary:Version} ) ,
freeswitch-mod-voicemail ( = \$ { binary:Version} ) ,
freeswitch-mod-voicemail-ivr ( = \$ { binary:Version} ) ,
2013-02-07 10:32:15 -05:00
freeswitch-mod-flite ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
freeswitch-mod-pocketsphinx ( = \$ { binary:Version} ) ,
freeswitch-mod-tts-commandline ( = \$ { binary:Version} ) ,
2013-05-27 00:47:45 -04:00
freeswitch-mod-unimrcp ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
freeswitch-mod-dialplan-asterisk ( = \$ { binary:Version} ) ,
freeswitch-mod-dialplan-directory ( = \$ { binary:Version} ) ,
freeswitch-mod-dialplan-xml ( = \$ { binary:Version} ) ,
freeswitch-mod-ldap ( = \$ { binary:Version} ) ,
freeswitch-mod-alsa ( = \$ { binary:Version} ) ,
freeswitch-mod-dingaling ( = \$ { binary:Version} ) ,
freeswitch-mod-html5 ( = \$ { binary:Version} ) ,
freeswitch-mod-loopback ( = \$ { binary:Version} ) ,
2013-05-27 00:47:45 -04:00
freeswitch-mod-portaudio ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
freeswitch-mod-rtmp ( = \$ { binary:Version} ) ,
freeswitch-mod-skinny ( = \$ { binary:Version} ) ,
2013-05-27 00:47:45 -04:00
freeswitch-mod-skypopen ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
freeswitch-mod-sofia ( = \$ { binary:Version} ) ,
freeswitch-mod-cdr-csv ( = \$ { binary:Version} ) ,
freeswitch-mod-cdr-mongodb ( = \$ { binary:Version} ) ,
freeswitch-mod-cdr-pg-csv ( = \$ { 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-event-test ( = \$ { binary:Version} ) ,
freeswitch-mod-event-zmq ( = \$ { binary:Version} ) ,
freeswitch-mod-json-cdr ( = \$ { binary:Version} ) ,
freeswitch-mod-radius-cdr ( = \$ { binary:Version} ) ,
freeswitch-mod-snmp ( = \$ { binary:Version} ) ,
freeswitch-mod-local-stream ( = \$ { binary:Version} ) ,
freeswitch-mod-native-file ( = \$ { binary:Version} ) ,
2013-05-27 00:47:45 -04:00
freeswitch-mod-portaudio-stream ( = \$ { binary:Version} ) ,
2012-09-23 03:33:51 -04:00
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} ) ,
Suggests:
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.
2012-02-23 20:03:09 -05:00
Package: freeswitch-meta-codecs
Architecture: any
Depends: \$ { misc:Depends} , freeswitch ( = \$ { binary:Version} ) ,
freeswitch-mod-amr ( = \$ { binary:Version} ) ,
freeswitch-mod-amrwb ( = \$ { binary:Version} ) ,
2013-05-27 00:47:45 -04:00
freeswitch-mod-b64 ( = \$ { binary:Version} ) ,
2012-02-23 20:03:09 -05:00
freeswitch-mod-bv ( = \$ { binary:Version} ) ,
freeswitch-mod-celt ( = \$ { binary:Version} ) ,
freeswitch-mod-codec2 ( = \$ { binary:Version} ) ,
2013-05-27 00:47:45 -04:00
freeswitch-mod-dahdi-codec ( = \$ { binary:Version} ) ,
2012-02-23 20:03:09 -05:00
freeswitch-mod-g723-1 ( = \$ { binary:Version} ) ,
freeswitch-mod-g729 ( = \$ { binary:Version} ) ,
freeswitch-mod-h26x ( = \$ { binary:Version} ) ,
2012-09-23 02:38:34 -04:00
freeswitch-mod-isac ( = \$ { binary:Version} ) ,
2012-02-23 20:03:09 -05:00
freeswitch-mod-mp4v ( = \$ { binary:Version} ) ,
freeswitch-mod-opus ( = \$ { binary:Version} ) ,
freeswitch-mod-silk ( = \$ { binary:Version} ) ,
2012-05-27 02:34:52 -04:00
freeswitch-mod-spandsp ( = \$ { binary:Version} ) ,
2012-09-23 02:38:34 -04:00
freeswitch-mod-theora ( = \$ { binary:Version} ) ,
freeswitch-mod-vp8 ( = \$ { binary:Version} )
2012-05-27 02:17:58 -04:00
Suggests:
freeswitch-mod-ilbc ( = \$ { binary:Version} ) ,
freeswitch-mod-siren ( = \$ { binary:Version} )
2012-02-23 20:03:09 -05:00
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$( debian_wrap " ${ fs_description } " )
.
2012-05-06 14:34:12 -04:00
This is a metapackage which depends on the packages needed to install
most FreeSWITCH codecs.
2012-02-23 20:03:09 -05:00
2013-05-27 00:47:45 -04:00
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.
2013-10-18 04:17:50 -04:00
Package: freeswitch-all-dbg
Section: debug
Priority: extra
Architecture: any
2013-12-07 19:31:11 -05:00
Provides: $( list_freeswitch_all_dbg_provides)
Replaces: $( list_freeswitch_all_dbg_replaces)
Breaks: $( list_freeswitch_all_dbg_replaces)
2014-01-04 14:57:25 -05:00
Depends: \$ { misc:Depends} , freeswitch-all ( = \$ { binary:Version} )
2013-10-18 04:17:50 -04:00
Description: debugging symbols for FreeSWITCH
$( debian_wrap " ${ fs_description } " )
.
This package contains debugging symbols for FreeSWITCH.
2012-02-23 20:03:09 -05:00
Package: freeswitch-dbg
Section: debug
2012-05-06 15:09:23 -04:00
Priority: extra
2012-02-23 20:03:09 -05:00
Architecture: any
Depends: \$ { misc:Depends} , freeswitch ( = \$ { binary:Version} )
Description: debugging symbols for FreeSWITCH
$( debian_wrap " ${ fs_description } " )
.
This package contains debugging symbols for FreeSWITCH.
2012-05-09 17:44:55 -04:00
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.
2012-05-09 18:31:25 -04:00
Package: libfreeswitch-dev
2012-02-23 20:03:09 -05:00
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
2012-05-06 15:26:52 -04:00
Section: doc
2012-02-23 20:03:09 -05:00
Architecture: all
2012-05-06 03:14:22 -04:00
Depends: \$ { misc:Depends}
2012-02-23 20:03:09 -05:00
Description: documentation for FreeSWITCH
$( debian_wrap " ${ fs_description } " )
.
This package contains Doxygen-produce documentation for FreeSWITCH.
2012-05-06 14:34:12 -04:00
It may be an empty package at the moment.
2012-02-23 20:03:09 -05:00
Package: freeswitch-init
Architecture: all
Depends: \$ { misc:Depends} ,
freeswitch-sysvinit ( = \$ { binary:Version} ) ,
freeswitch-systemd ( = \$ { binary:Version} )
Description: FreeSWITCH startup configuration
$( debian_wrap " ${ fs_description } " )
.
2012-05-06 14:34:12 -04:00
This is a metapackage which depends on the default system startup
packages for FreeSWITCH.
2012-02-23 20:03:09 -05:00
Package: freeswitch-sysvinit
Architecture: all
Depends: \$ { misc:Depends} , lsb-base ( >= 3.0-6)
Description: FreeSWITCH SysV init script
$( debian_wrap " ${ fs_description } " )
.
This package contains the SysV init script for FreeSWITCH.
Package: freeswitch-systemd
Architecture: all
Depends: \$ { misc:Depends}
Description: FreeSWITCH systemd configuration
$( debian_wrap " ${ fs_description } " )
.
This package contains the systemd configuration for FreeSWITCH.
## misc
2013-02-10 03:11:59 -05:00
## 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.
2012-02-23 20:03:09 -05:00
EOF
}
print_mod_control ( ) {
2012-05-13 16:53:58 -04:00
local m_section = " ${ section :- comm } "
2012-02-23 20:03:09 -05:00
cat <<EOF
Package: freeswitch-${ module_name //_/- }
2012-05-12 15:58:48 -04:00
Section: ${ m_section }
2012-02-23 20:03:09 -05:00
Architecture: any
2013-06-03 02:13:35 -04:00
$( debian_wrap " Depends: \${shlibs:Depends}, \${misc:Depends}, libfreeswitch1 (= \${binary:Version}), ${ depends } " )
2012-02-23 20:03:09 -05:00
$( debian_wrap " Recommends: ${ recommends } " )
$( debian_wrap " Suggests: freeswitch- ${ module_name //_/- } -dbg, ${ suggests } " )
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
2012-05-06 15:09:23 -04:00
Priority: extra
2012-02-23 20:03:09 -05:00
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
2012-05-06 03:14:22 -04:00
/usr/lib/freeswitch/mod/${ 1 } .so
2012-02-23 20:03:09 -05:00
EOF
}
2012-05-07 12:16:58 -04:00
print_long_filename_override ( ) {
local p = " $1 "
2012-05-06 19:26:37 -04:00
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.
2012-05-07 12:16:58 -04:00
${ p } : package-has-long-file-name *
2012-05-06 19:26:37 -04:00
EOF
}
2012-05-07 12:16:58 -04:00
print_gpl_openssl_override ( ) {
local p = " $1 "
2012-05-06 19:26:37 -04:00
cat <<EOF
# We're definitely not doing this. Nothing in FreeSWITCH has a more
# restrictive license than LGPL or MPL.
2012-05-07 12:16:58 -04:00
${ p } : possible-gpl-code-linked-with-openssl
2012-05-06 19:26:37 -04:00
EOF
}
2012-05-10 13:24:37 -04:00
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
}
2012-05-07 12:16:58 -04:00
print_common_overrides ( ) {
print_long_filename_override " $1 "
}
print_mod_overrides ( ) {
print_common_overrides " $1 "
print_gpl_openssl_override " $1 "
}
2012-05-06 19:26:37 -04:00
print_conf_overrides ( ) {
print_common_overrides " $1 "
}
2012-02-23 20:03:09 -05:00
print_conf_control ( ) {
cat <<EOF
Package: freeswitch-conf-${ conf //_/- }
Architecture: all
Depends: \$ { misc:Depends}
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
}
2013-02-10 03:11:59 -05:00
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}
2013-12-18 14:51:12 -05:00
Recommends: freeswitch-sounds-${ lang }
2013-02-10 03:11:59 -05:00
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
}
2012-02-23 20:03:09 -05:00
print_edit_warning ( ) {
echo "#### Do not edit! This file is auto-generated from debian/bootstrap.sh." ; echo
}
gencontrol_per_mod ( ) {
2013-12-09 22:53:17 -05:00
print_mod_control " $module_name " " $description " " $long_description " >> control
2012-02-23 20:03:09 -05:00
}
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
2013-10-18 04:17:50 -04:00
print_mod_install " $module_name " >> freeswitch-all.install
2012-02-23 20:03:09 -05:00
test -f $f .tmpl && cat $f .tmpl >> $f
}
2012-05-06 19:26:37 -04:00
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
}
2013-11-19 16:59:53 -05:00
genmodulesconf ( ) {
genmodules_per_cat ( ) { echo " ## $category " ; }
genmodules_per_mod ( ) { echo " $module " ; }
print_edit_warning
map_modules 'mod_filter' 'genmodules_per_cat' 'genmodules_per_mod'
2012-02-23 20:03:09 -05:00
}
genconf ( ) {
print_conf_control >> control
2012-05-06 19:26:37 -04:00
local p = freeswitch-conf-${ conf //_/- }
local f = $p .install
2012-02-23 20:03:09 -05:00
( print_edit_warning; print_conf_install) > $f
2013-10-18 04:17:50 -04:00
print_conf_install >> freeswitch-all.install
2012-02-23 20:03:09 -05:00
test -f $f .tmpl && cat $f .tmpl >> $f
2012-05-06 19:26:37 -04:00
local f = $p .lintian-overrides
( print_edit_warning; print_conf_overrides " $p " ) > $f
test -f $f .tmpl && cat $f .tmpl >> $f
2012-02-23 20:03:09 -05:00
}
2013-02-10 03:11:59 -05:00
genlang ( ) {
print_lang_control >> control
local p = freeswitch-lang-${ lang //_/- }
local f = $p .install
( print_edit_warning; print_lang_install) > $f
2013-10-18 04:17:50 -04:00
print_lang_install >> freeswitch-all.install
2013-02-10 03:11:59 -05:00
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
}
2013-10-18 04:17:50 -04:00
accumulate_mod_deps ( ) {
2012-05-12 00:38:56 -04:00
local x = ""
2013-10-18 04:17:50 -04:00
# build-depends
2012-05-12 00:38:56 -04:00
if [ -n " $( eval echo \$ build_depends_$codename ) " ] ; then
x = " $( eval echo \$ build_depends_$codename ) "
2013-10-18 04:17:50 -04:00
else x = " ${ build_depends } " ; fi
2012-05-12 00:38:56 -04:00
if [ -n " $x " ] ; then
2012-02-23 20:03:09 -05:00
if [ ! " $mod_build_depends " = "." ] ; then
2012-05-12 00:38:56 -04:00
mod_build_depends = " ${ mod_build_depends } , ${ x } "
2013-10-18 04:17:50 -04:00
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
2012-02-23 20:03:09 -05:00
}
2012-05-05 16:28:46 -04:00
genmodctl_new_mod ( ) {
2012-02-23 20:03:09 -05:00
grep -e " ^Module: ${ module } $" control-modules >/dev/null && return 0
cat <<EOF
Module: $module
Description: $description
$long_description
EOF
echo
}
2012-05-05 16:28:46 -04:00
genmodctl_new_cat ( ) {
2012-02-23 20:03:09 -05:00
grep -e " ^## mod/ ${ category } $" control-modules >/dev/null && return 0
cat <<EOF
## mod/$category
EOF
}
2012-05-05 16:28:46 -04:00
pre_parse_mod_control ( ) {
2012-02-23 20:03:09 -05:00
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
}
2012-05-05 16:28:46 -04:00
var_escape ( ) {
2012-02-23 20:03:09 -05:00
( echo -n \' ; echo -n " $1 " | sed -e "s/'/'\\\\''/g" ; echo -n \' )
}
2012-05-05 16:28:46 -04:00
parse_mod_control ( ) {
2012-02-23 20:03:09 -05:00
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
}
2012-05-05 16:28:46 -04:00
debian_wrap ( ) {
2012-02-23 20:03:09 -05:00
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
}
2012-05-05 16:28:46 -04:00
genmodctl_cat ( ) {
2012-02-23 20:03:09 -05:00
( echo " ## mod/ $category " ; echo )
}
2012-05-05 16:28:46 -04:00
genmodctl_mod ( ) {
2012-02-23 20:03:09 -05:00
echo " Module: $module "
2012-05-12 15:58:48 -04:00
[ -n " $section " ] && echo " Section: $section "
2012-02-23 20:03:09 -05:00
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 "
2012-05-12 00:38:56 -04:00
for x in $supported_distros ; do
[ -n " $( eval echo \$ build_depends_$x ) " ] \
&& debian_wrap " Build-Depends- $x : $( eval echo \$ build_depends_$x ) "
done
2012-02-23 20:03:09 -05:00
[ -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
}
2013-05-28 17:58:36 -04:00
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
}
2013-11-19 16:06:41 -05:00
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
}
2012-05-07 18:52:48 -04:00
codename = "sid"
2013-05-28 17:58:36 -04:00
modulelist_opt = ""
while getopts "c:m:" o; do
2012-05-07 18:52:48 -04:00
case " $o " in
2012-05-08 09:58:44 -04:00
c) codename = " $OPTARG " ; ;
2013-05-28 17:58:36 -04:00
m) modulelist_opt = " $OPTARG " ; ;
2012-05-07 18:52:48 -04:00
esac
done
shift $(( $OPTIND - 1 ))
echo " Bootstrapping debian/ for ${ codename } " >& 2
echo >& 2
2012-02-23 20:03:09 -05:00
echo "Please wait, this takes a few seconds..." >& 2
2013-05-28 17:58:36 -04:00
test -z " $modulelist_opt " || set_modules_${ modulelist_opt /-/_ }
2012-05-08 10:43:26 -04:00
echo "Adding any new modules to control-modules..." >& 2
2012-02-23 20:03:09 -05:00
parse_dir = control-modules.parse
map_fs_modules ':' 'genmodctl_new_cat' 'genmodctl_new_mod' >> control-modules
2012-05-08 10:43:26 -04:00
echo "Parsing control-modules..." >& 2
2012-02-23 20:03:09 -05:00
parse_mod_control
2012-05-08 10:43:26 -04:00
echo "Displaying includes/excludes..." >& 2
2012-05-08 10:34:47 -04:00
map_modules 'mod_filter_show' '' ''
2013-11-19 17:03:00 -05:00
echo "Generating modules_.conf..." >& 2
genmodulesconf > modules_.conf
2012-05-08 10:43:26 -04:00
echo "Generating control-modules.gen as sanity check..." >& 2
2012-05-09 18:28:31 -04:00
( echo "# -*- mode:debian-control -*-" ; \
echo "##### Author: Travis Cross <tc@traviscross.com>" ; echo; \
2012-02-23 20:03:09 -05:00
map_modules ':' 'genmodctl_cat' 'genmodctl_mod' \
) > control-modules.gen
2013-10-18 04:17:50 -04:00
echo "Accumulating dependencies from modules..." >& 2
map_modules 'mod_filter' '' 'accumulate_mod_deps'
2012-05-08 10:43:26 -04:00
echo "Generating debian/..." >& 2
2012-02-23 20:03:09 -05:00
> control
2013-10-18 04:17:50 -04:00
> freeswitch-all.install
( print_edit_warning; print_mod_overrides "freeswitch-all" ) \
> freeswitch-all.lintian-overrides
2012-02-23 20:03:09 -05:00
( print_edit_warning; print_source_control; print_core_control) >> control
2012-05-08 10:43:26 -04:00
echo "Generating debian/ (conf)..." >& 2
2012-02-23 20:03:09 -05:00
( echo "### conf" ; echo ) >> control
map_confs 'genconf'
2013-02-10 03:11:59 -05:00
echo "Generating debian/ (lang)..." >& 2
( echo "### lang" ; echo ) >> control
map_langs 'genlang'
2012-05-08 10:43:26 -04:00
echo "Generating debian/ (modules)..." >& 2
2012-02-23 20:03:09 -05:00
( echo "### modules" ; echo ) >> control
map_modules "mod_filter" \
2013-11-19 16:59:53 -05:00
"gencontrol_per_cat" \
"gencontrol_per_mod geninstall_per_mod genoverrides_per_mod"
2013-10-18 04:17:50 -04:00
echo "Generating debian/ (-all package)..." >& 2
grep -e '^Package:' control | grep -v '^freeswitch-all$' | while xread l; do
m = " ${ l #* : } "
2013-11-19 16:06:41 -05:00
conf_merge freeswitch-all.install $m .install
2013-10-18 04:17:50 -04:00
done
for x in postinst postrm preinst prerm; do
cp -a freeswitch.$x freeswitch-all.$x
done
cp -a freeswitch-doc.docs freeswitch-all.docs
#cp -a freeswitch-systemd.freeswitch.service freeswitch-all.freeswitch.service
cp -a freeswitch-sysvinit.freeswitch.default freeswitch-all.freeswitch.default
cp -a freeswitch-sysvinit.freeswitch.init freeswitch-all.freeswitch.init
2012-05-06 19:26:37 -04:00
2012-05-08 10:43:26 -04:00
echo "Generating additional lintian overrides..." >& 2
2012-05-06 19:26:37 -04:00
grep -e '^Package:' control | while xread l; do
m = " ${ l #* : } "
f = $m .lintian-overrides
2012-05-10 13:24:37 -04:00
[ -s $f ] || print_edit_warning >> $f
if ! grep -e 'package-has-long-file-name' $f >/dev/null; then
2012-05-07 12:16:58 -04:00
print_long_filename_override " $m " >> $f
2012-05-06 19:26:37 -04:00
fi
2012-05-10 13:24:37 -04:00
if ! grep -e 'new-package-should-close-itp-bug' $f >/dev/null; then
print_itp_override " $m " >> $f
fi
2012-05-06 19:26:37 -04:00
done
2012-05-10 13:19:06 -04:00
for p in freeswitch libfreeswitch1; do
f = $p .lintian-overrides
[ -s $f ] || print_edit_warning >> $f
print_gpl_openssl_override " $p " >> $f
done
2012-02-23 20:03:09 -05:00
2012-05-11 00:37:54 -04:00
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
2012-05-08 10:43:26 -04:00
echo "Done bootstrapping debian/" >& 2
2012-02-23 20:03:09 -05:00
touch .stamp-bootstrap