Модуль Perl зависит от двоичного файла, почему тесты на FreeBSD не проходят, даже если используется CheckBin? - PullRequest
3 голосов
/ 28 января 2020

Я сделал модуль Perl (Qiime2 :: Artifact), который в значительной степени полагается на двоичный файл 'unzip' для работы [1].

Модуль находится здесь: https://metacpan.org/pod/Qiime2 :: Артефакт

Чтобы объявить зависимость, я использовал плагин CheckBin для Distzilla:

[CheckBin]
command = unzip

Это результаты в этом разделе в Makefile.PL:

# inserted by Dist::Zilla::Plugin::CheckBin 0.008
use Devel::CheckBin;
check_bin('unzip');

Проблема заключается в том, что тесты не выполняются во FreeBSD (и, возможно, на других платформах, я тестирую только под Linux и Darwin): http://matrix.cpantesters.org/?dist=Qiime2-Artifact+0.10.5 И, похоже, проблема в распаковке, по-видимому, двоичного файла нет, или, по крайней мере, я могу сказать, что выполнение 'unzip' возвращает ненулевое значение.

1) Наивный вопрос: распаковка не часто доступно в BSD или есть другое объяснение?

2) Более важный вопрос: почему модуль CheckBin не препятствует установке / тестированию? Или он работает, и бинарный файл действительно есть, и мне чего-то не хватает еще ?

Спасибо за любой совет / руководство.

[1] Я проверил некоторые Perl модулей, чтобы избежать непосредственного выполнения распаковки, но ни один из них не предоставлял весь набор функций (таких как конвейерная обработка для вывода одного текстового файла архива) или необходимой производительности.

1 Ответ

1 голос
/ 30 января 2020

С драгоценными намеками, полученными от всех вас (особая благодарность @Grinnz), получается, что:

  • unzip обычно встречается в BSD, но корабли с другим вкусом
  • CheckBin действительно работал, это просто сам двоичный файл, ведущий себя неожиданным образом (в частности, если он вызывается с ненулевым состоянием, если вызывается, довольно раздражает, даже если не видим, я должен сказать)

Заключительный комментарий : - Archive::Zip хороший совет, но я не буду его принимать, так как инопланетные модули усложняются для установки под MacOS. Я мог бы передумать и просто положить их в миниконду, которая очень помогает в решении этой проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...