[devel] Упаковка модулей, написанных на скриптовых языках (was: [cyber] I: Autoimports/Sisyphus 20130625 packages: +138! (3153))

Dmitry Derjavin dd на altlinux.org
Пн Июл 1 12:34:40 MSK 2013


Sat, 29 Jun 2013, 13:21, Vitaly Lipatov:

> npm install хорош до тех пор, пока есть связь с Сетью, пока работает
> сайт, откуда берутся модули. Историю с jQuery, которые потеряли все
> модули, я ещё помню.
>
> Но не у всех есть подключение к интернету, и не все разворачивают свои
> проекты на нескольких своих серверах.
> Иногда нужно предоставить возможность множеству людей ставить готовое
> решение одной командой, из доверенного репозитория.

Именно! И важное ключевое слово здесь — «доверенного». Например, для
сертифицированных решений установка «из интернета» просто не годится.

> Или, проводя аналоги со статической линковкой, не хочется получить
> уязвимость в zlib, которую неизвестно кто статически влинковал в свой
> проект.

Угу, влинковал в libjpeg → libgd → php → apache в доме, который построил
Джек. А ещё были эпизоды компрометации крупных публичных репозиториев.
Того же GitHub, например.

Поэтому хочется иметь возможность пользоваться современными
инструментами, написанными на скриптовых языках, не выходя за пределы
доверенного репозитория, где весь код локально уже прошёл в том или ином
виде процедуру аудита.

> А что разработчики софта часто не понимают нужды
> дистрибутивостроителей, видно из того, что часто приходится исправлять
> установку, сборку, писать скрипты-обвязки и пр.

А ещё я думаю, что один из способов объяснить разработчиками
необходимость ответственного отношения к решению проблемы совместимости
— продолжать упаковывать софт в дистрибутивные пакеты.

Сейчас сама возможность упаковки затруднена, но существует. А если мы
ограничимся упаковкой npm, gem, pip и т. д. — боюсь, в отсутствие хоть
каких-то требований к взаимной совместимости «паутинные зависимости»
усложнятся настолько, что единственным выходом будет упаковка
репозиториев целиком. Типа, cpan-repo-*.rpm или как-то так.

-- 
~dd


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