s3rj1k e622a02b33
[DOCS] Add guides for building FreeSWITCH build-dependencies
* [DOCS] Add guides for building FreeSWITCH build-dependencies

* Add `build-dependencies.sh` script
2025-03-17 17:54:01 +03:00

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:

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)