Mailing List Archive

RFC: remove Locale-Codes from core modules
I would like to propose that Locale-Codes be removed from the core modules.

Locale-Codes takes a list of "codes" from various internet standards and
basically serves as an indexer/translator of them. For example, it
understands that in the ISO 3166 standard, the code 'jp' stands for Japan.

As expected, these standards are constantly changing. Not a lot... but
enough that if you truly want accurate results, you have to make stay on
top of them.

Since none of the standards have a programatic interface (at least not a
free one) I can't write a function that says 'go look up value XXX in
standard YYY'. As a result, the Locale-Codes module actually contains
snapshots of data included in the standards.

As a result, the Locale-Codes modules become out-of-date over time
(slowly if you're only using codes that have been used for extended
periods of time; rapidly if you need to refer to the very newest codes).

Because of the nature of how perl is released, Locale-Codes is no longer
updated once a release enters code freeze, and as a result, it's
out-of-date before it's even released. Even worse, if you are using any
version of perl other than the absolute newest, Locale-Codes is
significantly out-of-date.

The upshot of all of this is that I would say that if you want to use
Locale-Codes, you absolutely must ignore the version that came with perl
and use the newest version instead.

Given that, I do not believe that it is appropriate that Locale-Codes be
included as a core module.

It was included before I took over maintenance, so I do not know the
history of why it was included. However, at this point, no other core
module depends on it as far as I can tell, so it should be relatively
easy to remove (with a deprecation cycle of course).

I'll continue to support it indefinitely, and I'll continue to submit
patches as long as it is a core module of course.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/01/2017 12:00 PM, Sullivan Beck (CPAN) wrote:
> I would like to propose that Locale-Codes be removed from the core modules.
>
> Locale-Codes takes a list of "codes" from various internet standards and
> basically serves as an indexer/translator of them.? For example, it
> understands that in the ISO 3166 standard, the code 'jp' stands for Japan.
>
> As expected, these standards are constantly changing.? Not a lot... but
> enough that if you truly want accurate results, you have to make stay on
> top of them.
>
> Since none of the standards have a programatic interface (at least not a
> free one) I can't write a function that says 'go look up value XXX in
> standard YYY'.? As a result, the Locale-Codes module actually contains
> snapshots of data included in the standards.
>
> As a result, the Locale-Codes modules become out-of-date over time
> (slowly if you're only using codes that have been used for extended
> periods of time; rapidly if you need to refer to the very newest codes).
>
> Because of the nature of how perl is released, Locale-Codes is no longer
> updated once a release enters code freeze, and as a result, it's
> out-of-date before it's even released.? Even worse, if you are using any
> version of perl other than the absolute newest, Locale-Codes is
> significantly out-of-date.
>
> The upshot of all of this is that I would say that if you want to use
> Locale-Codes, you absolutely must ignore the version that came with perl
> and use the newest version instead.
>
> Given that, I do not believe that it is appropriate that Locale-Codes be
> included as a core module.
>
> It was included before I took over maintenance, so I do not know the
> history of why it was included.? However, at this point, no other core
> module depends on it as far as I can tell, so it should be relatively
> easy to remove (with a deprecation cycle of course).
>

It has a moderate amount of reverse dependencies on CPAN:
http://deps.cpantesters.org/depended-on-by.pl?dist=Locale-Codes

As part of deprecation/removal, we would probably have to notify the
maintainers of each of those distros of the news.

> I'll continue to support it indefinitely, and I'll continue to submit
> patches as long as it is a core module of course.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
James Keenan wrote:
> It has a moderate amount of reverse dependencies on CPAN:
> http://deps.cpantesters.org/depended-on-by.pl?dist=Locale-Codes
>
> As part of deprecation/removal, we would probably have to notify the
> maintainers of each of those distros of the news.

If the distributions are listed at that URL, then they already have
Locale::Codes as an explicit dependency. Hence, there is no need to
notify the maintainers, as the CPAN shell will automatically install
Locale::Codes from CPAN if it is scheduled to be removed from core.

The maintainers of distributions that use Locale::Codes *without*
declaring a dependency are the ones who should be informed, assuming
we following this path (of removing it from core).
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On Wed, Nov 1, 2017 at 3:48 PM, Father Chrysostomos <sprout@cpan.org> wrote:
>
>
> The maintainers of distributions that use Locale::Codes *without*
> declaring a dependency are the ones who should be informed, assuming
> we following this path (of removing it from core).
>

This should cover most of them on CPAN, but we can't really do anything
about usage outside of CPAN.
https://grep.cpan.me/?q=use+Locale%3A%3A%28Codes%7CCountry%7CCurrency%7CLanguage%7CScript%29

-Dan
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
I wrote:
> The maintainers of distributions that use Locale::Codes *without*
> declaring a dependency are the ones who should be informed, assuming
> we following this path (of removing it from core).

