Re: [PATCH] RelNotes: add details on Perl module changes
From: Todd Zullinger
Date: Fri Mar 16 2018 - 18:12:18 EST
I wrote:
> Document changes to core and non-core Perl module handling in 2.17.
This should have:
Signed-off-by: Todd Zullinger <tmz@xxxxxxxxx>
And perhaps also:
Helped-by: Junio C Hamano <gitster@xxxxxxxxx>
since I borrowed liberally from your initial text. :)
> ---
> 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
--
Todd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The secret of life is honesty and fair dealing. If you can fake that,
you've got it made.
-- Groucho Marx