ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Mikhail Yakshin <greycat@altlinux.org>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: Re: [devel] ruby-rake и gems
Date: Mon, 13 Mar 2006 22:16:03 +0300
Message-ID: <4415C4F3.1080803@altlinux.org> (raw)
In-Reply-To: <20060313181824.GA12280@basalt.office.altlinux.org>

Dmitry V. Levin wrote:

>>Если в двух словах - то это такой менеджер пакетов и стандарт упаковки 
>>всевозможных расширений для Ruby. Ближайшие аналоги - cpan для perl, 
>>pear для php, egg для python.

> Спасибо.
> 
> Если проводить аналогию с CPAN, то ни у нас, ни в дистрибутивах, за
> которыми я наблюдаю, не предпринимается попытка подменить CPAN'ом нативный
> менеджер пакетов.  CPAN просто используется как репозиторий, из которого
> пакуются пакеты.  При этом пакет perl-CPAN в Сизифе тоже есть, который
> теоретически позволяет пользоваться CPAN'ом в обход rpm.
> 
> Чем принципиально отличается подход к gems от подхода к CPAN?

Принципиально - ничем. Пакет perl-CPAN по той роли, которую он играет - 
полностью аналогичен пакету rubygems. Продолжая аналогии - /usr/bin/cpan 
- это /usr/bin/gem и т.п. Речь и идет о том, чтобы "оборачивать" взятые 
из репозитория gems пакеты в rpm, так же, как это делается для CPAN.

Разница начинается в деталях. Механизм gems - более высокоуровневый, чем 
CPAN. В gem включается информация о зависимостях, причем - например - 
зачастую не в декларативном виде, а в процедурном. В ruby есть метод 
"require", позволяющий подключить содержимое какого-то файла. В gems 
предлагается ему замена - метод "require_gem", который подключает нужные 
модули не пофайлово, а одной командой позволяет подключить сразу все, 
что нужно, причем еще запросить файлы из пакета какой-то определенной 
версии и т.п. автоматика.

Внутренняя структура пакета, соответственно, тоже более сложная: в 
базовой директории (/usr/lib/ruby/gems/1.8/gems/%name-%version) лежит 
обычно дерево из:

bin
configs
doc
examples
lib
test

и еще того, что создатель сочтет нужным туда положить. Очевидно, 
конечно, что это бардак - что документация и примеры лежат в %_libdir, 
но такой вот стандарт и если его рушить и, скажем, оторвать упаковку gem 
у какого-то одного пакета - надо будет рушить и все, его использующие.

