[devel] I: xulrunner-1.8.0.4 носит свою копию cairo

Konstantin Pavlov =?iso-8859-1?q?pavlov=2Ekonstantin_=CE=C1_gmail=2Ecom?=
Вт Окт 30 04:37:41 MSK 2007


On 30/10/2007, Alexey Tourbin <at.altlinux.ru> wrote:
> On Tue, Oct 30, 2007 at 03:07:44AM +0300, Dmitry V. Levin wrote:
> > xulrunner-1.8.0.4 носит свою старую копию cairo:
> >
> > $ fgrep -c cairo_font_type_t /usr/include/cairo/cairo.h /usr/src/RPM/BUILD/xulrunner-1.8.0.4/mozilla/gfx/cairo/cairo/src/cairo.h
> > /usr/include/cairo/cairo.h:5
> > /usr/src/RPM/BUILD/xulrunner-1.8.0.4/mozilla/gfx/cairo/cairo/src/cairo.h:0
> >
> > $ rpmquery libcairo-devel
> > libcairo-devel-1.4.10-alt1
> > $ grep 'cairo.*1\.' /usr/src/RPM/BUILD/xulrunner-1.8.0.4/mozilla/gfx/cairo/README
> >   cairo 1.0.2
> >
> > Если убрать каталог
> > /usr/src/RPM/BUILD/xulrunner-1.8.0.4/mozilla/gfx/cairo, то файл
> > nsSVGCairoCanvas.cpp компилируется.
>
> Ужос.  У меня есть такая небольшая личная практика при сборке каких бы
> то ни было пакетов: первым дело удалять все известные на данный момент
> дублирующиеся куски кода.  Типа
>
> %prep
> %setup -q
> rm -rv mozilla/gfx/cairo
>
> Это не всегда удобно, потому что при сборке кто-то хочет как минимум
> "заходить" в этот каталог, и поэтому после удаления приходится делать
> что-то вроде
>
> mkdir -p mozilla/gfx/cairo
> echo 'all:' >mozilla/gfx/cairo/Makefile.am
>
> Это можно обойти и другими способами, без создания каталога с фиктивным
> Makefile'ом.
>
> Но в принципе эта практика себя окупает.  Так что я советую всем:
> на стадии %prep ВЫ ОБЯЗАНЫ УДАЛИТЬ любой дублирующийся системный код.

Есть тут у меня один возможный upstream, зовется handbrake.
Чуваки невменяемы настолько, насколько может быть невменяем
занимающийся мультимедией программист и по совместительству
пользователь Mac OS X.

Так вот, они несколько патчат многие системные библиотеки, такие как
ffmpeg, mpeg4ip, dvdread, dvdcss, dca, что-то там еще. И все это
таскают с собой в виде .a.

Их мотивация такова, что эти патчи добавляют key features их продукта
и без них особого смысла от него нету. В принципе они правы и половина
их патчей никогда не пройдет в upstream этих библиотек.

Впрочем, паковать ЭТО я все равно пока не собираюсь; это так, к слову
о "таскать с собой".


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