initial import
This commit is contained in:
63
onak/PKGBUILD
Normal file
63
onak/PKGBUILD
Normal file
@@ -0,0 +1,63 @@
|
||||
# Maintainer: Jesus E. <heckyel@riseup.net>
|
||||
|
||||
pkgname=onak
|
||||
pkgver=0.6.3
|
||||
pkgrel=1
|
||||
pkgdesc="Minimalistic, free and libre OpenPGP Key Server"
|
||||
arch=('i686' 'x86_64')
|
||||
url='https://www.earth.li/projectpurple/progs/onak.html'
|
||||
license=('GPL-2')
|
||||
depends=('gmp' 'db' 'nettle' 'curl' 'postgresql-libs')
|
||||
makedepends=('cmake')
|
||||
optdepends=('postgresql: alternative database-backend')
|
||||
backup=('etc/onak.ini')
|
||||
install=$pkgname.install
|
||||
source=("https://github.com/u1f35c/onak/archive/refs/tags/${pkgname}-${pkgver}.tar.gz"
|
||||
"fix-postgresql-build.patch"
|
||||
"$pkgname.logrotate.d"
|
||||
"onak-keyd.initd"
|
||||
"onak-keyd.confd"
|
||||
"onak-keyd.run"
|
||||
"onak-keyd.conf")
|
||||
sha512sums=('3f7c0c10637dfcb731c4f974821956732eb225c154cd2dca636c35a7b435415ae960c74308708732bb2253602778aee76d98b5883804aed131ffc97af7ad1994'
|
||||
'be2e64f7de41e69c68620df90c2bead13e7c51addb614c9192e5f6215c68b762d6a50245defdff2ac6c8c46a35adb66c083a80a817f143055ef34d8446656c23'
|
||||
'65d8ba25ce7b83f903ce868fc0e0e0b0a4e0940a80c90ca95b290c5b9468db52907a1a65c72f20da6c54713ea4017570bcb94012286a1d1a0de475b065f128a4'
|
||||
'22a2ff82c813e42bc78e48b96c512e26e470ff7ffe4a82b9cfbb2f24d794e267ae38497e86406735badffd415d563d5f1865bdbdc76052e23ab518c2aec3caa3'
|
||||
'1d9643c18fc4fef811efdc49a357b5ee3b10fe7addf24bd63dfc7818bda310adacfc9455d42bca1c53bac1f5b7a1a2bf0698e89d1d69864ea9456abd95b86a61'
|
||||
'c4761aed6c71f18591239824fa75178a61ff99ec4da3c6696c8d65270abfc6db2be5d51862730aa2e6a9c9bb9dfcba6315f66deb0c986d9d8ed1b5f5d273bc1e'
|
||||
'24479ccebb13774adf6c16bc5ccd989a93bd4e25aa0f20e852b89785b4eaf9a3d73902ac1898665c9d2c297f141ee7c164303451c154c84f605958bd778bf588')
|
||||
|
||||
prepare() {
|
||||
mv "${pkgname}-${pkgname}-${pkgver}" "${pkgname}-${pkgver}"
|
||||
cd "$pkgname-$pkgver"
|
||||
patch -Np1 -i ${srcdir}/fix-postgresql-build.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cmake \
|
||||
-S "$pkgname-$pkgver" \
|
||||
-B build \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_SYSCONFDIR=/etc
|
||||
make -C build
|
||||
}
|
||||
|
||||
package() {
|
||||
make DESTDIR="$pkgdir/" -C build install
|
||||
|
||||
# further data and binaries
|
||||
install -Dm644 "$srcdir/$pkgname.logrotate.d" "$pkgdir/etc/logrotate.d/$pkgname"
|
||||
install -Dm755 "$srcdir/build/cgi/"{add,gpgwww,hashquery,lookup} -t "${pkgdir}/usr/lib/cgi-bin/pks/"
|
||||
|
||||
# initial empty folder for database-storage
|
||||
install -d "$pkgdir/var/lib/$pkgname"
|
||||
|
||||
# services
|
||||
install -Dm755 "$srcdir"/onak-keyd.initd "$pkgdir"/etc/init.d/onak-keyd
|
||||
install -Dm644 "$srcdir"/onak-keyd.confd "$pkgdir"/etc/conf.d/onak-keyd
|
||||
install -Dm755 "$srcdir"/onak-keyd.run "$pkgdir"/etc/sv/onak-keyd/run
|
||||
install -Dm644 "$srcdir"/onak-keyd.conf "$pkgdir"/etc/sv/onak-keyd/conf
|
||||
|
||||
# license
|
||||
install -Dm644 "$srcdir/$pkgname-$pkgver/LICENSE" -t "${pkgdir}/usr/share/licenses/$pkgname"
|
||||
}
|
||||
13
onak/fix-postgresql-build.patch
Normal file
13
onak/fix-postgresql-build.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
--- a/keydb/keydb_pg.c 2023-09-26 21:52:47.000000000 +0200
|
||||
+++ b/keydb/keydb_pg.c 2023-10-26 02:12:48.150006544 +0200
|
||||
@@ -16,8 +16,8 @@
|
||||
* this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
-#include <postgresql/libpq-fe.h>
|
||||
-#include <postgresql/libpq/libpq-fs.h>
|
||||
+#include <libpq-fe.h>
|
||||
+#include <libpq/libpq-fs.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/uio.h>
|
||||
9
onak/onak-keyd.conf
Normal file
9
onak/onak-keyd.conf
Normal file
@@ -0,0 +1,9 @@
|
||||
# Copyright 2023 Hyperbola Project
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Required daemon settings
|
||||
ONAKKEYD_DAEMON_CMD="/usr/sbin/keyd"
|
||||
ONAKKEYD_SOCKDIR="/var/run/onak"
|
||||
ONAKKEYD_DBDIR="/var/lib/onak"
|
||||
ONAKKEYD_DAEMON_UID="onak"
|
||||
ONAKKEYD_DAEMON_GID="adm"
|
||||
8
onak/onak-keyd.confd
Normal file
8
onak/onak-keyd.confd
Normal file
@@ -0,0 +1,8 @@
|
||||
# Copyright 2023 Hyperbola Project
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Required daemon settings
|
||||
ONAKKEYD_DAEMON_CMD="/usr/sbin/keyd"
|
||||
ONAKKEYD_SOCKDIR="/var/run/onak"
|
||||
ONAKKEYD_DAEMON_UID="onak"
|
||||
ONAKKEYD_DAEMON_GID="adm"
|
||||
39
onak/onak-keyd.initd
Normal file
39
onak/onak-keyd.initd
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 2023 Hyperbola Project
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
depend() {
|
||||
need net localmount
|
||||
after logger firewall postgresql
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
if ! grep -q -E '^use_keyd=*(true|yes|1)$' /etc/onak.ini; then
|
||||
eerror "You need a to enable keyd-support within your configuration"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
checkconfig || return 1
|
||||
|
||||
# create needed directory if necessary
|
||||
if [ ! -d ${ONAKKEYD_SOCKDIR} ] ; then
|
||||
checkpath -q -d -o ${ONAKKEYD_DAEMON_UID}:${ONAKKEYD_DAEMON_GID} -m 0775 ${ONAKKEYD_SOCKDIR} || return 1
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting onak-keyserver"
|
||||
start-stop-daemon \
|
||||
--start \
|
||||
--user "${ONAKKEYD_DAEMON_UID}:${ONAKKEYD_DAEMON_GID}" \
|
||||
--exec ${ONAKKEYD_DAEMON_CMD}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping onak-keyserver"
|
||||
keydctl quit
|
||||
eend $?
|
||||
}
|
||||
11
onak/onak-keyd.run
Normal file
11
onak/onak-keyd.run
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
[ -r conf ] && . ./conf
|
||||
if ! grep -q -E '^use_keyd=*(true|yes|1)$' /etc/onak.ini; then
|
||||
exit 1
|
||||
else
|
||||
mkdir -p ${ONAKKEYD_SOCKDIR}
|
||||
chown ${ONAKKEYD_DAEMON_UID}:${ONAKKEYD_DAEMON_GID} ${ONAKKEYD_SOCKDIR}
|
||||
chown ${ONAKKEYD_DAEMON_UID}:${ONAKKEYD_DAEMON_GID} ${ONAKKEYD_DBDIR}
|
||||
chpst -u ${ONAKKEYD_DAEMON_UID}:${ONAKKEYD_DAEMON_GID} ${ONAKKEYD_DAEMON_CMD}
|
||||
exec pause
|
||||
fi
|
||||
19
onak/onak.install
Normal file
19
onak/onak.install
Normal file
@@ -0,0 +1,19 @@
|
||||
post_install() {
|
||||
if ! getent passwd onak &>/dev/null; then
|
||||
useradd -r -d /var/lib/onak -g adm -s /bin/false onak
|
||||
fi
|
||||
|
||||
chown onak:adm /var/lib/onak
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
post_install $1
|
||||
}
|
||||
|
||||
post_remove() {
|
||||
if getent passwd onak &>/dev/null; then
|
||||
userdel onak >/dev/null
|
||||
fi
|
||||
|
||||
rm -rf /var/lib/onak
|
||||
}
|
||||
10
onak/onak.logrotate.d
Normal file
10
onak/onak.logrotate.d
Normal file
@@ -0,0 +1,10 @@
|
||||
/var/log/onak.log
|
||||
{
|
||||
create 644 onak adm
|
||||
missingok
|
||||
notifempty
|
||||
rotate 4
|
||||
weekly
|
||||
compress
|
||||
delaycompress
|
||||
}
|
||||
Reference in New Issue
Block a user