diff --git a/gating.yml b/gating.yml new file mode 100644 index 0000000..f075ad7 --- /dev/null +++ b/gating.yml @@ -0,0 +1,15 @@ +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_testing +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} + +--- !Policy +product_versions: + - fedora-* +decision_context: bodhi_update_push_stable +subject_type: koji_build +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional} diff --git a/knot-resolver.spec b/knot-resolver.spec index 89d98d1..6dcd618 100644 --- a/knot-resolver.spec +++ b/knot-resolver.spec @@ -6,8 +6,8 @@ %define NINJA ninja-build Name: knot-resolver -Version: 5.7.3 -Release: 1%{?dist} +Version: 5.7.6 +Release: 3%{?dist} Summary: Caching full DNS Resolver License: GPL-3.0-or-later @@ -46,12 +46,14 @@ BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libcap-ng) BuildRequires: pkgconfig(libuv) BuildRequires: pkgconfig(luajit) >= 2.0 +BuildRequires: pkgconfig(jemalloc) +BuildRequires: systemd-rpm-macros Requires: systemd Requires(post): systemd # dnstap module dependencies -# SUSE is missing protoc-c protobuf compiler +# SUSE is missing protoc protobuf compiler %if "x%{?suse_version}" == "x" BuildRequires: pkgconfig(libfstrm) BuildRequires: pkgconfig(libprotobuf-c) @@ -64,7 +66,6 @@ BuildRequires: lmdb-devel Requires: lua-basexx Requires: lua-psl Requires: lua-http -Requires(pre): shadow-utils %endif %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: pkgconfig(lmdb) @@ -73,7 +74,6 @@ Requires: lua5.1-basexx Requires: lua5.1-cqueues Requires: lua5.1-http Recommends: lua5.1-psl -Requires(pre): shadow-utils %endif # we do not build HTTP module on SuSE so the build requires is not needed @@ -165,6 +165,11 @@ gpg2 --verify %{SOURCE1} %{SOURCE0} %endif %setup -q -n %{name}-%{version} +# Create a sysusers.d config file +cat >knot-resolver.sysusers.conf </dev/null || groupadd -r knot-resolver -getent passwd knot-resolver >/dev/null || useradd -r -g knot-resolver -d %{_sysconfdir}/knot-resolver -s /sbin/nologin -c "Knot Resolver" knot-resolver +install -m0644 -D knot-resolver.sysusers.conf %{buildroot}%{_sysusersdir}/knot-resolver.conf +%pre %if "x%{?rhel}" == "x" # upgrade-4-to-5 if [ -f %{_unitdir}/kresd.socket ] ; then @@ -312,7 +317,6 @@ fi %{_sbindir}/kresc %{_sbindir}/kres-cache-gc %{_libdir}/libkres.so.* -%dir %{_libdir}/knot-resolver %{_libdir}/knot-resolver/*.so %{_libdir}/knot-resolver/*.lua %dir %{_libdir}/knot-resolver/kres_modules @@ -346,6 +350,7 @@ fi %{_libdir}/knot-resolver/kres_modules/watchdog.lua %{_libdir}/knot-resolver/kres_modules/workarounds.lua %{_mandir}/man8/kresd.8.gz +%{_sysusersdir}/knot-resolver.conf %files devel %{_includedir}/libkres @@ -375,6 +380,34 @@ fi %endif %changelog +* Mon Oct 20 2025 Jakub Ružička - 5.7.6-3 +- Rebuilt for Knot DNS 3.5 + +* Thu Jul 24 2025 Fedora Release Engineering - 5.7.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jul 18 2025 Jakub Ružička - 5.7.6-1 +- New upstream version 5.7.6 + +* Thu Apr 24 2025 Jakub Ružička - 5.7.5-1 +- New upstream version 5.7.5 +- Remove duplicate file listing + +* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 5.7.4-4 +- Add sysusers.d config file to allow rpm to create users/groups automatically + +* Fri Jan 17 2025 Fedora Release Engineering - 5.7.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Nov 26 2024 Jakub Ružička - 5.7.4-2 +- Rebuilt for Knot DNS 3.4 + +* Wed Jul 24 2024 Jakub Ružička - 5.7.4-1 +- New upstream version 5.7.4 + +* Thu Jul 18 2024 Fedora Release Engineering - 5.7.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Jun 04 2024 Jakub Ružička - 5.7.3-1 - New upstream version 5.7.3 @@ -384,17 +417,39 @@ fi * Wed Feb 14 2024 Jakub Ružička - 5.7.1-1 - New upstream version 5.7.1 +* Thu Jan 25 2024 Fedora Release Engineering - 5.7.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 5.7.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Nov 09 2023 Jakub Ružička - 5.7.0-3 +- Rebuild for Fedora 40, Knot DNS 3.3.2 + +* Tue Aug 29 2023 Jakub Ružička - 5.7.0-2 +- Rebuilt for Knot DNS 3.3 + * Tue Aug 22 2023 Jakub Ružička - 5.7.0-1 - New upstream version 5.7.0 +* Thu Jul 20 2023 Fedora Release Engineering - 5.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Thu Jan 26 2023 Jakub Ružička - 5.6.0-1 - update to upstream version 5.6.0 +* Thu Jan 19 2023 Fedora Release Engineering - 5.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Thu Sep 22 2022 Jakub Ružička - 5.5.3-1 - update to upstream version 5.5.3 * Wed Aug 24 2022 Jakub Ružička - 5.5.2-1 - update to upstream version 5.5.2 +- add BuildRequires: systemd-rpm-macros + +* Thu Jul 21 2022 Fedora Release Engineering - 5.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jun 14 2022 Jakub Ružička - 5.5.1-1 - update to upstream version 5.5.1 @@ -403,35 +458,54 @@ fi - update to upstream version 5.5.0 - update upstream signing keys +* Thu Jan 20 2022 Fedora Release Engineering - 5.4.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Wed Jan 05 2022 Jakub Ružička - 5.4.4-1 - update to upstream version 5.4.4 * Wed Dec 01 2021 Jakub Ružička - 5.4.3-1 - update to upstream version 5.4.3 +* Sat Nov 06 2021 Adrian Reber - 5.4.2-3 +- Rebuilt for protobuf 3.19.0 + +* Tue Oct 26 2021 Adrian Reber - 5.4.2-2 +- Rebuilt for protobuf 3.18.1 + * Mon Oct 18 2021 Jakub Ružička - 5.4.2-1 - update to upstream version 5.4.2 -* Mon Sep 06 2021 Jakub Ružička - 5.4.1-2 -- rebuild for Knot DNS 3.1 - * Thu Aug 19 2021 Jakub Ružička - 5.4.1-1 - update to upstream version 5.4.1 +* Mon Aug 09 2021 Jakub Ružička - 5.4.0-2 +- rebuild for Knot DNS 3.1 (#1990583) + * Thu Jul 29 2021 Jakub Ružička - 5.4.0-1 - update to upstream version 5.4.0 +* Thu Jul 22 2021 Fedora Release Engineering - 5.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Fri May 07 2021 Jakub Ružička - 5.3.2-1 - update to upstream version 5.3.2 * Thu Apr 01 2021 Jakub Ružička - 5.3.1-1 - update to upstream version 5.3.1 +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 5.3.0-2 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Mon Mar 01 2021 Jakub Ružička - 5.3.0-1 - update to upstream version 5.3.0 - add dnstap module subpackage - required Knot DNS >= 2.9 +* Tue Jan 26 2021 Fedora Release Engineering - 5.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Fri Dec 18 2020 Jakub Ružička - 5.2.1-1 - update to upstream version 5.2.1 @@ -439,12 +513,6 @@ fi - update to upstream version 5.2.0 - sync packaging from upstream -* Fri Sep 25 2020 Jakub Ružička 5.1.3-4 -- rebuild for new bodhi update - -* Thu Sep 24 2020 Jakub Ružička 5.1.3-3 -- rebuild for Knot DNS 3.0.0 - * Wed Sep 23 2020 Jakub Ružička 5.1.3-2 - rebuild for Knot DNS 3.0.0 diff --git a/sources b/sources index 6253203..0ed2cdf 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (knot-resolver-5.7.3.tar.xz) = e3d52cce589c0c1bbd8360daae3004ce3150a418eb69e47bde3344867bcba3d434363c10e2833a5ebaf484770612b2697bd0cf464bce51c432f54e5a7cd446f8 -SHA512 (knot-resolver-5.7.3.tar.xz.asc) = 013653dfc7b6d8a4234fd0f04d69c3a7c0fe197fb4c32f8687e199d4f3df28d88b6683f46bb9ddeeaeac0a89919446e4539ffee954be1e87c0bdc0a5b05cef32 +SHA512 (knot-resolver-5.7.6.tar.xz) = 4dcaff56b0368bc147e04ffbf6ce4a3595fa3a59e99e73b516edc7813142abcb20823b987824b11a31e3eca3cc62fa176caf4408361daeac67b6f0587f9a0268 +SHA512 (knot-resolver-5.7.6.tar.xz.asc) = 478449d96dddaff9aff134a2a3bc991d8e50423f38a00e7256b54be9ab89d85d66eaa8e83815f4b31700b16fd94f8017493db6347e57d0583feec38bb35655f6 diff --git a/tests/README.md b/tests/README.md index 295aeb7..8f69da4 100644 --- a/tests/README.md +++ b/tests/README.md @@ -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 diff --git a/tests/scripts/test_manual_activation.sh b/tests/scripts/test_manual_activation.sh new file mode 100755 index 0000000..c595e05 --- /dev/null +++ b/tests/scripts/test_manual_activation.sh @@ -0,0 +1,7 @@ +#!/bin/bash +set -ex + +systemctl stop kresd@1.service +systemctl start kresd@1.service + +dig @127.0.0.1 . diff --git a/tests/test_manual_activation.yml b/tests/test_manual_activation.yml deleted file mode 100644 index cb61748..0000000 --- a/tests/test_manual_activation.yml +++ /dev/null @@ -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 diff --git a/tests/test_socket_activation.yml b/tests/test_socket_activation.yml deleted file mode 100644 index 43c4c5e..0000000 --- a/tests/test_socket_activation.yml +++ /dev/null @@ -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 diff --git a/tests/tests.yml b/tests/tests.yml index e42b12e..1f4dc95 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -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