## START: Set by rpmautospec ## (rpmautospec version 0.8.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 3; 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.12.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/112 Patch1: flamethrower-0.12.0-unbundle-meson.patch BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: meson BuildRequires: ninja-build BuildRequires: pkgconfig(libuv) BuildRequires: pkgconfig(ldns) BuildRequires: pkgconfig(gnutls) BuildRequires: cmake(nlohmann_json) BuildRequires: docopt-cpp-devel # cmake(uvw) does not have version BuildRequires: uvw-devel >= 3.4 BuildRequires: cmake(httplib) BuildRequires: pandoc %if %{with doh} BuildRequires: pkgconfig(libnghttp2) %endif # Not used again, http-parser is missing dependencies %if %{with http_parser} BuildRequires: http-parser-devel %endif # cpp-httplib upstream no longer supports 32 bits # https://github.com/yhirose/cpp-httplib/issues/2148 ExcludeArch: %{ix86} # 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 -p1 # Remove bundled source we are able to use from the system rm -rf 3rd/{json,docopt.cpp,uvw,cpp-httplib} %build %meson -Dbundles=false \ %if %{with doh} -Ddoh=true \ %endif # end of meson %meson_build %install %meson_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 %{_mandir}/man1/flame.1* %changelog ## START: Generated by rpmautospec * Mon Jan 26 2026 Petr Mensik - 0.12.0-3 - Skip 32 bit builds * Mon Jan 26 2026 Petr Mensik - 0.12.0-2 - Unbundle libraries available separately * Mon Jan 26 2026 Petr Mensik - 0.12.0-1 - Update to 0.12.0 (rhbz#2431989) - Switch from CMake to meson build system - Lot of other fixes * Fri Jan 16 2026 Fedora Release Engineering - 0.11.0-32 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Wed Jul 23 2025 Fedora Release Engineering - 0.11.0-31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Thu Jan 16 2025 Fedora Release Engineering - 0.11.0-30 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * 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