[devel] Зависимости ruby-libs и libruby и новая политика 2.0

Скрылевъ Малъ majioa на yandex.ru
Вт Фев 5 20:13:04 MSK 2019



05.02.2019, 19:35, "Vladimir D. Seleznev" <vseleznv на altlinux.org>:
> On Tue, Feb 05, 2019 at 05:44:09PM +0300, Скрылевъ Малъ wrote:
>>  01.02.2019, 09:40, "Vitaly Chikunov" <vt на altlinux.org>:
>>  > On Mon, Jan 28, 2019 at 10:45:27PM +0300, Скрылевъ Малъ wrote:
>>  >>  > Гемы и "модули по старинке" не одним и тем-же require подцепляются?
>>  >>  > Следовательно, нет никакой разницы "что именно они представляют" и
>>  >>  > в какие папки попадает.
>>  >>
>>  >>  Одним и тем же require, однако side_ruby модули не видны в дереве гемов. Так что разные.
>>  >
>>  > Если не одним и тем же require, то разные, а если одним и тем же, то не
>>  > важно где они лежат.
>>  >
>>  > Но, я хочу развить эту мысль:
>>  >
>>  >>  Было бы логично, чтоб в префиксе указывалось то к чему относится модуль.
>>  >>  Например, модуль для руби скорее всего относится к руби, а не к гему.
>>  >>  Модуль для rails к rails, а не к gem или rubyapps.
>>  >
>>  > Так как gem-ы это всего лишь вид паковки, то (согласно моей идее) его
>>  > нужно добавлять не как префикс, а как суффикс к названию пакета.
>>  >
>>  Принципиально я не против суффикса -gem. Однако есть 2 замечания:
>>
>>  первое это то, что изменение префикса на суффикс, додаст бардака в принципы формирования пакетов, хотя бы потому, что в подсистемах перла и пифона, по сю пору используются префиксы.
>>
>>  второе объясню на примере:
>>  есть вот пакет libyajl из исходника yajl, будет логически конфликтовать в похожим на него бисером с таким же названием и суффиксом "-gem".
>>
>>  > Наподобие того как есть суффиксы -static -devel и т.д. Например
>>  > ruby-memcached-gem - значит этот пакет упадет в дерево гемов.
>>  >
>>  > В таком варианте остается желанный префикс ruby, не меняется полиси в
>>  > этом отношении и добавляются отсылки к gem.
>>
>>  Собственно вот проект документа новой политики руби, о котором была речь на совещании:
>>
>>  https://www.altlinux.org/Ruby_Policy_2.0
>
> Вместо префикса gem- и суффикса -gem для наглядности лучше использовать
> префикс rubygem-. Нерубишникам будет понятно, что пакет относится к
> руби, рубишники увидят, что собирается модуль из gem'ов.
>

rubygem- очень длинно. Понятие "Gem" само по себе достаточно уникальное явление в мире разработки,чтобы его с чем-то можно было спутать, а узнать о значении оного не очень проблема.

> По политике.
> Если в путях модулей, собранных из RubyGems есть версия Ruby
> (/usr/lib/ruby/gems/2.5.0/), то значит, что эти модули жёстко зависят от
> этой версии. Если у нас не предполагается держать несколько версий руби
> в репозитории/системе, то, пожалуй, помимо зависимостей в RubyGems на
>
>     requires ruby >= 2.5.0
>
> надо добавлять конфликты
>
>     conflicts ruby >= 2.6.0
>

там ставится жесткая зависимость на ruby(2.5.0)

> а также писать эту версию в префиксе имени модуля:
> rubygem2.5.0-modulename. Хотя тут надо спросить совета у более опытных
> участников команды devel@, как в случае наличия версии интерпретатора в
> путях модулей действовать.
>
> --
>    С уважением,
>    Владимир Селезнев
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel



-- 

Малъ Скрылевъ
about.me/majioa



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