diff --git a/README.md b/README.md index 92a526a..674cd84 100644 --- a/README.md +++ b/README.md @@ -74,12 +74,12 @@ 6. Follow instructions ## Supported OS versions/distros: -- **Ubuntu** [20.04](https://releases.ubuntu.com/focal/), [20.10](https://releases.ubuntu.com/groovy/), [21.04](https://releases.ubuntu.com/hirsute/); and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) +- [**Ubuntu**](https://ubuntu.com/) 20.04 and newer, and Ubuntu-based distros like [Linux Mint](https://www.linuxmint.com/) - [**Arch Linux**](https://www.archlinux.org/) and Arch-based distros like [EndeavourOS](https://endeavouros.com/) -- [**Fedora** 33 to 34](https://getfedora.org/) -- [**Debian** Testing, Unstable](https://www.debian.org/) -- **openSUSE** [Tumbleweed](https://software.opensuse.org/distributions/tumbleweed) -- **macOS** 10.13 to 11 +- [**Fedora**](https://getfedora.org/) 33 and newer +- [**Debian**](https://www.debian.org/) Testing and Unstable +- [**openSUSE**](https://www.opensuse.org/) Tumbleweed and Leap 15.3 +- **macOS** 10.13 and newer ## Other notes: - **If something in the process does not work for you:** try unplugging/replugging the device, switching between different USB ports/cables, also try USB 2.0 ports diff --git a/resources/depends.sh b/resources/depends.sh index 50dd37c..3a99332 100755 --- a/resources/depends.sh +++ b/resources/depends.sh @@ -4,6 +4,7 @@ SetToolPaths() { if [[ $OSTYPE == "linux"* ]]; then . /etc/os-release 2>/dev/null platform="linux" + platformver="$PRETTY_NAME" futurerestore1="sudo LD_PRELOAD=./resources/lib/libcurl.so.3 LD_LIBRARY_PATH=./resources/lib ./resources/tools/futurerestore1_linux" futurerestore2="sudo LD_LIBRARY_PATH=./resources/lib ./resources/tools/futurerestore2_linux" @@ -14,8 +15,8 @@ SetToolPaths() { SimpleHTTPServer="sudo $python -m SimpleHTTPServer 80" elif [[ $OSTYPE == "darwin"* ]]; then - macver=${1:-$(sw_vers -productVersion)} platform="macos" + platformver="${1:-$(sw_vers -productVersion)}" futurerestore1="./resources/tools/futurerestore1_macos" futurerestore2="./resources/tools/futurerestore2_macos" @@ -34,14 +35,14 @@ SetToolPaths() { ipsw="./tools/ipsw_$platform" irecoverychk="./resources/libimobiledevice_$platform/irecovery" irecovery="$irecoverychk" - [[ $platform == "linux" ]] && irecovery="sudo $irecovery" + [[ $platform == "linux" ]] && irecovery="sudo LD_LIBRARY_PATH=./resources/lib $irecovery" partialzip="./resources/tools/partialzip_$platform" SSH="-F ./resources/ssh_config" SCP="$(which scp) $SSH" SSH="$(which ssh) $SSH" tsschecker="./resources/tools/tsschecker_$platform" - Log "Running on platform: $platform $macver" + Log "Running on platform: $platform ($platformver)" } SaveExternal() { @@ -93,14 +94,14 @@ InstallDepends() { ln -sf /usr/lib/libcurl.so.3 ../resources/lib/libcurl.so.3 ln -sf /usr/lib/libzip.so.5 ../resources/lib/libzip.so.4 - elif [[ $UBUNTU_CODENAME == "focal" || $UBUNTU_CODENAME == "groovy" || - $UBUNTU_CODENAME == "hirsute" || $PRETTY_NAME == "Debian GNU/Linux bullseye/sid" ]]; then + elif [[ ! -z $UBUNTU_CODENAME && $VERSION_ID == "2"* ]] || + [[ $PRETTY_NAME == "Debian GNU/Linux bullseye/sid" ]]; then [[ ! -z $UBUNTU_CODENAME ]] && sudo add-apt-repository -y universe sudo apt update sudo apt install -y bsdiff curl git libimobiledevice6 openssh-client python2 usbmuxd usbutils SavePkg cp libcrypto.so.1.0.0 libcurl.so.3 libpng12.so.0 libssl.so.1.0.0 ../resources/lib - if [[ $PRETTY_NAME == "Debian GNU/Linux bullseye/sid" || $UBUNTU_CODENAME == "hirsute" ]]; then + if [[ $PRETTY_NAME == "Debian GNU/Linux bullseye/sid" || $VERSION_ID != "20"* ]]; then sudo apt install -y libzip4 else cp libzip.so.4 ../resources/lib @@ -113,8 +114,14 @@ InstallDepends() { ln -sf /usr/lib64/libzip.so.5 ../resources/lib/libzip.so.4 ln -sf /usr/lib64/libbz2.so.1.* ../resources/lib/libbz2.so.1.0 - elif [[ $ID == "opensuse-tumbleweed" ]]; then - sudo zypper -n in bsdiff curl git libimobiledevice-1_0-6 libpng12-0 libopenssl1_0_0 libzip5 python-base + elif [[ $ID == "opensuse-tumbleweed" || $PRETTY_NAME == "openSUSE Leap 15.3" ]]; then + if [[ $ID == "opensuse-tumbleweed" ]]; then + libimobiledevice="libimobiledevice-1_0-6" + else + libimobiledevice="libimobiledevice6" + ln -sf /lib64/libreadline.so.7 ../resources/lib/libreadline.so.8 + fi + sudo zypper -n in bsdiff curl git $libimobiledevice libpng12-0 libopenssl1_0_0 libzip5 python-base ln -sf /usr/lib64/libzip.so.5 ../resources/lib/libzip.so.4 elif [[ $platform == "macos" ]]; then