WWW::Wikipedia::LangTitles, it seems, is the only one; but an extra
pair of eyes would be helpful.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
Eye rote:
> I wrote:
> > The maintainers of distributions that use Locale::Codes *without*
> > declaring a dependency are the ones who should be informed, assuming
> > we following this path (of removing it from core).
>
> WWW::Wikipedia::LangTitles, it seems, is the only one; but an extra
> pair of eyes would be helpful.

That distribution actually uses Locale::Codes only in an example file.
I do not think there are any CPAN distributions that implicitly
depend on Locale::Codes.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/01/2017 05:00 PM, Sullivan Beck (CPAN) wrote:
> I would like to propose that Locale-Codes be removed from the core
> modules.

If we stipulate that any Locale-Codes usage requires a non-core version
anyway, it makes sense to take it out of core.

I'm also ignorant in its history. Locale-Codes has been added to core by
Jarkko in 2001 in 47a334e99a6f8afdee73613c4a17ed090015ff78, but I could
not find the history to this. We can ask Jarkko but I'm not sure how
much of this history would be relevant nowadays.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
> I'm also ignorant in its history. Locale-Codes has been added to core by
> Jarkko in 2001 in 47a334e99a6f8afdee73613c4a17ed090015ff78, but I could
> not find the history to this. We can ask Jarkko but I'm not sure how
> much of this history would be relevant nowadays.

I’m the original author of Locale-Codes.

In my admittedly hazy memory, I was contacted by the Pumpking (must have been Jarkko, given the above), and it went like this:

Jarkko: hey, this module is being used by various people and it’s based on a standard, you ok if we include it with Perl?
Me: er, what would I have to do?
Jarkko: nothing, I’ll sort it out.
Me: sounds good to me!

Thereafter whenever I did a release to CPAN I would email the Pumpking to let them know there was a new version.

Neil
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/02/2017 09:22 AM, Sawyer X wrote:
>
> On 11/01/2017 05:00 PM, Sullivan Beck (CPAN) wrote:
>> I would like to propose that Locale-Codes be removed from the core
>> modules.
> If we stipulate that any Locale-Codes usage requires a non-core version
> anyway, it makes sense to take it out of core.
>
> I'm also ignorant in its history. Locale-Codes has been added to core by
> Jarkko in 2001 in 47a334e99a6f8afdee73613c4a17ed090015ff78, but I could
> not find the history to this. We can ask Jarkko but I'm not sure how
> much of this history would be relevant nowadays.

Discussion on this seems to have petered out, so I'm going to revive it
with the hopes of getting a decision one way or the other.? I can accept
if the decision is made to keep Locale-Codes in core, provided it is an
actual decision and not just letting the discussion die without any
conclusion reached. Obviously though I'd prefer to remove it.

What needs to be done to actually reach a decision to keep/remove
Locale-Codes?? And if it is removed, what can I do to help?

Thanks
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/08/2017 07:38 AM, Sullivan Beck (CPAN) wrote:
> On 11/02/2017 09:22 AM, Sawyer X wrote:
>>
>> On 11/01/2017 05:00 PM, Sullivan Beck (CPAN) wrote:
>>> I would like to propose that Locale-Codes be removed from the core
>>> modules.
>> If we stipulate that any Locale-Codes usage requires a non-core version
>> anyway, it makes sense to take it out of core.
>>
>> I'm also ignorant in its history. Locale-Codes has been added to core by
>> Jarkko in 2001 in 47a334e99a6f8afdee73613c4a17ed090015ff78, but I could
>> not find the history to this. We can ask Jarkko but I'm not sure how
>> much of this history would be relevant nowadays.
>
> Discussion on this seems to have petered out, so I'm going to revive it
> with the hopes of getting a decision one way or the other.? I can accept
> if the decision is made to keep Locale-Codes in core, provided it is an
> actual decision and not just letting the discussion die without any
> conclusion reached. Obviously though I'd prefer to remove it.
>
> What needs to be done to actually reach a decision to keep/remove
> Locale-Codes?? And if it is removed, what can I do to help?
>
> Thanks
>

I'm trying to understand the reasoning.

On modern perls, if someone has installed it from cpan and then upgrades
to a perl that has an older version, the newer version should have
precedence automatically.

So if someone needs the latest version, they can download it from cpan,
and it all works. If someone isn't paying attention they will
automatically get a more recent version than the one they have, whenever
they upgrade perl.

So, I don't see the problem. Is that it can encourage people to be
lackadaisical and not keep up with L:C changes?

There is some effort required for p5p to upgrade L:C whenever it comes
out, and are those costs justified? I don't know, but it is a different
question than what was asked.

So, I don't follow Sullivan's reasoning. (And thanks for maintaining
this module.)

