[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