Упаковывая код nodejs, как я могу запретить lintian жаловаться на ./node_modules?

Мы столкнулись с этой проблемой при упаковке программного обеспечения, написанного на nodejs.

Поскольку мы не можем упаковать каждую и каждую зависимость в отдельности, нам нужно отправить каталог node_modules/ вместе с программой. Код установлен в usr/share/<project>/..., и это предупреждения (и ошибки), которые генерируют:

W: <project>: extra-license-file usr/share/<project>/node_modules/express/node_modules/mkdirp/LICENSE
E: <project>: wrong-path-for-interpreter usr/share/<project>/node_modules/request/node_modules/node-uuid/benchmark/bench.gnu (#!/opt/local/bin/gnuplot != /usr/bin/gnuplot)

Есть сотни из них.

Я понимаю, что все эти ошибки актуальны и значимы, но я не знаю, как избавиться от них без обмана и без упаковки каждой зависимости в отдельности. Есть ли еще один каталог в FHS, в котором каталог с мусором, такой как node_modules/, будет в порядке?

Мы также рассмотрели запуск npm install как часть сценария после установки, но решили мы не можем этого сделать (по соображениям безопасности и обслуживания)

4
задан 15 May 2013 в 16:38

1 ответ

Предупреждение / ошибки не имеют никакого отношения к тому факту, что вы устанавливаете их в каталог usr/share/<project>/node_modules. AFAICT, вы будете генерировать их там, где вы их устанавливаете.

Как в документах упоминается , предупреждения / ошибки Lintian могут быть отменены, чтобы заставить их замолчать. Создайте файл с именем <package>.lintian-overrides в каталоге debian исходного пакета. Это должно выглядеть примерно так:

<package> binary: wrong-path-for-interpreter *
<package> binary: extra-license-file *

Хотя файл дополнительной лицензии можно легко решить с помощью этого фрагмента для debian/rules:

override_dh_auto_install:
    find . -name "LICENSE" -delete
    dh_auto_install

Существует [ 117] инструмент , который автоматизирует запись переопределений Lintian. Его можно использовать так:

lintian -o <path/to/your/changes-file.changes> | \
      lintian-overrider --there-are-no-issues --source-dir <path/to/unpacked/source-tree>

Дополнительную информацию можно найти в в блоге автора .

0
ответ дан 15 May 2013 в 16:38

Другие вопросы по тегам:

Похожие вопросы: