[sisyphus] I: rubygems and ruby-rails

Mikhail Yakshin =?iso-8859-1?q?greycat_=CE=C1_altlinux=2Eru?=
Чт Сен 1 13:31:34 MSD 2005


Alexey I.Froloff wrote:
> * Mikhail Yakshin <greycat@> [050901 10:02]:
> 
>>>Ещё rubygems позволяет установить несколько версий однго пакета -
>>>это тоже не нужно в нормалььной системе.
>>
>>rpm тоже позволяет. Даже apt, с allow duplicate. И что теперь? %)
> 
> Это не совсем штатное поведение.  Миш, не надо передёргивать, ты
> же меня прекрасно понял ;-)

Ну и в rubygems это не совсем штатное... Я не издеваюсь, я на самом деле 
не очень понимаю, о чем ты... Ну, есть такая фигня - но она и там, и 
там... Тебя смущает, что команда install в apt делает по умолчанию 
апдейт пакета, а в gem - ставит новый, а апдейт делается отдельной 
командой?.. Ну, есть и такая фигня - по разному они называются, но 
суть-то одна...

> У нас уже есть один пакетный менеджер, у него есть своя база.

Пакетные менеджеры pear, cpan, tex-овских репозиториев и т.п. у нас 
есть, живут и работают более менее. Это почему-то ни у кого протестов не 
вызывает. Возможность быстро поставить в систему какие-то внешние пакеты 
этих репозитариев, если они не опакечены - чем плохо, когда она есть? У 
пользователя есть такая возможность - использовать ее, разумеется, на 
свой страх и риск. В идеале - он ее не будет использовать и все будет из 
rpm.

 > Зачем вводить дополнительную сущность?  Тем более что все
 > зависимости обрабатываются на этапе установки модуля.

Затем, что отрывать ее бывает сложно, неприятно и чревато сломанными 
модулями в результате.

> Если так хочется, можно нарисовать gem2rpm, который из .gem'а
> ("бинарного") сделает честный rpm пакет, в котором файлы лежат на
> своих местах...

Уже нарисовал. gem2spec называется, думаю, куда его выложить. Ты первое 
письмо прочитал?..

>>>Лучше из gem'ов собирать честные rpm пакеты, а метод requre_gem
>>>переписать чтобы работал как require.
>>
>>Зачем проделывать дважды работу, уже проделанную тем, кто собирал gem? 
> 
> А не надо дважды - надо просто правильно использовать результаты
> проделаной кем-то работы.

Так я это и предлагаю. Берется gem, делается gem2spec, получаем спек, 
вписываем гордо свое имя в ChangeLog и собираем rpm. Что в этом-то не 
устраивает? О чем мы спорим?

>>Такие радикальные меры как "поотрывать gem" - это сложно и чревато, 
> 
> Посмотри на досуге на rbot.  Непатченый он у меня отказался
> работать то ли при установленом rubygems, то ли при
> неустановленом.

rubygems, который был в Сизифе до сих пор - очень древний. Надо 
попробовать с новым.

>>особенно, когда мы имеем в виду не один пакет, а как rails - под десяток 
>>пакетов, с не очень тривиальным графом зависимостей.
> 
> Вот брать эти зависимости из gemspec'а и выставлять в rpmspec
> (пока не появился rpm-build-ruby, который нам по всей видимости
> не светит до выхода ruby 1.9).

Так и делается. Прочитай все-таки начальное письмо целиком, а?..

> P.S. Кстати, про rdoc-документицию.  Как насчёт генерить
> документацию для ri (макрос %rdoc)?

А зачем?..

-- 
WBR, Mikhail Yakshin AKA GreyCat
ALT Linux [http://www.altlinux.ru] [xmpp:greycat на altlinux.org]



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