mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-30 05:56:12 +00:00
[Scripts] Introduce fsdeb
This commit is contained in:
parent
8c92346129
commit
6cb71672b5
@ -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:
|
||||||
|
|
||||||
## build-debs-native.sh
|
|
||||||
Builds Debian packages for FreeSWITCH from git tree on supported Debian distributions.
|
|
||||||
|
|
||||||
### TLDR: Example running from FreeSWITCH git root
|
|
||||||
```bash
|
```bash
|
||||||
scripts/packaging/fsget.sh pat_hFooBar
|
apt-get update
|
||||||
scripts/packaging/build/build-debs-native.sh -b 999 -o /tmp/fsdebs/
|
apt-get install -y git curl
|
||||||
```
|
```
|
||||||
|
|
||||||
### Prerequisites
|
## Cloning FreeSWITCH
|
||||||
- Root access is recommended
|
Assuming you build Debian packages for a FreeSWITCH release (this can be your fork or another branch as well).
|
||||||
- Supported Debian system and architecture
|
|
||||||
- FreeSWITCH git repository in the working directory
|
|
||||||
- FreeSWITCH Debian repository configured (use `fsget.sh`)
|
|
||||||
|
|
||||||
### Features
|
|
||||||
- Automated dependency installation
|
|
||||||
- FreeSWITCH Debian (source) package creation
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
```bash
|
```bash
|
||||||
./build-debs-native.sh -b BUILD_NUMBER -o OUTPUT_DIR [-w WORKING_DIR]
|
cd /usr/src
|
||||||
|
git clone https://github.com/signalwire/freeswitch -b v1.10
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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).
|
||||||
|
|
||||||
|
Replace `<PAT or API token>` 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 <PAT or API token>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Building packages with `FSDEB`
|
||||||
|
```bash
|
||||||
|
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:
|
Required:
|
||||||
@ -32,6 +51,3 @@ Required:
|
|||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
- `-w`: Working directory (defaults to git root, needs to be git tree)
|
- `-w`: Working directory (defaults to git root, needs to be git tree)
|
||||||
|
|
||||||
### Output
|
|
||||||
Generates `.deb`, `.dsc`, `.changes`, and `.tar.*` files in the output directory.
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user