Document changes to core and non-core Perl module handling in 2.17. --- Junio C Hamano <gitster@xxxxxxxxx> writes: >> I haven't wordsmithed it fully, but it should say something along >> the lines of ... >> >> Documentation/RelNotes/2.16.0.txt | 10 ++++++++++ >> 1 file changed, 10 insertions(+) > > Eh, of course the addition should go to 2.17 release notes ;-) I > just happened to be reviewing a topic forked earlier. Maybe something like this? I had intended to suggest a note about NO_PERL_CPAN_FALLBACKS as well, so that's included too. I don't know if that should be expanded to provide more of a hint to users/packagers on platforms where these modules are harder to install, letting them know that we now have fallbacks to Error and Mail::Address. That might allow scripts which were previously excluded to be included on their platforms. Documentation/RelNotes/2.17.0.txt | 14 ++++++++++++++ INSTALL | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Documentation/RelNotes/2.17.0.txt b/Documentation/RelNotes/2.17.0.txt index c828d37345..085bf1dba1 100644 --- a/Documentation/RelNotes/2.17.0.txt +++ b/Documentation/RelNotes/2.17.0.txt @@ -75,6 +75,20 @@ Performance, Internal Implementation, Development Support etc. * The build procedure for perl/ part has been greatly simplified by weaning ourselves off of MakeMaker. + * Perl 5.8 or greater has been required since Git 1.7.4 released in + 2010, but we continued to assume some core modules may not exist and + used a conditional "eval { require <<module>> }"; we no longer do + this. Some platforms (Fedora/RedHat/CentOS, for example) ship Perl + without all core modules by default (e.g. Digest::MD5, File::Temp, + File::Spec, Net::Domain, Net::SMTP). Users on such platforms may + need to install these additional modules. + + * As a convenience, we install copies of Perl modules we require which + are not part of the core Perl distribution (e.g. Error and + Mail::Address). Users and packagers whose operating system provides + these modules can set NO_PERL_CPAN_FALLBACKS to avoid installing the + bundled modules. + * In preparation for implementing narrow/partial clone, the machinery for checking object connectivity used by gc and fsck has been taught that a missing object is OK when it is referenced by a diff --git a/INSTALL b/INSTALL index 60e515eaf7..c39006e8e7 100644 --- a/INSTALL +++ b/INSTALL @@ -126,7 +126,8 @@ Issues of note: Redhat/Fedora are reported to ship Perl binary package with some core modules stripped away (see http://lwn.net/Articles/477234/), so you might need to install additional packages other than Perl - itself, e.g. Time::HiRes. + itself, e.g. Digest::MD5, File::Spec, File::Temp, Net::Domain, + Net::SMTP, and Time::HiRes. - git-imap-send needs the OpenSSL library to talk IMAP over SSL if you are using libcurl older than 7.34.0. Otherwise you can use -- 2.17.0.rc0