%global _hardened_build 1 %ifarch %{nodejs_arches} %global uglify 1 %endif Name: dnsdist Version: 1.2.0 Release: 2%{?dist} Summary: Highly DNS-, DoS- and abuse-aware loadbalancer Group: System Environment/Daemons License: GPLv2 URL: http://dnsdist.org Source0: http://downloads.powerdns.com/releases/%{name}-%{version}.tar.bz2 BuildRequires: boost-devel #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: 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 %setup -q -n %{name}-%{version} # 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-libsodium \ %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 %dir %{_sysconfdir}/%{name}/ %changelog * 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