On irc, it was said that L:C has a bug in its Makefile.PL, and this
ticket was generated for it:
https://rt.cpan.org/Public/Bug/Display.html?id=123571
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/08/2017 07:25 PM, Karl Williamson wrote:
> On 11/08/2017 07:38 AM, Sullivan Beck (CPAN) wrote:
>> On 11/02/2017 09:22 AM, Sawyer X wrote:
>>>
>>> On 11/01/2017 05:00 PM, Sullivan Beck (CPAN) wrote:
>>>> I would like to propose that Locale-Codes be removed from the core
>>>> modules.
>>> If we stipulate that any Locale-Codes usage requires a non-core version
>>> anyway, it makes sense to take it out of core.
>>>
>>> I'm also ignorant in its history. Locale-Codes has been added to
>>> core by
>>> Jarkko in 2001 in 47a334e99a6f8afdee73613c4a17ed090015ff78, but I could
>>> not find the history to this. We can ask Jarkko but I'm not sure how
>>> much of this history would be relevant nowadays.
>>
>> Discussion on this seems to have petered out, so I'm going to revive
>> it with the hopes of getting a decision one way or the other. I can
>> accept if the decision is made to keep Locale-Codes in core, provided
>> it is an actual decision and not just letting the discussion die
>> without any conclusion reached. Obviously though I'd prefer to remove
>> it.
>>
>> What needs to be done to actually reach a decision to keep/remove
>> Locale-Codes? And if it is removed, what can I do to help?
>>
>> Thanks
>>
>
> I'm trying to understand the reasoning.
>
> On modern perls, if someone has installed it from cpan and then
> upgrades to a perl that has an older version, the newer version should
> have precedence automatically.
>
> So if someone needs the latest version, they can download it from
> cpan, and it all works. If someone isn't paying attention they will
> automatically get a more recent version than the one they have,
> whenever they upgrade perl.
>
> So, I don't see the problem. Is that it can encourage people to be
> lackadaisical and not keep up with L:C changes?
>
> There is some effort required for p5p to upgrade L:C whenever it comes
> out, and are those costs justified? I don't know, but it is a
> different question than what was asked.
>
> So, I don't follow Sullivan's reasoning. (And thanks for maintaining
> this module.)
>
> On irc, it was said that L:C has a bug in its Makefile.PL, and this
> ticket was generated for it:
> https://rt.cpan.org/Public/Bug/Display.html?id=123571

The purpose of Locale::Codes is to act as a dictionary/index of the
various code sets in their current state. Because it is a snapshot of
the codes at a moment in time, if you rely on them, you really need to
keep them up-to-date.

When you use a version that comes bundled with perl, it is
out-of-date... probably badly so.

For example, my linux distro of choice is OpenSuSE, and I'm running the
most up-to-date version (Leap 42.3). In includes perl-5.18. It comes
with Locale-Codes 3.24 which was released Dec 2012, so it's 5 years
out-of-date. In those 5 years, the codes have changed significantly.

As such, if I were to use the bundled version of Locale::Codes in an
application that relied on that information being accurate, I would
really be shooting myself in the foot.

If you use Locale::Codes, and you need accurate data (and I have a
difficult time imagining a real-world case where the first is true but
not the second), then you need to use an up-to-date (i.e. NOT bundled)
version.

Removing Locale::Codes may cause a few glitches... but really all you'll
be doing is taking away a broken tool that they shouldn't be using anyway.

===

I'll look into the ticket and see what's up there.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/08/2017 09:21 PM, Sullivan Beck wrote:
> On 11/08/2017 07:25 PM, Karl Williamson wrote:
>> On 11/08/2017 07:38 AM, Sullivan Beck (CPAN) wrote:
>>> On 11/02/2017 09:22 AM, Sawyer X wrote:
>>>>
>>>> On 11/01/2017 05:00 PM, Sullivan Beck (CPAN) wrote:
>>>>> I would like to propose that Locale-Codes be removed from the core
>>>>> modules.
>>>> If we stipulate that any Locale-Codes usage requires a non-core
>>>> version
>>>> anyway, it makes sense to take it out of core.
>>>>
>>>> I'm also ignorant in its history. Locale-Codes has been added to
>>>> core by
>>>> Jarkko in 2001 in 47a334e99a6f8afdee73613c4a17ed090015ff78, but I
>>>> could
>>>> not find the history to this. We can ask Jarkko but I'm not sure how
>>>> much of this history would be relevant nowadays.
>>>
>>> Discussion on this seems to have petered out, so I'm going to revive
>>> it with the hopes of getting a decision one way or the other. I can
>>> accept if the decision is made to keep Locale-Codes in core,
>>> provided it is an actual decision and not just letting the
>>> discussion die without any conclusion reached. Obviously though I'd
>>> prefer to remove it.
>>>
>>> What needs to be done to actually reach a decision to keep/remove
>>> Locale-Codes? And if it is removed, what can I do to help?
>>>
>>> Thanks
>>>
>>
>> I'm trying to understand the reasoning.
>>
>> On modern perls, if someone has installed it from cpan and then
>> upgrades to a perl that has an older version, the newer version
>> should have precedence automatically.
>>
>> So if someone needs the latest version, they can download it from
>> cpan, and it all works. If someone isn't paying attention they will
>> automatically get a more recent version than the one they have,
>> whenever they upgrade perl.
>>
>> So, I don't see the problem. Is that it can encourage people to be
>> lackadaisical and not keep up with L:C changes?
>>
>> There is some effort required for p5p to upgrade L:C whenever it
>> comes out, and are those costs justified? I don't know, but it is a
>> different question than what was asked.
>>
>> So, I don't follow Sullivan's reasoning. (And thanks for maintaining
>> this module.)
>>
>> On irc, it was said that L:C has a bug in its Makefile.PL, and this
>> ticket was generated for it:
>> https://rt.cpan.org/Public/Bug/Display.html?id=123571
>
> The purpose of Locale::Codes is to act as a dictionary/index of the
> various code sets in their current state. Because it is a snapshot of
> the codes at a moment in time, if you rely on them, you really need to
> keep them up-to-date.
>
> When you use a version that comes bundled with perl, it is
> out-of-date... probably badly so.
>
> For example, my linux distro of choice is OpenSuSE, and I'm running
> the most up-to-date version (Leap 42.3). In includes perl-5.18. It
> comes with Locale-Codes 3.24 which was released Dec 2012, so it's 5
> years out-of-date. In those 5 years, the codes have changed
> significantly.
>
> As such, if I were to use the bundled version of Locale::Codes in an
> application that relied on that information being accurate, I would
> really be shooting myself in the foot.
>
> If you use Locale::Codes, and you need accurate data (and I have a
> difficult time imagining a real-world case where the first is true but
> not the second), then you need to use an up-to-date (i.e. NOT bundled)
> version.
>
> Removing Locale::Codes may cause a few glitches... but really all
> you'll be doing is taking away a broken tool that they shouldn't be
> using anyway.
>
> ===
>
> I'll look into the ticket and see what's up there.

