nixp.ru v3.0

23 января 2017,
понедельник,
13:36:24 MSK

DevOps с компанией «Флант»
sunjob написал 12 апреля 2011 года в 11:52 (1407 просмотров) Ведет себя неопределенно; открыл 8 тем в форуме, оставил 44 комментария на сайте.

задача, модернизировать vlc.SlackBuild таким образом так, что бы установка было возможна в каталог по выбору

— /usr

— /usr/local

— /opt/vlc-xxx

ну или куда еще, так сказать «аналогично маковским программам», все при себе, не используя системных библиотек (по возможности), каталогов итд

библиотеки и кодеки линкуются статически

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

использую alien-сборку

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, возможно, на соотв. тачке и соотв. конфигурации системы все ок

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

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

золотое молчание приветствуется: о)

спасибо

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.