Žilinská univerzita > Fakulta riadenia a informatiky > Katedra informačných sietí

Tvorba inštalačných .deb balíčkov pre FreeSWITCH v Debiane

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.

AttachmentSize
File 2014-Balíčkovanie FreeSWITCH-ZH.pdf349.19 KB
Skupiny: