Balíčkovanie FreeSWITCH-u pre Debian
Autor: Zdenko Holeša, InžProjekt 1, KIS FRI ŽU 2014
Použitie predkompilovaných balíčkov FreeSWITCH
Predkompilované balíčky FreeSWITC-a (FS) existujú pre Debian Wheezy (32bit aj 64bit). Tento systém balíčkovania spočíva v tom, že každý modul FS patrí do samostatného balíčku. Preto treba dávať pozor, či aktuálne inštalujeme všetky moduly, ktoré potrebujeme. Inštalácia balíčkov spočíva v následujúcich krokoch.
1. Pridanie FreeSWITCH-u do APT repozitárov
V súčasnosti sa FreeSWITCH nenachádza v hlavných repozitároch Debianu, preto je nutné si jeho repozitáre do systému pridať.
Aplikujte nasledovné príkazy:
#Pre normálnych používateľov(Stable Branch - aktuálne verzia 1.2) echo 'deb http://files.freeswitch.org/repo/deb/debian/ wheezy main' >> /etc/apt/sources.list.d/freeswitch.list
alebo
# Pre vývojárov (Master Branch - aktuálne verzia 1.5) echo 'deb http://files.freeswitch.org/repo/deb-master/debian/ wheezy main' >> /etc/apt/sources.list.d/freeswitch.list
2. Importovanie prihlasovacieho kľúča k repozitárom
Pre kontrolu pridaných repozitárov musíme pridať príkazy:
curl http://files.freeswitch.org/repo/deb/debian/freeswitch_archive_g0.pub | apt-key add -
alebo
gpg --keyserver pool.sks-keyservers.net --recv-key D76EDC7725E010CF gpg -a --export D76EDC7725E010CF | sudo apt-key add -
3. Aktualizácia repozitárov a balíčkov systému
Aby sme balíčky FS videli v repozitároch Debianu musíme aktualizovať systém príkazom:
apt-get update
4. Inštalácia FreeSwitch-u
Pomocou nasledujúceho príkazu sa nám zobrazí zoznam balíčkov FS, ktoré si môžeme nainštalovať.
apt-cache search freeswitch | less
Z ponúkaných balíčkov si nainštalujeme špeciálny meta balíček Vanilla, ktorý obsahuje samotný FS so základnou konfiguráciou.
apt-get install freeswitch-meta-vanilla
FS sa týmto spôsobom nainštaloval do adresára /usr/share/freeswitch a jeho základná konfigurácia sa nachádza v adresári /usr/share/freeswitch/conf/vanilla. My však chceme túto konfiguráciu v adresári /etc/freeswitch. Dostaneme ju tam pomocou príkazu:
cp -a /usr/share/freeswitch/conf/vanilla /etc/freeswitch
Ďalšie balíčky v podobe modulov si môžeme doinštalovať do FS pomocou príkazu:
apt-get install <nazov_modulu>
Vytvorenie vlastných debian balíčkov zo zdrojového kódu FS
1. Inštalácia závislej knižnice libtool
Pri vytváraní .deb balíčkov nastal problém s knižnicou libtool, ktorú nestačí stiahnuť pomocou apt-get, ale bolo nutné ju skompilovať a nainštalovať zo zdrojového kódu pomocou nasledujúcich príkazov.
mkdir /tmp/libtool cd /tmp/libtool wget http://ftp.gnu.org/gnu/libtool/libtool-2.2.6a.tar.gz gzip -dc < libtool-2.2.6a.tar.gz | tar -xf - cd libtool-2.2.6a ./configure --prefix=/usr make make install
2. Stiahnutie zdrojového kódu FS pomocou git-u
apt-get update && apt-get install git mkdir -p /usr/src/freeswitch
# Pre vývojárov (Master Branch - aktuálne verzia 1.5) git clone https://freeswitch.org/stash/scm/fs/freeswitch.git /usr/src/freeswitch/src
alebo
#Pre normálnych používateľov (Stable Branch - aktuálne verzia 1.2) git clone -b v1.2.stable https://freeswitch.org/stash/scm/fs/freeswitch.git /usr/src/freeswitch/src
cd /usr/src/freeswitch/src
3. Overenie či sú adresáre so zdrojovými kódmi čisté a pripravené na vytvorenie balíčkov
git clean -fdx && git reset --hard origin/master
4. Vytvorenie meta balíčkov
V adresári /usr/src/freeswitch/src/debian sa nachádza script s názvom util.sh, ktorý zabezpečuje inštaláciu ostatných závislých súčastí a automaticky vytvorí meta balíčky FS pre rôzne vydania debianu.
Upozornenie: Na spustenie skriptu je potrebných viac ako 1GB voľnej pamäte.
Možnosti na vytvorenie meta balíčkov a vysvetlivky k jednotlivým prepínačom sa dajú zobraziť pomocou príkazu.
./debian/util.sh -h
Ak nepotrebujeme vytvoriť všetky debian balíčky, ktoré sú obsiahnuté v zdrojovom kóde FS, môžeme vytvoriť len niektoré z nich následovne.
# Príklad: Vytvorenie balíčka pre FS modul mod_commands echo "applications/mod_commands" > /tmp/modules.conf ./debian/util.sh build-all -bn -z9 -f /tmp/modules.conf
My si vytvoríme všetky meta balíčky FS pre Debian Wheezy 64bit Tvorba meta balíčkov môže trvať dlhší čas vzhľadom na úroveň kompresie.
./debian/util.sh build-all -bn -z9 -c wheezy -a amd64
V adresári /usr/src/freeswitch/ sa vytvoria meta balíčky s príponami orig.tar.xz ( balíček so zdrojovými kódmi FS), deb.tar.xz ( balíček s binárnymi kódmi potrebnými na vytvorenie finálnych debian balíčkov) a .dsc (súbor, v ktorom sú zapísané vlastnosti zdrojového balíčka – jeho časti, závislosti, autentickosť …).
5. Vytvorenie finálnych .deb balíčkov
Rozbalíme balíček so zdrojovými kódmi FS pomocou súboru s príponou .dsc.
dpkg-source -x [nazov_suboru].dsc
V našom prípade vykonáme príkazy.
cd /usr/src/freeswitch dpkg-source –x freeswitch_1.5.15b+git~20141116T161931Z~07c5cc18ba-1~wheezy+1.dsc cd freeswitch_1.5.15b+git~20141116T161931Z~07c5cc18ba
Samotné vytvorenie finálnych balíčkov s príponou .deb spravíme pomocou nasledovného príkazu.
dpkg-buildpackage -b
Upozornenie: Vytváranie balíčkov môže trvať viac ako hodinu a je potrebných viac ako 3GB voľného miesta na disku !!!.
V adresári /usr/src/freeswitch/ sú vytvorené všetky balíčky FS s príponou .deb pre Debian Wheezy 64bit. Je ich pomerne veľa.