FAQ
CORBA-IDL on CPAN has package Attributes in one of modules, name
similar to core module "attributes". Class-PObject has INTEGER,
similar to "integer". They are included into CPAN index and CPAN shell
finds them as upgrades to corresponding core modules.

--
Alexandr Ciornii, http://chorny.net

Search Discussions

  • Zefram at Mar 31, 2012 at 8:53 pm

    Alexandr Ciornii wrote:
    CPAN shell
    finds them as upgrades to corresponding core modules.
    Doesn't seem to for me:

    cpan[2]> m integer
    Module id = integer
    DESCRIPTION Controls float vs. integer arithmetic
    CPAN_USERID P5P (The Perl5 Porters Mailing List <perl5-porters@perl.org>)
    CPAN_VERSION 1.00
    CPAN_FILE F/FL/FLORA/perl-5.15.4.tar.gz
    UPLOAD_DATE 2011-10-20
    DSLIP_STATUS Supf? (standard,comp.lang.perl.*,perl,functions,)
    MANPAGE integer - Perl pragma to use integer arithmetic instead of floating point
    INST_FILE /home/zefram/usr/perl/perl_install/perl-5.14.2-i32-f52/lib/5.14.2/integer.pm
    INST_VERSION 1.00


    cpan[3]> m INTEGER
    Module id = INTEGER
    CPAN_USERID SHERZODR (Sherzod Ruzmetov <sherzodr@cpan.org>)
    CPAN_VERSION 1.93
    CPAN_FILE S/SH/SHERZODR/Class-PObject-2.17.tar.gz
    UPLOAD_DATE 2005-02-20
    INST_FILE (not installed)

    Perfectly distinct. Get similar results for attribute vs Attribute.

    -zefram
  • Alexandr Ciornii at Apr 1, 2012 at 11:11 am
    Hello

    2012/3/31 Zefram <zefram@fysh.org>:
    Alexandr Ciornii wrote:
    CPAN shell
    finds them as upgrades to corresponding core modules.
    Doesn't seem to for me:

    cpan[2]> m integer
    Module id = integer
    DESCRIPTION  Controls float vs. integer arithmetic
    CPAN_USERID  P5P (The Perl5 Porters Mailing List <perl5-porters@perl.org>)
    CPAN_VERSION 1.00
    CPAN_FILE    F/FL/FLORA/perl-5.15.4.tar.gz
    UPLOAD_DATE  2011-10-20
    DSLIP_STATUS Supf? (standard,comp.lang.perl.*,perl,functions,)
    MANPAGE      integer - Perl pragma to use integer arithmetic instead of floating point
    INST_FILE    /home/zefram/usr/perl/perl_install/perl-5.14.2-i32-f52/lib/5.14.2/integer.pm
    INST_VERSION 1.00


    cpan[3]> m INTEGER
    Module id = INTEGER
    CPAN_USERID  SHERZODR (Sherzod Ruzmetov <sherzodr@cpan.org>)
    CPAN_VERSION 1.93
    CPAN_FILE    S/SH/SHERZODR/Class-PObject-2.17.tar.gz
    UPLOAD_DATE  2005-02-20
    INST_FILE    (not installed)

    Perfectly distinct.  Get similar results for attribute vs Attribute.
    Possibly difference is in using Windows.

    cpan> m integer
    ...
    INST_FILE C:\strawberry514\perl\lib\integer.pm

    cpan> m INTEGER
    ...
    INST_FILE C:\strawberry514\perl\lib\INTEGER.pm

    --
    Alexandr Ciornii, http://chorny.net
  • Eric Wilhelm at Apr 4, 2012 at 6:36 pm
    # from Alexandr Ciornii
    # on Sunday 01 April 2012 04:10:
    Perfectly distinct.  Get similar results for attribute vs Attribute.
    Possibly difference is in using Windows.

    cpan> m integer
    ...
    INST_FILE    C:\strawberry514\perl\lib\integer.pm

    cpan> m INTEGER
    ...
    INST_FILE    C:\strawberry514\perl\lib\INTEGER.pm
    The uppercase INTEGER.pm does not actually exists (even though the
    broken fs is saying yes to -e)? If so, this is a bug in the cpan shell
    (albeit one which requires a big workaround to deal with the broken
    fs.)

    Does this then mean that the Class-PObject distribution somehow get
    accidentally installed during a routine update?

    As for those who would claim that a case-insensitive filesystem is not
    broken, they will kindly explain how it could possibly be correct
    behavior to arbitrarily substitute the character 3 for the character 5
    (or to see it another way: removing 26 characters from the set.)

    Perhaps ExtUtils::Install should refuse to overwrite a file of differing
    case?

    --Eric
    --
    "Beware of bugs in the above code; I have only proved it correct, not
    tried it."
    --Donald Knuth
    ---------------------------------------------------
    http://scratchcomputing.com
    ---------------------------------------------------
  • David Golden at Apr 4, 2012 at 8:02 pm

    On Wed, Apr 4, 2012 at 2:36 PM, Eric Wilhelm wrote:
    The uppercase INTEGER.pm does not actually exists (even though the
    broken fs is saying yes to -e)?  If so, this is a bug in the cpan shell
    (albeit one which requires a big workaround to deal with the broken
    fs.)
    I'm not sure there is a reasonable solution this. The answer to the
    question, "Is the XYZ module installed?" is to search @INC for
    "XYZ.pm". On an case insensitive file system, "xyz.pm" or "xYz.pm" or
    "XYZ.PM" all match.

    The only "answer" I can see would be to prohibit module indexing
    unless module files have case-folded unique names, and even then we've
    hit issues with things like "version.pm" and Version::Requirements,
    where it isn't the file name but the path name at issue.
    Perhaps ExtUtils::Install should refuse to overwrite a file of differing
    case?
    How could it tell?

    -- David
  • Ricardo Signes at Apr 3, 2012 at 12:28 pm
    * Alexandr Ciornii [2012-03-31T16:49:34]
    CORBA-IDL on CPAN has package Attributes in one of modules, name
    similar to core module "attributes". Class-PObject has INTEGER,
    similar to "integer". They are included into CPAN index and CPAN shell
    finds them as upgrades to corresponding core modules.
    I wrote a tiny hack to find all these problems some time ago, and I will re-run
    it and talk with Andreas about resolving conflicts, then about fixing PAUSE to
    treat permissions case insensitively.

    Thanks for reminding me of the problem!

    --
    rjbs
  • Zefram at Apr 3, 2012 at 1:21 pm

    Ricardo Signes wrote:
    resolving conflicts, then about fixing PAUSE to
    treat permissions case insensitively.
    Eeek! That would not be fixing anything, that would be breaking it!

    Perl package and module names are case-sensitive. That Perl doesn't
    adequately encode (mangle) these names for case-incapable filesystems
    is a bug. We should not pander to that bug; we should fix it.

    -zefram
  • Ricardo Signes at Apr 3, 2012 at 2:43 pm
    * Zefram [2012-04-03T09:21:16]
    Ricardo Signes wrote:
    resolving conflicts, then about fixing PAUSE to
    treat permissions case insensitively.
    Eeek! That would not be fixing anything, that would be breaking it!

    Perl package and module names are case-sensitive. That Perl doesn't
    adequately encode (mangle) these names for case-incapable filesystems
    is a bug. We should not pander to that bug; we should fix it.
    Until there is a fix for the bug, we should protect against it causing huge
    problems. This is the single entry point for protecting against it until there
    is a more systematic solution.

    --
    rjbs

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcpan-workers @
categoriesperl
postedMar 31, '12 at 8:50p
activeApr 4, '12 at 8:02p
posts8
users5
websitecpan.org

People

Translate

site design / logo © 2021 Grokbase