задача, модернизировать vlc.SlackBuild таким образом так, что бы установка было возможна в каталог по выбору - /usr - /usr/local - /opt/vlc-xxx ну или куда еще, так сказать «аналогично маковским программам», все при себе, не используя системных библиотек (по возможности), каталогов итд библиотеки и кодеки линкуются статически
////////////////////////////////////////////////////////////////////////////////
использую alien-сборку http://slackware.org.uk/people/alien/restricted_slackbuilds/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, возможно, на соотв. тачке и соотв. конфигурации системы все ок считаю что необходимо все предусмотреть, разобраться с непонятками, выслушать советы и комментарии, что бы двинуться далее
высказывайтесь по делу, не флудите, пожалуйста, не надо уподобляться обезьянам и давайте гордо нести наше звание «человек разумный» золотое молчание приветствуется :о)
спасибо