Сейчас идет очередной раунд прений на тему, как нам с этим чудом 
вражеской техники быть. В Сизифе около 70 пакетов, судьба которых от 
этого может косвенно зависеть.

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


  reply	other threads:[~2006-03-13 19:16 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-13 14:35 Mikhail Yakshin
2006-03-13 14:42 ` Alexey I. Froloff
2006-03-13 15:05   ` Mikhail Yakshin
2006-03-13 15:53     ` Alexey I. Froloff
2006-03-13 14:43 ` Kirill A. Shutemov
2006-03-13 15:24   ` Mikhail Yakshin
2006-03-13 15:35     ` Vitaly Ostanin
2006-03-13 15:41     ` Kirill A. Shutemov
2006-03-13 16:32       ` Mikhail Yakshin
2006-03-13 16:38         ` Alexey I. Froloff
2006-03-15  6:43         ` Michael Shigorin
2006-03-15 10:51           ` Mikhail Yakshin
2006-03-15 11:07             ` Денис Смирнов
2006-03-15 11:34               ` Grigory Batalov
2006-03-15 13:00                 ` Денис Смирнов
2006-03-15 12:39               ` Mikhail Yakshin
2006-03-15 13:02                 ` Денис Смирнов
2006-03-15 11:28             ` Alexey I. Froloff
2006-03-15 11:30             ` Alexey I. Froloff
2006-03-15 12:23             ` Michael Shigorin
2006-03-15 12:30               ` Alexey I. Froloff
2006-03-15 12:48             ` [devel] gems vs cpan Dmitry V. Levin
2006-03-13 15:08 ` [devel] ruby-rake и gems Vitaly Ostanin
2006-03-13 15:36   ` Mikhail Yakshin
2006-03-13 16:13     ` Vitaly Ostanin
2006-03-13 16:55 ` Dmitry V. Levin
2006-03-13 17:58   ` Mikhail Yakshin
2006-03-13 18:18     ` Dmitry V. Levin
2006-03-13 19:16       ` Mikhail Yakshin [this message]
2006-03-14  8:00         ` Kirill A. Shutemov
2006-03-14  8:37           ` Mikhail Yakshin
2006-03-14  8:45             ` Led
2006-03-14  9:38               ` Kirill A. Shutemov
2006-03-14 10:20                 ` Mikhail Yakshin
2006-03-14 10:32                   ` Kirill A. Shutemov
2006-03-14 11:03                     ` Mikhail Yakshin
2006-03-14 11:16                       ` Kirill A. Shutemov
2006-03-14 13:36                         ` Mikhail Yakshin
2006-03-14 14:06                           ` Kirill A. Shutemov
2006-03-14  8:49             ` Alexey I. Froloff
2006-03-14 10:06               ` Mikhail Yakshin
2006-03-14 13:06                 ` Alexey I. Froloff
2006-03-14 13:42                   ` Mikhail Yakshin
2006-03-15  9:26                     ` Alexey I. Froloff
2006-03-15 11:05                       ` Mikhail Yakshin
2006-03-15 11:45                         ` Alexey I. Froloff
2006-03-15 11:16                       ` Alexey I. Froloff
2006-03-14 10:17           ` Vitaly Ostanin
2006-03-14 10:29             ` Mikhail Yakshin
2006-03-14 10:36               ` Kirill A. Shutemov
2006-03-14 10:39               ` Alexey I. Froloff
2006-03-14 10:51                 ` Vitaly Ostanin
2006-03-14 15:35                   ` Dmitry V. Levin
2006-03-14 11:10                 ` Mikhail Yakshin
2006-03-14 13:19                   ` Alexey I. Froloff
2006-03-14 13:58                     ` Kirill A. Shutemov
2006-03-14 14:51                     ` Vitaly Ostanin
2006-03-14 15:37                       ` Alexey I. Froloff
2006-03-14 15:41                         ` Vitaly Ostanin
2006-03-14 15:51                       ` Mikhail Yakshin
2006-03-14 16:04                         ` Vitaly Ostanin
2006-03-14 16:16                           ` Alexey I. Froloff
2006-03-14 16:18                           ` Vital Khilko
2006-03-14 18:55                             ` [devel] ruby-rake � Vitaly Ostanin
2006-03-15  7:47                               ` Vital Khilko
2006-03-15  8:08                               ` Damir Shayhutdinov
2006-03-14 16:15                         ` [devel] ruby-rake и gems Alexey I. Froloff
2006-03-14 19:05                           ` Vitaly Ostanin
2006-03-15  8:30                         ` [devel] [OT] Re: ruby-rake и gems -> vendor message to ruby-dev, anyone? Michael Shigorin
2006-03-15 11:19                           ` Mikhail Yakshin
2006-03-15 11:19                             ` Genix
2006-03-15 11:41                               ` Mikhail Yakshin
2006-03-14 10:56               ` [devel] ruby-rake и gems Vitaly Ostanin
2006-03-14 13:43                 ` Alexey I. Froloff
2006-03-14 15:00                   ` Vitaly Ostanin
2006-03-14 15:40               ` Dmitry V. Levin
2006-03-15  8:23               ` Michael Shigorin
2006-03-15 13:19                 ` Aleksey Avdeev

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=4415C4F3.1080803@altlinux.org \
    --to=greycat@altlinux.org \
    --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