add debian and rhel packages

This commit is contained in:
jb-alvarado 2022-04-12 21:39:53 +02:00
parent 2b0e867439
commit 558ef25ab3
7 changed files with 69 additions and 4 deletions

@ -2,6 +2,8 @@
name = "ffplayout-rs"
description = "24/7 playout based on rust and ffmpeg"
license = "GPL-3.0"
authors = ["Jonathan Baecker jonbae77@gmail.com"]
readme = "README.md"
version = "0.9.2"
edition = "2021"
@ -36,3 +38,35 @@ path = "src/main.rs"
opt-level = 3
strip = true
lto = true
# DEBIAN DEB PACKAGE
[package.metadata.deb]
name = "ffplayout-engine"
priority = "optional"
section = "net"
license-file = ["LICENSE", "3"]
depends = ""
suggests = "ffmpeg"
maintainer-scripts = "package/debian/"
copyright = "Copyright (c) 2022, Jonathan Baecker. All rights reserved."
assets = [
["target/x86_64-unknown-linux-musl/release/ffplayout", "/usr/bin/ffplayout", "755"],
["assets/ffplayout.yml", "/etc/ffplayout/ffplayout.yml", "644"],
["assets/logo.png", "/usr/share/ffplayout/logo.png", "644"],
["README.md", "/usr/share/doc/ffplayout-engine/README", "644"],
["package/common/ffplayout-engine.service.preset", "/lib/systemd/system-preset/50-ffplayout-engine.preset", "644"],
]
systemd-units = { unit-name = "ffplayout-engine", unit-scripts = "package/common", enable = false }
# REHL RPM PACKAGE
[package.metadata.generate-rpm]
name = "ffplayout-engine"
license = "GPL-3.0"
assets = [
{ source = "target/x86_64-unknown-linux-musl/release/ffplayout", dest = "/usr/bin/ffplayout", mode = "755" },
{ source = "assets/ffplayout.yml", dest = "/etc/ffplayout/ffplayout.yml", mode = "644" },
{ source = "package/common/ffplayout-engine.service", dest = "/lib/systemd/system/ffplayout-engine.service", mode = "644" },
{ source = "README.md", dest = "/usr/share/doc/ffplayout-engine/README", mode = "644", doc = true },
{ source = "LICENSE", dest = "/usr/share/doc/ffplayout-engine/LICENSE", mode = "644" },
{ source = "assets/logo.png", dest = "/usr/share/ffplayout/logo.png", mode = "644" },
]

@ -36,7 +36,7 @@ logging:
log_to_file: false
backup_count: 7
local_time: true
timestamp: true
timestamp: false
log_path: /var/log/ffplayout/
log_level: DEBUG
ffmpeg_level: error

@ -39,3 +39,17 @@ for target in "${targets[@]}"; do
echo ""
done
echo "Create debian package"
echo ""
cargo deb --target=x86_64-unknown-linux-musl
mv ./target/x86_64-unknown-linux-musl/debian/ffplayout-engine_${version}_amd64.deb .
echo "Create rhel package"
echo ""
cargo generate-rpm --target=x86_64-unknown-linux-musl
mv ./target/x86_64-unknown-linux-musl/generate-rpm/ffplayout-engine-${version}-1.x86_64.rpm .

@ -66,3 +66,19 @@ CC="aarch64-apple-darwin20.4-clang -arch arm64e" cargo build --release --target=
# for x86_64
CC="o64-clang" cargo build --release --target=x86_64-apple-darwin
```
### Create debian DEB and RHEL RPM packages
install:
- `cargo install cargo-deb`
- `cargo install cargo-generate-rpm`
And run with:
```Bash
# for debian based systems:
cargo deb --target=x86_64-unknown-linux-musl
# for rhel based systems:
cargo generate-rpm --target=x86_64-unknown-linux-musl
```

@ -1,9 +1,9 @@
[Unit]
Description=python and ffmpeg based playout
Description=Rust based 24/7 playout solution
After=network.target
[Service]
ExecStart= /usr/local/bin/ffplayout
ExecStart= /usr/bin/ffplayout
ExecReload=/bin/kill -1 $MAINPID
Restart=always
RestartSec=1

@ -0,0 +1 @@
disable ffplayout-engine.service

@ -2,7 +2,7 @@ use clap::Parser;
#[derive(Parser, Debug)]
#[clap(version,
about = "ffplayout, the rust playout solution",
about = "ffplayout, Rust based 24/7 playout solution",
long_about = None)]
pub struct Args {
#[clap(short, long, help = "file path to ffplayout.conf")]