%ifarch %{nodejs_arches} %global uglify 1 %endif Name: dnsdist Version: 1.3.3 Release: 4%{?dist} Summary: Highly DNS-, DoS- and abuse-aware loadbalancer License: GPLv2 URL: https://dnsdist.org Source0: http://downloads.powerdns.com/releases/%{name}-%{version}.tar.bz2 BuildRequires: boost-devel BuildRequires: gcc-c++ #ppc64 buildroot doesn't have libatomic, so require it #https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/FSMMBCD2C2SPO4D66O35EGUTF7YXEPBA/ BuildRequires: libatomic BuildRequires: libedit-devel BuildRequires: libsodium-devel BuildRequires: lua-devel %ifarch %{arm} %{ix86} x86_64 %{mips} aarch64 BuildRequires: luajit-devel %else BuildRequires: lua-devel %endif BuildRequires: openssl-devel BuildRequires: protobuf-devel BuildRequires: re2-devel BuildRequires: readline-devel BuildRequires: systemd-devel BuildRequires: systemd-units %if 0%{?uglify} BuildRequires: uglify-js %endif Requires(post): systemd Requires(preun): shadow-utils Requires(preun): systemd Requires(postun): systemd %description dnsdist is a highly DNS-, DoS- and abuse-aware loadbalancer. Its goal in life is to route traffic to the best server, delivering top performance to legitimate users while shunting or blocking abusive traffic. %prep %autosetup # run as dnsdist user sed -i '/^ExecStart/ s/dnsdist/dnsdist -u dnsdist -g dnsdist/' dnsdist.service.in %build %configure \ --sysconfdir=%{_sysconfdir}/%{name} \ --disable-static \ --disable-dependency-tracking \ --disable-silent-rules \ --enable-dnscrypt \ --enable-dns-over-tls \ --enable-libsodium \ --enable-libssl \ %ifarch %{arm} %{ix86} x86_64 %{mips} aarch64 --with-luajit \ %else --with-lua \ %endif --enable-unit-tests rm html/js/* %if 0%{?uglify} make min_js %else cp src_js/*.js html/js %endif make %{?_smp_mflags} mv dnsdistconf.lua dnsdist.conf.sample %install make install DESTDIR=%{buildroot} # install systemd unit file install -D -p -m 644 %{name}.service %{buildroot}%{_unitdir}/%{name}.service install -d %{buildroot}%{_sysconfdir}/%{name}/ %pre getent group dnsdist >/dev/null || groupadd -r dnsdist getent passwd dnsdist >/dev/null || \ useradd -r -g dnsdist -d / -s /sbin/nologin \ -c "dnsdist user" dnsdist exit 0 %post %systemd_post %{name}.service %preun %systemd_preun %{name}.service %postun %systemd_postun_with_restart %{name}.service %files %doc dnsdist.conf.sample %doc README.md %license COPYING %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* %{_unitdir}/%{name}.service %{_unitdir}/%{name}@.service %dir %{_sysconfdir}/%{name}/ %changelog * Wed Jul 24 2019 Fedora Release Engineering - 1.3.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Thu Jan 31 2019 Fedora Release Engineering - 1.3.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Wed Nov 21 2018 Igor Gnatenko - 1.3.3-2 - Rebuild for protobuf 3.6 * Sun Nov 18 2018 Sander Hoentjen - 1.3.3-1 - Update to 1.3.3 - Fixes CVE-2018-14663 * Thu Jul 12 2018 Fedora Release Engineering - 1.3.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Jun 06 2018 Ruben Kerkhof - 1.3.0-2 - Fix sigabrt on TCP query (https://github.com/PowerDNS/pdns/issues/6712) * Thu May 31 2018 Ruben Kerkhof - 1.3.0-1 - Upstream released new version - Enable DNS over TLS * Mon Feb 19 2018 Ruben Kerkhof - 1.2.1-1 - Upstream released new version - BuildRequires gcc-c++ (https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequire) - Fix mixed indentation in spec file * Wed Feb 07 2018 Fedora Release Engineering - 1.2.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Nov 29 2017 Igor Gnatenko - 1.2.0-4 - Rebuild for protobuf 3.5 * Mon Nov 13 2017 Igor Gnatenko - 1.2.0-3 - Rebuild for protobuf 3.4 * Mon Oct 02 2017 Remi Collet - 1.2.0-2 - rebuild for libsodium * Tue Aug 22 2017 Sander Hoentjen - 1.2.0-1 - Update to 1.2.0 - Fixes CVE-2017-7557 - Fixes CVE-2016-7069 * Wed Aug 02 2017 Fedora Release Engineering - 1.1.0-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Wed Jul 26 2017 Fedora Release Engineering - 1.1.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Jun 13 2017 Orion Poplawski - 1.1.0-6 - Rebuild for protobuf 3.3.1 * Mon May 15 2017 Fedora Release Engineering - 1.1.0-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 1.1.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Jan 23 2017 Orion Poplawski - 1.1.0-3 - Rebuild for protobuf 3.2.0 * Fri Dec 30 2016 Sander Hoentjen - 1.1.0-2 - ppc64 buildroot doesn't have libatomic, so require it * Fri Dec 30 2016 Sander Hoentjen - 1.1.0-1 - New upstream release * Sat Nov 19 2016 Orion Poplawski - 1.0.0-4 - Rebuild for protobuf 3.1.0 * Tue Aug 30 2016 Sander Hoentjen - 1.0.0-3 - luajit is now also available for aarch64 and MIPS * Mon Aug 29 2016 Igor Gnatenko - 1.0.0-2 - Rebuild for LuaJIT 2.1.0 * Thu Apr 21 2016 Sander Hoentjen - 1.0.0-1 - Upstream released new version * Fri Apr 15 2016 Ruben Kerkhof - 1.0.0-0.10.beta1 - Use the correct systemd service file * Fri Apr 15 2016 Ruben Kerkhof - 1.0.0-0.10.beta1 - Upstream released new version - Run as dnsdist user / group (#1326623) - Enable support for libre2 and protobufs - Fix systemd detection - Only build with lua if luajit is not available * Tue Mar 08 2016 Ruben Kerkhof 1.0.0-0.9.alpha2 - Rebuild for libsodium soname bump * Tue Feb 23 2016 Peter Robinson 1.0.0-0.8.alpha2 - Add aarch64/s390(x) to luajit excludes - uglify-js available on nodejs arches so use that define * Mon Feb 08 2016 Sander Hoentjen - 1.0.0-0.7.alpha2 - Only copy .js files when minify-js is not available * Mon Feb 08 2016 Sander Hoentjen - 1.0.0-0.6.alpha2 - PPC on EPEL does not have uglify-js * Mon Feb 08 2016 Sander Hoentjen - 1.0.0-0.5.alpha2 - Don't build against luijit on ppc, it is not available there * Mon Feb 08 2016 Sander Hoentjen - 1.0.0-0.4.alpha2 - Add sample config file * Sat Feb 06 2016 Sander Hoentjen - 1.0.0-0.3.alpha2 - Update to new upstream * Sun Jan 10 2016 Sander Hoentjen - 1.0.0-0.2.alpha1 - SPEC fixes for review * Sun Jan 10 2016 Sander Hoentjen - 1.0.0-0.1.alpha1 - Initial package