[devel] Re: A: perl-HTML-* perl-libwww #@$#!

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Фев 4 17:11:20 MSK 2005


On Fri, Feb 04, 2005 at 10:37:48AM +0300, Anton D. Kachalov wrote:
> On Fri, Feb 04, 2005 at 01:53:55AM +0300, Alexey Tourbin wrote:
> > - для x86_64 макрос %_libdir раскроется в /usr/lib/lib64.
> а это что за... ? может, /usr/lib64? :)

Да. :)  

Кстати, вот есть каталог для компилируемых перловых модулей, сейчас это
%_libdir/perl5/{что-то там}.  Каким он должен быть на x86_64:
/usr/lib/perl5 или /usr/lib64/perl5?

Другими словами, я не понимаю, какой смысл придается каталогам /usr/lib
и /usr/lib64 в новом раскладе.

Например, в новом раскладе остается каталог /usr/lib/rpm.
Какая здесь логика?  Почему не в lib64, и не лучше ли переместить его
содержимое в /usr/share/rpm?

> > > Тогда для x86_64 нужно будет отдельно пересобирать только
> > > perl-HTML-Parser.
> это-то понятно, но пока можно оставить всё как есть и дождаться выхода
> нового перла, если в нём это зафиксят. В любом случае, в x86_64 системе
> два перла (64 & 32 bit) жить не могут - будут конфликтовать по perl-base (/usr/bin/*).

Зафиксят не в самом перле, а зафиксит maintainer перла. :)
Просто до последнего времени все перловые пакеты были более-менее
совместимы сверху вниз и снизу вверх вплоть до M22.  Если изменить
расклад по каталогам, то, как минимум, придется пересобрать всё перловое
хозяйство, и, кроме того, придумать, как "задним числом" нарушить
совместимость, чтобы обновилось "всё сразу", а не частично.

Короче, perl-5.10 -- просто хороший повод для этой миграции, т.к. в
любом случае придется пересобирать все бинарные модули, заодно можно
будет изменить расклад по каталогам и для noarch модулей.

Сейчас можно сделать так: в perl58.spec при конструировании каталогов
для модулей использовать не %_libdir, а %_prefix/lib.  Тогда noarch
пакеты будут полностью переносимы, а бинарные пакеты будут лежать в
разных каталогах, типа /usr/lib/perl5/i386-linux и
/usr/lib/perl5/x86_64-linux.

Попробуй вот этот патч (по сравнению со вчерашней сборкой перла).
Если пойдёт, я в следующей сборке так и сделаю.

--- RPM/SPECS/perl58.spec-	2005-02-02 09:09:22 +0000
+++ RPM/SPECS/perl58.spec	2005-02-04 14:03:55 +0000
@@ -4,7 +4,7 @@
 
 Name: perl
 Version: %major.%minor.%micro
-Release: alt3
+Release: alt3.1
 Epoch: 1
 
 %define sover %major.%minor
@@ -34,7 +34,7 @@ BuildRequires: libdb4.2-devel libgdbm-de
 %define perl_arch_os %perl_arch-%_os
 
 # skeleton
-%define privlib %_libdir/%name%major
+%define privlib %_prefix/lib/%name%major
 %define archlib %privlib/%perl_arch_os
 %define autolib %archlib/auto
 %define vendor_privlib %privlib/vendor_perl
@@ -44,7 +44,7 @@ BuildRequires: libdb4.2-devel libgdbm-de
 
 # site stuff is now used for local installations
 %define site_prefix /usr/local
-%define site_privlib %site_prefix/%_lib/perl%major/site_perl/%version
+%define site_privlib %site_prefix/lib/perl%major/site_perl/%version
 %define site_archlib %site_privlib/%perl_arch_os
 %define site_autolib %site_archlib/auto
 %define site_man1dir %site_prefix/man/man1
@@ -878,6 +878,9 @@ __EOF__
 # }}}
 
 %changelog
+* Fri Feb 04 2005 Alexey Tourbin <at на altlinux.ru> 1:5.8.6-alt3.1
+- fixed directory layout for x86_64
+
 * Wed Feb 02 2005 Alexey Tourbin <at на altlinux.ru> 1:5.8.6-alt3
 - applied upstream change #23565: MakeMaker's default MANIFEST.SKIP was broken
 - applied fix for suidperl/perlio exploit and buffer overflow (perlbug #33990)


> А ещё есть проблема с perl-Tk. Проблема с компиляцией pTk/mTk/imgXPM.c с опцией
> -Werror. Там, например, в строках 405 и 406:
> hPtr = Tcl_CreateHashEntry(&colorTable, (char *) color1, &found);
> Tcl_SetHashValue(hPtr, (char *) data);
> 
> imgXPM.c:405: warning: cast to pointer from integer of different size
> imgXPM.c:406: warning: cast to pointer from integer of different size
> imgXPM.c:454: warning: cast to pointer from integer of different size
> imgXPM.c:461: warning: cast from pointer to integer of different size
> imgXPM.c:483: warning: cast to pointer from integer of different size
> imgXPM.c:485: warning: cast from pointer to integer of different size
> 
> там есть ещё как минимум один такой же ущербный файл.

Значит хорошо, что -Werror включил.  По идее, некоторые warning'и нужно
приравнивать к ошибкам, тогда как другие -- совсем не обязательно.

Он и на i586 сейчас не собирается, из-за gcc3.4.  Буду чинить.

> Rgds,
> Anton
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20050204/080796c2/attachment-0001.bin>


Подробная информация о списке рассылки Devel