Building can be done from different OS's because Mock is being used to build RPM's, for example Centos, Fedora.
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.
Login again as the sipx user and checkout source code, specific branch and update submodules
Configure the build:
For creating RPM's (default distro is centos-6-x86_64):
To build for a different DISTRO submit this in the configure like so:
Finalize setting up your build system. You can edit setup.sh if needed for your specific situation.
If you want to just build, install and run on your local machine:
If you want to create RPM files:
Setup the Mock environment, this will be used as a chroot environment to build everything.
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 SipXcom RPM's
//todo create ISO
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: