From: Andrey Volk Date: Sat, 25 Jan 2025 16:44:39 +0000 (+0300) Subject: [Scripts] Introduce fsdeb X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Fscriptsreadme;p=thirdparty%2Ffreeswitch.git [Scripts] Introduce fsdeb --- diff --git a/scripts/packaging/build/README.md b/scripts/packaging/build/README.md index e3a13a96e6..9bed2ac898 100644 --- a/scripts/packaging/build/README.md +++ b/scripts/packaging/build/README.md @@ -1,29 +1,48 @@ -# Build Scripts +# Building FreeSWITCH packages using `FSDEB` +## 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) -This directory contains scripts for building FreeSWITCH. +Please make sure you have `git` and `curl` installed: +```bash +apt-get update +apt-get install -y git curl +``` -## build-debs-native.sh -Builds Debian packages for FreeSWITCH from git tree on supported Debian distributions. +## Cloning FreeSWITCH +Assuming you build Debian packages for a FreeSWITCH release (this can be your fork or another branch as well). -### TLDR: Example running from FreeSWITCH git root ```bash -scripts/packaging/fsget.sh pat_hFooBar -scripts/packaging/build/build-debs-native.sh -b 999 -o /tmp/fsdebs/ +cd /usr/src +git clone https://github.com/signalwire/freeswitch -b v1.10 ``` -### Prerequisites -- Root access is recommended -- Supported Debian system and architecture -- FreeSWITCH git repository in the working directory -- FreeSWITCH Debian repository configured (use `fsget.sh`) +## 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](https://github.com/signalwire/freeswitch/blob/master/scripts/packaging). -### Features -- Automated dependency installation -- FreeSWITCH Debian (source) package creation +Replace `` with your `SignalWire Personal Access Token (PAT)` +[HOWTO Create a SignalWire Personal Access Token](https://developer.signalwire.com/freeswitch/FreeSWITCH-Explained/Installation/how-to-create-a-personal-access-token/how-to-create-a-personal-access-token) +```bash +curl -sSL https://freeswitch.org/fsget | bash -s +``` -### Usage +## Building packages with `FSDEB` ```bash -./build-debs-native.sh -b BUILD_NUMBER -o OUTPUT_DIR [-w WORKING_DIR] +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: +```bash +ls -la /usr/src/fsdebs/ +``` + +## Usage +You may be interested in other arguments of `FSDEB`: +```bash +curl -sSL https://freeswitch.org/fsdeb | bash -s -- -b BUILD_NUMBER -o OUTPUT_DIR [-w WORKING_DIR] ``` Required: @@ -32,6 +51,3 @@ Required: Optional: - `-w`: Working directory (defaults to git root, needs to be git tree) - -### Output -Generates `.deb`, `.dsc`, `.changes`, and `.tar.*` files in the output directory. diff --git a/scripts/packaging/build/build-debs-native.sh b/scripts/packaging/build/fsdeb.sh similarity index 100% rename from scripts/packaging/build/build-debs-native.sh rename to scripts/packaging/build/fsdeb.sh