distro-packages added with a couple of initial build script.
This commit is contained in:
@@ -0,0 +1,70 @@
|
|||||||
|
# Maintainer: Stormux <storm_dragon@stormux.org>
|
||||||
|
# shellcheck shell=bash disable=SC2034,SC2154
|
||||||
|
|
||||||
|
pkgname=skald-git
|
||||||
|
pkgver=0.0.0.r0.g0000000
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc='Audio-only hall-based conferencing server'
|
||||||
|
arch=('x86_64' 'aarch64')
|
||||||
|
url='https://git.stormux.org/storm/skald'
|
||||||
|
license=('MIT')
|
||||||
|
depends=('ffmpeg')
|
||||||
|
makedepends=('git' 'go')
|
||||||
|
provides=('skald')
|
||||||
|
conflicts=('skald')
|
||||||
|
source=(
|
||||||
|
'git+https://git.stormux.org/storm/skald.git'
|
||||||
|
'skald.service'
|
||||||
|
'skald.sysusers'
|
||||||
|
'skald.tmpfiles'
|
||||||
|
)
|
||||||
|
sha256sums=(
|
||||||
|
'SKIP'
|
||||||
|
'7048408e888e08c6f0751979848b85c0c5a0f0e7828b8bcf5594f7ceaf883f90'
|
||||||
|
'd17bb4bfb320416da6e6ed43e9df8b8088f149b60808924d2dc0ac0b8e9b9a32'
|
||||||
|
'ba8bb0933715c7eb19cdaf8d6dea4e33ff65ad676f1484f9b6a33930ec455f6e'
|
||||||
|
)
|
||||||
|
|
||||||
|
pkgver() {
|
||||||
|
cd skald || return
|
||||||
|
git describe --long --tags 2>/dev/null | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' ||
|
||||||
|
printf '0.0.0.r%s.g%s' "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd skald || return
|
||||||
|
export CGO_ENABLED=0
|
||||||
|
export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
|
||||||
|
go build -ldflags='-s -w' -o skald .
|
||||||
|
go build -ldflags='-s -w' -o skaldctl ./skaldctl
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
cd skald || return
|
||||||
|
go test ./...
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd skald || return
|
||||||
|
|
||||||
|
install -Dm755 skald "$pkgdir/usr/bin/skald"
|
||||||
|
install -Dm755 skaldctl "$pkgdir/usr/bin/skaldctl"
|
||||||
|
|
||||||
|
install -d "$pkgdir/usr/share/skald/static"
|
||||||
|
cp -a static/. "$pkgdir/usr/share/skald/static/"
|
||||||
|
|
||||||
|
install -Dm644 README.md "$pkgdir/usr/share/doc/skald/README.md"
|
||||||
|
install -Dm644 skald.md "$pkgdir/usr/share/doc/skald/skald.md"
|
||||||
|
install -Dm644 skald-api.md "$pkgdir/usr/share/doc/skald/skald-api.md"
|
||||||
|
install -Dm644 skald-client.md "$pkgdir/usr/share/doc/skald/skald-client.md"
|
||||||
|
install -Dm644 skald-install.md "$pkgdir/usr/share/doc/skald/skald-install.md"
|
||||||
|
install -Dm644 skald-protocol.md "$pkgdir/usr/share/doc/skald/skald-protocol.md"
|
||||||
|
|
||||||
|
install -d "$pkgdir/var/lib/skald/data"
|
||||||
|
install -d "$pkgdir/var/lib/skald/halls"
|
||||||
|
install -d "$pkgdir/var/lib/skald/recordings"
|
||||||
|
|
||||||
|
install -Dm644 "$srcdir/skald.service" "$pkgdir/usr/lib/systemd/system/skald.service"
|
||||||
|
install -Dm644 "$srcdir/skald.sysusers" "$pkgdir/usr/lib/sysusers.d/skald.conf"
|
||||||
|
install -Dm644 "$srcdir/skald.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/skald.conf"
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Skald audio conferencing server
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=skald
|
||||||
|
Group=skald
|
||||||
|
WorkingDirectory=/var/lib/skald
|
||||||
|
ExecStart=/usr/bin/skald -static /usr/share/skald/static -data /var/lib/skald/data -halls /var/lib/skald/halls -recordings /var/lib/skald/recordings
|
||||||
|
LimitNOFILE=65536
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
u skald - "Skald server" /var/lib/skald
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
d /var/lib/skald 0750 skald skald -
|
||||||
|
d /var/lib/skald/data 0750 skald skald -
|
||||||
|
d /var/lib/skald/halls 0750 skald skald -
|
||||||
|
d /var/lib/skald/recordings 0750 skald skald -
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# Void Linux packaging
|
||||||
|
|
||||||
|
This directory contains a local `xbps-src` template for Skald.
|
||||||
|
|
||||||
|
Copy `skald-git/` into `srcpkgs/skald-git/` in a Void packages checkout,
|
||||||
|
then build it with:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
./xbps-src pkg skald-git
|
||||||
|
```
|
||||||
|
|
||||||
|
The package installs both `skald` and `skaldctl`, creates a `skald` system
|
||||||
|
account, creates `/var/lib/skald/{data,halls,recordings}`, and provides a
|
||||||
|
runit service named `skald`.
|
||||||
|
|
||||||
|
To use a private repository, prefer SSH authentication by changing
|
||||||
|
`repository` in the template, for example:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
repository="ssh://git@git.stormux.org/storm/skald.git"
|
||||||
|
```
|
||||||
|
|
||||||
|
Make sure the build environment has access to the needed SSH key or Git
|
||||||
|
credential helper. Do not put passwords in the template.
|
||||||
+10
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# shellcheck disable=SC3045
|
||||||
|
exec 2>&1
|
||||||
|
cd /var/lib/skald || exit 1
|
||||||
|
ulimit -n 65536
|
||||||
|
exec chpst -u skald:skald /usr/bin/skald \
|
||||||
|
-static /usr/share/skald/static \
|
||||||
|
-data /var/lib/skald/data \
|
||||||
|
-halls /var/lib/skald/halls \
|
||||||
|
-recordings /var/lib/skald/recordings
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
# Template file for 'skald-git'
|
||||||
|
# shellcheck shell=bash disable=SC2034,SC2154
|
||||||
|
pkgname=skald-git
|
||||||
|
version=0.0.0
|
||||||
|
revision=1
|
||||||
|
hostmakedepends="git go"
|
||||||
|
depends="ffmpeg"
|
||||||
|
short_desc="Audio-only hall-based conferencing server"
|
||||||
|
maintainer="Stormux <storm_dragon@stormux.org>"
|
||||||
|
license="MIT"
|
||||||
|
homepage="https://git.stormux.org/storm/skald"
|
||||||
|
repository="https://git.stormux.org/storm/skald.git"
|
||||||
|
provides="skald-${version}_${revision}"
|
||||||
|
conflicts="skald>=0"
|
||||||
|
wrksrc="skald"
|
||||||
|
system_accounts="skald"
|
||||||
|
skald_homedir="/var/lib/skald"
|
||||||
|
make_dirs="
|
||||||
|
/var/lib/skald 0750 skald skald
|
||||||
|
/var/lib/skald/data 0750 skald skald
|
||||||
|
/var/lib/skald/halls 0750 skald skald
|
||||||
|
/var/lib/skald/recordings 0750 skald skald"
|
||||||
|
|
||||||
|
do_fetch() {
|
||||||
|
if [ -d "${XBPS_BUILDDIR}/${wrksrc}/.git" ]; then
|
||||||
|
git -C "${XBPS_BUILDDIR}/${wrksrc}" fetch --depth=1 origin "${SKALD_GIT_BRANCH:-master}"
|
||||||
|
git -C "${XBPS_BUILDDIR}/${wrksrc}" checkout FETCH_HEAD
|
||||||
|
else
|
||||||
|
git clone --depth=1 --branch "${SKALD_GIT_BRANCH:-master}" "$repository" "${XBPS_BUILDDIR}/${wrksrc}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
do_build() {
|
||||||
|
export CGO_ENABLED=0
|
||||||
|
export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
|
||||||
|
go build -ldflags='-s -w' -o skald .
|
||||||
|
go build -ldflags='-s -w' -o skaldctl ./skaldctl
|
||||||
|
}
|
||||||
|
|
||||||
|
do_check() {
|
||||||
|
go test ./...
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
vbin skald
|
||||||
|
vbin skaldctl
|
||||||
|
|
||||||
|
vmkdir usr/share/skald/static
|
||||||
|
vcopy "static/*" usr/share/skald/static
|
||||||
|
|
||||||
|
vdoc README.md
|
||||||
|
vdoc skald.md
|
||||||
|
vdoc skald-api.md
|
||||||
|
vdoc skald-client.md
|
||||||
|
vdoc skald-install.md
|
||||||
|
vdoc skald-protocol.md
|
||||||
|
|
||||||
|
vsv skald
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user