Net::DNS 1.16 requires the IO::Socket::IP module, which in turn requires ExtUtils::Constant >= 0.23, and the chain goes on, eventually including a lot of Perl modules whose old versions are bundled with the perl
CentOS package. Attempts to upgrade these packages to newer versions on CentOS 6 results in Net::CPAN make test
failures, but these seem to be benign enough to let Net::DNS work in the end, which is the only thing we are really interested in for our Docker images. Thus, force installing CPAN modules by adding -fi
to the cpan
invocation.
Since Net::DNS 1.16 introduced a DNS compression bug which causes malformed messages to be generated, this MR also forces use of Net::DNS 1.15 in our Docker images so that BIND CI does not break. This particular change should be reverted once a Net::DNS version with the aforementioned bug fixed is published.
See also:
- https://gitlab.isc.org/isc-projects/bind9/-/jobs/25349 - proof that force-installing CPAN modules enables newer Net::DNS versions to be installed on CentOS 6,
- https://gitlab.isc.org/isc-projects/bind9/-/jobs/25413 - proof that forcing use of Net::DNS 1.15 fixes our system tests on CentOS 6,
- https://gitlab.isc.org/isc-projects/bind9/-/jobs/25412 - proof that forcing use of Net::DNS 1.15 fixes our system tests on CentOS 7.