|
|
e977454 |
%global _hardened_build 1
|
|
|
e977454 |
|
|
|
e977454 |
Name: knot-resolver
|
|
|
b6eb3ba |
Version: 1.1.1
|
|
|
1efd2a2 |
Release: 3%{?dist}
|
|
|
e977454 |
Summary: Caching full DNS Resolver
|
|
|
e977454 |
|
|
|
e977454 |
License: GPLv3
|
|
|
e977454 |
URL: https://www.knot-resolver.cz/
|
|
|
fd4eae6 |
Source0: https://secure.nic.cz/files/%{name}/%{name}-%{version}.tar.xz
|
|
|
fd4eae6 |
|
|
|
1efd2a2 |
# LuaJIT only on these arches
|
|
|
1efd2a2 |
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
|
|
|
1efd2a2 |
|
|
|
fd4eae6 |
Source1: config
|
|
|
fd4eae6 |
Source2: root.keys
|
|
|
fd4eae6 |
|
|
|
fd4eae6 |
Source100: kresd.service
|
|
|
fd4eae6 |
Source101: kresd.socket
|
|
|
fd4eae6 |
Source102: kresd-control.socket
|
|
|
fd4eae6 |
Source103: kresd-tls.socket
|
|
|
fd4eae6 |
Source104: kresd.tmpfiles
|
|
|
fd4eae6 |
|
|
|
fd4eae6 |
BuildRequires: pkgconfig(libknot) >= 2.3
|
|
|
e977454 |
BuildRequires: pkgconfig(libzscanner)
|
|
|
e977454 |
BuildRequires: pkgconfig(libdnssec)
|
|
|
8c88fb4 |
BuildRequires: pkgconfig(libuv)
|
|
|
fd4eae6 |
BuildRequires: pkgconfig(luajit) >= 2.0
|
|
|
e977454 |
|
|
|
e977454 |
BuildRequires: pkgconfig(libmemcached) >= 1.0
|
|
|
e977454 |
BuildRequires: pkgconfig(hiredis)
|
|
|
fd4eae6 |
BuildRequires: pkgconfig(libsystemd)
|
|
|
e977454 |
|
|
|
e977454 |
BuildRequires: pkgconfig(cmocka)
|
|
|
e977454 |
BuildRequires: pkgconfig(socket_wrapper)
|
|
|
e977454 |
|
|
|
e977454 |
BuildRequires: systemd
|
|
|
e977454 |
# FIXME: documentation fails to build on Fedora 23
|
|
|
e977454 |
#BuildRequires: doxygen
|
|
|
e977454 |
#BuildRequires: breathe
|
|
|
e977454 |
#BuildRequires: python-sphinx
|
|
|
e977454 |
#BuildRequires: python-sphinx_rtd_theme
|
|
|
e977454 |
|
|
|
fd4eae6 |
Requires: lua-socket
|
|
|
fd4eae6 |
Requires: lua-sec
|
|
|
fd4eae6 |
|
|
|
e977454 |
Requires(pre): shadow-utils
|
|
|
e977454 |
Requires(post): systemd
|
|
|
e977454 |
Requires(preun): systemd
|
|
|
e977454 |
Requires(postun): systemd
|
|
|
e977454 |
|
|
|
e977454 |
%description
|
|
|
e977454 |
The Knot DNS Resolver is a caching full resolver implementation written in C
|
|
|
e977454 |
and LuaJIT, including both a resolver library and a daemon. Modular
|
|
|
e977454 |
architecture of the library keeps the core tiny and efficient, and provides
|
|
|
e977454 |
a state-machine like API for extensions.
|
|
|
e977454 |
|
|
|
e977454 |
%package devel
|
|
|
e977454 |
Summary: Development headers for Knot DNS Resolver
|
|
|
e977454 |
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
e977454 |
|
|
|
e977454 |
%description devel
|
|
|
e977454 |
The package contains development headers for Knot DNS Resolver.
|
|
|
e977454 |
|
|
|
e977454 |
%prep
|
|
|
c865a09 |
%autosetup
|
|
|
e977454 |
rm -v scripts/bootstrap-depends.sh
|
|
|
e977454 |
|
|
|
e977454 |
%build
|
|
|
e977454 |
%global build_paths PREFIX=%{_prefix} BINDIR=%{_bindir} LIBDIR=%{_libdir} INCLUDEDIR=%{_includedir} ETCDIR=%{_sysconfdir}/kresd
|
|
|
e977454 |
%global build_flags V=1 CFLAGS="%{optflags}" LDFLAGS="%{__global_ldflags}" %{build_paths} HAS_go=no
|
|
|
e977454 |
|
|
|
e977454 |
make %{?_smp_mflags} %{build_flags}
|
|
|
e977454 |
|
|
|
e977454 |
%install
|
|
|
e977454 |
%make_install %{build_flags}
|
|
|
e977454 |
|
|
|
e977454 |
# move sample configuration files to documentation
|
|
|
e977454 |
install -m 0755 -d %{buildroot}%{_pkgdocdir}
|
|
|
e977454 |
mv %{buildroot}%{_sysconfdir}/kresd/config.* %{buildroot}%{_pkgdocdir}
|
|
|
e977454 |
chmod 0644 %{buildroot}%{_pkgdocdir}/config.*
|
|
|
fd4eae6 |
rm -vr %{buildroot}%{_sysconfdir}/kresd
|
|
|
e977454 |
|
|
|
fd4eae6 |
# install configuration files
|
|
|
fd4eae6 |
mkdir -p %{buildroot}%{_sysconfdir}
|
|
|
fd4eae6 |
install -m 0755 -d %{buildroot}%{_sysconfdir}/kresd
|
|
|
fd4eae6 |
install -m 0644 -p %SOURCE1 %{buildroot}%{_sysconfdir}/kresd/config
|
|
|
fd4eae6 |
install -m 0644 -p %SOURCE2 %{buildroot}%{_sysconfdir}/kresd/root.keys
|
|
|
e977454 |
|
|
|
fd4eae6 |
# install systemd units
|
|
|
fd4eae6 |
mkdir -p %{buildroot}%{_unitdir}
|
|
|
fd4eae6 |
install -m 0644 -p %SOURCE100 %{buildroot}%{_unitdir}/kresd.service
|
|
|
fd4eae6 |
install -m 0644 -p %SOURCE101 %{buildroot}%{_unitdir}/kresd.socket
|
|
|
fd4eae6 |
install -m 0644 -p %SOURCE102 %{buildroot}%{_unitdir}/kresd-control.socket
|
|
|
fd4eae6 |
install -m 0644 -p %SOURCE103 %{buildroot}%{_unitdir}/kresd-tls.socket
|
|
|
e977454 |
|
|
|
fd4eae6 |
# install tmpfiles.d
|
|
|
fd4eae6 |
mkdir -p %{buildroot}%{_tmpfilesdir}
|
|
|
fd4eae6 |
install -m 0644 -p %SOURCE104 %{buildroot}%{_tmpfilesdir}/kresd.conf
|
|
|
fd4eae6 |
mkdir -p %{buildroot}%{_rundir}
|
|
|
fd4eae6 |
install -m 0750 -d %{buildroot}%{_rundir}/kresd
|
|
|
e977454 |
|
|
|
fd4eae6 |
# remove module with unsatisfied dependencies
|
|
|
fd4eae6 |
rm -r %{buildroot}%{_libdir}/kdns_modules/{http,http.lua}
|
|
|
e977454 |
|
|
|
e977454 |
%check
|
|
|
e977454 |
LD_PRELOAD=lib/libkres.so make check %{build_flags} LDFLAGS="%{__global_ldflags} -ldl"
|
|
|
e977454 |
|
|
|
e977454 |
%pre
|
|
|
e977454 |
getent group kresd >/dev/null || groupadd -r kresd
|
|
|
e977454 |
getent passwd kresd >/dev/null || useradd -r -g kresd -d %{_sysconfdir}/kresd -s /sbin/nologin -c "Knot DNS Resolver" kresd
|
|
|
e977454 |
exit 0
|
|
|
e977454 |
|
|
|
e977454 |
%post
|
|
|
e977454 |
%systemd_post kresd.service
|
|
|
e977454 |
/sbin/ldconfig
|
|
|
e977454 |
|
|
|
e977454 |
%preun
|
|
|
e977454 |
%systemd_preun kresd.service
|
|
|
e977454 |
|
|
|
e977454 |
%postun
|
|
|
e977454 |
%systemd_postun_with_restart kresd.service
|
|
|
e977454 |
/sbin/ldconfig
|
|
|
e977454 |
|
|
|
e977454 |
%files
|
|
|
e977454 |
%license COPYING
|
|
|
e977454 |
%doc %{_pkgdocdir}
|
|
|
e977454 |
%attr(755,root,kresd) %dir %{_sysconfdir}/kresd
|
|
|
e977454 |
%attr(644,root,kresd) %config(noreplace) %{_sysconfdir}/kresd/config
|
|
|
fd4eae6 |
%attr(644,root,kresd) %config(noreplace) %{_sysconfdir}/kresd/root.keys
|
|
|
fd4eae6 |
%attr(750,kresd,kresd) %dir %{_rundir}/kresd
|
|
|
e977454 |
%{_unitdir}/kresd.service
|
|
|
fd4eae6 |
%{_unitdir}/kresd*.socket
|
|
|
fd4eae6 |
%{_tmpfilesdir}/kresd.conf
|
|
|
fd4eae6 |
%{_sbindir}/kresd
|
|
|
e977454 |
%{_libdir}/libkres.so.*
|
|
|
e977454 |
%{_libdir}/kdns_modules
|
|
|
e977454 |
%{_mandir}/man8/kresd.*
|
|
|
e977454 |
|
|
|
e977454 |
%files devel
|
|
|
e977454 |
%{_includedir}/libkres
|
|
|
e977454 |
%{_libdir}/pkgconfig/libkres.pc
|
|
|
e977454 |
%{_libdir}/libkres.so
|
|
|
e977454 |
|
|
|
e977454 |
%changelog
|
|
|
1efd2a2 |
* Sat Nov 19 2016 Peter Robinson <pbrobinson@fedoraproject.org> 1.1.1-3
|
|
|
1efd2a2 |
- Add ExclusiveArch for architectures with LuaJIT
|
|
|
1efd2a2 |
|
|
Igor Gnatenko |
360be18 |
* Mon Aug 29 2016 Igor Gnatenko <ignatenko@redhat.com> - 1.1.1-2
|
|
Igor Gnatenko |
360be18 |
- Rebuild for LuaJIT 2.1.0
|
|
Igor Gnatenko |
360be18 |
|
|
|
b6eb3ba |
* Wed Aug 24 2016 Jan Vcelak <jvcelak@fedoraproject.org> - 1.1.1-1
|
|
|
b6eb3ba |
- new upstream release:
|
|
|
b6eb3ba |
+ fix name server fallback in case some of the servers are unreachable
|
|
|
b6eb3ba |
|
|
|
fd4eae6 |
* Fri Aug 12 2016 Jan Vcelak <jvcelak@fedoraproject.org> - 1.1.0-1
|
|
|
fd4eae6 |
- new upstream release:
|
|
|
fd4eae6 |
+ RFC7873 DNS Cookies
|
|
|
fd4eae6 |
+ RFC7858 DNS over TLS
|
|
|
fd4eae6 |
+ Metrics exported in Prometheus
|
|
|
fd4eae6 |
+ DNS firewall module
|
|
|
fd4eae6 |
+ Explicit CNAME target fetching in strict mode
|
|
|
fd4eae6 |
+ Query minimisation improvements
|
|
|
fd4eae6 |
+ Improved integration with systemd
|
|
|
fd4eae6 |
|
|
|
c865a09 |
* Tue May 31 2016 Jan Vcelak <jvcelak@fedoraproject.org> - 1.0.0-1
|
|
|
c865a09 |
- final release
|
|
|
c865a09 |
|
|
|
e977454 |
* Thu May 05 2016 Jan Vcelak <jvcelak@fedoraproject.org> - 1.0.0-0.3.4f463d7
|
|
|
e977454 |
- update to latest git version
|
|
|
e977454 |
- re-enable unit-test
|
|
|
e977454 |
|
|
|
e977454 |
* Sat Apr 09 2016 Jan Vcelak <jvcelak@fedoraproject.org> - 1.0.0-0.2.79a8440
|
|
|
e977454 |
- update to latest git version
|
|
|
e977454 |
- fix package review issues
|
|
|
e977454 |
|
|
|
e977454 |
* Tue Feb 02 2016 Jan Vcelak <jvcelak@fedoraproject.org> - 1.0.0-0.1.beta3
|
|
|
e977454 |
- initial package
|