Compare commits

...
Sign in to create a new pull request.

7 commits

Author SHA1 Message Date
Jakub Ružička
89e99c04a5 knot-3.0.6-1
Changelog:
- Update to 3.0.6
2021-05-14 15:02:59 +02:00
Jakub Ružička
3b1e19ebb1 knot-3.0.5-1
Changelog:
- Update to 3.0.5
- Properly escape BASE_VERSION macro
- Include module dirs in main package
2021-03-30 17:42:52 +02:00
Jakub Ružička
a198de0b17 knot-3.0.4-1
Changelog:
- Update to 3.0.4
- Move dnstap module to subpackage
- Move geoip module to subpackage
- Remove redundant VERSION macro
2021-02-02 15:41:43 +01:00
Jakub Ružička
4f3368eaf9 knot-3.0.3-1
Changelog:
- Update to 3.0.3
2020-12-18 12:14:49 +01:00
Jakub Ružička
4eaf0119e7 knot-3.0.2-1: new upstream release
Changelog:
- Update to 3.0.2
2020-11-11 16:14:37 +01:00
Jakub Ružička
e208ee7d24 knot-3.0.1-1: new upstream release
Changelog:
- Update to 3.0.1
- Sync packaging from upstream
2020-10-13 13:19:41 +02:00
Jakub Ružička
b75fa876d4 tests: replace standard-test-rpm with -basic
Replace current failing tests mixed with custom roles
with standard tests as described in Fedora CI docs:

https://docs.fedoraproject.org/en-US/ci/how-to-add-dist-git-test/

Functionality of test_basic_zone.yml was ported to
scripts/test_basic_zone.sh.
2020-10-13 13:16:27 +02:00
6 changed files with 97 additions and 84 deletions

View file