Incidentally, even though I brought this up, it's mainly just because it
feels wrong (to me) to bundle a module in perl that becomes 'buggy'
automatically over time.

For myself, it's not a great deal of effort to produce patches each
release and submit them to p5p, and it's probably not a big deal on your
end to apply them, and if the consensus is to leave it alone, I'll
happily continue to do so... but I believe that distributing this
particular module isn't useful because the very users who will end up
using it would be better off learning how to do it correctly (i.e.
download the most recent from cpan) rather than thinking that the
bundled version is good enough.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
Karl Williamson wrote:
> On modern perls, if someone has installed it from cpan and then upgrades
> to a perl that has an older version, the newer version should have
> precedence automatically.

Unless the logic has been changed since 5.22, that is not the case.
My 5.22.0 installation has the following @INC:

/usr/local/lib/perl5/site_perl/5.22.0/darwin-2level
/usr/local/lib/perl5/site_perl/5.22.0
/usr/local/lib/perl5/5.22.0/darwin-2level
/usr/local/lib/perl5/5.22.0
/usr/local/lib/perl5/site_perl/5.21.11
/usr/local/lib/perl5/site_perl/5.21.8
/usr/local/lib/perl5/site_perl/5.21.7
/usr/local/lib/perl5/site_perl/5.21.6
/usr/local/lib/perl5/site_perl/5.21.5
/usr/local/lib/perl5/site_perl/5.21.4
/usr/local/lib/perl5/site_perl/5.21.3
/usr/local/lib/perl5/site_perl/5.20.2
/usr/local/lib/perl5/site_perl/5.20.1
/usr/local/lib/perl5/site_perl/5.19.10
/usr/local/lib/perl5/site_perl/5.19.9
/usr/local/lib/perl5/site_perl/5.19.8
/usr/local/lib/perl5/site_perl/5.19.7
/usr/local/lib/perl5/site_perl/5.19.5
/usr/local/lib/perl5/site_perl/5.19.4
/usr/local/lib/perl5/site_perl/5.19.3
/usr/local/lib/perl5/site_perl/5.19.2
/usr/local/lib/perl5/site_perl/5.19.1
/usr/local/lib/perl5/site_perl/5.18.3
/usr/local/lib/perl5/site_perl/5.18.2
/usr/local/lib/perl5/site_perl/5.18.1
/usr/local/lib/perl5/site_perl/5.14.4
/usr/local/lib/perl5/site_perl
.

Only if Locale::Codes itself searches the rest of @INC for newer ver-
sions will it work the way you say.

> There is some effort required for p5p to upgrade L:C whenever it comes
> out, and are those costs justified? I don't know, but it is a different=
> question than what was asked.

I think that is exactly what was asked, but worded differently. It
*is* work to keep synchronizing the two, and Sullivan Beck does not
consider that work to be worthwhile. Since he is the one maintaining
it, I think I have to agree with him. So this is +1 for removing it
(if that makes any difference).
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/08/2017 07:30 PM, Sullivan Beck wrote:
> I believe that distributing this particular module isn't useful because
> the very users who will end up using it would be better off learning how
> to do it correctly (i.e. download the most recent from cpan) rather than
> thinking that the bundled version is good enough.

