2012-03-09 23 views
13

He descargado algún módulo de CPAN y le he agregado funciones adicionales. ¿Puedo publicar el módulo más nuevo en el CPAN? Si es así, ¿cómo debería hacer esto? ¿Es posible? ¿Debo contactar a la persona que escribió el módulo original? ¿Podría alguien ayudar con el procedimiento para actualizar este módulo específico?¿Cómo puedo actualizar el módulo de otra persona en CPAN?

+6

¿Qué módulo le interesa? ¿Quien es el autor? –

Respuesta

20

No podrá cargar e indexar un módulo con el mismo nombre a menos que sea un mantenedor conjunto. Cargarlo como un nombre diferente no es muy productivo para la comunidad ya que ahora hay dos (o más) versiones ligeramente diferentes.

  • Contactar con el autor
  • enviar su parches al RT queue para el módulo (o el gestor de incidencias se especifica en sus documentos)
  • Si está en Github, bifurcar el proyecto, realizar el cambio, y presentar una solicitud de extracción

Si el autor no responde (lo que significa que no hay respuesta, no es una respuesta negativa), tenemos formas de pass on maintainership of abandoned modules. Tomamos este proceso muy lentamente porque queremos dar al autor original o al mantenedor actual todas las oportunidades para responder. Algunas personas podrían verse abrumadas en el trabajo, en vacaciones, etc. Sin embargo, la mayoría de las situaciones resultan muy bien.


Puede cargar cualquier cosa que usted desee detener, pero si usted no es una especie de encargado, PAUSA no se indexarán. Seguirá apareciendo en su cuenta de CPAN y las personas aún pueden descargarlo a través del sitio web de CPAN, pero los clientes de CPAN no lo verán (ya que funcionan de acuerdo con el índice). Algunos de los sitios de búsqueda lo mostrarán como una "versión no autorizada".

+0

Hubo un incidente reciente en el que alguien cargó una distribución vacía llamada "Prueba", que causó que un grupo de módulos siguiera usando Test.pm para comenzar a fallar las pruebas de detección de humo. El módulo puede cargarse incluso si usted no es el autor registrado, pero no será indexado. Por defecto, las herramientas CPAN (cpan, cpanm, etc.) no recogerán la versión no indexada. Pero todavía existe como una versión no autorizada, y se puede descargar e instalar. Y como vimos en ese caso, crea un desastre. Hay una RT reciente (que ahora se ha cerrado) en la distribución de prueba real que analiza esto. – DavidO

+0

El incidente de "Prueba" también se discutió en cpan- [email protected] Lo que sucedió fue que algunos evaluadores de humo instalaron la "Versión no autorizada" en sus fumadores, y dado que no contenía una función llamada "plan()", de repente todo aquel que subió un módulo que incluía Test.pm en su suite de pruebas comenzó a fallar en el línea 'usar'. – DavidO

+1

El [thread de cpan-testers] (http://www.nntp.perl.org/group/perl.cpan.testers.discuss/2012/03/msg2683.html) –

10

Recomiendo que intente ponerse en contacto con el autor.

Además, puede cargar los cambios de su módulo como un parche a través del rt.cpan.org; debe haber un enlace desde el sitio web del módulo en CPAN. Consulte el CPAN FAQ: How do I report/fix a bug in a module/script? Este sistema de seguimiento se utiliza para solicitudes como la suya, no solo para informar de errores.

15

No sería útil cargar ciegamente un módulo al que haya agregado funcionalidad bajo el mismo nombre que el módulo en el que se basa (sucede a veces y a menudo crea un desastre). Pero tiene opciones que serían útiles:

Primero, podría contactar al autor o mantenedor del módulo, enviar un parche o un parche que muestre lo que le gustaría ver agregado. Asegúrese de proporcionar documentación relevante también y explique su razón de ser.

Es posible que el autor del módulo acepte el parche y lo aplique a una actualización del módulo. O podría ser que, a modo de prevención de la seducción progresiva, el autor/mantenedor rechace la funcionalidad mejorada, y eso lo lleva a una segunda opción.

La segunda opción es obtener su propia cuenta PAUSE y subclase o ampliar el módulo. Pero asegúrese de darle su propio nombre de módulo nuevo, documentación completa y, probablemente, una explicación en la documentación de que esta es una extensión del módulo xyz con la siguiente funcionalidad adicional ... Si extiende Math :: BigInt, es posible que llámalo Math :: BigInt :: Frobcinate (solo un ejemplo).

Cuando intente ponerse en contacto con el autor del módulo, tenga paciencia. A veces lleva tiempo dejar que las cosas sigan su curso.

+0

Yo recomendaría buscar el repositorio asociado con la distribución, antes de enviar un correo electrónico al autor. –

+0

Esa es una buena sugerencia. Además, a menudo el POD del módulo contendrá información sobre cómo el autor prefiere apoyar el módulo: el sistema RT, una lista de correo, un repositorio git, correo electrónico individual o alguna combinación de los anteriores son todos comunes. – DavidO

Cuestiones relacionadas