summaryrefslogtreecommitdiff
path: root/packages/openpbx/openpbx.org_1.2_rc3.bb
blob: 76c1f0c7bdbf8451e01adb49b79886c2f0b6ab09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
DESCRIPTION = "A flexible VOIP soft switch/PBX."
HOMEPAGE = "http://www.openpbx.org"
#RDEPENDS = "ssmtp"
SECTION = "voip"
LICENSE = "GPL"
DEPENDS = "openssl zlib tiff libcap spandsp speex readline js \
           sox-native findutils-native"
DEPENDS_${PN}-ldap = "openldap"
RRECOMMENDS = "logrotate"
RRECOMMENDS_${PN}-ogi = "perl perl-module-strict openpbx.org-perl"
PV = "1.2_rc3"
PR = "r1"

SRC_URI = "http://www.openpbx.org/releases/${P}.tar.gz \
           svn://svn.openpbx.org/openpbx-sounds/trunk/sounds/en_US;module=MelanieTaylor;proto=svn \
           file://bootstrap.patch;patch=1 \
           file://openssl.m4.patch;patch=1 \
           file://logrotate \
           file://volatiles \
           file://init"

PARALLEL_MAKE = ""
INITSCRIPT_NAME = "openpbx"
INITSCRIPT_PARAMS = "defaults 60"

inherit autotools update-rc.d

EXTRA_OECONF = " --with-ssl=${STAGING_DIR}/${HOST_SYS} --enable-low_memory \
        --disable-zaptel --with-directory-layout=lsb --with-chan_fax \
        --with-codec-speex=${STAGING_DIR}/${HOST_SYS} --with-app_ldap \
        --with-perl-shebang='#!${bindir}/perl' --with-jabber --with-res_jabber \
        --enable-t38 --with-javascript --with-res_js \
        --bindir=${bindir} --datadir=${datadir} --sysconfdir=${sysconfdir} \
        --includedir=${includedir} --infodir=${infodir} --mandir=${mandir} \
        --localstatedir=${localstatedir} --libdir=${libdir}"

do_configure_prepend () {
    ${S}/bootstrap.sh
    # Fix some stupidness with the VoiceMail app naming. Case Matters!
    sed -i 's:Voicemail:VoiceMail:' ${S}/configs/extensions.conf.sample
    sed -i 's:/var:${localstatedir}:' ${WORKDIR}/volatiles
    sed -i 's:/var:${localstatedir}:' ${WORKDIR}/logrotate
    sed -i 's:/etc/init.d:${sysconfdir}/init.d:' ${WORKDIR}/logrotate
}

do_install_append() {
    install -c -D -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/openpbx
    install -c -D -m 644 ${WORKDIR}/logrotate ${D}${sysconfdir}/logrotate.d/openpbx
    install -c -D -m 644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/openpbx
    # And now for sounds...
    for file in `find ${WORKDIR}/MelanieTaylor -name \*.wav`; do
        echo $file
        sox -V $file -t raw -s -r 8000 -c 1 -w `echo $file|sed -e s/\.wav$/.sln/` resample -ql;
        sox -V $file -t raw -U -r 8000 -c 1 -b `echo $file|sed -e s/\.wav$/.ulaw/` resample -ql;
        sox -V $file -t raw -A -r 8000 -c 1 -b `echo $file|sed -e s/\.wav$/.alaw/` resample -ql;
        sox -V $file -t gsm -r 8000 -c 1 -b `echo $file|sed -e s/\.wav$/.gsm/` resample -ql;
        relfile=`echo $file|sed -e s:^${WORKDIR}/MelanieTaylor/::`
        relfile2=`echo $relfile|sed -e s:\.wav$::`
        install -c -D -m 644 ${WORKDIR}/MelanieTaylor/$relfile2.sln ${D}${datadir}/openpbx.org/sounds/$relfile2.sln
        install -c -D -m 644 ${WORKDIR}/MelanieTaylor/$relfile2.ulaw ${D}${datadir}/openpbx.org/sounds/$relfile2.ulaw
        install -c -D -m 644 ${WORKDIR}/MelanieTaylor/$relfile2.alaw ${D}${datadir}/openpbx.org/sounds/$relfile2.alaw
        install -c -D -m 644 ${WORKDIR}/MelanieTaylor/$relfile2.gsm ${D}${datadir}/openpbx.org/sounds/$relfile2.gsm
    done
}

PACKAGES = "${PN}-sounds ${PN}-fax ${PN}-ogi ${PN}-ldap ${PN}-doc ${PN}-dev ${PN}"

FILES_${PN}-sounds = "${datadir}/openpbx.org/sounds/*"
FILES_${PN}-dev = "${libdir}/openpbx.org/modules/*.la \
                   ${libdir}/openpbx.org/*.la \
                   ${includedir}/openpbx/*"
FILES_${PN}-fax = "${libdir}/openpbx.org/modules/chan_fax.so \
                   ${libdir}/openpbx.org/modules/app_rxfax.so \
                   ${libdir}/openpbx.org/modules/app_txfax.so \
                   ${libdir}/openpbx.org/modules/app_faxdetect.so \
                   ${sysconfdir}/openpbx.org/chan_fax.conf"
FILES_${PN}-ogi = "${libdir}/openpbx.org/modules/res_ogi.so \
                   ${datadir}/openpbx.org/ogi/*"
FILES_${PN}-ldap = "${libdir}/openpbx.org/modules/app_ldap.*"

pkg_postinst_prepend() {
    grep -q openpbx ${sysconfdir}/group || addgroup --system openpbx
    grep -q openpbx ${sysconfdir}/passwd || adduser --system --home ${localstatedir}/run/openpbx.org --no-create-home --disabled-password --ingroup openpbx -s ${base_bindir}/false openpbx
    chown -R openpbx:openpbx ${localstatedir}/lib/openpbx.org ${localstatedir}/spool/openpbx.org ${localstatedir}/log/openpbx.org ${localstatedir}/run/openpbx.org ${sysconfdir}/openpbx.org ${datadir}/openpbx.org
    /etc/init.d/populate-volatile.sh update
}

CONFFILES_${PN}-fax += "${sysconfdir}/openpbx.org/chan_fax.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/musiconhold.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/adsi.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/adtranvofr.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/agents.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/cdr.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/cdr_custom.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/cdr_manager.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/cdr_tds.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/codecs.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/dnsmgr.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/dundi.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/enum.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/extconfig.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/extensions.ael"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/features.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/iax.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/indications.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/logger.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/manager.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/meetme.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/mgcp.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/modem.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/modules.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/muted.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/openpbx.adsi"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/openpbx.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/osp.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/privacy.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/queues.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/rpt.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/rtp.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/sip.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/sip_notify.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/udptl.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/voicemail.conf"
CONFFILES_${PN} += "${sysconfdir}/openpbx.org/woomera.conf"