[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