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