ac0a64b
ac0a64b
%global _hardened_build	1
ac0a64b
ac0a64b
# version revision
f121213
%global revision	9779
ac0a64b
ac0a64b
Name:		yadifa
f121213
Version:	2.3.11
94a9a35
Release:	1%{?dist}
ac0a64b
Summary:	Lightweight authoritative Name Server with DNSSEC capabilities
ac0a64b
3ea243a
License:	BSD
ac0a64b
URL:		http://www.yadifa.eu
ac0a64b
Source0:	http://cdn.yadifa.eu/sites/default/files/releases/%{name}-%{version}-%{revision}.tar.gz
ac0a64b
Source1:	yadifad.service
ac0a64b
Source3:	yadifa.logrotate
ac0a64b
20408f5
BuildRequires:	gcc
20408f5
BuildRequires:	coreutils
20408f5
BuildRequires:	findutils
20408f5
BuildRequires:	make
ac0a64b
BuildRequires:	openssl-devel
20408f5
BuildRequires:	sed
20408f5
ac0a64b
Requires:	yadifa-libs = %{version}-%{release}
ac0a64b
ac0a64b
Requires(post):		systemd
ac0a64b
Requires(preun):	systemd
ac0a64b
Requires(postun):	systemd
ac0a64b
BuildRequires:		systemd
ac0a64b
ac0a64b
ac0a64b
%description
ac0a64b
YADIFA is a name server implementation developed from scratch by .eu.
ac0a64b
It is portable across multiple operating systems and supports DNSSEC,
ac0a64b
TSIG, DNS notify, DNS update, IPv6.
ac0a64b
ac0a64b
%package libs
3ea243a
Summary:	Libraries used by the YADIFA packages
ac0a64b
ac0a64b
%description libs
ac0a64b
Contains libraries used by YADIFA DNS server
ac0a64b
3ea243a
%package tools
3ea243a
Summary:	Remote management client for YADIFA DNS server
3ea243a
3ea243a
%description tools
3ea243a
Contains utility for YADIFA DNS server remote management
3ea243a
ac0a64b
%package devel
3ea243a
Summary:	Header files and libraries needed for YADIFA development
3ea243a
Requires:	%{name}%{?_isa} = %{version}-%{release}
ac0a64b
ac0a64b
%description devel
ac0a64b
The yadifa-devel package contains header files and libraries
ac0a64b
required for development with YADIFA DNS server
ac0a64b
ac0a64b
ac0a64b
%prep
ac0a64b
%setup -q -n %{name}-%{version}-%{revision}
ac0a64b
ac0a64b
%build
3ea243a
export CPPFLAGS="%{optflags} -DNDEBUG -g"
ac0a64b
export LDFLAGS="$LDFLAGS -lssl -lcrypto"
ac0a64b
3ea243a
%configure \
3ea243a
    --with-tools \
3ea243a
    --enable-rrl \
3ea243a
    --enable-nsid \
3ea243a
    --enable-ctrl \
3ea243a
    --enable-dynamic-provisioning \
5c78f79
    --enable-messages \
3ea243a
    --enable-shared \
3ea243a
    --disable-static
ac0a64b
ac0a64b
# don't mess with rpath
ac0a64b
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
3ea243a
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/libtool
ac0a64b
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
3ea243a
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/libtool
ac0a64b
# avoid unused-direct-shlib-dependency
ac0a64b
sed -i -e 's! -shared ! -Wl,--as-needed\0!g' \
3ea243a
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/libtool
3ea243a
# adjust build options
ac0a64b
sed -i 's|-mtune=native||g' \
3ea243a
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/Makefile
9410f85
sed -i 's|= -fno-ident|=|g' \
9410f85
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/Makefile
9410f85
sed -i 's|= -ansi|=|g' \
9410f85
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/Makefile
9410f85
sed -i 's|= -pedantic|=|g' \
3ea243a
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/Makefile
ac0a64b
sed -i '/^YRCFLAGS = -DNDEBUG $(CCOPTIMISATIONFLAGS) -DCMR/d' \
3ea243a
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/Makefile
ac0a64b
sed -i '/^YPCFLAGS = -DNDEBUG $(CCOPTIMISATIONFLAGS) -pg -DCMP/d' \
3ea243a
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/Makefile
ac0a64b
sed -i '/^YDCFLAGS = -DDEBUG $(DEBUGFLAGS) -DCMD/d' \
3ea243a
    {.,bin/yadifa,lib/dnscore,lib/dnsdb,lib/dnslg,lib/dnszone,sbin/yadifad}/Makefile
