From: "Alexey I. Froloff" <raorn@immo.ru> To: ALT Devel discussion list <devel@lists.altlinux.org> Subject: [devel] ruby, ruby, ruby... Date: Thu, 10 Nov 2005 02:10:21 +0300 Message-ID: <20051109231021.GA16442@hell.immo.ru> (raw) [-- Attachment #1: Type: text/plain, Size: 3207 bytes --] (Извините за несколько сумбурное изложение - два часа ночи среды ;-) Некоторое довольно продолжительное время мы с kas'ом общались в жабере на тему ruby, rpm и Сизифа. Ситуация складывается примерно следующая: Кирилл хочет (поправь меня если ошибаюсь) собрать ruby1.8, ruby1.9 и возможно ruby1.6/1.7 в Сизиф с возможностью одновременной установки разных версий. Проблема с зависимостями. Пакет с модулем называется ruby1.x-module-NAME, предоставляет зависимости ruby(NAME) и ruby1.x(NAME). Некая Софтина хочет модули, допустим foo и bar. Эти модули есть для 1.8 (ruby1.8-module-foo, ruby1.8-module-bar) и 1.9 (ruby1.9-module-foo, ruby1.9-module-bar). От версии ruby не зависит, в зависимостях стоят ruby(foo) и ruby(bar), без версий. Таким образом получается, что зависимости (с точки зрения rpm/apt) могут быть удовлетворены устанвкой: 1. ruby1.8-module-foo и ruby1.8-module-bar 2. ruby1.8-module-foo и ruby1.9-module-bar 3. ruby1.9-module-foo и ruby1.8-module-bar 4. ruby1.9-module-foo и ruby1.9-module-bar Из них рабочих вариантов - только 1. и 4., при условии что используется /usr/bin/ruby нужной версии. Таким образом этот вариант автоматически отпадает. Если пакет с модулем предоставляет только версионную зависимость, нужна версионная же зависимость на /usr/bin/ruby1.x с заменой шебанга. Работать будет только одна версия ruby и при переезде на новую версию ruby нужно пересобирать ВСЁ что от ruby зависит, либо всё что от ruby зависит и не является модулем тоже придётся дублировать для всех поддерживаемых веток. Это всё вариации на тему Питона и его Задницы (для всех) и тоже по всей видимости отпадает. Я предлагаю третий вариант (раз уж так хочется держать несколько версий ruby если не в системе, то в репозитории). Все модули автоматически зависят от libruby1.x (либо через SONAME, либо через каталог %ruby_sitelibdir). libruby разных веток между собой конфликтуют. Таким образом нельзя одновременно установить в систему ruby1.8-module-foo и ruby1.9-module-foo, но можно полностью заменить ruby1.8 на ruby1.9 при наличии параллельных сборок всех модулей. Ну а модули собираются автоматически из чего-то типа kernel cvs под все поддерживаемые в репозитории ветки ruby. Остаётся открытым вопрос, что же делать с теми, кто не является ни модулем, ни скриптом, но завязан на libruby.so.X.Y? Сейчас это vim, weechat и eruby (не знаю насколько последний в этом списке уместен). Пока этот список маленький, но никто не знает что будет дальше. Как один из вариантов, одна ветка об'является "основной", -devel пакет из этой _и только из этой_ ветки алиасится на ruby-devel, с которым собираются все кто этого хочет. Или даже так - "остновная" ветка ruby не имеет версии в имени пакета. При смене "основной" ветки, старая и новая пересобираются одновременно примерно с такими строчками с spec'е (1.8 -> 1.9): Name: ruby1.8 Obsoletes: ruby < %version-%release Name: ruby Obsoletes: ruby1.9 < %version-%release Только боюсь apt скорее предложит снести всё что хочет старый libruby.so.X.Y, чем заменить ruby на ruby1.8... У кого-ньдь есть мысли по этому поводу? -- Regards, Sir Raorn. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --]
next reply other threads:[~2005-11-09 23:10 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2005-11-09 23:10 Alexey I. Froloff [this message] 2005-11-10 0:36 ` Vitaly Lipatov 2005-11-10 6:14 ` Alexey I. Froloff 2005-11-10 7:02 ` Kirill A. Shutemov 2005-11-10 21:33 ` Vitaly Lipatov 2005-11-10 22:03 ` [devel] Re: ruby.ruby.ruby Michael Shigorin 2005-11-11 6:21 ` [devel] ruby, ruby, ruby Alexey I. Froloff 2005-11-11 7:53 ` Kirill A. Shutemov 2005-11-10 6:58 ` Kirill A. Shutemov 2005-11-10 7:05 ` Alexey I. Froloff
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20051109231021.GA16442@hell.immo.ru \ --to=raorn@immo.ru \ --cc=devel@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git