Compare commits
11 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb782b4d74 | ||
|
|
3207ca9c88 | ||
|
|
5febeed53f | ||
|
|
a33e6f1e33 | ||
|
|
d43e2315b2 | ||
|
|
afe6bf7e21 | ||
|
|
72487e2fa7 | ||
|
|
1ac859a7cd | ||
|
|
a212193b07 | ||
|
|
7dde12800b | ||
|
|
d549aa3dab |
7 changed files with 106 additions and 98 deletions
|
|
@ -2,13 +2,12 @@
|
|||
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}}
|
||||
|
||||
%define GPG_CHECK 1
|
||||
%define VERSION 5.1.3
|
||||
%define repodir %{_builddir}/%{name}-%{version}
|
||||
%define NINJA ninja-build
|
||||
|
||||
Name: knot-resolver
|
||||
Version: %{VERSION}
|
||||
Release: 2%{?dist}
|
||||
Version: 5.4.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Caching full DNS Resolver
|
||||
|
||||
License: GPL-3.0-or-later
|
||||
|
|
@ -40,9 +39,10 @@ BuildRequires: meson
|
|||
BuildRequires: pkgconfig(cmocka)
|
||||
BuildRequires: pkgconfig(gnutls)
|
||||
BuildRequires: pkgconfig(libedit)
|
||||
BuildRequires: pkgconfig(libknot) >= 2.8
|
||||
BuildRequires: pkgconfig(libzscanner) >= 2.8
|
||||
BuildRequires: pkgconfig(libdnssec) >= 2.8
|
||||
BuildRequires: pkgconfig(libknot) >= 2.9
|
||||
BuildRequires: pkgconfig(libzscanner) >= 2.9
|
||||
BuildRequires: pkgconfig(libdnssec) >= 2.9
|
||||
BuildRequires: pkgconfig(libnghttp2)
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
BuildRequires: pkgconfig(libcap-ng)
|
||||
BuildRequires: pkgconfig(libuv)
|
||||
|
|
@ -51,6 +51,13 @@ BuildRequires: pkgconfig(luajit) >= 2.0
|
|||
Requires: systemd
|
||||
Requires(post): systemd
|
||||
|
||||
# dnstap module dependencies
|
||||
# SUSE is missing protoc-c protobuf compiler
|
||||
%if "x%{?suse_version}" == "x"
|
||||
BuildRequires: pkgconfig(libfstrm)
|
||||
BuildRequires: pkgconfig(libprotobuf-c)
|
||||
%endif
|
||||
|
||||
# Distro-dependent dependencies
|
||||
%if 0%{?rhel} == 7
|
||||
BuildRequires: lmdb-devel
|
||||
|
|
@ -90,6 +97,7 @@ Requires(pre): shadow
|
|||
BuildRequires: doxygen
|
||||
BuildRequires: python3-breathe
|
||||
BuildRequires: python3-sphinx_rtd_theme
|
||||
BuildRequires: texinfo
|
||||
%endif
|
||||
|
||||
%description
|
||||
|
|
@ -119,9 +127,20 @@ Requires: %{name} = %{version}-%{release}
|
|||
Documentation for Knot Resolver
|
||||
%endif
|
||||
|
||||
%if "x%{?suse_version}" == "x"
|
||||
%package module-dnstap
|
||||
Summary: dnstap module for Knot Resolver
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description module-dnstap
|
||||
dnstap module for Knot Resolver supports logging DNS responses to a unix socket
|
||||
in dnstap format using fstrm framing library. This logging is useful if you
|
||||
need effectivelly log all DNS traffic.
|
||||
%endif
|
||||
|
||||
%if "x%{?suse_version}" == "x"
|
||||
%package module-http
|
||||
Summary: HTTP/2 module for Knot Resolver
|
||||
Summary: HTTP module for Knot Resolver
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
Requires: lua5.1-http
|
||||
|
|
@ -132,9 +151,10 @@ Requires: lua-mmdb
|
|||
%endif
|
||||
|
||||
%description module-http
|
||||
HTTP/2 module for Knot Resolver has multiple uses. It enables use of
|
||||
DNS-over-HTTP, can serve as API endpoint for other modules or provide a web
|
||||
interface for local visualization of the resolver cache and queries.
|
||||
HTTP module for Knot Resolver can serve as API endpoint for other modules or
|
||||
provide a web interface for local visualization of the resolver cache and
|
||||
queries. It can also serve DNS-over-HTTPS, but it is deprecated in favor of
|
||||
native C implementation, which doesn't require this package.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
|
|
@ -153,6 +173,9 @@ CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" meson build_rpm \
|
|||
%endif
|
||||
-Dsystemd_files=enabled \
|
||||
-Dclient=enabled \
|
||||
%if "x%{?suse_version}" == "x"
|
||||
-Ddnstap=enabled \
|
||||
%endif
|
||||
-Dunit_tests=enabled \
|
||||
-Dmanaged_ta=enabled \
|
||||
-Dkeyfile_default="%{_sharedstatedir}/knot-resolver/root.keys" \
|
||||
|
|
@ -183,6 +206,9 @@ ln -s ../kresd.target %{buildroot}%{_unitdir}/multi-user.target.wants/kresd.targ
|
|||
# remove modules with missing dependencies
|
||||
rm %{buildroot}%{_libdir}/knot-resolver/kres_modules/etcd.lua
|
||||
|
||||
# remove unused sysusers
|
||||
rm %{buildroot}%{_prefix}/lib/sysusers.d/knot-resolver.conf
|
||||
|
||||
%if 0%{?suse_version}
|
||||
rm %{buildroot}%{_libdir}/knot-resolver/kres_modules/experimental_dot_auth.lua
|
||||
rm -r %{buildroot}%{_libdir}/knot-resolver/kres_modules/http
|
||||
|
|
@ -267,12 +293,12 @@ fi
|
|||
%doc %{_pkgdocdir}/AUTHORS
|
||||
%doc %{_pkgdocdir}/NEWS
|
||||
%doc %{_pkgdocdir}/examples
|
||||
%attr(755,root,knot-resolver) %dir %{_sysconfdir}/knot-resolver
|
||||
%attr(644,root,knot-resolver) %config(noreplace) %{_sysconfdir}/knot-resolver/kresd.conf
|
||||
%attr(644,root,knot-resolver) %config(noreplace) %{_sysconfdir}/knot-resolver/root.hints
|
||||
%attr(644,root,knot-resolver) %{_sysconfdir}/knot-resolver/icann-ca.pem
|
||||
%attr(775,root,knot-resolver) %dir %{_sharedstatedir}/knot-resolver
|
||||
%attr(664,root,knot-resolver) %{_sharedstatedir}/knot-resolver/root.keys
|
||||
%dir %{_sysconfdir}/knot-resolver
|
||||
%config(noreplace) %{_sysconfdir}/knot-resolver/kresd.conf
|
||||
%config(noreplace) %{_sysconfdir}/knot-resolver/root.hints
|
||||
%{_sysconfdir}/knot-resolver/icann-ca.pem
|
||||
%attr(750,knot-resolver,knot-resolver) %dir %{_sharedstatedir}/knot-resolver
|
||||
%attr(640,knot-resolver,knot-resolver) %{_sharedstatedir}/knot-resolver/root.keys
|
||||
%{_unitdir}/kresd@.service
|
||||
%{_unitdir}/kres-cache-gc.service
|
||||
%{_unitdir}/kresd.target
|
||||
|
|
@ -282,7 +308,7 @@ fi
|
|||
%{_tmpfilesdir}/knot-resolver.conf
|
||||
%ghost /run/%{name}
|
||||
%ghost %{_localstatedir}/cache/%{name}
|
||||
%attr(770,root,knot-resolver) %dir %{_libdir}/%{name}
|
||||
%attr(750,knot-resolver,knot-resolver) %dir %{_libdir}/%{name}
|
||||
%{_sbindir}/kresd
|
||||
%{_sbindir}/kresc
|
||||
%{_sbindir}/kres-cache-gc
|
||||
|
|
@ -291,7 +317,12 @@ fi
|
|||
%{_libdir}/knot-resolver/*.so
|
||||
%{_libdir}/knot-resolver/*.lua
|
||||
%dir %{_libdir}/knot-resolver/kres_modules
|
||||
%{_libdir}/knot-resolver/kres_modules/*.so
|
||||
%{_libdir}/knot-resolver/kres_modules/bogus_log.so
|
||||
%{_libdir}/knot-resolver/kres_modules/edns_keepalive.so
|
||||
%{_libdir}/knot-resolver/kres_modules/hints.so
|
||||
%{_libdir}/knot-resolver/kres_modules/nsid.so
|
||||
%{_libdir}/knot-resolver/kres_modules/refuse_nord.so
|
||||
%{_libdir}/knot-resolver/kres_modules/stats.so
|
||||
%{_libdir}/knot-resolver/kres_modules/daf
|
||||
%{_libdir}/knot-resolver/kres_modules/daf.lua
|
||||
%{_libdir}/knot-resolver/kres_modules/detect_time_jump.lua
|
||||
|
|
@ -325,6 +356,14 @@ fi
|
|||
%files doc
|
||||
%dir %{_pkgdocdir}
|
||||
%doc %{_pkgdocdir}/html
|
||||
%doc %{_datadir}/info/knot-resolver.info*
|
||||
%dir %{_datadir}/info/knot-resolver-figures
|
||||
%doc %{_datadir}/info/knot-resolver-figures/*
|
||||
%endif
|
||||
|
||||
%if "x%{?suse_version}" == "x"
|
||||
%files module-dnstap
|
||||
%{_libdir}/knot-resolver/kres_modules/dnstap.so
|
||||
%endif
|
||||
|
||||
%if "x%{?suse_version}" == "x"
|
||||
|
|
@ -336,6 +375,36 @@ fi
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Oct 18 2021 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.4.2-1
|
||||
- update to upstream version 5.4.2
|
||||
|
||||
* Thu Aug 19 2021 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.4.1-1
|
||||
- update to upstream version 5.4.1
|
||||
|
||||
* Thu Jul 29 2021 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.4.0-1
|
||||
- update to upstream version 5.4.0
|
||||
|
||||
* Fri May 07 2021 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.3.2-1
|
||||
- update to upstream version 5.3.2
|
||||
|
||||
* Thu Apr 01 2021 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.3.1-1
|
||||
- update to upstream version 5.3.1
|
||||
|
||||
* Mon Mar 01 2021 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.3.0-1
|
||||
- update to upstream version 5.3.0
|
||||
- add dnstap module subpackage
|
||||
- required Knot DNS >= 2.9
|
||||
|
||||
* Fri Dec 18 2020 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.2.1-1
|
||||
- update to upstream version 5.2.1
|
||||
|
||||
* Wed Nov 11 2020 Jakub Ružička <jakub.ruzicka@nic.cz> 5.2.0-1
|
||||
- update to upstream version 5.2.0
|
||||
- sync packaging from upstream
|
||||
|
||||
* Mon Oct 19 2020 Jakub Ružička <jakub.ruzicka@nic.cz> - 5.1.3-3
|
||||
- rebuild for Knot DNS 3.0.1
|
||||
|
||||
* Wed Sep 23 2020 Jakub Ružička <jakub.ruzicka@nic.cz> 5.1.3-2
|
||||
- rebuild for Knot DNS 3.0.0
|
||||
|
||||
|
|
|
|||
4
sources
4
sources
|
|
@ -1,2 +1,2 @@
|
|||
SHA512 (knot-resolver-5.1.3.tar.xz) = 0d97a7094922cd02a47bb24f703186b167e04e8545e4c433821544643a9adc44e00f7c33c31ab852a402a5bc25f05742c8f3b955099a0bafd910496d5cca43e2
|
||||
SHA512 (knot-resolver-5.1.3.tar.xz.asc) = 5fe43f3001d4990e3f20c0e9d58d5c825f32693a56822e585f3a40a2b31e57c128686088428cb1e8be36e458620d57aaeab6d7995860f753df11fc9fbb946812
|
||||
SHA512 (knot-resolver-5.4.2.tar.xz) = d8d4eeea1bf04496b930fe8984ebb5314ef6e0db0f8182f98db63b8508f4da6e0620c2b9c7eeecb3e5a4e7b15469798e0c2d1b8ef71a681ed7dd38d0089dea1d
|
||||
SHA512 (knot-resolver-5.4.2.tar.xz.asc) = 098317d9761d1398cf334978367ce260fe49e877f2192fedd8cbd69f7c8ffa7cf32dd07eba4ca9a3fa70c148271459ef0edb154d4b161deec87de7c2fb4bff50
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ Package tests
|
|||
=============
|
||||
|
||||
These tests implement the standard test interface in Fedora CI.
|
||||
See https://fedoraproject.org/wiki/CI/Tests for details.
|
||||
See https://docs.fedoraproject.org/en-US/ci/tests/ for details.
|
||||
|
||||
Manual execution
|
||||
----------------
|
||||
|
|
@ -12,11 +12,3 @@ modifications to your system. It's best to run these on a clean, throw-away
|
|||
testing system or a VM.
|
||||
|
||||
ansible-playbook tests/tests.yml -e subjects=/path/to/knot-resolver.rpm -e artifacts=/path/to/artifacts
|
||||
|
||||
Automatic execution
|
||||
-------------------
|
||||
|
||||
These tests should eventually be automatically executed by the Fedora CI
|
||||
pipeline. As of 2018-01-10, it is not supported for packages that aren't part
|
||||
of Fedora Atomic. Once it is implemented, the results of these tests should be
|
||||
visible in dist-git commits on src.fedoraproject.org
|
||||
|
|
|
|||
7
tests/scripts/test_manual_activation.sh
Executable file
7
tests/scripts/test_manual_activation.sh
Executable file
|
|
@ -0,0 +1,7 @@
|
|||
#!/bin/bash
|
||||
set -ex
|
||||
|
||||
systemctl stop kresd@1.service
|
||||
systemctl start kresd@1.service
|
||||
|
||||
dig @127.0.0.1 .
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
---
|
||||
- block:
|
||||
- name: make sure kresd@1 socket and service is off
|
||||
service:
|
||||
name: "{{ item }}"
|
||||
state: stopped
|
||||
with_items:
|
||||
- kresd@1.service
|
||||
- kresd@1.socket
|
||||
failed_when: false
|
||||
|
||||
- name: start kresd@1.service
|
||||
service:
|
||||
name: kresd@1.service
|
||||
state: started
|
||||
|
||||
- name: check if query is answered
|
||||
shell: dig @127.0.0.1 .
|
||||
rescue:
|
||||
- set_fact:
|
||||
manual_activation_failed: true
|
||||
always:
|
||||
- name: collect journal
|
||||
shell: journalctl --since -10m > {{ artifacts }}/test_manual_activation_journal.log
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
---
|
||||
- block:
|
||||
- name: make sure kresd socket and service is off
|
||||
service:
|
||||
name: "{{ item }}"
|
||||
state: stopped
|
||||
with_items:
|
||||
- kresd@1.service
|
||||
- kresd.socket
|
||||
|
||||
- name: start kresd.socket
|
||||
service:
|
||||
name: kresd.socket
|
||||
state: started
|
||||
|
||||
- name: check if query is answered
|
||||
shell: dig @127.0.0.1 .
|
||||
rescue:
|
||||
- set_fact:
|
||||
socket_activation_failed: true
|
||||
always:
|
||||
- name: collect journal
|
||||
shell: journalctl --since -10m > {{ artifacts }}/test_socket_activation_journal.log
|
||||
|
|
@ -1,28 +1,15 @@
|
|||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
pre_tasks:
|
||||
- package: # Install additional dependecies
|
||||
name: bind-utils
|
||||
state: latest
|
||||
roles:
|
||||
- role: standard-test-rpm
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
tasks:
|
||||
- include_tasks: test_socket_activation.yml
|
||||
when: ansible_distribution == 'Fedora'
|
||||
- include_tasks: test_manual_activation.yml
|
||||
|
||||
- set_fact:
|
||||
tests_passed: '{{ socket_activation_failed is undefined and manual_activation_failed is undefined }}'
|
||||
- name: report results
|
||||
debug:
|
||||
msg: |
|
||||
test_socket_activation: {{ 'FAILED' if socket_activation_failed is defined else 'OK'}}
|
||||
test_manual_activation: {{ 'FAILED' if manual_activation_failed is defined else 'OK'}}
|
||||
|
||||
- name: fail playbook if tests failed
|
||||
debug:
|
||||
msg: --- {{ 'PASSED' if tests_passed else 'FAILED' }} ---
|
||||
failed_when: not tests_passed
|
||||
required_packages:
|
||||
- bind-utils
|
||||
tests:
|
||||
- kresd-show-version:
|
||||
run: kresd --version
|
||||
- manual-activation:
|
||||
dir: scripts
|
||||
run: ./test_manual_activation.sh
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue