Install dependencies script: added support of OpenSUSE

Currently it'll install basic packages only and will compile all
python, boost, oiio, ocio and ffmpeg.
This commit is contained in:
Sergey Sharybin 2012-11-13 09:29:22 +00:00
parent 140d382cee
commit 0b1411046b

@ -16,8 +16,8 @@ HASXVID=false
HASVPX=false
HASMP3LAME=false
HASX264=false
YUM="yum"
HASOPENJPEG=false
HASSCHRO=false
ERROR() {
echo "${@}"
@ -31,13 +31,9 @@ detect_distro() {
if [ -f /etc/debian_version ]; then
DISTRO="DEB"
elif [ -f /etc/redhat-release ]; then
if which yum > /dev/null 2>&1; then
DISTRO="RPM"
YUM="yum"
elif which zypper > /dev/null 2>&1; then
DISTRO="RPM"
YUM="zypper"
fi
DISTRO="RPM"
elif [ -f /etc/SuSE-release ]; then
DISTRO="SUSE"
fi
}
@ -247,11 +243,19 @@ compile_FFmpeg() {
extra="$extra --enable-libx264"
fi
if $HASOPENJPEG; then
extra="$extra --enable-libopenjpeg"
fi
if $HASSCHRO; then
extra="$extra --enable-libschroedinger"
fi
./configure --cc="gcc -Wl,--as-needed" --extra-ldflags="-pthread -static-libgcc" \
--prefix=/opt/lib/ffmpeg-$FFMPEG_VERSION --enable-static --enable-avfilter --disable-vdpau \
--disable-bzlib --disable-libgsm --enable-libschroedinger --disable-libspeex --enable-libtheora \
--disable-bzlib --disable-libgsm --disable-libspeex --enable-libtheora \
--enable-libvorbis --enable-pthreads --enable-zlib --enable-stripping --enable-runtime-cpudetect \
--disable-vaapi --enable-libopenjpeg --disable-libfaac --disable-nonfree --enable-gpl \
--disable-vaapi --disable-libfaac --disable-nonfree --enable-gpl \
--disable-postproc --disable-x11grab --disable-librtmp --disable-libopencore-amrnb \
--disable-libopencore-amrwb --disable-libdc1394 --disable-version3 --disable-outdev=sdl \
--disable-outdev=alsa --disable-indev=sdl --disable-indev=alsa --disable-indev=jack \
@ -294,6 +298,9 @@ install_DEB() {
libglew-dev yasm libschroedinger-dev libtheora-dev libvorbis-dev libsdl1.2-dev \
libfftw3-dev libjack-dev python-dev patch
HASOPENJPEG=true
HASSCHRO=true
check_package_DEB libxvidcore4-dev
if [ $? -eq 0 ]; then
sudo apt-get install -y libxvidcore4-dev
@ -381,7 +388,7 @@ install_DEB() {
}
check_package_RPM() {
r=`$YUM info $1 | grep -c 'Summary'`
r=`yum info $1 | grep -c 'Summary'`
if [ $r -ge 1 ]; then
return 0
@ -391,7 +398,7 @@ check_package_RPM() {
}
check_package_version_RPM() {
v=`yum info $1 | grep Version | tail -n 1 | sed -r 's/.*:\s+(([0-9]+\.?)+)/\1/'`
v=`yum info $1 | grep Version | tail -n 1 | sed -r 's/.*:\s+(([0-9]+\.?)+).*/\1/'`
# for now major and minor versions only (as if x.y, not x.y.z)
r=`echo $v | grep -c $2`
@ -406,39 +413,42 @@ check_package_version_RPM() {
install_RPM() {
INFO "Installing dependencies for RPM-based distributive"
sudo $YUM -y update
sudo yum -y update
sudo $YUM -y install gcc gcc-c++ cmake scons libpng-devel libtiff-devel \
sudo yum -y install gcc gcc-c++ cmake scons libpng-devel libtiff-devel \
freetype-devel libX11-devel libXi-devel wget libsqlite3x-devel ncurses-devel \
readline-devel openjpeg-devel openexr-devel openal-soft-devel \
glew-devel yasm schroedinger-devel libtheora-devel libvorbis-devel SDL-devel \
fftw-devel lame-libs jack-audio-connection-kit-devel x264-devel libspnav-devel \
libjpeg-devel patch python-devel
check_package_version_RPM python-devel 3.3
HASOPENJPEG=true
HASSCHRO=true
check_package_version_RPM python-devel 3.3.
if [ $? -eq 0 ]; then
sudo $YUM install -y python-devel
sudo yum install -y python-devel
else
compile_Python
fi
check_package_RPM boost-devel
if [ $? -eq 0 ]; then
sudo $YUM install -y boost-devel
sudo yum install -y boost-devel
else
compile_Boost
fi
check_package_RPM OpenColorIO-devel
if [ $? -eq 0 ]; then
sudo $YUM install -y OpenColorIO-devel
sudo yum install -y OpenColorIO-devel
else
compile_OCIO
fi
check_package_RPM OpenImageIO-devel
if [ $? -eq 0 ]; then
sudo $YUM install -y OpenImageIO-devel
sudo yum install -y OpenImageIO-devel
else
compile_OIIO
fi
@ -447,6 +457,55 @@ install_RPM() {
compile_FFmpeg
}
check_package_SUSE() {
r=`zypper info $1 | grep -c 'Summary'`
if [ $r -ge 1 ]; then
return 0
else
return 1
fi
}
check_package_version_SUSE() {
v=`zypper info $1 | grep Version | tail -n 1 | sed -r 's/.*:\s+(([0-9]+\.?)+).*/\1/'`
# for now major and minor versions only (as if x.y, not x.y.z)
r=`echo $v | grep -c $2`
if [ $r -ge 1 ]; then
return 0
else
return 1
fi
}
install_SUSE() {
INFO "Installing dependencies for SuSE-based distributive"
sudo zypper --non-interactive update --auto-agree-with-licenses
sudo zypper --non-interactive install --auto-agree-with-licenses \
gcc gcc-c++ libSDL-devel openal-soft-devel libpng12-devel libjpeg62-devel \
libtiff-devel OpenEXR-devel yasm libtheora-devel libvorbis-devel cmake \
scons
check_package_version_SUSE python3-devel 3.3.
if [ $? -eq 0 ]; then
sudo zypper --non-interactive install --auto-agree-with-licenses python3-devel
else
compile_Python
fi
# can not see boost_locale in repo, so let's build own boost
compile_Boost
# this libraries are also missing in the repo
compile_OCIO
compile_OIIO
compile_FFmpeg
}
print_info() {
INFO ""
INFO "If you're using CMake add this to your configuration flags:"
@ -495,6 +554,8 @@ elif [ "$DISTRO" = "DEB" ]; then
install_DEB
elif [ "$DISTRO" = "RPM" ]; then
install_RPM
elif [ "$DISTRO" = "SUSE" ]; then
install_SUSE
fi
print_info