4dd409f
# adjust additional key options
4dd409f
sed -i 's|^include "keys.conf"|#include "keys.conf"|' etc/yadifad.conf.example
4dd409f
sed -i '/^<\/key>/a \ \n<key>\n \ name \ abroad-admin-key\n \ algorithm \ hmac-md5\n \ secret \ AbroadAdminTSIGKey==\n<\/key>' \
4dd409f
    etc/yadifad.conf.example
ac0a64b
ac0a64b
make %{?_smp_mflags}
ac0a64b
ac0a64b
%install
ac0a64b
make install DESTDIR=%{buildroot}
ac0a64b
install -Dpm 0644 etc/yadifad.conf.example %{buildroot}%{_sysconfdir}/yadifad.conf
ac0a64b
mkdir -p %{buildroot}%{_localstatedir}/log/yadifa
ac0a64b
rm -f %{buildroot}%{_libdir}/*.la
ac0a64b
rm -rf %{buildroot}%{_defaultdocdir}/yadifa
ac0a64b
4dd409f
# bash completion
4dd409f
for comp in yadifa yadifad; do
4dd409f
install -Dpm 0644 etc/${comp}.bash_completion \
4dd409f
    %{buildroot}%{_datadir}/bash-completion/completions/${comp}
4dd409f
done
4dd409f
ac0a64b
install -Dpm 0644 %{SOURCE1} %{buildroot}%{_unitdir}/yadifad.service
ac0a64b
ac0a64b
install -Dpm 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/yadifa
ac0a64b
ac0a64b
ac0a64b
%post
ac0a64b
%systemd_post yadifad.service
ac0a64b
exit 0
ac0a64b
ac0a64b
%preun
ac0a64b
%systemd_preun yadifad.service
ac0a64b
exit 0
ac0a64b
ac0a64b
%postun
ac0a64b
%systemd_postun_with_restart yadifad.service
ac0a64b
exit 0
ac0a64b
e5eaeb5
%ldconfig_scriptlets libs
ac0a64b
ac0a64b
ac0a64b
%files
20408f5
%license COPYING
4dd409f
%doc AUTHORS ChangeLog NEWS README
ac0a64b
%doc etc/*.conf.example
ac0a64b
%config(noreplace) %{_sysconfdir}/yadifad.conf
ac0a64b
%config(noreplace) %{_sysconfdir}/logrotate.d/yadifa
4dd409f
%dir %{_datadir}/bash-completion
4dd409f
%dir %{_datadir}/bash-completion/completions
4dd409f
%{_datadir}/bash-completion/completions/yadifad
ac0a64b
%{_unitdir}/yadifad.service
ac0a64b
%{_localstatedir}/zones
ac0a64b
%{_localstatedir}/log/yadifa
ac0a64b
%{_sbindir}/yadifad
2a83c4a
%{_mandir}/man5/yadifa.*.5*
3ea243a
%{_mandir}/man5/yadifad.*.5*
2a83c4a
%{_mandir}/man8/yadifad.8*
ac0a64b
ac0a64b
%files libs
ea0c6f8
%{_libdir}/libdnscore.so.6*
ea0c6f8
%{_libdir}/libdnsdb.so.6*
ea0c6f8
%{_libdir}/libdnslg.so.6*
ea0c6f8
%{_libdir}/libdnszone.so.6*
3ea243a
3ea243a
%files tools
20408f5
%license COPYING
20408f5
%doc AUTHORS
3ea243a
%{_bindir}/yadifa
4dd409f
%dir %{_datadir}/bash-completion
4dd409f
%dir %{_datadir}/bash-completion/completions
4dd409f
%{_datadir}/bash-completion/completions/yadifa
2a83c4a
%{_mandir}/man8/yadifa.8*
ac0a64b
ac0a64b
%files devel
ac0a64b
%{_includedir}/dnscore
ac0a64b
%{_includedir}/dnsdb
3ea243a
%{_includedir}/dnslg
ac0a64b
%{_includedir}/dnszone
ac0a64b
%{_libdir}/libdnscore.so
ac0a64b
%{_libdir}/libdnsdb.so
3ea243a
%{_libdir}/libdnslg.so
ac0a64b
%{_libdir}/libdnszone.so
ac0a64b
ac0a64b
ac0a64b
%changelog
f121213
* Fri Oct 09 2020 Denis Fateyev <denis@fateyev.com> - 2.3.11-1
f121213
- Update to 2.3.11 release
f121213
94a9a35
* Thu Sep 17 2020 Denis Fateyev <denis@fateyev.com> - 2.3.10-1
94a9a35
- Update to 2.3.10 release
94a9a35
69a966b
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.9-5
69a966b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
69a966b
d591258
* Fri Feb 28 2020 Denis Fateyev <denis@fateyev.com> - 2.3.9-4
d591258
- Add "legacy_common_support" build option
d591258
ddffc2d
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.9-3
ddffc2d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
ddffc2d
90b0fc0
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.9-2
90b0fc0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
90b0fc0
9b2e537
* Sat Mar 30 2019 Denis Fateyev <denis@fateyev.com> - 2.3.9-1
9b2e537
- Update to 2.3.9 release
9b2e537
d2260d9
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.8-3
d2260d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
d2260d9
0c88095
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.8-2
0c88095
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
0c88095
f894e1c
* Wed Mar 07 2018 Denis Fateyev <denis@fateyev.com> - 2.3.8-1
f894e1c
- Update to 2.3.8 release
f894e1c
23597b1
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.7-2
23597b1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
23597b1
ea0c6f8
* Sat Dec 16 2017 Denis Fateyev <denis@fateyev.com> - 2.3.7-1
ea0c6f8
- Update to 2.3.7 release
ea0c6f8
d5ebc8a
* Fri Dec 01 2017 Denis Fateyev <denis@fateyev.com> - 2.2.6-2
d5ebc8a
- Unified service configuration across all branches
d5ebc8a
3ed52da
* Sat Sep 30 2017 Denis Fateyev <denis@fateyev.com> - 2.2.6-1
3ed52da
- Update to 2.2.6 release
3ed52da
6626280
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.5-3
6626280
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
6626280
d21f9f5
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.5-2
d21f9f5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
d21f9f5
66e45f7
* Mon May 01 2017 Denis Fateyev <denis@fateyev.com> - 2.2.5-1
66e45f7
- Update to 2.2.5 release
66e45f7
5c78f79
* Fri Apr 14 2017 Denis Fateyev <denis@fateyev.com> - 2.2.4-2
5c78f79
- Added aliased IPs support ("--enable-messages" option)
5c78f79
8c4517e
* Sat Apr 08 2017 Denis Fateyev <denis@fateyev.com> - 2.2.4-1
8c4517e
- Update to 2.2.4 release
8c4517e
b39d870
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.3-2
b39d870
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
b39d870
c8d16ff
* Sat Dec 24 2016 Denis Fateyev <denis@fateyev.com> - 2.2.3-1
c8d16ff
- Update to 2.2.3 release
c8d16ff
4dd409f
* Sat Sep 03 2016 Denis Fateyev <denis@fateyev.com> - 2.2.1-1
4dd409f
- Update to 2.2.1 release
4dd409f
4dd409f
* Sat Jul 16 2016 Denis Fateyev <denis@fateyev.com> - 2.2.0-1
4dd409f
- Update to 2.2.0 release
4dd409f
0d87ff2
* Tue Feb 23 2016 Denis Fateyev <denis@fateyev.com> - 2.1.6-1
0d87ff2
- Update to 2.1.6 release
0d87ff2
8451c68
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.5-2
8451c68
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
8451c68
20408f5
* Tue Jan 26 2016 Denis Fateyev <denis@fateyev.com> - 2.1.5-1
20408f5
- Update to 2.1.5 release
20408f5
2a83c4a
* Wed Sep 30 2015 Denis Fateyev <denis@fateyev.com> - 2.1.3-1
2a83c4a
- Update to 2.1.3 release
2a83c4a
4c58213
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.6-2
4c58213
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
4c58213
9410f85
* Sun Apr 26 2015 Denis Fateyev <denis@fateyev.com> - 2.0.6-1
9410f85
- Update to 2.0.6 release
9410f85
3ea243a
* Sun Dec 21 2014 Denis Fateyev <denis@fateyev.com> - 2.0.4-1
3ea243a
- Update to 2.0.4 release
3ea243a
3ea243a
* Sat Oct 18 2014 Denis Fateyev <denis@fateyev.com> - 2.0.0-1
3ea243a
- Update to 2.0.0 release
3ea243a
- New program features added
3ea243a
ac0a64b
* Thu Aug 28 2014 Denis Fateyev <denis@fateyev.com> - 1.0.3-2
ac0a64b
- Build options clarification
ac0a64b
- Minor specfile cleanup
ac0a64b
ac0a64b
* Sat Aug 16 2014 Denis Fateyev <denis@fateyev.com> - 1.0.3-1
ac0a64b
- Initial Fedora RPM release