## START: Set by rpmautospec ## (rpmautospec version 0.7.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 29; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %undefine __cmake_in_source_build # Optional DNS over HTTP support %bcond_without doh # Simple test requiring online connection %bcond_with online # http-parser upstream is dead. Use bundled part of it until replaced. # TODO: propose uri-parser or ada-url to upstream as a replacement %bcond_with http_parser Name: flamethrower Version: 0.11.0 Release: %autorelease Summary: A DNS performance and functional testing utility License: Apache-2.0 URL: https://github.com/DNS-OARC/flamethrower Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz # https://github.com/DNS-OARC/flamethrower/pull/74 Patch1: flamethrower-0.11-catch2.patch # https://github.com/DNS-OARC/flamethrower/pull/75 Patch2: flamethrower-0.11-http-parser.patch # https://github.com/DNS-OARC/flamethrower/pull/77 Patch3: flamethrower-0.11-3rd-json.patch # https://github.com/DNS-OARC/flamethrower/pull/85 Patch4: flamethrower-0.11-3rd-base64.patch # https://github.com/DNS-OARC/flamethrower/pull/87 Patch5: flamethrower-0.11-uvw.patch Patch6: flamethrower-0.11-uvw-compat.patch # https://github.com/DNS-OARC/flamethrower/pull/88 Patch7: flamethrower-0.11-gcc12.patch # https://github.com/DNS-OARC/flamethrower/pull/94 Patch8: flamethrower-0.12-httpsession.patch BuildRequires: gcc-c++, make BuildRequires: cmake BuildRequires: libuv-devel BuildRequires: ldns-devel BuildRequires: gnutls-devel BuildRequires: pandoc BuildRequires: json-devel BuildRequires: docopt-cpp-devel BuildRequires: uvw-devel %if %{with doh} BuildRequires: libnghttp2-devel %endif # Not used again, http-parser is missing dependencies %if %{with http_parser} BuildRequires: http-parser-devel %endif # 3rd/base64url from https://renenyffenegger.ch/notes/development/Base64/Encoding-and-decoding-base-64-with-cpp/index # also https://github.com/ReneNyffenegger/cpp-base64 Provides: bundled(cpp-base64) %if %{without http_parser} # 3rd/url-parser is a part of http-parser # https://github.com/nodejs/http-parser Provides: bundled(http-parser) = 2.9.1 Provides: bundled(url-parser) = 2.9.1 %endif %description Flamethrower is a small, fast, configurable tool for functional testing, benchmarking, and stress testing DNS servers and networks. It supports IPv4, IPv6, UDP and TCP, and has a modular system for generating queries used in the tests. It was built as an alternative to dnsperf, and many of the command line options are compatible. %prep %autosetup -n %{name}-%{version} -p1 %build %cmake -DCMAKE_SKIP_BUILD_RPATH=TRUE \ %if %{with http_parser} -DUSE_HTTP_PARSER=ON \ %endif %if %{with doh} -DDOH_ENABLE=ON \ %endif %cmake_build %install %cmake_install install -m 0644 -pD man/flame.1 ${RPM_BUILD_ROOT}%{_mandir}/man1/flame.1 %check %ctest export LD_LIBRARY_PATH="${RPM_BUILD_ROOT}%{_libdir}" ${RPM_BUILD_ROOT}%{_bindir}/flame --help %if %{with online} COMMON="-Q 30 -g randomlabel -l 3 -r test dns.google" PROTOS="udp tcp dot" %if %{with doh} PROTOS+=" doh" %endif for PROTO in $PROTOS do ${RPM_BUILD_ROOT}%{_bindir}/flame -P $PROTO $COMMON done %endif %files %doc README.md %license LICENSE %{_bindir}/flame %{_libdir}/libflamecore.so %{_mandir}/man1/flame.1* %changelog ## START: Generated by rpmautospec * Tue Dec 10 2024 Petr Menšík - 0.11.0-29 - Disable linking with http-parser * Wed Jul 17 2024 Fedora Release Engineering - 0.11.0-28 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Wed Jan 24 2024 Fedora Release Engineering - 0.11.0-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jan 19 2024 Fedora Release Engineering - 0.11.0-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Fri Jul 28 2023 Petr Menšík - 0.11.0-25 - Fix previous test to use just built libs * Fri Jul 28 2023 Petr Menšík - 0.11.0-24 - Add very simple online test * Fri Jul 28 2023 Petr Menšík - 0.11.0-23 - Fix crash in DoH mode. Remove failing test (#2225804) * Wed Jul 19 2023 Fedora Release Engineering - 0.11.0-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Thu Jan 19 2023 Fedora Release Engineering - 0.11.0-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Fri Sep 30 2022 Petr Menšík - 0.11.0-13 - Update License tag to SPDX identifier * Thu Jul 21 2022 Fedora Release Engineering - 0.11.0-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sat Jan 22 2022 Petr Menšík - 0.11.0-11 - Build on gcc 12 again * Thu Jan 20 2022 Petr Menšík - 0.11.0-10 - Use uvw-devel package * Thu Jan 20 2022 Fedora Release Engineering - 0.11.0-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Wed Nov 24 2021 Petr Menšík - 0.11.0-8 - Use docopt-cpp package * Sat Sep 18 2021 Petr Menšík - 0.11.0-7 - Make the package compilable on EPEL8 * Thu Aug 05 2021 Petr Menšík - 0.11.0-6 - Use http_parser instead of bundled url_parser * Mon Aug 02 2021 Petr Menšík - 0.11.0-5 - Build with latest catch library (#1987476) - Declare bundled libraries in package * Wed Jul 21 2021 Fedora Release Engineering - 0.11.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Jan 26 2021 Fedora Release Engineering - 0.11.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Sat Dec 19 2020 Adam Williamson - 0.11.0-2 - Rebuild for libldns soname bump * Tue Sep 22 2020 Petr Menšík - 0.11.0-1 - Update to 0.11.0 * Fri Aug 07 2020 Petr Menšík - 0.10.2-4 - Update spec to recent cmake macros, fixes rawhide (#1863562) * Sat Aug 01 2020 Fedora Release Engineering - 0.10.2-3 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Jul 27 2020 Fedora Release Engineering - 0.10.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Mon Mar 02 2020 Petr Menšík - 0.10.2-1 - Update to 0.10.2 * Tue Jan 28 2020 Fedora Release Engineering - 0.10-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Mon Oct 07 2019 Petr Menšík - 0.10-3 - Remove explicit library requires * Wed Oct 02 2019 Petr Menšík - 0.10-2 - Use make install, improve descriptions - Correct permissions of manual - Use bindir * Tue Sep 10 2019 Petr Menšík - 0.10-1 - Initial release ## END: Generated by rpmautospec