From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 17 Dec 2002 17:17:04 +0300 From: Alexey Tourbin To: devel@altlinux.ru Message-ID: <20021217141704.GA7688@ungrund> Mail-Followup-To: devel@altlinux.ru References: <20021120155935.GG1370@sam-solutions.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="qMm9M+Fa2AknHoGS" Content-Disposition: inline In-Reply-To: <20021120155935.GG1370@sam-solutions.net> Subject: [devel] Re: I: Ruby packages 1.7.3-alt7 (IMPORTANT) -- perl FHS Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: --qMm9M+Fa2AknHoGS Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit 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 --qMm9M+Fa2AknHoGS Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQE9/zHgfBKgtDjnu0YRAi5lAKDSchaVPogcMc6TMbvXma9aZT7hCQCfWdCd o1idB18OArkYM0TY+A2dbjA= =Buu1 -----END PGP SIGNATURE----- --qMm9M+Fa2AknHoGS--