autopsy-flatpak/installation/scripts/install_prereqs_ubuntu.sh
2021-04-23 10:42:25 -04:00

126 lines
3.7 KiB
Bash

#!/bin/bash
# this script is designed to install necessary dependencies on debian
# this script requires elevated privileges
echo "Turning on all repositories for apt..."
sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
if [[ $? -ne 0 ]]
then
echo "Failed to turn on all repositories" >> /dev/stderr
exit 1
fi
echo "Installing all apt dependencies..."
# other possible dependencies taken from https://github.com/sleuthkit/autopsy/pull/4743/files
# sudo apt -y install ca-certificates g++ gcc gpg java-common libafflib-dev libboost-dev libgl1-mesa-dri libgl1-mesa-glx libsolr-java libsqlite3-dev libswt-gtk-4-java libtika-java openjfx postgresql software-properties-common sqlite3 wget zip zlib1-dev
# other possible dependencies taken from https://github.com/sleuthkit/autopsy/pull/5111/files
# sudo apt -y install autopoint libsqlite3-dev libcppunit-dev
# TODO multi user dependencies?
sudo apt update && \
sudo apt -y install build-essential autoconf libtool git-core automake git zip wget ant && \
sudo apt -y build-dep imagemagick libmagickcore-dev libde265 libheif && \
sudo apt -y install libpq-dev ant \
testdisk libafflib-dev libewf-dev libvhdi-dev libvmdk-dev \
libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x \
gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
if [[ $? -ne 0 ]]
then
echo "Failed to install necessary dependencies" >> /dev/stderr
exit 1
fi
echo "Cloning source for libde265 and libheif..."
pushd /usr/src/ && \
sudo git clone https://github.com/strukturag/libde265.git && \
sudo git clone https://github.com/strukturag/libheif.git && \
popd
if [[ $? -ne 0 ]]
then
popd
echo "Failed to retrieve libde265 and libheif repos" >> /dev/stderr
exit 1
fi
echo "Installing libde265..."
pushd /usr/src/libde265/ && \
sudo ./autogen.sh && \
sudo ./configure && \
sudo make && \
sudo make install && \
popd
if [[ $? -ne 0 ]]
then
popd
echo "Failed to install libde265" >> /dev/stderr
exit 1
fi
echo "Installing libheif..."
pushd /usr/src/libheif/ && \
sudo ./autogen.sh && \
sudo ./configure && \
sudo make && \
sudo make install && \
popd
if [[ $? -ne 0 ]]
then
popd
echo "Failed to install libheif" >> /dev/stderr
exit 1
fi
echo "Installing ImageMagick..."
pushd /usr/src/ && \
sudo wget https://www.imagemagick.org/download/ImageMagick.tar.gz && \
sudo tar xf ImageMagick.tar.gz && \
pushd ImageMagick-7* && \
sudo ./configure --with-heic=yes && \
sudo make && \
sudo make install && \
popd && \
popd
if [[ $? -ne 0 ]]
then
popd && popd
echo "Failed to install ImageMagick" >> /dev/stderr
exit 1
fi
sudo ldconfig
if [[ $? -ne 0 ]]
then
echo "ldconfig call failed" >> /dev/stderr
exit 1
fi
echo "Installing bellsoft Java 8..."
pushd /usr/src/ && \
wget -q -O - https://download.bell-sw.com/pki/GPG-KEY-bellsoft | sudo apt-key add - && \
echo "deb [arch=amd64] https://apt.bell-sw.com/ stable main" | sudo tee /etc/apt/sources.list.d/bellsoft.list && \
sudo apt update && \
sudo apt -y install bellsoft-java8-full && \
popd
if [[ $? -ne 0 ]]
then
echo "Failed to install bellsoft java 8" >> /dev/stderr
exit 1
fi
# https://unix.stackexchange.com/questions/117467/how-to-permanently-set-environmental-variables
echo "Setting JAVA_HOME..."
export JAVA_HOME=/usr/lib/jvm/bellsoft-java8-full-amd64 && \
echo "Java home is now: $JAVA_HOME" && \
echo 'export JAVA_HOME=/usr/lib/jvm/bellsoft-java8-full-amd64' | tee ~/.profile ~/.bashrc
if [[ $? -ne 0 ]]
then
echo "Failed to set up JAVA_HOME in bash_rc" >> /dev/stderr
exit 1
fi
echo "Java version is:"
java -version