Hi Sherzod,

I’m one of the PAUSE admins. I’m emailing you because I’m working on resolving 
conflicts caused by PAUSE now considering package names case insensitively. 
This has left us with some situations where two or more people are owners of 
namespaces previously considered distinct, and now considered the same.

Your Class-PObject defines packages VARCHAR, CHAR, INTEGER, TEXT, ENCRYPT, and 
MD5. These are classes defined in Class::PObject::Template, just as subclasses 
of the relevant Class::PObject::Type::<type> class. In general, a distribution 
should keep package names within its own namespace. But beyond that, your 
permissions on the TEXT package clashes with AKHOBOV’s ownership of the “Text” 
package.

There are several ways to resolve this:

  1. You could tell PAUSE not to index these special classes, since they’re 
only used in PObject/Template.pm
  2. You could change the code in Template.pm to directly use the 
Class::PObject::Type::<typename> classes
  3. You could delete the distribution from CPAN entirely, if you’re no longer 
interested in maintaining it.
     I can see from the CPAN Testers result matrix that it doesn’t work on a 
lot of recent versions of Perl:
         http://matrix.cpantesters.org/?dist=Class-PObject+2.17

The first option is the simplest for you to do: just change the package line:

    package TEXT;

to this:

    # breaking the line hides it from PAUSE’s indexer
    package
        TEXT;

Then PAUSE won’t see the package. If you do that, then I’ll be able to drop the 
permissions on all of those packages (VARCHAR, CHAR, INTEGER, TEXT, ENCRYPT, 
and MD5).

Please let me know which way you’d like to resolve this?

PAUSE doesn’t let situations like this occur any more, so I’m resolving the 
remaining cases.

Cheers,
Neil

Reply via email to