That sounds reasonable to me; so +1 from me for removal after
deprecation cycle.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/08/2017 03:38 PM, Sullivan Beck (CPAN) wrote:
> On 11/02/2017 09:22 AM, Sawyer X wrote:
>>
>> On 11/01/2017 05:00 PM, Sullivan Beck (CPAN) wrote:
>>> I would like to propose that Locale-Codes be removed from the core
>>> modules.
>> If we stipulate that any Locale-Codes usage requires a non-core version
>> anyway, it makes sense to take it out of core.
>>
>> I'm also ignorant in its history. Locale-Codes has been added to core by
>> Jarkko in 2001 in 47a334e99a6f8afdee73613c4a17ed090015ff78, but I could
>> not find the history to this. We can ask Jarkko but I'm not sure how
>> much of this history would be relevant nowadays.
>
> Discussion on this seems to have petered out, so I'm going to revive
> it with the hopes of getting a decision one way or the other.? I can
> accept if the decision is made to keep Locale-Codes in core, provided
> it is an actual decision and not just letting the discussion die
> without any conclusion reached. Obviously though I'd prefer to remove it.
>
> What needs to be done to actually reach a decision to keep/remove
> Locale-Codes?? And if it is removed, what can I do to help?


I'm happy removing it in this release, but we will need to publicly
announce it - outside p5p.

I had intended for a while to introduce a blog for p5p to communicate
outside. Unfortunately, I never found the time for it. This would go
there, if there was one. Otherwise, at least something on blogs.perl.org.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/15/2017 06:44 PM, Sullivan Beck (CPAN) wrote:
> On 11/09/2017 04:30 AM, Sawyer X wrote:
>>
>> On 11/08/2017 03:38 PM, Sullivan Beck (CPAN) wrote:
>>> On 11/02/2017 09:22 AM, Sawyer X wrote:
>>>> On 11/01/2017 05:00 PM, Sullivan Beck (CPAN) wrote:
>>>>> I would like to propose that Locale-Codes be removed from the core
>>>>> modules.
>>>> If we stipulate that any Locale-Codes usage requires a non-core
>>>> version
>>>> anyway, it makes sense to take it out of core.
>>>>
>>>> I'm also ignorant in its history. Locale-Codes has been added to
>>>> core by
>>>> Jarkko in 2001 in 47a334e99a6f8afdee73613c4a17ed090015ff78, but I
>>>> could
>>>> not find the history to this. We can ask Jarkko but I'm not sure how
>>>> much of this history would be relevant nowadays.
>>> Discussion on this seems to have petered out, so I'm going to revive
>>> it with the hopes of getting a decision one way or the other.? I can
>>> accept if the decision is made to keep Locale-Codes in core, provided
>>> it is an actual decision and not just letting the discussion die
>>> without any conclusion reached. Obviously though I'd prefer to
>>> remove it.
>>>
>>> What needs to be done to actually reach a decision to keep/remove
>>> Locale-Codes?? And if it is removed, what can I do to help?
>>
>> I'm happy removing it in this release, but we will need to publicly
>> announce it - outside p5p.
>>
>> I had intended for a while to introduce a blog for p5p to communicate
>> outside. Unfortunately, I never found the time for it. This would go
>> there, if there was one. Otherwise, at least something on
>> blogs.perl.org.
>
> I will be releasing a new version in a couple weeks (Dec 1).? Should I
> submit a patch (as I have in the past), or will Locale-Codes simply be
> removed from core?
>
> Is there something else I should do to assist in this transition
> (assuming there will be a transition)?

I have pushed a branch: sawyerx/remove-locale-codes

There are two failures in tests that I'm still unsure how to fix:

* t/porting/regen.t - "make regen" doesn't fix it. I haven't inspected
that yet.
* t/porting/podcheck.t - fails on resolving links to Locale::Language
and another such-module that is in the Locale-Codes distribution.

Thoughts?
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
Sawyer X <xsawyerx@gmail.com> writes:

> On 11/15/2017 06:44 PM, Sullivan Beck (CPAN) wrote:
>> On 11/09/2017 04:30 AM, Sawyer X wrote:
>>>
>>> I'm happy removing it in this release, but we will need to publicly
>>> announce it - outside p5p.

Per policy modules need to be deprecated in core for one releases before
they can actually be removed.

[...]
>> I will be releasing a new version in a couple weeks (Dec 1).  Should I
>> submit a patch (as I have in the past), or will Locale-Codes simply be
>> removed from core?

You need to add the following to the user-facing modules in the
distribution:

use if $] >= 5.027007, 'deprecate';

This will make it emit a warning when it's used from the core location,
and tell the user to install it from CPAN.

>> Is there something else I should do to assist in this transition
>> (assuming there will be a transition)?
>
> I have pushed a branch: sawyerx/remove-locale-codes
>
> There are two failures in tests that I'm still unsure how to fix:
>
> * t/porting/regen.t - "make regen" doesn't fix it. I haven't inspected
> that yet.
> * t/porting/podcheck.t - fails on resolving links to Locale::Language
> and another such-module that is in the Locale-Codes distribution.
>
> Thoughts?

