diff --git a/lgsm/functions/command_dev_detect_deps.sh b/lgsm/functions/command_dev_detect_deps.sh index e1bceef40..d0dae61b2 100644 --- a/lgsm/functions/command_dev_detect_deps.sh +++ b/lgsm/functions/command_dev_detect_deps.sh @@ -36,58 +36,100 @@ sort "${tmpdir}/.depdetect_readelf" |uniq >"${tmpdir}/.depdetect_readelf_uniq" while read -r lib; do echo "${lib}" - if [ "${lib}" == "libm.so.6" ]||[ "${lib}" == "libc.so.6" ]||[ "${lib}" == "libtcmalloc_minimal.so.4" ]||[ "${lib}" == "libpthread.so.0" ]||[ "${lib}" == "libdl.so.2" ]||[ "${lib}" == "libnsl.so.1" ]||[ "${lib}" == "libgcc_s.so.1" ]||[ "${lib}" == "librt.so.1" ]||[ "${lib}" == "ld-linux.so.2" ]||[ "${lib}" == "libglib-2.0.so.0" ]||[ "${lib}" == "libGL.so.1" ]; then - echo "glibc.i686" >> "${tmpdir}/.depdetect_centos_list" - echo "lib32gcc1" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "lib32gcc1" >> "${tmpdir}/.depdetect_debian_list" - elif [ "${lib}" == "libstdc++.so.6" ]; then + local libs_array=( libm.so.6 libc.so.6 libtcmalloc_minimal.so.4 libpthread.so.0 libdl.so.2 libnsl.so.1 libgcc_s.so.1 librt.so.1 ld-linux.so.2 libdbus-glib-1.so.2 libgio-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libnm-glib.so.4 libnm-util.so.2 ) + for lib_file in "${libs_array[@]}" + do + if [ "${lib}" == "${lib_file}" ]; then + echo "glibc.i686" >> "${tmpdir}/.depdetect_centos_list" + echo "lib32gcc1" >> "${tmpdir}/.depdetect_ubuntu_list" + echo "lib32gcc1" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 + fi + done + + local libs_array=( libawt.so libjava.so libjli.so libjvm.so libnet.so libnio.so libverify.so ) + for lib_file in "${libs_array[@]}" + do + if [ "${lib}" == "${lib_file}" ]; then + echo "java-1.8.0-openjdk" >> "${tmpdir}/.depdetect_centos_list" + echo "default-jre" >> "${tmpdir}/.depdetect_ubuntu_list" + echo "default-jre" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 + fi + done + + local libs_array=( libtier0.so libtier0_srv.so libvstdlib_srv.so Core.so libvstdlib.so libtier0_s.so Editor.so Engine.so liblua.so libsteam_api.so ld-linux-x86-64.so.2 libPhysX3_x86.so libPhysX3Common_x86.so libPhysX3Cooking_x86.so) + for lib_file in "${libs_array[@]}" + do + # Known shared libs what dont requires dependencies + if [ "${lib}" == "${lib_file}" ]; then + libdetected=1 + fi + done + + if [ "${lib}" == "libstdc++.so.6" ]; then echo "libstdc++.i686" >> "${tmpdir}/.depdetect_centos_list" echo "libstdc++6:i386" >> "${tmpdir}/.depdetect_ubuntu_list" echo "libstdc++6:i386" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 elif [ "${lib}" == "libstdc++.so.5" ]; then echo "compat-libstdc++-33.i686" >> "${tmpdir}/.depdetect_centos_list" echo "libstdc++5:i386" >> "${tmpdir}/.depdetect_ubuntu_list" echo "libstdc++5:i386" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 elif [ "${lib}" == "libcurl-gnutls.so.4" ]; then echo "libcurl.i686" >> "${tmpdir}/.depdetect_centos_list" echo "libcurl4-gnutls-dev:i386" >> "${tmpdir}/.depdetect_ubuntu_list" echo "libcurl4-gnutls-dev:i386" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 elif [ "${lib}" == "libspeex.so.1" ]||[ "${lib}" == "libspeexdsp.so.1" ]; then echo "speex.i686" >> "${tmpdir}/.depdetect_centos_list" echo "speex:i386" >> "${tmpdir}/.depdetect_ubuntu_list" echo "speex:i386" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 elif [ "${lib}" == "./libSDL-1.2.so.0" ]||[ "${lib}" == "libSDL-1.2.so.0" ]; then echo "SDL.i686" >> "${tmpdir}/.depdetect_centos_list" echo "libsdl1.2debian" >> "${tmpdir}/.depdetect_ubuntu_list" echo "libsdl1.2debian" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 elif [ "${lib}" == "libtbb.so.2" ]; then echo "tbb.i686" >> "${tmpdir}/.depdetect_centos_list" echo "libtbb2" >> "${tmpdir}/.depdetect_ubuntu_list" echo "libtbb2" >> "${tmpdir}/.depdetect_debian_list" - elif [ "${lib}" == "libawt.so" ]||[ "${lib}" == "libjava.so" ]||[ "${lib}" == "libjli.so" ]||[ "${lib}" == "libjvm.so" ]||[ "${lib}" == "libnet.so" ]||[ "${lib}" == "libnio.so" ]||[ "${lib}" == "libverify.so" ]; then - echo "java-1.8.0-openjdk" >> "${tmpdir}/.depdetect_centos_list" - echo "default-jre" >> "${tmpdir}/.depdetect_ubuntu_list" - echo "default-jre" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 + elif [ "${lib}" == "libXrandr.so.2" ]; then echo "libXrandr" >> "${tmpdir}/.depdetect_centos_list" echo "libxrandr2" >> "${tmpdir}/.depdetect_ubuntu_list" echo "libxrandr2" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 elif [ "${lib}" == "libXext.so.6" ]; then echo "libXext" >> "${tmpdir}/.depdetect_centos_list" echo "libxext6" >> "${tmpdir}/.depdetect_ubuntu_list" echo "libxext6" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 elif [ "${lib}" == "libXtst.so.6" ]; then echo "libXtst" >> "${tmpdir}/.depdetect_centos_list" echo "libxtst6" >> "${tmpdir}/.depdetect_ubuntu_list" echo "libxtst6" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 + elif [ "${lib}" == "libpulse.so.0" ]; then + echo "pulseaudio-libs" >> "${tmpdir}/.depdetect_centos_list" + echo "libpulse0" >> "${tmpdir}/.depdetect_ubuntu_list" + echo "libpulse0" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 + elif [ "${lib}" == "libopenal.so.1" ]; then + echo "" >> "${tmpdir}/.depdetect_centos_list" + echo "libopenal1" >> "${tmpdir}/.depdetect_ubuntu_list" + echo "libopenal1" >> "${tmpdir}/.depdetect_debian_list" + libdetected=1 + fi - elif [ "${lib}" == "libtier0.so" ]||[ "${lib}" == "libtier0_srv.so" ]||[ "${lib}" == "libvstdlib_srv.so" ]||[ "${lib}" == "Core.so" ]||[ "${lib}" == "libvstdlib.so" ]||[ "${lib}" == "libtier0_s.so" ]||[ "${lib}" == "Editor.so" ]||[ "${lib}" == "Engine.so" ]||[ "${lib}" == "liblua.so" ]||[ "${lib}" == "libsteam_api.so" ]||[ "${lib}" == "ld-linux-x86-64.so.2" ]||[ "${lib}" == "libPhysX3_x86.so" ]||[ "${lib}" == "libPhysX3Common_x86.so" ]||[ "${lib}" == "libPhysX3Cooking_x86.so" ]; then - # Known shared libs what dont requires dependencies - : - else + if [ "${libdetected}" != "1" ]; then unknownlib=1 echo "${lib}" >> "${tmpdir}/.depdetect_unknown" fi + unset libdetected done < "${tmpdir}/.depdetect_readelf_uniq" sort "${tmpdir}/.depdetect_centos_list" | uniq >> "${tmpdir}/.depdetect_centos_list_uniq"