Files
LibreELEC.tv/scripts/checkdeps
Stephan Raue 395839441f scripts/checkdeps:
- add some more dependencies and functions (need more work)
2010-06-16 15:28:53 +02:00

122 lines
3.5 KiB
Bash
Executable File

#!/bin/sh
. config/options
deps=
deps_pkg=
files=
files_pkg=
case $1 in
get)
deps="wget"
deps_pkg="wget"
;;
build)
deps="gcc g++ sed patch touch nasm tar bzip2 gzip perl flex bison cp gawk mkfontscale cpio makedepend makeinfo msgfmt xkbcomp gperf libtool cmp yacc lzma xsltproc"
deps_pkg="gcc g++ sed patch fileutils nasm tar bzip2 gzip perl flex bison coreutils gawk xfonts-utils cpio makedepend texinfo gettext x11-xkb-utils gperf libtool diff lzma xsltproc"
files="/usr/include/stdio.h /usr/include/readline/readline.h /usr/include/zlib.h /usr/include/ncurses.h /usr/include/freetype2/freetype/freetype.h /usr/include/expat.h /usr/include/dbus-1.0/dbus/dbus.h /usr/include/jpeglib.h"
files_pkg="libc6-dev libreadline5-dev zlib1g-dev libncurses5-dev libfreetype6-dev libexpat1-dev libdbus-1-dev libjpeg-dev"
;;
burn)
deps="cdrecord"
deps_pkg="cdrecord"
;;
iso)
deps="mkisofs"
if [ -f /etc/debian_version -a -n "`which aptitude 2>/dev/null`" ]; then
deps_pkg="mkisofs genisoimage"
else
deps_pkg="mkisofs"
fi
;;
vmx)
if [ ! `which vmplayer` ]; then
echo "Your system doesn't seem to have VMplayer installed"
echo "It is mandatory to play a VMware virtual machine."
exit 1
fi
;;
qemu)
if [ ! `which qemu` ]; then
echo "Your system doesn't seem to have QEMU installed"
exit 1
fi
;;
esac
getarg() {
eval echo \${$(($1+2))}
}
i=0
while dep=`getarg $i $deps` && [ -n "$dep" ]; do
[ -z "`which $dep 2>/dev/null`" ] && need="$need $dep" && need_pkg="$need_pkg `getarg $i $deps_pkg`"
i=$(($i+1))
done
i=0
while file=`getarg $i $files` && [ -n "$file" ]; do
[ ! -f $file ] && need="$need $file" && need_pkg="$need_pkg `getarg $i $files_pkg`"
i=$(($i+1))
done
if [ -n "$need" ]; then
echo "**** Your system lacks the following tools needed to $1 GeeXboX ****"
echo $need
[ -f /etc/lsb-release ] && . /etc/lsb-release
if [ -n "`which aptitude 2>/dev/null`" ]; then
DISTRO="a Debian"
[ "$DISTRIB_ID" = "Ubuntu" ] && DISTRO="an Ubuntu"
echo "**** You seem to use $DISTRO system ****"
read -p "would you like to sudo aptitude install the needed tools ? (y/n) " ans
[ "$ans" = "y" ] && sudo aptitude install $need_pkg
elif [ -f /etc/mandrake-release -a -n "`which urpmi 2>/dev/null`" ]; then
echo "**** You seem to use a mandrake system ****"
if [ "$UID" -ne 0 ]; then
echo "**** I could install those packages but you need to be root for this ****"
exit 1
else
read -p "would you like to urpmi the needed tools ? (y/n) " ans
[ "$ans" = "y" ] && urpmi $need_pkg
fi
elif [ -f /etc/gentoo-release -a -n "`which emerge 2>/dev/null`" ]; then
echo "**** You seem to use a gentoo system ****"
if [ "$UID" -ne 0 ]; then
echo "**** I could install those packages but you need to be root for this ****"
exit 1
else
read -p "would you like to emerge the needed tools ? (y/n) " ans
[ "$ans" = "y" ] && emerge -D $need_pkg
fi
else
echo "********"
exit 1
fi
fi
need=""
need_pkg=""
i=0
while dep=`getarg $i $deps` && [ -n "$dep" ]; do
[ -z "`which $dep 2>/dev/null`" ] && need="$need $dep" && need_pkg="$need_pkg `getarg $i $deps_pkg`"
i=$(($i+1))
done
i=0
while file=`getarg $i $files` && [ -n "$file" ]; do
[ ! -f $file ] && need="$need $file" && need_pkg="$need_pkg `getarg $i $files_pkg`"
i=$(($i+1))
done
if [ -n "$need" ]; then
echo "**** The following packages were not installed correctly ****"
echo $need_pkg
echo "********"
exit 1
fi