123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/bin/bash
- # This script intended to be run from the packager container. Please see the
- # README.md file for more information on how this script is used.
- #
- set -ex
- [ -n "$1" ]
- mkdir -p /opt
- # move into the application directory where Asterisk source exists
- cd /application
- # strip the source of any Git-isms
- rsync -av --exclude='.git' . /tmp/application
- # move to the build directory and build Asterisk
- cd /tmp/application
- ./configure
- cd menuselect
- make menuselect
- cd ..
- make menuselect-tree
- menuselect/menuselect --check-deps menuselect.makeopts
- # Do not include sound files. You should be mounting these from and external
- # volume.
- sed -i -e 's/MENUSELECT_MOH=.*$/MENUSELECT_MOH=/' menuselect.makeopts
- sed -i -e 's/MENUSELECT_CORE_SOUNDS=.*$/MENUSELECT_CORE_SOUNDS=/' menuselect.makeopts
- # Build it!
- make all install DESTDIR=/tmp/installdir
- rm -rf /tmp/application
- cd /build
- # Use the Fine Package Management system to build us an RPM without all that
- # reeking effort.
- fpm -t rpm -s dir -n asterisk-custom --version "$1" \
- --depends libedit \
- --depends libxslt \
- --depends jansson \
- --depends pjproject \
- --depends openssl \
- --depends libxml2 \
- --depends unixODBC \
- --depends libcurl \
- --depends libogg \
- --depends libvorbis \
- --depends speex \
- --depends spandsp \
- --depends freetds \
- --depends net-snmp \
- --depends iksemel \
- --depends corosynclib \
- --depends newt \
- --depends lua \
- --depends sqlite \
- --depends freetds \
- --depends radiusclient-ng \
- --depends postgresql \
- --depends neon \
- --depends libical \
- --depends openldap \
- --depends sqlite2 \
- --depends mysql \
- --depends bluez \
- --depends gsm \
- --depends libuuid \
- --depends libsrtp \
- -C /tmp/installdir etc usr var
- chown -R --reference /application/contrib/docker/make-package.sh .
|