On Mon, 17 Feb 2020, Vladimir D. Seleznev wrote: > On Fri, Feb 14, 2020 at 03:00:24AM +0300, Vitaly Lipatov wrote: > > Скрылевъ Малъ писал 13.2.20 23:34: > > ... > > > Заметки к этой таблице таковы, как из неё видно, во-первых для > > > некоторых языков программирования используются несколько разных > > > хранилищ, так для ruby есть три разных хранилища основное rubygems, и > > > специфические puppet и ansible, для python это pypi и conda, для r это > > > cran и тот же conda, для perl это cpan и metacpan, для swift это > > > родной swiftpm и дополнительные carthage, cocoapods, ну и чемпион js, > > > у которого налюдается настоящий бардак: например для системы node как > > > правилно используется хранилище npmjs, но пакеты его так устроены, что > > > могут быть написаны на чистом js, и ноды и не требовать, это явно > > > прописывается в требованиях движка, пакеты хранилища atom > > conda это такой облачный rpm, там нет ничего уникального, как я понял, > > поэтому странно было бы на него ориентироваться. > > Пакеты npmjs паковать в rpm было бы неправильно, потому что они уже > > упакованы. А вот пакеты для nodejs, использующие нативные библиотеки, > > паковать нужно обязательно, иначе невозможно обеспечить сборку бинарной > > части такого пакета. > > > > Но префикс rpm-пакета должен определяться не хранилищем, а местом, куда > > он будет положен в файловой системе (местом поиска — откуда будут взяты > > его файлы, если угодно). И ассоциироваться такой префекс должен не с > > хранилищем (то есть с сайтом, который и поменяться может), а с названием > > экосистемы для пакетов, среды их исполнения. > > Например, так сделано для ruby, python, perl, php. Возможно, кому-то > > показалось, что это названия языков. Но зачастую такие модули написаны > > на C, а не на php :) > > Именно! Префикс имени пакета для языковых систем показывает, расширение > какого языка поставляет этот пакет. И совершенно не важно, из какого > хранилища приехал этот пакет. Ну бывают такие язык-специфичные системы управления пакетами, которые видят, что уже стоит из пакетов из дистрибутива в системе, и при необходимости сам доставляют ещё какие-то. Тогда может иметь смысл как-то отмечать, что наш пакет будет этой системой понят. Не уверен, что название яхык-специфичной системы управления пакетами всё же совпадёт с названием репозитория. Например, есть hackage, stackage (на Haskell), а пакетный менеджер, наверное, в основе один и тот же... -- Best regards, Ivan