This can't be merged until after 5.28 is out anyway.

- ilmari
--
- Twitter seems more influential [than blogs] in the 'gets reported in
the mainstream press' sense at least. - Matt McLeod
- That'd be because the content of a tweet is easier to condense down
to a mainstream media article. - Calle Dybedahl
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/15/2017 10:19 PM, Dagfinn Ilmari Mannsåker wrote:
> Sawyer X <xsawyerx@gmail.com> writes:
>
>> On 11/15/2017 06:44 PM, Sullivan Beck (CPAN) wrote:
>>> On 11/09/2017 04:30 AM, Sawyer X wrote:
>>>> I'm happy removing it in this release, but we will need to publicly
>>>> announce it - outside p5p.
> Per policy modules need to be deprecated in core for one releases before
> they can actually be removed.

Right.

>
> [...]
>>> I will be releasing a new version in a couple weeks (Dec 1).  Should I
>>> submit a patch (as I have in the past), or will Locale-Codes simply be
>>> removed from core?
> You need to add the following to the user-facing modules in the
> distribution:
>
> use if $] >= 5.027007, 'deprecate';
>
> This will make it emit a warning when it's used from the core location,
> and tell the user to install it from CPAN.

Eek. Will add that.

>
>>> Is there something else I should do to assist in this transition
>>> (assuming there will be a transition)?
>> I have pushed a branch: sawyerx/remove-locale-codes
>>
>> There are two failures in tests that I'm still unsure how to fix:
>>
>> * t/porting/regen.t - "make regen" doesn't fix it. I haven't inspected
>> that yet.
>> * t/porting/podcheck.t - fails on resolving links to Locale::Language
>> and another such-module that is in the Locale-Codes distribution.
>>
>> Thoughts?
> This can't be merged until after 5.28 is out anyway.

I'll first add the line above as a branch. Then have this branch rebased
after 5.28 release.

/me goes back to the drawi^Wterminal board.

Thanks!
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
Sawyer X <xsawyerx@gmail.com> writes:

> On 11/15/2017 10:19 PM, Dagfinn Ilmari Mannsåker wrote:
>> Sawyer X <xsawyerx@gmail.com> writes:
>>
>>> On 11/15/2017 06:44 PM, Sullivan Beck (CPAN) wrote:
>> [...]
>>>> I will be releasing a new version in a couple weeks (Dec 1).  Should I
>>>> submit a patch (as I have in the past), or will Locale-Codes simply be
>>>> removed from core?
>> You need to add the following to the user-facing modules in the
>> distribution:
>>
>> use if $] >= 5.027007, 'deprecate';
>>
>> This will make it emit a warning when it's used from the core location,
>> and tell the user to install it from CPAN.
>
> Eek. Will add that.

This part was meant for Sullivan (now Cc-ed), in response to what he
needs to do in the next upstream release. The version number should be
whatever blead point release is next after the updated dist is merged.

- ilmari
--
- Twitter seems more influential [than blogs] in the 'gets reported in
the mainstream press' sense at least. - Matt McLeod
- That'd be because the content of a tweet is easier to condense down
to a mainstream media article. - Calle Dybedahl
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
Sawyer X wrote:
> I have pushed a branch: sawyerx/remove-locale-codes
>
> There are two failures in tests that I'm still unsure how to fix:
>
> * t/porting/regen.t - "make regen" doesn't fix it. I haven't inspected
> that yet.
> * t/porting/podcheck.t - fails on resolving links to Locale::Language
> and another such-module that is in the Locale-Codes distribution.
>
> Thoughts?

Up till now we have always made the module warn that it will be
removed from core, usually for two release cycles.

That means adding 'use deprecate;' to the source, which cleverly warns
only when installed from core, and not from CPAN. It also needs to be
listed in perldelta somewhere.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/15/2017 05:06 PM, Dagfinn Ilmari Mannsåker wrote:
> Sawyer X <xsawyerx@gmail.com> writes:
>
>> On 11/15/2017 10:19 PM, Dagfinn Ilmari Mannsåker wrote:
>>> Sawyer X <xsawyerx@gmail.com> writes:
>>>
>>>> On 11/15/2017 06:44 PM, Sullivan Beck (CPAN) wrote:
>>> [...]
>>>>> I will be releasing a new version in a couple weeks (Dec 1).  Should I
>>>>> submit a patch (as I have in the past), or will Locale-Codes simply be
>>>>> removed from core?
>>> You need to add the following to the user-facing modules in the
>>> distribution:
>>>
>>> use if $] >= 5.027007, 'deprecate';
>>>
>>> This will make it emit a warning when it's used from the core location,
>>> and tell the user to install it from CPAN.
>> Eek. Will add that.
> This part was meant for Sullivan (now Cc-ed), in response to what he
> needs to do in the next upstream release. The version number should be
> whatever blead point release is next after the updated dist is merged.
>
> - ilmari

