mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-04 12:01:41 +02:00
testing/snac: new aport
https://codeberg.org/grunfink/snac2 Simple, minimalistic ActivityPub instance written in portable C
This commit is contained in:
parent
866e7e2bb5
commit
7d699bff67
40
testing/snac/APKBUILD
Normal file
40
testing/snac/APKBUILD
Normal file
@ -0,0 +1,40 @@
|
||||
# Contributor: Celeste <cielesti@protonmail.com>
|
||||
# Maintainer: Celeste <cielesti@protonmail.com>
|
||||
pkgname=snac
|
||||
pkgver=2.43
|
||||
pkgrel=0
|
||||
pkgdesc="Simple, minimalistic ActivityPub instance written in portable C"
|
||||
url="https://codeberg.org/grunfink/snac2"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
makedepends="curl-dev openssl-dev"
|
||||
install="$pkgname.pre-install"
|
||||
pkgusers="snac"
|
||||
pkggroups="snac"
|
||||
subpackages="$pkgname-doc $pkgname-openrc"
|
||||
source="$pkgname-$pkgver.tar.gz::https://codeberg.org/grunfink/snac2/archive/$pkgver.tar.gz
|
||||
snac.initd
|
||||
"
|
||||
builddir="$srcdir/snac2"
|
||||
options="!check" # no test suite
|
||||
|
||||
build() {
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
make install \
|
||||
PREFIX="$pkgdir"/usr \
|
||||
PREFIX_MAN="$pkgdir"/usr/share/man
|
||||
|
||||
install -dm750 -o snac -g snac "$pkgdir"/var/lib/snac
|
||||
|
||||
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
|
||||
|
||||
install -Dm755 "$srcdir"/snac.initd "$pkgdir"/etc/init.d/snac
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
8daa1e60029826274b796851e2ba44441fa9a74a2f38b4c99d14f607f897c7c7031b3a190330cda1ec78eba68b5fa5f07db8ed374072fb254468ce35f298086d snac-2.43.tar.gz
|
||||
8451eb37e5135b926a1a36b7f69d63cb76aa617ca3f9b9167f2284223582dcf66723ee67c51c6abc2d1605c41678d26f67ec6cb1bf920c61379dbf63f7852e1a snac.initd
|
||||
"
|
||||
83
testing/snac/snac.initd
Normal file
83
testing/snac/snac.initd
Normal file
@ -0,0 +1,83 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
name=snac
|
||||
description="Snac is an ActivityPub server written in portable C"
|
||||
|
||||
: ${SNAC_DATA:="/var/lib/snac/data"}
|
||||
|
||||
extra_stopped_commands="setup purge"
|
||||
extra_commands="adduser deluser resetpwd"
|
||||
description_setup="Setup the database at ${SNAC_DATA}"
|
||||
description_purge="Purge old data from ${SNAC_DATA}"
|
||||
description_adduser="Add a new user to ${SNAC_DATA}"
|
||||
description_deluser="Delete a user from ${SNAC_DATA}"
|
||||
description_resetpwd="Reset password of user in ${SNAC_DATA}"
|
||||
|
||||
command="/usr/bin/snac"
|
||||
command_args="httpd ${SNAC_DATA}"
|
||||
command_background="yes"
|
||||
command_user="snac:snac"
|
||||
pidfile="/run/${RC_SVCNAME}.pid"
|
||||
error_log="/var/log/snac.log"
|
||||
|
||||
depend() {
|
||||
need localmount net
|
||||
after firewall
|
||||
}
|
||||
|
||||
ensure_db_exists() {
|
||||
if [ ! -f "${SNAC_DATA}/server.json" ]; then
|
||||
setup || return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
ensure_db_exists || return 1
|
||||
|
||||
checkpath -f -m 0640 -o "$command_user" "$error_log"
|
||||
checkpath -d -m 0750 -o "$command_user" "${SNAC_DATA}"
|
||||
}
|
||||
|
||||
setup() {
|
||||
snac_exec init
|
||||
}
|
||||
|
||||
purge() {
|
||||
ensure_db_exists || return 1
|
||||
|
||||
ebegin "Purging old data from ${SNAC_DATA}"
|
||||
snac_exec purge
|
||||
eend $?
|
||||
}
|
||||
|
||||
adduser() {
|
||||
ensure_db_exists || return 1
|
||||
|
||||
snac_exec adduser
|
||||
}
|
||||
|
||||
deluser() {
|
||||
ensure_db_exists || return 1
|
||||
|
||||
read -p "Username: " username
|
||||
|
||||
snac_exec deluser $username
|
||||
}
|
||||
|
||||
resetpwd() {
|
||||
ensure_db_exists || return 1
|
||||
|
||||
read -p "Username: " username
|
||||
|
||||
snac_exec resetpwd $username
|
||||
}
|
||||
|
||||
snac_exec() {
|
||||
local subcmd="$1"
|
||||
shift
|
||||
|
||||
start-stop-daemon --exec "$command" --user "$command_user" \
|
||||
-- $subcmd "${SNAC_DATA}" $*
|
||||
}
|
||||
11
testing/snac/snac.pre-install
Normal file
11
testing/snac/snac.pre-install
Normal file
@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
addgroup -S snac 2>/dev/null
|
||||
adduser -S -D -H \
|
||||
-h /var/lib/snac \
|
||||
-s /sbin/nologin \
|
||||
-G snac \
|
||||
-g "Snac minimalistic ActivityPub instance" \
|
||||
snac 2>/dev/null
|
||||
|
||||
exit 0
|
||||
Loading…
x
Reference in New Issue
Block a user