diff --git a/7287c6b96422e499560fb10b95c1a481ea82656d.patch b/7287c6b96422e499560fb10b95c1a481ea82656d.patch new file mode 100644 index 0000000..266de8f --- /dev/null +++ b/7287c6b96422e499560fb10b95c1a481ea82656d.patch @@ -0,0 +1,51 @@ +From 7287c6b96422e499560fb10b95c1a481ea82656d Mon Sep 17 00:00:00 2001 +From: Conrad Kostecki +Date: Sun, 21 Apr 2019 12:55:15 +0200 +Subject: [PATCH] Update makefile to respect users LDFLAGS + +Signed-off-by: Conrad Kostecki +--- + dnssec-tools/validator/libsres/Makefile.in | 2 +- + dnssec-tools/validator/libval/Makefile.in | 2 +- + dnssec-tools/validator/libval_shim/Makefile.in | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/dnssec-tools/validator/libsres/Makefile.in b/dnssec-tools/validator/libsres/Makefile.in +index e20f6d788..0ef21cf80 100644 +--- a/dnssec-tools/validator/libsres/Makefile.in ++++ b/dnssec-tools/validator/libsres/Makefile.in +@@ -63,7 +63,7 @@ clean: + $(RM) -rf $(LT_DIR) + + $(LIBRES): $(LOBJ) +- $(LIBTOOLLD) -o $@ $(LOBJ) ++ $(LIBTOOLLD) -o $@ $(LOBJ) $(LDFLAGS) + + install: + $(MKPATH) $(DESTDIR)$(libdir) +diff --git a/dnssec-tools/validator/libval/Makefile.in b/dnssec-tools/validator/libval/Makefile.in +index 0d6f35f99..6b361756c 100644 +--- a/dnssec-tools/validator/libval/Makefile.in ++++ b/dnssec-tools/validator/libval/Makefile.in +@@ -65,7 +65,7 @@ clean: + $(RM) -rf $(LT_DIR) + + $(LIBVAL): $(LOBJ) +- $(LIBTOOLLD) -o $@ $(LOBJ) $(LSRES) ++ $(LIBTOOLLD) -o $@ $(LOBJ) $(LSRES) $(LDFLAGS) + + install: + $(MKPATH) $(DESTDIR)$(libdir) +diff --git a/dnssec-tools/validator/libval_shim/Makefile.in b/dnssec-tools/validator/libval_shim/Makefile.in +index 8b7c8e550..303943cc3 100644 +--- a/dnssec-tools/validator/libval_shim/Makefile.in ++++ b/dnssec-tools/validator/libval_shim/Makefile.in +@@ -21,7 +21,7 @@ clean: + $(RM) -rf $(LT_DIR) + + $(LIBVAL_SHIM): $(LOBJ) +- $(LIBTOOLLD) -o $@ $(LOBJ) $(EXTRA_LIBS) ++ $(LIBTOOLLD) -o $@ $(LOBJ) $(EXTRA_LIBS) $(LDFLAGS) + + install: + $(MKPATH) $(DESTDIR)$(libdir) diff --git a/dnssec-tools-2.2.3-add_ifdedf_to_engine.patch b/dnssec-tools-2.2.3-add_ifdedf_to_engine.patch new file mode 100644 index 0000000..5c6820e --- /dev/null +++ b/dnssec-tools-2.2.3-add_ifdedf_to_engine.patch @@ -0,0 +1,38 @@ +diff -r -u dnssec-tools-2.2.3.orig/validator/libval/val_context.c dnssec-tools-2.2.3/validator/libval/val_context.c +--- dnssec-tools-2.2.3.orig/validator/libval/val_context.c 2024-11-05 11:39:33.696730353 +0100 ++++ dnssec-tools-2.2.3/validator/libval/val_context.c 2024-11-05 11:44:01.428711438 +0100 +@@ -17,9 +17,10 @@ + + #include + #include ++#ifndef OPENSSL_NO_ENGINE + #include ++#endif /* !defined(OPENSSL_NO_ENGINE) */ + #include +- + #include "val_support.h" + #include "val_policy.h" + #include "val_cache.h" +@@ -853,7 +854,9 @@ + /* Whole bunch of openssl cleanup routines */ + CONF_modules_unload(1); + EVP_cleanup(); ++#ifndef OPENSSL_NO_ENGINE + ENGINE_cleanup(); ++#endif + CRYPTO_cleanup_all_ex_data(); + ERR_remove_state(0); + ERR_free_strings(); +diff -r -u dnssec-tools-2.2.3.orig/validator/libval/val_crypto.c dnssec-tools-2.2.3/validator/libval/val_crypto.c +--- dnssec-tools-2.2.3.orig/validator/libval/val_crypto.c 2024-11-05 11:39:33.695730345 +0100 ++++ dnssec-tools-2.2.3/validator/libval/val_crypto.c 2024-11-05 11:40:17.569919704 +0100 +@@ -22,7 +22,9 @@ + #include + #endif + #include ++#ifndef OPENSSL_NO_ENGINE + #include ++#endif /* !defined(OPENSSL_NO_ENGINE) */ + #include + #include + #include diff --git a/dnssec-tools-2.2.3-link-libval-threads-with-libs.patch b/dnssec-tools-2.2.3-link-libval-threads-with-libs.patch new file mode 100644 index 0000000..f160b6b --- /dev/null +++ b/dnssec-tools-2.2.3-link-libval-threads-with-libs.patch @@ -0,0 +1,17 @@ +diff -up dnssec-tools-2.2.3/validator/libval/Makefile.in.link-with-libs dnssec-tools-2.2.3/validator/libval/Makefile.in +--- dnssec-tools-2.2.3/validator/libval/Makefile.in.link-with-libs 2019-12-19 16:36:05.522457192 -0500 ++++ dnssec-tools-2.2.3/validator/libval/Makefile.in 2019-12-19 16:36:11.967342451 -0500 +@@ -1,3 +1,4 @@ ++LIBS=@LIBS@ + + INCL= ../include + LIB= ../libsres +@@ -65,7 +66,7 @@ clean: + $(RM) -rf $(LT_DIR) + + $(LIBVAL): $(LOBJ) +- $(LIBTOOLLD) -o $@ $(LOBJ) $(LSRES) $(LDFLAGS) ++ $(LIBTOOLLD) -o $@ $(LOBJ) $(LSRES) $(LIBS) $(LDFLAGS) + + install: + $(MKPATH) $(DESTDIR)$(libdir) diff --git a/dnssec-tools.spec b/dnssec-tools.spec index 4b03143..92889ca 100644 --- a/dnssec-tools.spec +++ b/dnssec-tools.spec @@ -1,31 +1,43 @@ +# OpenSSL ENGINE support deprecated in Fedora 41 onwards +# https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine +%if 0%{?fedora} > 40 +%global _preprocessor_defines %{?_preprocessor_defines} -DOPENSSL_NO_ENGINE +%endif + + Summary: A suite of tools for managing dnssec aware DNS usage Name: dnssec-tools Version: 2.2.3 -Release: 2%{?dist} -License: BSD -Group: System Environment/Base +Release: 30%{?dist} +# Automatically converted from old format: BSD - review is highly recommended. +License: LicenseRef-Callaway-BSD URL: http://www.dnssec-tools.org/ -#Source0: https://www.dnssec-tools.org/download/%{name}-%{version}.tar.gz +#Source0: https://www.dnssec-tools.org/download/%%{name}-%%{version}.tar.gz Source0: https://www.hardakers.net/software/%{name}-%{version}.tar.gz Source1: dnssec-tools-dnsval.conf Source2: libval-config # Require note: the auto-detection for perl-Net-DNS-SEC will not work since # the tools do run time tests for their existence. But most of the tools # are much more useful with the modules in place, so we hand require them. -Requires: perl(Net::DNS), perl(Net::DNS::SEC), dnssec-tools-perlmods, bind, perl(Getopt::GUI::Long) perl(Mail::Send) -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: dnssec-tools-perlmods, bind, perl(Getopt::GUI::Long) Requires: perl(GraphViz) -BuildRequires: gcc +BuildRequires: gcc BuildRequires: openssl-devel BuildRequires: perl-devel -#BuildRequires: perl-generators -#BuildRequires: perl-generators +BuildRequires: perl-generators BuildRequires: perl(Test) perl(ExtUtils::MakeMaker) +BuildRequires: make # Makes the code installation linux filesystem friendly Patch5: dnssec-tools-linux-conf-paths-1.13.patch Patch13: dnssec-tools-2.0-autoconf-for-aarch64.patch Patch17: dnssec-tools-new-2017-key.patch Patch18: dnssec-tools-new-openssl-APIs.patch +# Update Makefile to respect users LDFLAGS +# https://github.com/DNSSEC-Tools/DNSSEC-Tools/commit/7287c6b96422e499560fb10b95c1a481ea82656d +Patch19: 7287c6b96422e499560fb10b95c1a481ea82656d.patch +# link libval-threads with libs +Patch20: dnssec-tools-2.2.3-link-libval-threads-with-libs.patch +Patch21: dnssec-tools-2.2.3-add_ifdedf_to_engine.patch %description @@ -34,9 +46,8 @@ patches, applications, wrappers, extensions, and plugins that will help ease the deployment of DNSSEC-related technologies. %package perlmods -Group: System Environment/Libraries Summary: Perl modules supporting DNSSEC (needed by the dnssec-tools) -Requires: perl(Net::DNS), perl(Net::DNS::SEC) +Requires: perl(Getopt::GUI::Long) %description perlmods @@ -45,7 +56,6 @@ required by the DNSSEC tools themselves as well as modules that are useful for other developers. %package libs -Group: System Environment/Libraries Summary: C-based libraries for dnssec aware tools Requires: openssl @@ -53,7 +63,6 @@ Requires: openssl C-based libraries useful for developing dnssec aware tools. %package libs-devel -Group: Development/Libraries Summary: C-based development libraries for dnssec aware tools Requires: dnssec-tools-libs = %{version}-%{release} @@ -63,15 +72,18 @@ C-based libraries useful for developing dnssec aware tools. %prep %setup -q -%patch5 -p0 -#%patch6 -p2 -#%patch12 -p2 -#%patch13 -p2 -#%patch14 -p2 -#%patch15 -p2 -#%patch16 -p2 -#%patch17 -p2 -#%patch18 -p2 +%patch -P5 -p0 +#%%patch6 -p2 +#%%patch12 -p2 +#%%patch13 -p2 +#%%patch14 -p2 +#%%patch15 -p2 +#%%patch16 -p2 +#%%patch17 -p2 +#%%patch18 -p2 +%patch -P19 -p2 +%patch -P20 -p1 -b .link-with-libs +%patch -P21 -p1 %build %configure --with-validator-testcases-file=%{_datadir}/dnssec-tools/validator-testcases --with-perl-build-args="INSTALLDIRS=vendor OPTIMIZE='$RPM_OPT_FLAGS'" --sysconfdir=/etc --with-root-hints=/etc/dnssec-tools/root.hints --with-resolv-conf=/etc/dnssec-tools/resolv.conf --disable-static --with-nsec3 --with-ipv6 --with-dlv --disable-bind-checks @@ -80,7 +92,7 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' validator/libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' validator/libtool # makefile dependencies are broken; we can't use smp_mflags: -#make %{?_smp_mflags} CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#make %%{?_smp_mflags} CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" make CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" %install @@ -105,9 +117,7 @@ mv ${RPM_BUILD_ROOT}/%{_bindir}/libval-config ${RPM_BUILD_ROOT}/%{_bindir}/libva # Add a new wrapper script that calls the right file at run time install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}/%{_bindir}/libval-config -%post libs -p /sbin/ldconfig - -%postun libs -p /sbin/ldconfig +%ldconfig_scriptlets libs %files %doc README.md INSTALL COPYING @@ -127,7 +137,7 @@ install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}/%{_bindir}/libval-config %{_bindir}/maketestzone %{_bindir}/mapper %{_bindir}/zonesigner -# this doesn't use %{_datadir} because patch6 above uses this exact path +# this doesn't use %%{_datadir} because patch6 above uses this exact path /usr/share/dnssec-tools #/usr/share/dnssec-tools/donuts #/usr/share/dnssec-tools/donuts/rules @@ -154,7 +164,7 @@ install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}/%{_bindir}/libval-config %{_bindir}/dt-libval_check_conf %{_bindir}/dt-validate # configure above -#%{_datadir}/dnssec-tools/validator-testcases +#%%{_datadir}/dnssec-tools/validator-testcases %{_bindir}/dt-getaddr %{_bindir}/dt-gethost %{_bindir}/dt-getname @@ -299,8 +309,8 @@ install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}/%{_bindir}/libval-config %files libs %{_libdir}/*.so.* %config(noreplace) %{_sysconfdir}/dnssec-tools -#%config(noreplace) %{_sysconfdir}/dnssec-tools/dnsval.conf -#%config(noreplace) %{_sysconfdir}/dnssec-tools/root.hints +#%%config(noreplace) %%{_sysconfdir}/dnssec-tools/dnsval.conf +#%%config(noreplace) %%{_sysconfdir}/dnssec-tools/root.hints %files libs-devel %{_includedir}/validator @@ -336,7 +346,7 @@ install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}/%{_bindir}/libval-config %{_mandir}/man3/val_isvalidated.3.gz %{_mandir}/man3/val_res_query.3.gz %{_mandir}/man3/val_res_search.3.gz -#%{_mandir}/man3/val_addrinfo.3.gz +#%%{_mandir}/man3/val_addrinfo.3.gz %{_mandir}/man3/val_add_valpolicy.3.gz %{_mandir}/man3/val_context_setqflags.3.gz %{_mandir}/man3/val_does_not_exist.3.gz @@ -362,6 +372,92 @@ install -m 755 %SOURCE2 ${RPM_BUILD_ROOT}/%{_bindir}/libval-config %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 2.2.3-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jul 07 2025 Jitka Plesnikova - 2.2.3-29 +- Perl 5.42 rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 2.2.3-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Nov 05 2024 Michal Josef Špaček - 2.2.3-27 +- Build without OpenSSL ENGINE support on Fedora 41 onwards + +* Wed Aug 28 2024 Miroslav Suchý - 2.2.3-26 +- convert license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 2.2.3-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jun 10 2024 Jitka Plesnikova - 2.2.3-24 +- Perl 5.40 rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 2.2.3-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 2.2.3-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 2.2.3-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Jitka Plesnikova - 2.2.3-20 +- Perl 5.38 rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 2.2.3-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Dec 19 2022 Jitka Plesnikova - 2.2.3-18 +- Add BR perl-generators to automatically generates run-time dependencies + for installed Perl files + +* Thu Jul 21 2022 Fedora Release Engineering - 2.2.3-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon May 30 2022 Jitka Plesnikova - 2.2.3-16 +- Perl 5.36 rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 2.2.3-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Sep 14 2021 Sahana Prasad - 2.2.3-14 +- Rebuilt with OpenSSL 3.0.0 + +* Wed Jul 21 2021 Fedora Release Engineering - 2.2.3-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Fri May 21 2021 Jitka Plesnikova - 2.2.3-12 +- Perl 5.34 rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 2.2.3-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Sep 25 2020 Petr Pisar - 2.2.3-10 +- Build-require perl-macros for Perl RPM macros + +* Mon Jul 27 2020 Fedora Release Engineering - 2.2.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jun 22 2020 Jitka Plesnikova - 2.2.3-8 +- Perl 5.32 rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 2.2.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Dec 19 2019 Tom Callaway - 2.2.3-6 +- fix libval-threads to link with dependent libs +- use LDFLAGS + +* Wed Jul 24 2019 Fedora Release Engineering - 2.2.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu May 30 2019 Jitka Plesnikova - 2.2.3-4 +- Perl 5.30 rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 2.2.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Oct 4 2018 Wes Hardaker - 2.2.3-2 - update default dnsval.conf