I'm unsure why I need to specify a version as opposed to simply
   use 'deprecate';

I'll be happy to include the version if it's required though. Based on
one of Dagfinn's comments, this won't go into the 5.28 release, so the
version would be 5.029001 (correct me if I'm mistaken).

I'll submit a patch that:

  - adds the next release (which will contain the appropriate use
'deprecate' line)
  - adds a note to the perldelta pod

With respect to the perldelta note, Dagfinn mentioned that the policy
states deprecation for one release, but Father Chrysostomos said that
it's traditionally been done for 2 release cycles, so I assume that this
means starting with 5.29/5.30, it's distributed in core with the
'deprecate' line and then it's actually removed in either 5.32 (1 cycle)
or 5.34 (2 cycles).  I will note that in the perldelta (but let me know
if it should be 1 or 2 cycles).

===

Thanks for all the feedback.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
"Sullivan Beck (perl5porters)" <p5p-sbeck@sullybeck.com> writes:

> On 11/15/2017 05:06 PM, Dagfinn Ilmari Mannsåker wrote:
>> Sawyer X <xsawyerx@gmail.com> writes:
>>
>>> On 11/15/2017 10:19 PM, Dagfinn Ilmari Mannsåker wrote:
>>>> Sawyer X <xsawyerx@gmail.com> writes:
>>>>
>>>>> On 11/15/2017 06:44 PM, Sullivan Beck (CPAN) wrote:
>>>> [...]
>>>>>> I will be releasing a new version in a couple weeks (Dec 1).  Should I
>>>>>> submit a patch (as I have in the past), or will Locale-Codes simply be
>>>>>> removed from core?
>>>> You need to add the following to the user-facing modules in the
>>>> distribution:
>>>>
>>>> use if $] >= 5.027007, 'deprecate';
>>>>
>>>> This will make it emit a warning when it's used from the core location,
>>>> and tell the user to install it from CPAN.
>>> Eek. Will add that.
>> This part was meant for Sullivan (now Cc-ed), in response to what he
>> needs to do in the next upstream release. The version number should be
>> whatever blead point release is next after the updated dist is merged.
>>
>> - ilmari
>
> I'm unsure why I need to specify a version as opposed to simply
>    use 'deprecate';

Because it should only warn when loaded from the core directory on
versions of perls after the one in which it was deprecated in core.

This matters because before 5.12 dual-life modules had to be installed
into the core 'perl' directories, as seen in Locale-Codes' Makefile.PL:

INSTALLDIRS => (($] >= 5.007003) ? 'perl' : 'site'),

This should be changed to install into 'site' on Perls >= 5.12 as well
(see https://metacpan.org/pod/perl5120delta#@INC-reorganization).

> I'll be happy to include the version if it's required though. Based on
> one of Dagfinn's comments, this won't go into the 5.28 release, so the
> version would be 5.029001 (correct me if I'm mistaken).

The removal cannot happen in perl 5.28, but the warning about the
pending removal should.

> I'll submit a patch that:
>
>   - adds the next release (which will contain the appropriate use
> 'deprecate' line)
>   - adds a note to the perldelta pod
>
> With respect to the perldelta note, Dagfinn mentioned that the policy
> states deprecation for one release, but Father Chrysostomos said that
> it's traditionally been done for 2 release cycles, so I assume that this
> means starting with 5.29/5.30, it's distributed in core with the
> 'deprecate' line and then it's actually removed in either 5.32 (1 cycle)
> or 5.34 (2 cycles).  I will note that in the perldelta (but let me know
> if it should be 1 or 2 cycles).

The policy for removing core features is two major releases, but
removing modules is less disruptive, since they can just be installed
from CPAN, with no need to chage actual code. The warning emitted by
deprecate.pm says it "will it be removed […] in the next major release".

> Thanks for all the feedback.

You're welcome,

Ilmari

--
"The surreality of the universe tends towards a maximum" -- Skud's Law
"Never formulate a law or axiom that you're not prepared to live with
the consequences of." -- Skud's Meta-Law
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
On 11/16/2017 08:09 AM, Sullivan Beck (perl5porters) wrote:
> On 11/15/2017 05:06 PM, Dagfinn Ilmari Mannsåker wrote:
>> Sawyer X <xsawyerx@gmail.com> writes:
>>
>>> On 11/15/2017 10:19 PM, Dagfinn Ilmari Mannsåker wrote:
>>>> Sawyer X <xsawyerx@gmail.com> writes:
>>>>
>>>>> On 11/15/2017 06:44 PM, Sullivan Beck (CPAN) wrote:
>>>> [...]
>>>>>> I will be releasing a new version in a couple weeks (Dec 1). 
>>>>>> Should I
>>>>>> submit a patch (as I have in the past), or will Locale-Codes
>>>>>> simply be
>>>>>> removed from core?
>>>> You need to add the following to the user-facing modules in the
>>>> distribution:
>>>>
>>>>     use if $] >= 5.027007, 'deprecate';
>>>>
>>>> This will make it emit a warning when it's used from the core
>>>> location,
>>>> and tell the user to install it from CPAN.
>>> Eek. Will add that.
>> This part was meant for Sullivan (now Cc-ed), in response to what he
>> needs to do in the next upstream release.  The version number should be
>> whatever blead point release is next after the updated dist is merged.
>>
>> - ilmari
>
> I'll submit a patch that:
>
>   - adds the next release (which will contain the appropriate use
> 'deprecate' line)
>   - adds a note to the perldelta pod
>
> With respect to the perldelta note, Dagfinn mentioned that the policy
> states deprecation for one release, but Father Chrysostomos said that
> it's traditionally been done for 2 release cycles, so I assume that
> this means starting with 5.29/5.30, it's distributed in core with the
> 'deprecate' line and then it's actually removed in either 5.32 (1
> cycle) or 5.34 (2 cycles).  I will note that in the perldelta (but let
> me know if it should be 1 or 2 cycles).
>

