]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
distro/pkg/arch: fix archlinux package to include manager docs-develop-fix-9pv3f3/deployments/2870
authorLukáš Ondráček <lukas.ondracek@nic.cz>
Mon, 13 Nov 2023 15:58:48 +0000 (16:58 +0100)
committerLukáš Ondráček <lukas.ondracek@nic.cz>
Tue, 14 Nov 2023 10:25:12 +0000 (11:25 +0100)
distro/pkg/arch/PKGBUILD

index c62bbab099c9c8f2526fd9505636d27baf7c3321..9d31b59faa00714cb99703144b6f4e99b6dc083e 100644 (file)
@@ -21,11 +21,22 @@ depends=(
     'libcap-ng'
     'libnghttp2'
     'jemalloc'
+    'python'
+    'python-yaml'
+    'python-aiohttp'
+    'python-typing-extensions'
+    'python-prometheus_client'
+    'python-typing-extensions'
+    'python-jinja'
+    'supervisor'
 )
 makedepends=(
     'cmocka'
     'meson'
     'systemd-libs'
+    'python-build'
+    'python-installer'
+    'python-poetry'
 )
 optdepends=(
     'lua51-basexx: experimental_dot_auth module'
@@ -40,16 +51,18 @@ sha256sums=('SKIP')
 
 build() {
     cd "${srcdir}/${pkgname}-${pkgver}"
-    meson build \
+    meson setup build \
         --buildtype=release \
         --prefix=/usr \
         --sbindir=bin \
         -D keyfile_default=/etc/trusted-key.key \
         -D systemd_files=enabled \
-        -D client=enabled \
         -D malloc=jemalloc \
         -D unit_tests=enabled
     ninja -C build
+    pushd manager
+    python -Pm build --wheel --no-isolation
+    popd
 }
 
 check() {
@@ -61,10 +74,19 @@ package() {
     cd "${srcdir}/${pkgname}-${pkgver}"
     DESTDIR=${pkgdir} ninja -C build install
 
-    # add kresd.target to multi-user.target.wants to support enabling kresd services
+    # add knot-resolver.service to multi-user.target.wants to support enabling the service
     install -d -m 0755 "${pkgdir}/usr/lib/systemd/system/multi-user.target.wants"
-    ln -s ../kresd.target "${pkgdir}/usr/lib/systemd/system/multi-user.target.wants/kresd.target"
+    ln -s ../knot-resolver.service ${pkgdir}/usr/lib/systemd/system/multi-user.target.wants/knot-resolver.service
 
     # remove modules with missing dependencies
     rm "${pkgdir}/usr/lib/knot-resolver/kres_modules/etcd.lua"
+
+    # install knot-resolver-manager
+    pushd manager
+    python -Pm installer --destdir="$pkgdir" dist/*.whl
+    install -m 644 -D etc/knot-resolver/config.yaml ${pkgdir}/etc/knot-resolver/config.yaml
+    install -m 644 -D shell-completion/client.bash ${pkgdir}/usr/share/bash-completion/completions/kresctl
+    install -m 644 -D shell-completion/client.fish ${pkgdir}/usr/share/fish/completions/kresctl.fish
+    popd
+
 }