[devel] Policy по упаковке модулей Node.js

Vitaly Lipatov lav на altlinux.ru
Вт Мар 3 20:37:27 MSK 2020


Alexey Shabalin писал 3.3.20 20:01:
...
>> А вот пакеты для nodejs, использующие нативные библиотеки, паковать 
>> нужно обязательно, иначе невозможно обеспечить сборку бинарной части 
>> такого пакета.
> 
> Что имеется ввиду под "нативные"? библиотеки на c/c++ ?
Да.

> Если да, то почему в качестве пример выбран node-webpack, в нем нет
> бинарных библиотек.
Обновлю примеры. У меня пока не было хороших примеров :)

> 2) Как использовать эти пакеты (sass, node-gyp) при сборке своих 
> пакетов?
> Я пока другого способа, как в %prep сделать симлинки, не придумал:
> %prep
> %setup -q
> %patch -p1
> ln -sf %nodejs_sitelib/node-gyp node_modules/node-gyp
> ln -sf %nodejs_sitelib/node-sass node_modules/node-sass
> ln -sf %nodejs_sitelib/npm node_modules/npm
Зависит от того, как они используются. В идеале лучше не делать ссылки.

> Получается не совсем удобная схема.
> Вот собираю я grafana.
> запустил в своём бранче
> yarn install --pure-lockfile
> в получившемся node_modules поудалял node-sass, node-gyp, что бы потом
> в %prep сделать симлинки на  системные.
> Может есть рекомендации, как это сделать лучше?
Я предлагаю собирать любым способом, чтобы стало понятно, как этом можно 
сделать удобно.

Из изложенного такие выводы:
1. не должны требоваться симлинки в node_modules, node и так отлично 
загрузит эти модули, а скрипты — запустят команды (node-gyp и npm)
2. удаление ненужных модулей сделать важно, а в случае, если там 
бинарники — и необходимо


-- 
С уважением,
Виталий Липатов,
ALT Linux Team


Подробная информация о списке рассылки Devel