initial import

This commit is contained in:
2025-06-22 20:39:04 -05:00
commit f8a70886f0
3428 changed files with 302546 additions and 0 deletions

63
onak/PKGBUILD Normal file
View 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"
}

View 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
View 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
View 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
View 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
View 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
View 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
View File

@@ -0,0 +1,10 @@
/var/log/onak.log
{
create 644 onak adm
missingok
notifempty
rotate 4
weekly
compress
delaycompress
}