FS-11972: [Build-System] Add Raspberry Pi support.

This commit is contained in:
Andrey Volk 2019-07-30 03:29:27 +04:00
parent 28fc17a0c4
commit 689a376886
2 changed files with 40 additions and 34 deletions

69
debian/bootstrap.sh vendored
View File

@ -6,8 +6,9 @@ codename="sid"
modulelist_opt=""
modules_add=""
use_sysvinit=""
while getopts "c:m:p:v" o; do
while getopts "a:c:m:p:v" o; do
case "$o" in
a) avoid_mods_arch="$OPTARG" ;;
c) codename="$OPTARG" ;;
m) modulelist_opt="$OPTARG" ;;
p) modules_add="$modules_add $OPTARG";;
@ -62,6 +63,9 @@ avoid_mods=(
xml_int/mod_xml_ldap
xml_int/mod_xml_radius
)
avoid_mods_armhf=(
languages/mod_v8
)
avoid_mods_sid=(
directories/mod_ldap
)
@ -163,7 +167,8 @@ postfix () {
avoid_mod_filter () {
local x="avoid_mods_$codename[@]"
local -a mods=("${avoid_mods[@]}" "${!x}")
local y="avoid_mods_$avoid_mods_arch[@]"
local -a mods=("${avoid_mods[@]}" "${!x}" "${!y}")
for x in "${mods[@]}"; do
if [ "$1" = "$x" ]; then
[ "$2" = "show" ] && echo "excluding module $x" >&2
@ -342,7 +347,7 @@ EOF
print_core_control () {
cat <<EOF
Package: freeswitch-all
Architecture: amd64
Architecture: amd64 armhf
Depends: freeswitch-meta-all (= \${binary:Version}), freeswitch-meta-all-dbg (= \${binary:Version})
Conflicts: freeswitch-all (<= 1.6.7)
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
@ -351,7 +356,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
This is a package which depends on all packaged FreeSWITCH modules.
Package: freeswitch
Architecture: amd64
Architecture: amd64 armhf
Depends: \${shlibs:Depends}, \${perl:Depends}, \${misc:Depends},
libfreeswitch1 (= \${binary:Version})
Recommends:
@ -363,7 +368,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
This package contains the FreeSWITCH core.
Package: libfreeswitch1
Architecture: amd64
Architecture: amd64 armhf
Depends: \${shlibs:Depends}, \${misc:Depends}
Recommends:
Suggests: libfreeswitch1-dbg
@ -375,7 +380,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
Package: python-esl
Section: python
Architecture: amd64
Architecture: amd64 armhf
Depends: \${shlibs:Depends}, \${misc:Depends}, \${python:Depends}
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
@ -384,7 +389,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
Package: libesl-perl
Section: perl
Architecture: amd64
Architecture: amd64 armhf
Depends: \${shlibs:Depends}, \${misc:Depends}, \${perl:Depends}
Description: Cross-Platform Scalable Multi-Protocol Soft Switch
$(debian_wrap "${fs_description}")
@ -392,7 +397,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
This package contains the Perl binding for FreeSWITCH Event Socket Library (ESL).
Package: freeswitch-meta-bare
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version})
Recommends:
freeswitch-doc (= \${binary:Version}),
@ -410,7 +415,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
bare FreeSWITCH install.
Package: freeswitch-meta-default
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-mod-commands (= \${binary:Version}),
freeswitch-mod-conference (= \${binary:Version}),
@ -452,7 +457,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
reasonably basic FreeSWITCH install.
Package: freeswitch-meta-vanilla
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-init,
freeswitch-mod-console (= \${binary:Version}),
@ -501,7 +506,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
running the FreeSWITCH vanilla example configuration.
Package: freeswitch-meta-sorbet
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
Recommends:
freeswitch-init,
@ -584,7 +589,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
modules except a few which aren't recommended.
Package: freeswitch-meta-all
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-init,
freeswitch-lang (= \${binary:Version}),
@ -698,7 +703,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
FreeSWITCH modules.
Package: freeswitch-meta-codecs
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-mod-amr (= \${binary:Version}),
freeswitch-mod-amrwb (= \${binary:Version}),
@ -725,7 +730,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
most FreeSWITCH codecs.
Package: freeswitch-meta-codecs-dbg
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-mod-amr-dbg (= \${binary:Version}),
freeswitch-mod-amrwb-dbg (= \${binary:Version}),
@ -752,7 +757,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
most FreeSWITCH codecs.
Package: freeswitch-meta-conf
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends},
freeswitch-conf-curl (= \${binary:Version}),
freeswitch-conf-insideout (= \${binary:Version}),
@ -766,7 +771,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
examples for FreeSWITCH.
Package: freeswitch-meta-lang
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends},
freeswitch-lang-de (= \${binary:Version}),
freeswitch-lang-en (= \${binary:Version}),
@ -782,7 +787,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
FreeSWITCH.
Package: freeswitch-meta-mod-say
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends},
freeswitch-mod-say-de (= \${binary:Version}),
freeswitch-mod-say-en (= \${binary:Version}),
@ -807,7 +812,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
FreeSWITCH.
Package: freeswitch-meta-mod-say-dbg
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends},
freeswitch-mod-say-de-dbg (= \${binary:Version}),
freeswitch-mod-say-en-dbg (= \${binary:Version}),
@ -832,7 +837,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
FreeSWITCH.
Package: freeswitch-meta-all-dbg
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version}),
freeswitch-meta-codecs-dbg (= \${binary:Version}),
freeswitch-meta-mod-say (= \${binary:Version}),
@ -939,7 +944,7 @@ Description: Cross-Platform Scalable Multi-Protocol Soft Switch
Package: freeswitch-all-dbg
Section: debug
Priority: extra
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch-meta-all (= \${binary:Version}), freeswitch-meta-all-dbg (= \${binary:Version})
Description: debugging symbols for FreeSWITCH
$(debian_wrap "${fs_description}")
@ -949,7 +954,7 @@ Description: debugging symbols for FreeSWITCH
Package: freeswitch-dbg
Section: debug
Priority: extra
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch (= \${binary:Version})
Description: debugging symbols for FreeSWITCH
$(debian_wrap "${fs_description}")
@ -959,7 +964,7 @@ Description: debugging symbols for FreeSWITCH
Package: libfreeswitch1-dbg
Section: debug
Priority: extra
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, libfreeswitch1 (= \${binary:Version})
Description: debugging symbols for FreeSWITCH
$(debian_wrap "${fs_description}")
@ -968,7 +973,7 @@ Description: debugging symbols for FreeSWITCH
Package: libfreeswitch-dev
Section: libdevel
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, freeswitch
Description: development libraries and header files for FreeSWITCH
$(debian_wrap "${fs_description}")
@ -977,7 +982,7 @@ Description: development libraries and header files for FreeSWITCH
Package: freeswitch-doc
Section: doc
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}
Description: documentation for FreeSWITCH
$(debian_wrap "${fs_description}")
@ -990,7 +995,7 @@ Description: documentation for FreeSWITCH
## languages
Package: freeswitch-lang
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends},
freeswitch-lang-en (= \${binary:Version})
Description: Language files for FreeSWITCH
@ -1002,7 +1007,7 @@ Description: Language files for FreeSWITCH
## timezones
Package: freeswitch-timezones
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}
Description: Timezone files for FreeSWITCH
$(debian_wrap "${fs_description}")
@ -1016,7 +1021,7 @@ EOF
if [ ${use_sysvinit} = "true" ]; then
cat <<EOF
Package: freeswitch-sysvinit
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, lsb-base (>= 3.0-6), sysvinit | sysvinit-utils
Conflicts: freeswitch-init
Provides: freeswitch-init
@ -1029,7 +1034,7 @@ EOF
else
cat <<EOF
Package: freeswitch-systemd
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}, systemd
Conflicts: freeswitch-init, freeswitch-all (<= 1.6.7)
Provides: freeswitch-init
@ -1047,7 +1052,7 @@ print_mod_control () {
cat <<EOF
Package: freeswitch-${module_name//_/-}
Section: ${m_section}
Architecture: amd64
Architecture: amd64 armhf
$(debian_wrap "Depends: \${shlibs:Depends}, \${misc:Depends}, libfreeswitch1 (= \${binary:Version}), ${depends}")
$(debian_wrap "Recommends: ${recommends}")
$(debian_wrap "Suggests: freeswitch-${module_name//_/-}-dbg, ${suggests}")
@ -1062,7 +1067,7 @@ Description: ${description} for FreeSWITCH
Package: freeswitch-${module_name//_/-}-dbg
Section: debug
Priority: extra
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends},
freeswitch-${module_name//_/-} (= \${binary:Version})
Description: ${description} for FreeSWITCH (debug)
@ -1127,7 +1132,7 @@ print_conf_overrides () {
print_conf_control () {
cat <<EOF
Package: freeswitch-conf-${conf//_/-}
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}
Conflicts: freeswitch-all (<= 1.6.7)
Description: FreeSWITCH ${conf} configuration
@ -1161,7 +1166,7 @@ print_lang_control () {
esac
cat <<EOF
Package: freeswitch-lang-${lang//_/-}
Architecture: amd64
Architecture: amd64 armhf
Depends: \${misc:Depends}
Recommends: freeswitch-sounds-${lang}
Conflicts: freeswitch-all (<= 1.6.7)

5
debian/util.sh vendored
View File

@ -193,8 +193,9 @@ create_dsc () {
set -e
local OPTIND OPTARG modules_conf="" modules_list="" speed="normal" suite_postfix="" suite_postfix_p=false zl=9
local modules_add=""
while getopts 'f:m:p:s:u:z:' o "$@"; do
while getopts 'a:f:m:p:s:u:z:' o "$@"; do
case "$o" in
a) avoid_mods_arch="$OPTARG";;
f) modules_conf="$OPTARG";;
m) modules_list="$OPTARG";;
p) modules_add="$modules_add $OPTARG";;
@ -225,7 +226,7 @@ create_dsc () {
bootstrap_args="$bootstrap_args -p${x}"
done
fi
(cd debian && ./bootstrap.sh -c $distro $bootstrap_args)
(cd debian && ./bootstrap.sh -a "$avoid_mods_arch" -c $distro $bootstrap_args)
case "$speed" in
paranoid) sed -i ./debian/rules \
-e '/\.stamp-bootstrap:/{:l2 n; /\.\/bootstrap.sh -j/{s/ -j//; :l3 n; b l3}; b l2};' ;;