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: Tue, 14 Mar 2006 14:03:01 +0300
Message-ID: <4416A2E5.6080901@altlinux.org> (raw)
In-Reply-To: <20060314103230.GN6144@pc152.sam-solutions.net>

Kirill A. Shutemov wrote:
>>>Если есть такая возможность, то почему бы вообще не разобрать gems по
>>>косточкам и не разложить в правильные директории (/usr/share/ruby/vendor_ruby/1.8/ 
>>>и т.п)? Оставить в /usr/lib/ruby/gems/1.8 только то, что нужно для
>>>require_gem (я так понял, что это /usr/lib/ruby/gems/1.8/specifications/*).
>>
>>Например - потому, что gem тогда как package manager не будет его
>>видеть. Есть масса штуковин, которые работают уже в этой инфраструктуре.
>>Они ищут файлы по путям, отсчитывая их от базовый директории gem'а. Они
>>обращаются к Gem'у (а у него довольно развесистый API), с тем, чтобы
>>что-то узнавать о пакетах и потом действительно пользоваться этой
>>информацией. Автоматические тесты, что есть в gem'е - они будут искаться
>>именно в поддиректории test и т.п., причем, учитывая, что один пакет
>>зависит от другого - важно и их взаимное расположение и т.д. и т.п.
> 
> Пропатчить rubygems, чтоб он смотрел в правильные директории это очень
> сложно?

Во-первых - даже rubygems - сложно. Во-вторых, смотрят не rubygems, а
пакеты.

>>Вообще на самом деле - есть еще одно - простейшее, в общем-то, решение:
>>включить rubygems по умолчанию (ruby -rubygems). После этого начинают
>>автоматически работать require 'пакет' как синоним require_gem 'пакет'
>>(в дополнение к require 'файл') и остальные вещи, которые доступны в Gem
>>enviroment. При засовывании 'rubygems' в RUBYOPTS - всё, по сути, что
>>может не устраивать "противников" gem - это некий overhead в виде
>>микросекунд, которые требует загрузка этого самого Gem environment.
>>Может правда так сделаем и закроем вопрос?
> 
> Помимо overhead'а с загрузкой rubygems, повышается вероятность словить
> rubygems-специфичную багу.

Это да. Но - см. мое другое письмо - для любителей чистого ruby без gems
- можно просто вынести его в пакет у package manager'а - и если не
пользуешься - не ставишь сам пакет rubygems - никаких "-rubygems" не имеешь.

> Например, фактически, сильно увеличивается $: за
> счёт rubygems директорий, что не способствует безопасности.

Неправда ваша:

$ irb
irb(main):001:0> a = $:; require 'rubygems'; b = $:; p b - a
[]
=> nil

LOADPATH на самом деле не меняется. Хотя, конечно, начинают подгружаться
модули gem - но - извините - разве не этого вы хотели, когда просили,
чтобы require умел эмулировать require_gem?

-- 
WBR, Mikhail Yakshin


  reply	other threads:[~2006-03-14 11:03 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
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 [this message]
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=4416A2E5.6080901@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