I just uploaded a release 3.55 to CPAN.  In addition to the regular
changes to the codes, this release includes the
   use if $] >= 5.027007, 'deprecate';
line from Ilmari.  It also fixes the INSTALLDIRS variable.

I'm attaching a patch here.  If it meets your approval, please apply it
by 5.27.7.

I did NOT modify a perldelta because the only one there was for 5.27.5,
so I'm not certain of the process (if any) of adding it.  In any case,
the delta for 5.27.7 should say that Locale::Codes has been deprecated.

If the attached patch has any problems, or if there is anything else
that I can do to help, let me know.

Thanks again for everything.
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
"Sullivan Beck (CPAN)" <sbeck@cpan.org> writes:

> I just uploaded a release 3.55 to CPAN.  In addition to the regular
> changes to the codes, this release includes the
>    use if $] >= 5.027007, 'deprecate';
> line from Ilmari.  It also fixes the INSTALLDIRS variable.
>
> I'm attaching a patch here.  If it meets your approval, please apply it
> by 5.27.7.

Thank you! I will do so as soon as 5.27.6 is out.

> I did NOT modify a perldelta because the only one there was for 5.27.5,
> so I'm not certain of the process (if any) of adding it.  In any case,
> the delta for 5.27.7 should say that Locale::Codes has been deprecated.

The perldelta for the next release is always just perldelta.pod, so that
it's easier to apply patches affecting it regardless of whether there's
been a release in the meanwhile. I'll add the perldelta entry when
applying the patch.

The reason I suggested 5.27.7 rather than the impending 5.27.6 was that
the latter is due on Monday, and I wasn't sure if you'd have a release
ready by then.

> If the attached patch has any problems, or if there is anything else
> that I can do to help, let me know.
>
> Thanks again for everything.

Thanks likewise,

- ilmari
--
- Twitter seems more influential [than blogs] in the 'gets reported in
the mainstream press' sense at least. - Matt McLeod
- That'd be because the content of a tweet is easier to condense down
to a mainstream media article. - Calle Dybedahl
Re: RFC: remove Locale-Codes from core modules [ In reply to ]
I saw this thread today while preparing 5.27.6 for release. I see that
Locale::Codes was released to cpan a few days ago noting that the
deprecation will occur in 5.27.7, not 5.27.6, so consequently I am *not*
synchronizing Locale::Codes in blead with the latest cpan release.

On Sun, Nov 19, 2017 at 6:56 AM, Dagfinn Ilmari Mannsåker <ilmari@ilmari.org
> wrote:

> "Sullivan Beck (CPAN)" <sbeck@cpan.org> writes:
>
> > I just uploaded a release 3.55 to CPAN. In addition to the regular
> > changes to the codes, this release includes the
> > use if $] >= 5.027007, 'deprecate';
> > line from Ilmari. It also fixes the INSTALLDIRS variable.
> >
> > I'm attaching a patch here. If it meets your approval, please apply it
> > by 5.27.7.
>
> Thank you! I will do so as soon as 5.27.6 is out.
>
> > I did NOT modify a perldelta because the only one there was for 5.27.5,
> > so I'm not certain of the process (if any) of adding it. In any case,
> > the delta for 5.27.7 should say that Locale::Codes has been deprecated.
>
> The perldelta for the next release is always just perldelta.pod, so that
> it's easier to apply patches affecting it regardless of whether there's
> been a release in the meanwhile. I'll add the perldelta entry when
> applying the patch.
>
> The reason I suggested 5.27.7 rather than the impending 5.27.6 was that
> the latter is due on Monday, and I wasn't sure if you'd have a release
> ready by then.
>
> > If the attached patch has any problems, or if there is anything else
> > that I can do to help, let me know.
> >
> > Thanks again for everything.
>
> Thanks likewise,
>
> - ilmari
> --
> - Twitter seems more influential [than blogs] in the 'gets reported in
> the mainstream press' sense at least. - Matt McLeod
> - That'd be because the content of a tweet is easier to condense down
> to a mainstream media article. - Calle Dybedahl
>

1 2  View All