knot/knot.spec
Jan Vcelak 61b93d096f fix build on rawhide
Add directory with sample configuration files into %files section. It
was not needed in F19 from some reason.
2013-07-29 19:25:01 +02:00

184 lines
5.5 KiB
RPMSpec

%global _hardened_build 1
%global alphatag rc5
Summary: An authoritative DNS daemon
Name: knot
Version: 1.3.0
Release: 0.4.%{alphatag}%{?dist}
License: GPLv3
Group: System Environment/Daemons
URL: http://www.knot-dns.cz
Source0: http://public.nic.cz/files/knot-dns/%{name}-%{version}-%{alphatag}.tar.gz
Source1: %{name}.service
Source2: %{name}.conf
Source3: %{name}.tmpfiles
BuildRequires: flex bison ragel openssl-devel userspace-rcu-devel libcap-ng-devel
BuildRequires: texinfo
BuildRequires: systemd-units
Requires(post): systemd info
Requires(preun): systemd info
Requires(postun): systemd
%description
Knot DNS is a high-performance authoritative DNS server implementation.
%prep
%setup -q -n %{name}-%{version}-%{alphatag}
%build
# disable debug code (causes unused warnings)
CFLAGS="%{optflags} -DNDEBUG -Wno-unused"
%configure --enable-fastparser
make %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot}
# info database is updated at install time
rm %{buildroot}%{_datadir}/info/dir
# install customized configuration file
rm %{buildroot}%{_sysconfdir}/%{name}/*
install -p -m 0644 -D %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf
# install service file and create rundir
install -p -m 0644 -D %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service
install -p -m 0644 -D %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf
install -d -m 0755 %{buildroot}%{_localstatedir}/run/%{name}
# install config samples into docdir
install -d -m 0755 %{buildroot}%{_docdir}/%{name}-%{version}/samples
for sample_file in knot.full.conf knot.keys.conf example.com.zone; do
install -p -m 0644 samples/${sample_file} %{buildroot}%{_docdir}/%{name}-%{version}/samples
done
%check
make check
%pre
getent group knot >/dev/null || groupadd -r knot
getent passwd knot >/dev/null || \
useradd -r -g knot -d %{_sysconfdir}/knot -s /sbin/nologin \
-c "Knot DNS server" knot
exit 0
%post
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
%systemd_post knot.service
%preun
%systemd_preun knot.service
if [ $1 -eq 0 ] ; then
/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || :
fi
%postun
%systemd_postun
%files
%doc COPYING AUTHORS NEWS README THANKS
%doc %{_docdir}/%{name}-%{version}/samples
%dir %attr(750,root,knot) %{_sysconfdir}/%{name}
%config(noreplace) %attr(640,root,knot) %{_sysconfdir}/%{name}/%{name}.conf
%dir %attr(-,knot,knot) %{_sharedstatedir}/%{name}
%dir %attr(-,knot,knot) %{_localstatedir}/run/%{name}
%{_unitdir}/%{name}.service
%{_tmpfilesdir}/%{name}.conf
%{_bindir}/*
%{_sbindir}/*
%{_mandir}/man1/*
%{_mandir}/man5/*
%{_mandir}/man8/*
%doc %{_infodir}/%{name}.info.gz
%changelog
* Mon Jul 29 2013 Jan Vcelak <jvcelak@fedoraproject.org> 1.3.0-0.4.rc5
- update to 1.3.0-rc5
* Mon Jul 15 2013 Paul Wouters <pwouters@redhat.com> - 1.3.0-0.3.rc4
- Added Alias=knotd.service alias to service file
- Added ExecStartPre=/usr/sbin/knotc checkconf to service file
* Mon Jul 15 2013 Jan Vcelak <jvcelak@fedoraproject.org> 1.3.0-0.2.rc4
- update to 1.3.0-rc4
* Wed Jul 03 2013 Jan Vcelak <jvcelak@fedoraproject.org> 1.3.0-0.1.rc3
- update to 1.3.0-rc3
- update configuration
- disable assertions in the code (define NDEBUG)
- enable unit tests as a part of RPM build process
- enable fast zone parser
- fix wrong dates in changelog
* Fri Apr 05 2013 Paul Wouters <pwouters@redhat.com> - 1.2.0-1
- Updated to 1.2.0-1
- Enabled hardening/relro/pie protection
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Dec 20 2012 Paul Wouters <pwouters@redhat.com> - 1.1.3-2
- Use new systemd macros
* Thu Dec 20 2012 Paul Wouters <pwouters@redhat.com> - 1.1.3-1
- Initial build for Fedora
* Thu Nov 22 2012 Ondřej Surý <ondrej@sury.org> - 1.1.2-1
- Update to 1.1.2
* Wed Nov 7 2012 Stanislav Petr <glux@glux.org> - 1.1.1-1
- Fixed build problem
- Update to 1.1.1
- Add man5 directory
- Add knot.info.gz to infodir
* Mon Aug 27 2012 Stanislav Petr <glux@glux.org> - 1.1.0-1
- Update to 1.1.0-rc2
- Fix default knot.conf
- Add build dependency to texinfo
* Tue May 15 2012 Stanislav Petr <glux@glux.org> - 1.0.6-2
- Try to fix compilation problem on some systems - force add -lgcc_eh to gcc flags
* Sun May 13 2012 Stanislav Petr <glux@glux.org> - 1.0.6-1
- Update to versio 1.0.6
- Change attrs to 750 on /etc/knot - only for root (knot configuration can contain DNS keys for zone updates)
- Clean content in /etc/knot
* Tue May 1 2012 Stanislav Petr <glux@glux.org> - 1.0.5-1
- Update to version 1.0.5
* Wed Apr 18 2012 Stanislav Petr <glux@glux.org> - 1.0.3-1
- Fixed knot directory ownership.
- Update to version 1.0.3
- Merget changes from Paul Wouters <pwouters@redhat.com>
- Removed unnecessary commands pro %%post script
- Add knot user
- More configuration samples in /usr/share/doc/knot
* Thu Mar 1 2012 Stanislav Petr <glux@glux.org> - 1.0.0-4
- Update to upstream version 1.0.0
- Fix %%{_sharedstatedir} usage in .spec.
- Fix file and directories ownership
- Fix service upgrade in postun in rpm.
- Do not install unittests.
* Wed Jan 25 2012 Stanislav Petr <glux@glux.org> - 0.9.1-3
- Update to upstream version 0.9.1
* Mon Dec 12 2011 Stanislav Petr <glux@glux.org> - 0.8.1-3
- Add docs (COPYING AUTHORS RELNOTES KNOWN_ISSUES)
- Update rpm building options.
Use %%{_sharedstatedir} instead of %%{_var}/lib,
dafault value for %%{buildroot} path
- Remove ldconfig from post and postun in rpm.
- Update licence to GPLv3+
* Wed Dec 07 2011 Stanislav Petr <glux@glux.org> - 0.8.1-2
- RPM build fix
* Mon Dec 05 2011 Stanislav Petr <glux@glux.org> - 0.8.1-1
- Create