Страница 1 из 1

vlc-alien сборка, альтернативный каталог установки

Добавлено: 2011-04-12 10:58:37
sunjob
задача, модернизировать vlc.SlackBuild таким образом так, что бы установка было возможна в каталог по выбору
- /usr
- /usr/local
- /opt/vlc-xxx
ну или куда еще, так сказать "аналогично маковским программам", все при себе, не используя системных библиотек (по возможности), каталогов итд
библиотеки и кодеки линкуются статически

////////////////////////////////////////////////////////////////////////////////

использую alien-сборку
http://slackware.org.uk/people/alien/re ... vlc/build/

добовляю переменные
PREFIX=/opt/$PRGNAM-$VERSION

далее, в скрипте есть такое определение
VLCDEPSDIR="$TMP/tmp-$PRGNAM/vlcdeps"
каталог для временной установки библиотек, с которыми будет линковаться vlc

конфигурация всех библиотек примерно такая:
./configure \
--prefix=$VLCDEPSDIR/usr \
--libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}
тут все понятно, конфигурим и устанавливает соответственно во временный библиотечный каталог

но вот есть непонятки со следующими библиотеками

////////////////////////////////////////////////////////////////////////////////
### LIBVA ###

make_libva()
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--enable-static \
--enable-shared \

устанавливется все рано в необходимый каталог:
make install DESTDIR=$VLCDEPSDIR

может быть надо изменить на след?

./configure \
--prefix=$VLCDEPSDIR/usr \
--libdir=$VLCDEPSDIR/usr/lib${LIBDIRSUFFIX} \
--enable-static \
--enable-shared \

////////////////////////////////////////////////////////////////////////////////
### VPX
далее библиотека VPX

make_vpx()
{
./configure \
--disable-install-bins \
--disable-install-srcs \
--disable-install-libs \
--disable-debug-libs \
--enable-postproc \
$ARCHOPTS \
make -j${NUMJOBS} 2>&1 | tee $OUTPUT/make-${PRGNAM}_vpx.log
# Install libvpx into a temp location so vlc can pickup the library
make install 2>&1 | tee -a $OUTPUT/make-${PRGNAM}_vpx.log

тут вообще полный алец-капуть
в конфигураторе ни каких "подходящих" ключей и устанавливается "по умолчанию" - сразу в систему

////////////////////////////////////////////////////////////////////////////////
### VLC
сборка сомого плеера, устанавливаются соотв. переменные

CPPFLAGS
CFLAGS
CXXFLAGS
LDFLAGS
LIBS
PKG_CONFIG_PATH
PROJECTM_LIBS
PROJECTM2_LIBS
PATH

далее конфигуратор

./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc/vlc-$VERSION \
--disable-static ...

очевидно, меняем на
-->

./configure \
--prefix=$PREFIX \
--libdir=$PREFIX/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--mandir=$PREFIX/man \
--docdir=$PREFIX/doc/vlc-$VERSION \
--disable-static ...

не понятно почему используется ключ
--disable-static
если сборка производится "статическая"?

еще не понятно, надо ли использовать именно такие ключи для манов и документов или это неправильно?

////////////////////////////////////////////////////////////////////////////////
## сборка пакета

идет манипуляция системными каталогами, как то /usr/share/vlc итд...

cp -a $VLCDEPSDIR/usr/share/vlc/projectM $PKG/usr/share/vlc/
ln -sf /usr/share/fonts/TTF/DejaVuSans.ttf $PKG/usr/share/vlc/projectM/fonts/Vera.ttf
cp -a $VLCDEPSDIR/usr/lib${LIBDIRSUFFIX}/ggi $PKG/usr/share/vlc/

итд, много всего

непонятно, надо ли переносить весь "системный контент" в $PREFIX?
возможно надо не все переносить?

////////////////////////////////////////////////////////////////////////////////

цель и задача озвучена в начале (что бы не повторяться)

советовать "просто так собрать и посмотреть" не надо, во первых сборка идет около 2х часов, во вторых это уже не раз делалось
вопрос конкретный: модернизация скрипта, что, возможно я делаю не так (в плане модернизации)
или посоветуйте где почитать о "сборке самодостатоных приложений"
алиеновские скрипты не всегда идеальны, особенно в случае с vlc, возможно, на соотв. тачке и соотв. конфигурации системы все ок
считаю что необходимо все предусмотреть, разобраться с непонятками, выслушать советы и комментарии, что бы двинуться далее

высказывайтесь по делу, не флудите, пожалуйста, не надо уподобляться обезьянам и давайте гордо нести наше звание "человек разумный"
золотое молчание приветствуется :о)

спасибо

Re: vlc-alien сборка, альтернативный каталог установки

Добавлено: 2011-04-12 13:47:23
hizel
есть такой файлик /etc/ld.so.conf
там указываются в каких директориях лежать so-ошки
и надо будет как-то разобраться, чтобы so-ошки не пересекались :-)

помойка все помоечнее ;-) скоро вi всю систему пересоберёте, а потом как встанете перед проблемой обновления - установите что-то другое ^_^

Re: vlc-alien сборка, альтернативный каталог установки

Добавлено: 2011-04-12 14:44:25
sunjob
hizel писал(а):есть такой файлик /etc/ld.so.conf
там указываются в каких директориях лежать so-ошки
и надо будет как-то разобраться, чтобы so-ошки не пересекались :-)

помойка все помоечнее ;-) скоро вi всю систему пересоберёте, а потом как встанете перед проблемой обновления - установите что-то другое ^_^
дык эть я жешь в курсах шо це таке /etc/ld.so.conf
вопрос же в том, шо бы как раз не сделать из системы помойку а собрать vlc-статически собранным, все в одном...
странно, вроде же описал все как... пойду почитаю арфАграфический букварь, глядишь изьясняться буду более понятно :о)

Re: vlc-alien сборка, альтернативный каталог установки

Добавлено: 2011-04-12 14:50:17
hizel
много текста и нет форматирования, не факт что vlc будет работать в static сборке

Re: vlc-alien сборка, альтернативный каталог установки

Добавлено: 2011-04-12 14:56:54
sunjob
hizel писал(а):много текста и нет форматирования, не факт что vlc будет работать в static сборке
ну... даже не знаю что сказать, алиен славится как раз своими слакбилдами...
топик то написал как раз для того что бы разобрать эту проблему... до этого есть ужэ проверенный vlc-1.0.5 собдранный статически...только, он не подходит для всех остальных версий, т.к. везде разные версии-патчи библиотеки итд
да, и собирается он в системный каталог, а хочется в /opt/xxx :o)