123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #!/bin/bash
- Version=2.0
- function print_centered {
- [[ $# == 0 ]] && return 1
- declare -i TERM_COLS="$(tput cols)"
- declare -i str_len="${#1}"
- [[ $str_len -ge $TERM_COLS ]] && {
- echo "$1";
- return 0;
- }
- declare -i filler_len="$(( (TERM_COLS - str_len) / 2 ))"
- [[ $# -ge 2 ]] && ch="${2:0:1}" || ch=" "
- filler=""
- for (( i = 0; i < filler_len; i++ )); do
- filler="${filler}${ch}"
- done
- printf "%s%s%s" "$filler" "$1" "$filler"
- [[ $(( (TERM_COLS - str_len) % 2 )) -ne 0 ]] && printf "%s" "${ch}"
- printf "\n"
- return 0
- }
- print_centered "$(tput setaf 3)"
- print_centered " _____ __ ";
- print_centered " / ___/__ ____/ / ___ _______ _";
- print_centered "/ (_ / -_) __/ _ \/ -_) __/ _ \`/";
- print_centered "\___/\__/_/ /_.__/\__/_/ \_,_/ ";
- print_centered " ";
- echo -n "$(tput setaf 7)"
- print_centered "Gerbera UPNP installation script v$Version"
- echo ""
- sleep 3
- sudo apt-get update
- sudo apt-get install uuid-dev libsqlite3-dev libmysqlclient-dev libmagic-dev libexif-dev libcurl4-openssl-dev libspdlog-dev libpugixml-dev -y
- sudo apt-get install libavutil-dev libavcodec-dev libavformat-dev libavdevice-dev libavfilter-dev libavresample-dev libswscale-dev libswresample-dev libpostproc-dev -y
- sudo apt-get install libebml-dev ffmpeg ffmpegthumbnailer libffmpegthumbnailer-dev imagemagick fmtools libfmt-dev libmatroska-dev -y
- echo -e ""
- git clone https://github.com/gerbera/gerbera.git
- cmake_v="$(cmake --version | grep "version" | awk '{print $3}')"
- function version {
- echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }';
- }
- if ! [ $(version $cmake_v) -ge $(version "3.18") ]
- then
- echo -e "Cmake update:"
- version=3.21
- build=4
- mkdir ~/temp
- cd ~/temp
- sudo apt-get remove --purge cmake -y
- wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz
- tar -xzvf cmake-$version.$build.tar.gz
- cd cmake-$version.$build/
- ./bootstrap
- ./configure
- make -j$(nproc)
- sudo make install
- fi
- cd ~/Build_Cube/options/gerbera/scripts
- sudo ./install-duktape.sh
- cd ~/Build_Cube/options/gerbera/scripts
- sudo ./install-lastfm.sh
- cd ~/Build_Cube/options/gerbera/scripts
- sudo ./install-fmt.sh
- cd ~/Build_Cube/options/gerbera/scripts
- sudo ./install-pugixml.sh
- cd ~/Build_Cube/options/gerbera/scripts
- sudo ./install-pupnp.sh
- cd ~/Build_Cube/options/gerbera/scripts
- sudo ./install-spdlog.sh
- cd ~/Build_Cube/options/gerbera/scripts
- sed -i -e "s/rm -R taglib-build/rm -R taglib-build ||true/g" install-taglib.sh
- sudo ./install-taglib.sh
- echo -e ""
- cd ~/Build_Cube/options/gerbera
- mkdir build
- cd build
- cmake .. -DWITH_MAGIC=1 -DWITH_MYSQL=0 -DWITH_CURL=1 -DWITH_JS=1 -DWITH_TAGLIB=1 -DWITH_AVCODEC=1 -DWITH_FFMPEGTHUMBNAILER=1 -DWITH_EXIF=1 -DWITH_LASTFM=0
- make -j2
- sudo make install
- cd ~
- cp ~/Build_Cube/pack/gerbera.tar.xz .
- tar xvfJ gerbera.tar.xz
- rm gerbera.tar.xz
- echo -e "\n$(tput setaf 3)Done.$(tput setaf 7)\n"
|