[sisyphus] thunderbird и seamonkey: дружба по soname'ам

Alexey Gladkov =?iso-8859-1?q?legion_=CE=C1_altlinux=2Eru?=
Вт Дек 13 04:38:02 MSK 2005


Artem пишет:
> # Add fake RPATH
> rpath="/$(printf %%s '%mozilla_home' |tr '[:print:]' '_')"
> export LDFLAGS="$LDFLAGS -Wl,-rpath,$rpath"
> 
> это в .spec от seamonkey содержится. или я опять неправильно понял? :-(
>

Если есть верхняя часть этого костыля, то нужно смотреть его ответную
часть в секции %install. Она там должна быть... что-то с chrpath.

Я не смог выкачать исходники этой морской макаки, но посмотрел на
бинарник и увидел ай-яй-яй:

[legion на legion seamonkey-1.0a]$ find -type f | while read f; do if
file "$f" |grep -qs "ELF"; then chrpath -l "$f"; fi  done | grep -v
/usr/lib/seamonkey| wc -l
82

[legion на legion seamonkey-1.0a]$ find -type f | while read f; do if
file "$f" |grep -qs "ELF"; then chrpath -l "$f"; fi  done | grep
/_______________________ |wc -l
72

2mike: У вас в продакшен системе есть такой каталог ? :)

Для сравнения:

[legion на legion firefox-1.5]$ find -type f | while read f; do if file
"$f" |grep -qs "ELF"; then chrpath -l "$f"; fi  done | grep -v
/usr/lib/firefox-1.5| wc -l
0

А дело в том, что в этой сбокре seamonkey ответная часть костыля
старая ... нужно вот так:

# Add real RPATH
rpath="/$(printf %%s '%firefox_prefix' |tr '[:print:]' '_')"
find "%buildroot/%firefox_prefix" -type f |
while read f; do
  %__file "$f" | grep -qs ELF || continue
  if chrpath -l "$f" | fgrep -qs "RPATH=$rpath"; then
    chrpath -r "%firefox_prefix" "$f"
  fi
done

Вот этот ай-яй-яй и пересекается с библиотеками thunderbird и
получается ой-ёй-ёй.

Кстати, спасибо вам за поднятую тему ... я нашёл багу в thunderbird.

-- 
Rgrds, legion



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