@ -2,12 +2,12 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}}
%define GPG_CHECK 1
%define VERSION 3.0.0
%define BASE_VERSION %(echo "%{version}" | sed 's/^\\([^.]\\+\\.[^.]\\+\\).*/\\1/')
%define repodir %{_builddir}/%{name}-%{version}
Summary: High-performance authoritative DNS server
Name: knot
Version: %{VERSION}
Version: 3.0.6
Release: 1%{?dist}
License: GPL-3.0-or-later
URL: https://www.knot-dns.cz
@ -33,20 +33,22 @@ BuildRequires: pkgconfig(libedit)
# Optional dependencies
BuildRequires: pkgconfig(libcap-ng)
BuildRequires: pkgconfig(libfstrm)
BuildRequires: pkgconfig(libidn2)
BuildRequires: pkgconfig(libmaxminddb)
BuildRequires: pkgconfig(libnghttp2)
BuildRequires: pkgconfig(libprotobuf-c)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(systemd)
# dnstap dependencies
BuildRequires: pkgconfig(libfstrm)
BuildRequires: pkgconfig(libprotobuf-c)
# geoip dependencies
BuildRequires: pkgconfig(libmaxminddb)
# Distro-dependent dependencies
%if 0%{?suse_version}
BuildRequires: python3-Sphinx
BuildRequires: lmdb-devel
BuildRequires: protobuf-c
Requires(pre): pwdutils
Requires(pre): pwdutils
%endif
%if 0%{?rhel} && 0%{?rhel} <= 7
BuildRequires: python-sphinx
@ -98,6 +100,20 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description utils
The package contains DNS client utilities shipped with the Knot DNS server.
%package module-dnstap
Summary: dnstap module for Knot DNS
Requires: %{name} = %{version}-%{release}
%description module-dnstap
The package contains dnstap Knot DNS module for logging DNS traffic.
%package module-geoip
Summary: geoip module for Knot DNS
Requires: %{name} = %{version}-%{release}
%description module-geoip
The package contains geoip Knot DNS module for geography-based responses.
%package doc
Summary: Documentation for the Knot DNS server
BuildArch: noarch
@ -133,12 +149,14 @@ CFLAGS="%{optflags} -DNDEBUG -Wno-unused"
--localstatedir=/var/lib \
--libexecdir=/usr/lib/knot \
--with-rundir=/run/knot \
--with-moduledir=%{_libdir}/knot/modules-%{BASE_VERSION} \
--with-storage=/var/lib/knot \
%{?configure_db_sizes} \
%{?configure_xdp} \
--disable-static \
--enable-dnstap=yes \
--with-module-dnstap=yes
--with-module-dnstap=shared \
--with-module-geoip=shared
make %{?_smp_mflags}
make html
@ -164,10 +182,9 @@ install -p -m 0644 -D %{repodir}/distro/common/%{name}.tmpfiles %{buildroot}%{_t
ln -s service %{buildroot}/%{_sbindir}/rcknot
%endif
# create storage dir and key dir
# create storage dir
install -d %{buildroot}%{_sharedstatedir}
install -d -m 0775 -D %{buildroot}%{_sharedstatedir}/%{name}
install -d -m 0770 -D %{buildroot}%{_sharedstatedir}/%{name}/keys
install -d -m 0770 -D %{buildroot}%{_sharedstatedir}/knot
# remove libarchive files
find %{buildroot} -type f -name "*.la" -delete -print
@ -215,15 +232,15 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || :
%files
%license COPYING
%{_pkgdocdir}/NEWS
%{_pkgdocdir}/README.md
%{_pkgdocdir}/samples
%dir %attr(750,root,knot) %{_sysconfdir}/%{name}
%config(noreplace) %attr(640,root,knot) %{_sysconfdir}/%{name}/%{name}.conf
%dir %attr(775,root,knot) %{_sharedstatedir}/%{name}
%dir %attr(770,root,knot) %{_sharedstatedir}/%{name}/keys
%doc %{_pkgdocdir}
%exclude %{_pkgdocdir}/html
%attr(770,root,knot) %dir %{_sysconfdir}/knot
%config(noreplace) %attr(640,root,knot) %{_sysconfdir}/knot/knot.conf
%attr(770,root,knot) %dir %{_sharedstatedir}/knot
%dir %{_libdir}/knot
%dir %{_libdir}/knot/modules-*
%{_unitdir}/knot.service
%{_tmpfilesdir}/%{name}.conf
%{_tmpfilesdir}/knot.conf
%{_bindir}/kzonecheck
%{_bindir}/kzonesign
%{_sbindir}/kcatalogprint
@ -242,8 +259,7 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || :
%{_mandir}/man8/keymgr.*
%{_mandir}/man8/knotc.*
%{_mandir}/man8/knotd.*
%{_mandir}/man8/knotd.*
%ghost /run/knot
%ghost %attr(770,root,knot) %dir %{_rundir}/knot
%files utils
%{_bindir}/kdig
@ -259,6 +275,12 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || :
%{_mandir}/man1/knsec3hash.*
%{_mandir}/man1/knsupdate.*
%files module-dnstap
%{_libdir}/knot/modules-*/dnstap.so
%files module-geoip
%{_libdir}/knot/modules-*/geoip.so
%files libs
%license COPYING
%doc NEWS
@ -282,9 +304,33 @@ systemd-tmpfiles --create %{_tmpfilesdir}/knot.conf &>/dev/null || :
%files doc
%dir %{_pkgdocdir}
%{_pkgdocdir}/html
%doc %{_pkgdocdir}/html
%changelog
* Fri May 14 2021 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.0.6-1
- Update to 3.0.6
* Tue Mar 30 2021 Jakub Ružička <jakub.ruzicka@nic.cz> 3.0.5-1
- Update to 3.0.5
- Properly escape BASE_VERSION macro
- Include module dirs in main package
* Mon Feb 01 2021 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.0.4-1
- Update to 3.0.4
- Move dnstap module to subpackage
- Move geoip module to subpackage
- Remove redundant VERSION macro
* Thu Dec 17 2020 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.0.3-1
- Update to 3.0.3
* Wed Nov 11 2020 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.0.2-1
- Update to 3.0.2
* Mon Oct 12 2020 Jakub Ružička <jakub.ruzicka@nic.cz> - 3.0.1-1
- Update to 3.0.1
- Sync packaging from upstream
* Thu Sep 10 2020 Jakub Ružička <jakub.ruzicka@nic.cz> 3.0.0-1
- New major upstream release 3.0.0
- Sync packaging from upstream

View file

@ -1,2 +1,2 @@
SHA512 (knot-3.0.0.tar.xz) = 286861e4127f8c70eeba1e76f2de82e8f89d4c15d2dc3733902f8d19103f6a44b9da97a91bc99168fd4f6024d60b8bc53a78580ed04a6e9cbf8c6ad921780c81
SHA512 (knot-3.0.0.tar.xz.asc) = c3320ce2daf8f84e00ea40e08d89d07ec40530bc860f30e4489d44bcfa296c2954bcb431db793121c0b1aa2ff1f71a343f58492df87893f5fcf85f2470d70d13
SHA512 (knot-3.0.6.tar.xz) = f1bfb0bc3a4cf622a68562409e71c8b84ee628a5452b48e172148bcac9cd0827b60a0c060075b80a086ca65da958d2d63e33ef7e373ab300b50089d06af3e5d0
SHA512 (knot-3.0.6.tar.xz.asc) = 7e62201dca5bfd5cf24a32850eee974a3d9690dc1265d267b5fe29f1bcb318efa4e96390b07deeac71e0c2aeac69e0df33efb888540613718fae97afed2723ba

View file

@ -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.rpm,/path/to/knot-libs.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

View file

@ -0,0 +1,18 @@
#!/bin/bash
# test basic system-wide functionality of Knot DNS
set -ex
# create zone file from examples
cp /usr/share/doc/knot/samples/example.com.zone /var/lib/knot/example.com.zone
# configure knot to serve example.com zone using dark sed magic
sed 's/^#\?\([ \t]*-[ \t]*domain:[ \t]\+example.com\)[ \t]*$/\1/' -i /etc/knot/knot.conf
# (re)start knotd
systemctl stop knot.service
systemctl start knot.service || systemctl status knot.service
# check valid query is answered
dig @127.0.0.1 example.com | grep NOERROR
# check query for non-existent zone is refused
dig @127.0.0.1 bad-example.com | grep REFUSED

View file

@ -1,33 +0,0 @@
---
- block:
- name: create zone file
shell: cp /usr/share/doc/knot/samples/example.com.zone /var/lib/knot/example.com.zone
- name: configure knot to serve example.com zone
lineinfile:
path: /etc/knot/knot.conf
regexp: '^#? - domain: example.com$'
state: present
line: ' - domain: example.com'
- name: start knot.service
service:
name: knot.service
state: restarted
- name: check if query is answered
shell: dig @127.0.0.1 example.com
register: res
failed_when: "'NOERROR' not in res.stdout"
- name: check query for non-existent zone is refused
shell: dig @127.0.0.1 example2.com
register: res
failed_when: "'REFUSED' not in res.stdout"
rescue:
- set_fact:
test_basic_zone_failed: true
always:
- name: collect journal
shell: journalctl --since -10m > {{ artifacts }}/test_basic_zone_journal.log

View file

@ -1,25 +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_basic_zone.yml
- set_fact:
tests_passed: '{{ test_basic_zone_failed is undefined }}'
- name: report results
debug:
msg: |
test_basic_zone: {{ 'FAILED' if test_basic_zone_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:
- knotd-show-version:
run: knotd --version
- basic-zone:
dir: scripts
run: ./test_basic_zone.sh