[devel] Re: I: Ruby packages 1.7.3-alt7 (IMPORTANT) -- perl FHS
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_turbinal=2Eorg?=
Вт Дек 17 17:17:04 MSK 2002
On Wed, Nov 20, 2002 at 05:59:35PM +0200, Alexander Bokovoy wrote:
> 2. Структурные изменения путей поиска модулей теперь позволяют этой сборке
> Ruby считаться полностью соответствующей File Hierarchy Standard. Дело
> в том, что в обычном Ruby предполагается следующая структура каталогов
> для модулей:
>
> /usr/lib/ruby/{версия}/ -- зависящие от версии модули на Ruby
> /usr/lib/ruby/{версия}/{архитектура} -- бинарные модули для этой версии
> /usr/lib/ruby/site_ruby/{,версия} -- локальные модули (общие для
> всех версий и зависящие от конкретной версии)
> /usr/lib/ruby/site_ruby/{версия}/{архитектура} -- бинарные локальные
> модули для этой версии
>
> Такая схема нарушает FHS в двух вещах:
>
> 1. Все, независящее от архитектуры, должно быть расположено в
> /usr/share
Хочу отметить следующее: по части перла, например, "всё, независящее от
архитектуры" может трактоваться по-разному. Архитектурно-зависимые
перловые библиотеки состоят из нескольких частей:
1) plaintext *.pm файл, который вызывает DynaLoader;
1a) в этом файле находится документация в формате pod;
2) *.so библиотека, которую загружает DynaLoader.
При таком раскладе первый файл является полностью архитектурно
независимым, его можно с успехом шарить по сети и т.п. Однако принято,
чтобы оба они лежали в каталоге типа i386-linux.
> 2. Специфические для конкретной машины компоненты должны находится в
> /usr/local.
>
> Кроме того, эта схема не позволяет четко разделить локальные добавления
> от поставляемых тем или иным производителем дистрибутива решений. В
> результате получается мешанина файлов, осложняющая обновление пакетов.
>
> Новая сборка Ruby (1.7.3-alt7) исправляет эти недостатки следующим
> образом:
>
> 1. Все архитектурно-независимые компоненты Ruby размещаются теперь в
> /usr/share/ruby, все архитектурно-зависимые -- в /usr/lib/ruby
>
> 2. Все локальные добавления будут производится в
> /usr/local/{lib,share}/ruby
>
> 3. Все поставляемые в рамках дистрибутива модули будут размещаться в
> специфичных для производителя дистрибутива поддеревьях
> /usr/{lib,share}/ruby/vendor_ruby/, по аналогии с новым Perl 5.8
Противоречит ли FHS использование поддеревьев типа vendor_ruby?
4.7.1
Applications may use a single subdirectory under /usr/lib. If an
application uses a subdirectory, all architecture-dependent data
exclusively used by the application must be placed within that
subdirectory.
> 4. Порядок поиска в обозначенных директориях таков:
> /usr/local/lib/ruby/{версия}/{архитектура}
> /usr/local/share/ruby/{,версия}
> /usr/lib/ruby/vendor_ruby/{архитектура}
> /usr/share/ruby/vendor_ruby/{,версия}
> /usr/lib/ruby/{версия}/{архитектура}
> /usr/share/ruby/{,версия}
>
> Теперь любые собираемые локально модули Ruby автоматически попадают в
> /usr/local, если они используют при сборке подсистему mkmf (100%
> модулей с RAA). Автоматически появляется новая feature: независящая от
> изменений пакетов в дистрибутиве локальная установка модулей с помощью
> rpkg: модули не затрагивают системное дерево каталогов Ruby.
--
WBR, Alexey Tourbin "He is a sane man who can have tragedy
BIOZAK Ltd., Russia in his heart and comedy in his head."
--G.K.Chesterton
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20021217/5d24c058/attachment-0001.bin>
Подробная информация о списке рассылки Devel