Child pages
  • Building
Skip to end of metadata
Go to start of metadata

Building can be done from different OS's because Mock is being used to build RPM's, for example Centos, Fedora.

 

Install prerequisites:

yum install git autoconf automake httpd genisoimage sudo

 

Note: It's advised not to build from the root user. This will cause that some scripts wil run as user root, which is not the way things are designed, this will cause looping scripts which will crash your system. You must start SipXcom as root though; this process will start parts of it with the right user.

Create a different user with sudo permissions. 

useradd -m sipx
passwd sipx
visudo
# add sipx as sudo user
sipx    ALL=(ALL)       NOPASSWD:ALL

 

Login again as the sipx user and checkout source code, specific branch and update submodules

git clone https://github.com/sipXcom/sipxecs.git
git checkout -B release-15.04 origin/release-15.04
git submodule init && git submodule update

Initialise:

autoreconf -if
mkdir build && cd build

Configure the build:

../configure

For creating RPM's (default distro is centos-6-x86_64):

../configure --enable-rpm

To build for a different DISTRO submit this in the configure like so:

../configure --enable-rpm DISTRO="fedora-19-x86_64"

Finalize setting up your build system. You can edit setup.sh if needed for your specific situation.

make setup.sh
sudo ./setup.sh

If you want to just build, install and run on your local machine:

sudo mkdir  /usr/local/sipx
sudo chown sipx.sipx /usr/local/sipx
make sipx

 

If you want to create RPM files:

 

Setup the Mock environment, this will be used as a chroot environment to build everything.

make repo-init

 

Build all libraries required to run SipXcom. You can put those on your repo server so that all dependencies are there. It also possible to get the dependencies from download.sipxcom.org and some epel mirror.

make lib.rpm

 

Make SipXcom RPM's

make sipx.rpm

 

 

//todo create ISO

 

TIPS

If you're experiencing troubles with dart-sdk try installing the latest version from https://www.dartlang.org/tools/download.html. If you have glibc version trouble with the binary versions you can also try to manually extract the Debian version of the SDK, this is based on an older version of Glibc.

 

 

The RPM build process only rebuilds modules that have changes in source code. If you want to force rebuilding a specific module you can remove the checksum files for that module from the build directory:

rm build/.centos-6-x86_64.sipXconfig.rpm*