[devel] libdnet name clash with AC_PATH_XTRA

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Сб Окт 19 19:24:53 MSD 2002


Hello!

Обнаружил в пересобранных пакетах bbpager, bbsload в BuildRequires пакет
libdnet-devel, которого они сроду не требовали. Затягивает его, как
выяснилось, кусок стандартного макроса autoconf AC_PATH_XTRA, который
ищет там функцию dnet_ntoa (с комментарием, что это нужно для работы с
DECnet на Ultrix). Там он ее, естественно, не находит (поэтому в X_LIBS
и в зависимости бинарного пакета libdnet не попадает), но в
BuildRequires пакет libdnet-devel добавляется.

Весьма вероятно, что этим макросом пользуются очень многие программы,
поэтому BuildRequires во многих пакетах будет засорен.

Предложение: проигнорировать для пакета libdnet-devel запросы к
/usr/lib/libdnet.so. Если пакет действительно использует libdnet-devel,
он будет использовать и файлы заголовков, и libdnet-devel попадет в
BuildRequires.

Предлагается добавить в пакет libdnet-devel файл
/etc/buildreqs/files/ignore.d/libdnet-devel следующего содержания:

^/usr/lib/libdnet.so$
^/usr/lib/gcc-lib/.*/libdnet.so$

Первая строка, думаю, понятна, а вот по поводу второй строки требуются
пояснения. gcc3.2-3.2.1-alt0.4 по каким-то причинам (мне непонятным,
если кто знает - объясните, пожалуйста) обращается к /usr/lib, используя
путь "/usr/lib/gcc-lib/i586-alt-linux/3.2.1/../../..", и передает ld
опцию "-L/usr/lib/gcc-lib/i586-alt-linux/3.2.1/../../..". Поэтому
обращение к libdnet.so фиксируется в strace под именем
"/usr/lib/gcc-lib/i586-alt-linux/3.2.1/../../../libdnet.so"; поскольку
компоненты этого имени зависят от версии gcc, приходится писать ".*".

-- 
Sergey Vlasov



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