задача, модернизировать 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, возможно, на соотв. тачке и соотв. конфигурации системы все ок
считаю что необходимо все предусмотреть, разобраться с непонятками, выслушать советы и комментарии, что бы двинуться далее
высказывайтесь по делу, не флудите, пожалуйста, не надо уподобляться обезьянам и давайте гордо нести наше звание «человек разумный»
золотое молчание приветствуется: о)
спасибо
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1