Mes notes pour un backport de Asterisk 1.4.x (Debian/Sid) vers Etch -- ThomasNoël
Objectifs
Je veux compiler une version sans y intégrer les trucs inutiles, notamment :
- pas de h323 dépendant de openh323 (on backportera asterisk-ooh323)
- pas de liaisons ODBC, MSSQL ou PgSQL, inutiles pour nous
- pas de serveur IMAP intégré pour la boite vocale (pfffff...)
- pas de consoles kde, qt ou gtk (re-pffff...)
- en revanche, on va ajouter gnutls apparemment nécessaire pour iksemel (jabber)
Pour cela, on prend une Etch VIERGE. Attention c'est important : la compilation d'asterisk peut varier si tel ou tel paquet est déjà installé. En effet, le ./configure active les modules s'il peut les compiler.
Dépendances
il faut backporter libpri et zaptel : aucun soucis
Modification des sources d'asterisk
Les sources Asterisk (ajouter sid dans un deb-src de sources.list) :
$ apt-get source asterisk $ cd asterisk-1.4.11~dfsg $ sh ./debian/backports/etch # adaptation de quelques dépendances
Au niveau de debian/control :
Build-Depends: retrait de libpq-dev, unixodbc-dev, graphviz, doxygen, gsfonts, libopenh323-dev, libradiusclient-ng-dev, freetds-dev,libc-client-dev
Build-Depends: ajout libgnutls-dev
- suppression section "Package: asterisk-h323" : on ne va pas créer ce paquet
Au niveau de debian/rules :
- ligne 74, on retire with-pwlib=... et with-h323=... et on remplace par : {{{ --without-pwlib \
- --without-h323 \ --without-imap \ --without-kde \ --without-odbc \ --without-postgres \ --without-qt \ --without-radius \ --without-tds
}}}
- plus bas, on commente le "sed" qui supprime chan_h323 de la liste des modules désactivés :
# sed -i -e '/MENUSELECT_CHANNELS=/s/chan_h323//' menuselect.makeopts
- en dessous, on commente la seconde compilation
{{{ # Build a second time to pick up h323
- # $(FETCH_ENV) $(MAKE) $(MAKEFLAGS)
}}}
Et voila... dpkg-buildpackage -rfakeroot -tc -uc -us.
Notes
asterisk-doc est sans doute foireux (vide ?) car on n'a pas installé ni doxygen ni gsfonts ni graphviz. Aucune importance à mon sens.
Reste à faire
packager appconference : apparement le trunk de http://sourceforge.net/projects/appconference se compile sans problème.
backporter asterisk-addons => asterisk-ooh323c, asterisk-mp3, asterisk-mysql : sans problème (à part 9819989842283 warnings et 765123 heures de compilations ASN1truc...)
l'asterisk de sid intègre le patch bristuff : voir si ça inclue DPickUp et autres modifs de bristuff (i.e. on ne doit pas avoir de regression avec l'asterisk-classic que nous utilisons actuellement)
- revoir asterisk-config-auf, en faire une version 1.4 ... ouch ouch...
Discussions
Remarques pour le prochain backport (pas pour celui-ci apparemment déjà très bien) :
- MySQL : ça mange pas beaucoup (je suppose) donc autant le faire vu notre orientation vers ce type de stockage d'informations utilisateurs
voir ci dessus : c'est dans le "reste à faire" mais en fait c'est déjà fait (backport de asterisk-addons), asterisk-mysql sera disponible -- ThomasNoël
il va falloir « s'habituer » à ne plus mettre ces options -uc et -us et plutôt signer les paquets générés pour le dépôt AuF que nous allons construire !
- là je ne m'y connais pas assez -- Thomas
Bon, on teste ça comment ? En live, comme d'hab' ou un peu plus sérieusement sur un serveur de test ? De mon côté je pourrais faire tester en production au CAI de Đà Nẵng (seulement 2 postes) si tu veux. -- ProgFou
Pour les tests pour l'instant faut tester si le backport fonctionne (est-ce que ça compile sur i386, j'ai pas essayé), éventuellement le "tuner" un peu, examiner ce qui est fait dans les postinst & co... et ensuite regarder ce qui change au niveau de la conf (aie aie aie). Bref, oui, faut tester puis étudier le pb de la migration 1.2 vers 1.4 -- Thomas