* [DOCS] Add guides for building FreeSWITCH build-dependencies * Add `build-dependencies.sh` script
2.6 KiB
Building FreeSWITCH packages using FSDEB
Install build dependencies first
In order to build FreeSWITCH packages first you need to install build dependencies. There are two ways:
- From our FreeSWITCH Debian repository (using FSGET for example) - the simplest way
- Manually compile the build dependencies
Configuring FreeSWITCH Debian repo (for dependencies)
Since we are building a FreeSWITCH release let's configure FreeSWITCH Community Release Debian repo. We recommend using FSGET.
Replace <PAT or API token>
with your SignalWire Personal Access Token (PAT)
HOWTO Create a SignalWire Personal Access Token
curl -sSL https://freeswitch.org/fsget | bash -s <PAT or API token>
Configuring the repo is enough. Dependencies will be installed during the FreeSWITCH building process.
Manually compile the build dependencies
Just follow this Dependency Building Guide without the need to set up the FreeSWITCH Debian repo.
Although we recommend using the FreeSWITCH Debian repo as all the dependencies are already prebuilt for you.
Prerequisites
FreeSWITCH packages can be built when FreeSWITCH is cloned using git
only.
(Methods described here won't work if you download a source tarball and extract it)
Please make sure you have git
and curl
installed:
apt-get update
apt-get install -y git curl
Cloning FreeSWITCH
Assuming you build Debian packages for a FreeSWITCH release (this can be your fork or another branch as well).
cd /usr/src
git clone https://github.com/signalwire/freeswitch -b v1.10
Building packages with FSDEB
curl -sSL https://freeswitch.org/fsdeb | bash -s -- -b 999 -o /usr/src/fsdebs/ -w /usr/src/freeswitch
That's pretty much it!
Output
FSDEB
will generate .deb
, .dsc
, .changes
, and .tar.*
files in the output directory:
ls -la /usr/src/fsdebs/
Usage
You may be interested in other arguments of FSDEB
:
curl -sSL https://freeswitch.org/fsdeb | bash -s -- -b BUILD_NUMBER -o OUTPUT_DIR [-w WORKING_DIR]
Required:
-b
: Build number (part of package version)-o
: Output directory for packages
Optional:
-w
: Working directory (defaults to git root, needs to be git tree)