Add support for Debian version 13 codename Trixie (#451)

This commit is contained in:
frytimo
2025-11-21 21:27:09 -04:00
committed by GitHub
parent eefc35b778
commit bc30e8c6c9
7 changed files with 116 additions and 41 deletions

6
debian/install.sh vendored
View File

@@ -52,15 +52,15 @@ resources/fusionpbx.sh
#Optional Applications #Optional Applications
resources/applications.sh resources/applications.sh
#FreeSWITCH
resources/switch.sh
#Fail2ban #Fail2ban
resources/fail2ban.sh resources/fail2ban.sh
#Postgres #Postgres
resources/postgresql.sh resources/postgresql.sh
#FreeSWITCH
resources/switch.sh
#set the ip address #set the ip address
server_address=$(hostname -I) server_address=$(hostname -I)

View File

@@ -111,6 +111,12 @@ cd /var/www/fusionpbx && /usr/bin/php /var/www/fusionpbx/core/upgrade/upgrade.ph
#install crontab #install crontab
apt install cron apt install cron
#update file permissions
chmod 664 /etc/fusionpbx/config.conf
#restart nginx
systemctl restart nginx freeswitch
#welcome message #welcome message
echo "" echo ""
echo "" echo ""

View File

@@ -58,6 +58,15 @@ fi
if [ ."$php_version" = ."8.1" ]; then if [ ."$php_version" = ."8.1" ]; then
sed -i /etc/nginx/sites-available/fusionpbx -e 's#unix:.*;#unix:/var/run/php/php8.1-fpm.sock;#g' sed -i /etc/nginx/sites-available/fusionpbx -e 's#unix:.*;#unix:/var/run/php/php8.1-fpm.sock;#g'
fi fi
if [ ."$php_version" = ."8.2" ]; then
sed -i /etc/nginx/sites-available/fusionpbx -e 's#unix:.*;#unix:/var/run/php/php8.2-fpm.sock;#g'
fi
if [ ."$php_version" = ."8.3" ]; then
sed -i /etc/nginx/sites-available/fusionpbx -e 's#unix:.*;#unix:/var/run/php/php8.3-fpm.sock;#g'
fi
if [ ."$php_version" = ."8.4" ]; then
sed -i /etc/nginx/sites-available/fusionpbx -e 's#unix:.*;#unix:/var/run/php/php8.4-fpm.sock;#g'
fi
ln -s /etc/nginx/sites-available/fusionpbx /etc/nginx/sites-enabled/fusionpbx ln -s /etc/nginx/sites-available/fusionpbx /etc/nginx/sites-enabled/fusionpbx
#self signed certificate #self signed certificate
@@ -81,4 +90,7 @@ fi
systemctl daemon-reload systemctl daemon-reload
#restart nginx #restart nginx
service nginx restart #service nginx restart
#restart again
systemctl restart nginx

View File

@@ -104,6 +104,26 @@ else
/usr/bin/sh -c 'echo "deb [signed-by=/etc/apt/keyrings/sury-php-8.x.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list' /usr/bin/sh -c 'echo "deb [signed-by=/etc/apt/keyrings/sury-php-8.x.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
fi fi
fi fi
if [ ."$os_codename" = ."trixie" ]; then
if [ ."$php_version" = ."8.2" ]; then
/usr/bin/apt -y install apt-transport-https lsb-release ca-certificates curl wget gnupg2
/usr/bin/wget -qO- https://packages.sury.org/php/apt.gpg | gpg --dearmor > /etc/apt/keyrings/sury-php-8.x.gpg
/usr/bin/chmod 644 /etc/apt/keyrings/sury-php-8.x.gpg
/usr/bin/sh -c 'echo "deb [signed-by=/etc/apt/keyrings/sury-php-8.x.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
fi
if [ ."$php_version" = ."8.3" ]; then
/usr/bin/apt -y install apt-transport-https lsb-release ca-certificates curl wget gnupg2
/usr/bin/wget -qO- https://packages.sury.org/php/apt.gpg | gpg --dearmor > /etc/apt/keyrings/sury-php-8.x.gpg
/usr/bin/chmod 644 /etc/apt/keyrings/sury-php-8.x.gpg
/usr/bin/sh -c 'echo "deb [signed-by=/etc/apt/keyrings/sury-php-8.x.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
fi
if [ ."$php_version" = ."8.4" ]; then
/usr/bin/apt -y install apt-transport-https lsb-release ca-certificates curl wget gnupg2
/usr/bin/wget -qO- https://packages.sury.org/php/apt.gpg | gpg --dearmor > /etc/apt/keyrings/sury-php-8.x.gpg
/usr/bin/chmod 644 /etc/apt/keyrings/sury-php-8.x.gpg
/usr/bin/sh -c 'echo "deb [signed-by=/etc/apt/keyrings/sury-php-8.x.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
fi
fi
fi fi
apt-get update -y apt-get update -y
@@ -125,16 +145,16 @@ if [ ."$php_version" = ."7.4" ]; then
apt-get install -y --no-install-recommends php7.4 php7.4-common php7.4-cli php7.4-dev php7.4-fpm php7.4-pgsql php7.4-sqlite3 php7.4-odbc php7.4-curl php7.4-imap php7.4-xml php7.4-gd php7.4-mbstring php7.4-inotify apt-get install -y --no-install-recommends php7.4 php7.4-common php7.4-cli php7.4-dev php7.4-fpm php7.4-pgsql php7.4-sqlite3 php7.4-odbc php7.4-curl php7.4-imap php7.4-xml php7.4-gd php7.4-mbstring php7.4-inotify
fi fi
if [ ."$php_version" = ."8.1" ]; then if [ ."$php_version" = ."8.1" ]; then
apt-get install -y --no-install-recommends php8.1 php8.1-common php8.1-cli php8.1-dev php8.1-fpm php8.1-pgsql php8.1-sqlite3 php8.1-odbc php8.1-curl php8.1-imap php8.1-xml php8.1-gd php8.1-mbstring php8.1-ldap php8.1-inotify apt-get install -y --no-install-recommends php8.1 php8.1-common php8.1-cli php8.1-dev php8.1-fpm php8.1-pgsql php8.1-sqlite3 php8.1-odbc php8.1-curl php8.1-imap php8.1-xml php8.1-gd php8.1-mbstring php8.1-ldap php8.1-inotify php8.1-snmp
fi fi
if [ ."$php_version" = ."8.2" ]; then if [ ."$php_version" = ."8.2" ]; then
apt-get install -y --no-install-recommends php8.2 php8.2-common php8.2-cli php8.2-dev php8.2-fpm php8.2-pgsql php8.2-sqlite3 php8.2-odbc php8.2-curl php8.2-imap php8.2-xml php8.2-gd php8.2-mbstring php8.2-ldap php8.2-inotify apt-get install -y --no-install-recommends php8.2 php8.2-common php8.2-cli php8.2-dev php8.2-fpm php8.2-pgsql php8.2-sqlite3 php8.2-odbc php8.2-curl php8.2-imap php8.2-xml php8.2-gd php8.2-mbstring php8.2-ldap php8.2-inotify php8.2-snmp
fi fi
if [ ."$php_version" = ."8.3" ]; then if [ ."$php_version" = ."8.3" ]; then
apt-get install -y --no-install-recommends php8.3 php8.3-common php8.3-cli php8.3-dev php8.3-fpm php8.3-pgsql php8.3-sqlite3 php8.3-odbc php8.3-curl php8.3-imap php8.3-xml php8.3-gd php8.3-mbstring php8.3-ldap php8.3-inotify apt-get install -y --no-install-recommends php8.3 php8.3-common php8.3-cli php8.3-dev php8.3-fpm php8.3-pgsql php8.3-sqlite3 php8.3-odbc php8.3-curl php8.3-imap php8.3-xml php8.3-gd php8.3-mbstring php8.3-ldap php8.3-inotify php8.3-snmp
fi fi
if [ ."$php_version" = ."8.4" ]; then if [ ."$php_version" = ."8.4" ]; then
apt-get install -y --no-install-recommends php8.4 php8.4-common php8.4-cli php8.4-dev php8.4-fpm php8.4-pgsql php8.4-sqlite3 php8.4-odbc php8.4-curl php8.4-imap php8.4-xml php8.4-gd php8.4-mbstring php8.4-ldap php8.4-inotify apt-get install -y --no-install-recommends php8.4 php8.4-common php8.4-cli php8.4-dev php8.4-fpm php8.4-pgsql php8.4-sqlite3 php8.4-odbc php8.4-curl php8.4-imap php8.4-xml php8.4-gd php8.4-mbstring php8.4-ldap php8.4-inotify php8.4-snmp
fi fi
#update config if source is being used #update config if source is being used
@@ -206,6 +226,9 @@ fi
if [ ."$php_version" = ."8.3" ]; then if [ ."$php_version" = ."8.3" ]; then
systemctl restart php8.3-fpm systemctl restart php8.3-fpm
fi fi
if [ ."$php_version" = ."8.4" ]; then
systemctl restart php8.4-fpm
fi
#init.d #init.d
#/usr/sbin/service php5-fpm restart #/usr/sbin/service php5-fpm restart

View File

@@ -9,8 +9,10 @@ cd "$(dirname "$0")"
if [ .$switch_source = .true ]; then if [ .$switch_source = .true ]; then
if [ ."$switch_branch" = "master" ]; then if [ ."$switch_branch" = "master" ]; then
echo "MASTER"
switch/source-master.sh switch/source-master.sh
else else
echo "RELEASE"
switch/source-release.sh switch/source-release.sh
fi fi

View File

@@ -12,21 +12,27 @@ apt update && apt upgrade -y
# install dependencies # install dependencies
apt install -y autoconf automake devscripts g++ git-core libncurses5-dev libtool libtool-bin make libjpeg-dev apt install -y autoconf automake devscripts g++ git-core libncurses5-dev libtool libtool-bin make libjpeg-dev
apt install -y pkg-config flac libgdbm-dev libdb-dev gettext sudo equivs mlocate git dpkg-dev libpq-dev apt install -y pkg-config flac libgdbm-dev libdb-dev gettext sudo equivs git dpkg-dev libpq-dev
apt install -y liblua5.2-dev libtiff5-dev libperl-dev libcurl4-openssl-dev libsqlite3-dev libpcre3-dev apt install -y liblua5.2-dev libtiff5-dev libperl-dev libcurl4-openssl-dev libsqlite3-dev libpcre3-dev
apt install -y devscripts libspeexdsp-dev libspeex-dev libldns-dev libedit-dev libopus-dev libmemcached-dev apt install -y devscripts libspeexdsp-dev libspeex-dev libldns-dev libedit-dev libopus-dev libmemcached-dev
apt install -y libshout3-dev libmpg123-dev libmp3lame-dev yasm nasm libsndfile1-dev libuv1-dev libvpx-dev apt install -y libshout3-dev libmpg123-dev libmp3lame-dev yasm nasm libsndfile1-dev libuv1-dev libvpx-dev
apt install -y libavformat-dev libswscale-dev libvlc-dev python3-distutils sox libsox-fmt-all apt install -y libavformat-dev libswscale-dev libvlc-dev sox libsox-fmt-all
#install dependencies that depend on the operating system version #install dependencies that depend on the operating system version
if [ ."$os_codename" = ."noble" ]; then
apt install -y python3-distutils mlocate libvpx9 swig3.0
fi
if [ ."$os_codename" = ."stretch" ]; then if [ ."$os_codename" = ."stretch" ]; then
apt install -y libvpx4 swig3.0 apt install -y python3-distutils mlocate libvpx4 swig3.0
fi fi
if [ ."$os_codename" = ."buster" ]; then if [ ."$os_codename" = ."buster" ]; then
apt install -y libvpx5 swig3.0 apt install -y python3-distutils mlocate libvpx5 swig3.0
fi fi
if [ ."$os_codename" = ."bullseye" ]; then if [ ."$os_codename" = ."bullseye" ]; then
apt install -y libvpx6 swig4.0 apt install -y python3-distutils mlocate libvpx6 swig4.0
fi
if [ ."$os_codename" = ."trixie" ]; then
apt install -y python3-distutils-extra plocate
fi fi
# additional dependencies # additional dependencies
@@ -36,7 +42,7 @@ apt install -y sqlite3 unzip
CWD=$(pwd) CWD=$(pwd)
#install the following dependencies if the switch version is greater than 1.10.0 #install the following dependencies if the switch version is greater than 1.10.0
if [ $(echo "$switch_version" | tr -d '.') -gt 1100 ]; then if [ ."$switch_version" = ."master" ] || [ $(echo "$switch_version" | tr -d '.') -gt 1100 ] || [ ."$os_codename" = ."trixie" ]; then
# libks build-requirements # libks build-requirements
apt install -y cmake uuid-dev apt install -y cmake uuid-dev
@@ -54,10 +60,14 @@ if [ $(echo "$switch_version" | tr -d '.') -gt 1100 ]; then
# sofia-sip # sofia-sip
cd /usr/src cd /usr/src
#git clone https://github.com/freeswitch/sofia-sip.git sofia-sip if [ ."$sofia_version" = ."master" ] || [ ."$os_codename" = ."trixie" ]; then
wget https://github.com/freeswitch/sofia-sip/archive/refs/tags/v$sofia_version.zip git clone https://github.com/freeswitch/sofia-sip.git sofia-sip
unzip v$sofia_version.zip cd sofia-sip
cd sofia-sip-$sofia_version else
wget https://github.com/freeswitch/sofia-sip/archive/refs/tags/v$sofia_version.zip
unzip v$sofia_version.zip
cd sofia-sip-$sofia_version
fi
sh autogen.sh sh autogen.sh
./configure --enable-debug ./configure --enable-debug
make -j $(getconf _NPROCESSORS_ONLN) make -j $(getconf _NPROCESSORS_ONLN)
@@ -67,8 +77,10 @@ if [ $(echo "$switch_version" | tr -d '.') -gt 1100 ]; then
cd /usr/src cd /usr/src
git clone https://github.com/freeswitch/spandsp.git spandsp git clone https://github.com/freeswitch/spandsp.git spandsp
cd spandsp cd spandsp
git reset --hard 0d2e6ac65e0e8f53d652665a743015a88bf048d4 if [ ."$sofia_version" != ."master" ] && [ ."$os_codename" != ."trixie" ] && [ ."$switch_branch" != ."master" ]; then
#/usr/bin/sed -i 's/AC_PREREQ(\[2\.71\])/AC_PREREQ([2.69])/g' /usr/src/spandsp/configure.ac git reset --hard 0d2e6ac65e0e8f53d652665a743015a88bf048d4
fi
#/usr/bin/sed -i 's/AC_PREREQ(\[2\.71\])/AC_PREREQ([2.69])/g' /usr/src/spandsp/configure.ac
sh autogen.sh sh autogen.sh
./configure --enable-debug ./configure --enable-debug
make -j $(getconf _NPROCESSORS_ONLN) make -j $(getconf _NPROCESSORS_ONLN)
@@ -79,34 +91,47 @@ fi
cd /usr/src cd /usr/src
#check for master #check for master
if [ $switch_branch = "master" ]; then if [ ."$os_codename" != ."trixie" ] || [ ."$switch_branch" = ."master" ]; then
#master branch #master branch
echo "Using version master" echo "Using version master"
rm -r /usr/src/freeswitch rm -r /usr/src/freeswitch
git clone https://github.com/signalwire/freeswitch.git git clone https://github.com/signalwire/freeswitch.git
cd /usr/src/freeswitch cd /usr/src/freeswitch
git remote add fusionpbx https://github.com/fusionpbx/freeswitch.git
git fetch fusionpbx
git checkout -b $switch_version
git rebase fusionpbx/master
./bootstrap.sh -j ./bootstrap.sh -j
fi fi
#check for stable release #check for stable release
if [ $switch_branch = "stable" ]; then if [ ."$switch_branch" != ."master" ] && [ ."$os_codename" != ."trixie" ] && [ ."$switch_branch" = ."stable" ]; then
echo "Using version $switch_version" echo "Using version $switch_version"
#1.8 and older #1.8 and older
if [ $(echo "$switch_version" | tr -d '.') -lt 1100 ]; then if [ $(echo "$switch_version" | tr -d '.') -lt 1100 ]; then
wget http://files.freeswitch.org/freeswitch-releases/freeswitch-$switch_version.zip wget http://files.freeswitch.org/freeswitch-releases/freeswitch-$switch_version.zip
unzip freeswitch-$switch_version.zip unzip freeswitch-$switch_version.zip
cd /usr/src/freeswitch-$switch_version cd /usr/src/freeswitch-$switch_version
# Reset repo just-in-case we are rebuilding
git reset --hard HEAD && git clean -fdx
fi fi
#1.10.0 and newer #1.10.0 and newer
if [ $(echo "$switch_version" | tr -d '.') -gt 1100 ]; then if [ $(echo "$switch_version" | tr -d '.') -gt 1100 ]; then
git clone -b $switch_version --single-branch https://github.com/fusionpbx/freeswitch freeswitch-$switch_version
git checkout $switch_version git clone https://github.com/fusionpbx/freeswitch freeswitch-$switch_version
cd /usr/src/freeswitch-$switch_version
# Reset repo just-in-case we are rebuilding
git reset --hard origin/master && git clean -fdx
#wget http://files.freeswitch.org/freeswitch-releases/freeswitch-$switch_version.-release.zip #wget http://files.freeswitch.org/freeswitch-releases/freeswitch-$switch_version.-release.zip
#unzip freeswitch-$switch_version.-release.zip #unzip freeswitch-$switch_version.-release.zip
#mv freeswitch-$switch_version.-release freeswitch-$switch_version #mv freeswitch-$switch_version.-release freeswitch-$switch_version
cd /usr/src/freeswitch-$switch_version
# bootstrap is needed if using git # bootstrap is needed if using git
./bootstrap.sh -j ./bootstrap.sh -j
@@ -124,22 +149,22 @@ fi
# enable required modules # enable required modules
#sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_avmd:applications/mod_avmd:' #sed -i /usr/src/freeswitch/modules.conf -e s:'#applications/mod_avmd:applications/mod_avmd:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#applications/mod_av:formats/mod_av:' sed -i modules.conf -e s:'#applications/mod_av:formats/mod_av:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#applications/mod_callcenter:applications/mod_callcenter:' sed -i modules.conf -e s:'#applications/mod_callcenter:applications/mod_callcenter:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#applications/mod_cidlookup:applications/mod_cidlookup:' sed -i modules.conf -e s:'#applications/mod_cidlookup:applications/mod_cidlookup:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#applications/mod_memcache:applications/mod_memcache:' sed -i modules.conf -e s:'#applications/mod_memcache:applications/mod_memcache:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#applications/mod_nibblebill:applications/mod_nibblebill:' sed -i modules.conf -e s:'#applications/mod_nibblebill:applications/mod_nibblebill:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#applications/mod_curl:applications/mod_curl:' sed -i modules.conf -e s:'#applications/mod_curl:applications/mod_curl:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#applications/mod_translate:applications/mod_translate:' sed -i modules.conf -e s:'#applications/mod_translate:applications/mod_translate:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#formats/mod_shout:formats/mod_shout:' sed -i modules.conf -e s:'#formats/mod_shout:formats/mod_shout:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#formats/mod_pgsql:formats/mod_pgsql:' sed -i modules.conf -e s:'#formats/mod_pgsql:formats/mod_pgsql:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#say/mod_say_es:say/mod_say_es:' sed -i modules.conf -e s:'#say/mod_say_es:say/mod_say_es:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'#say/mod_say_fr:say/mod_say_fr:' sed -i modules.conf -e s:'#say/mod_say_fr:say/mod_say_fr:'
#disable module or install dependency libks to compile signalwire #disable module or install dependency libks to compile signalwire
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'applications/mod_signalwire:#applications/mod_signalwire:' sed -i modules.conf -e s:'applications/mod_signalwire:#applications/mod_signalwire:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'endpoints/mod_skinny:#endpoints/mod_skinny:' sed -i modules.conf -e s:'endpoints/mod_skinny:#endpoints/mod_skinny:'
sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'endpoints/mod_verto:#endpoints/mod_verto:' sed -i modules.conf -e s:'endpoints/mod_verto:#endpoints/mod_verto:'
# prepare the build # prepare the build
#./configure --prefix=/usr/local/freeswitch --enable-core-pgsql-support --disable-fhs #./configure --prefix=/usr/local/freeswitch --enable-core-pgsql-support --disable-fhs
@@ -151,5 +176,8 @@ sed -i /usr/src/freeswitch-$switch_version/modules.conf -e s:'endpoints/mod_vert
make -j $(getconf _NPROCESSORS_ONLN) make -j $(getconf _NPROCESSORS_ONLN)
make install make install
# create voicemail directory for installer
mkdir -p /var/lib/freeswitch/storage/voicemail
#return to the executing directory #return to the executing directory
cd $CWD cd $CWD

View File

@@ -8,7 +8,11 @@ cd "$(dirname "$0")"
. ../environment.sh . ../environment.sh
# change the working directory # change the working directory
cd /usr/src/freeswitch-$switch_version if [ ."$switch_branch" = ."master" ]; then
cd /usr/src/freeswitch
else
cd /usr/src/freeswitch-$switch_version
fi
# compile and install the sounds # compile and install the sounds
make sounds-install moh-install make sounds-install moh-install