Подтвердить что ты не робот

Как я могу обновить модуль еще одного модуля CPAN?

Я загрузил некоторый модуль из CPAN и добавил к нему дополнительные функции. Могу ли я опубликовать новейший модуль в CPAN? Если да, как мне это сделать? Это вообще возможно? Должен ли я связаться с человеком, который написал оригинальный модуль? Может ли кто-нибудь помочь в процедуре обновления этого конкретного модуля?

4b9b3361

Ответ 1

Вы не сможете загружать и индексировать модуль как одно и то же имя, если вы не являетесь соавтором. Загрузка его как другого имени не очень продуктивна для сообщества, так как теперь есть две (или несколько) несколько разных версий.

  • Связаться с автором
  • Отправьте свои исправления в очередь RT для модуля (или трекер ошибок, указанный в его документах)
  • Если он на Github, разветките проект, внесите изменения и отправьте запрос на перенос

Если автор не отвечает (это означает отсутствие ответа, а не отрицательный ответ), у нас есть способы перейти на сопровождение оставленных модулей. Мы принимаем этот процесс очень медленно, потому что хотим дать автору или текущему помощнику возможность ответить. Некоторые люди могут быть завалены на работе, в отпуске и т.д. Тем не менее, большинство ситуаций получается очень хорошо.


Вы можете загружать все, что вам нравится, PAUSE, но если вы не являетесь помощником, PAUSE не будет индексировать его. Он по-прежнему будет отображаться в вашей учетной записи CPAN, и люди все равно смогут загрузить его через сайт CPAN, но клиенты CPAN не будут видеть его (поскольку они работают в соответствии с индексом). Некоторые поисковые сайты покажут это как "Несанкционированный выпуск".

Ответ 2

Было бы бесполезно слепо загружать модуль, который вы добавили функциональность под тем же именем, что и модуль, на котором он основан (иногда это случается и часто создает беспорядок). Но у вас есть варианты, которые были бы полезны:

Во-первых, вы можете связаться с автором или сопровождающим модулем, отправив по электронной почте разницу или патч, показывающую, что вы хотели бы добавить. Обязательно поставьте соответствующую документацию, а также объясните свое обоснование.

Возможно, автор модуля примет патч и применит его к обновлению самого модуля. Или может быть, что в целях предотвращения ползучего featurism автор/сопровождающий отказывается от обновленной функциональности, и это приводит к второй опции.

Второй вариант - получить свою собственную учетную запись PAUSE, а также подкласс или иным образом расширить модуль. Но обязательно дайте ему собственное имя модуля, полную документацию и, возможно, объяснение в документации, что это расширение модуля xyz со следующими дополнительными функциями... Если вы расширяете Math:: BigInt, вы можете назовите его Math:: BigInt:: Frobcinate (просто пример).

Когда вы пытаетесь установить контакт с автором модуля, пожалуйста, будьте терпеливы. Иногда требуется некоторое время, чтобы позволить им действовать надлежащим образом.

Ответ 3

Я рекомендую вам связаться с автором.

Кроме того, вы можете загружать изменения своего модуля в виде патча через rt.cpan.org; должна быть ссылка с сайта модуля на CPAN. Обратитесь к Часто задаваемые вопросы о CPAN: как сообщить/исправить ошибку в модуле /script? Эта система отслеживания используется для таких запросов, как ваша, а не только для сообщения об ошибках.