File magiskinstall.sh of Package waydroid-magisk

#!/bin/bash
loope=false
a=""
SYSTEM=$(cat /var/lib/waydroid/waydroid.cfg | grep images_path | cut -d' ' -f 3)/system.img
VENDOR=$(cat /var/lib/waydroid/waydroid.cfg | grep images_path | cut -d' ' -f 3)/vendor.img
ARCH=$(cat /var/lib/waydroid/waydroid.cfg | grep arch | cut -d' ' -f 3)
clear
function prep() {
    echo "Hi, welcome to simple Magisk Delta installer on Waydroid"
    sleep 0.3
    if [ $ARCH = "x86_64" ]; then
        loope=true
    elif [ $ARCH = "arm64" ]; then
        loope=true
    else
        echo "Sorry but," $ARCH "is not supported yet, by this script!"
        loope=false
        a="3"
    fi
}

function promt() {
    while [ $loope = true ]; do
        echo "Do you want to install Magisk Delta on Waydroid? (1)"
        echo "Do you want to install Magisk Delta preinstalled with LSposed and Builtin busybox? (2)"
        echo "Abort (3)"
        read -p "Make a choice (choose number):" a
        if [[ $ARCH = "arm64" && $a = "2" ]]; then
            echo "Sorry the option with modules is only for x86_64 arch, proceeding with normal Magisk Delta install!"
            a="1"
        else
            echo "Selected option: $a"
            sleep 0.3
        fi
        if [[ $a = "1" || $a = "2" ]]; then
            loope=false
            touch init.txt
            ps -p 1 -o command >init.txt
        elif [ $a = "3" ]; then
            loope=false
        else
            clear
            loope=true
            echo "No option selected, try again!"
        fi
    done
}

function waydroid_down() {
    echo "Stopping waydroid!"
    waydroid session stop
    sudo waydroid container stop
    if grep -Fxq "runit" init.txt; then
        sudo sv down waydroid-container
    else
        sudo systemctl stop waydroid-container.service
    fi
}

function rm_magisk() {
    echo "Removing any previous installation of Magisk"
    sudo rm -rf ~/.local/share/waydroid/data/adb/lspd
    sudo rm -rf ~/.local/share/waydroid/data/adb/magisk
    sudo rm -rf ~/.local/share/waydroid/data/adb/magisk.db
    sudo rm -rf ~/.local/share/waydroid/data/adb/post-fs-data.d
    sudo rm -rf ~/.local/share/waydroid/data/adb/service.d
    sudo rm -rf ~/.local/share/waydroid/data/data/io.github.huskydg.magisk
    sudo rm -rf ~/.local/share/waydroid/data/data/io.github.huskydg.magisk.png
    sudo rm -rf /var/lib/waydroid/overlay/sbin/*
    sudo rm -rf /var/lib/waydroid/overlay/system/etc/init/bootanim.rc
    sudo rm -rf /var/lib/waydroid/overlay/system/etc/init/bootanim.rc.gz
    sudo rm -rf /var/lib/waydroid/overlay/system/etc/init/magisk
    sudo rm -rf /var/lib/waydroid/overlay/system/addon.d
    sudo rm -rf /var/lib/waydroid/overlay_rw/system/sbin/.magisk
    sudo rm -rf /var/lib/waydroid/overlay_rw/system/system/etc/init/bootanim.rc
    sudo rm -rf /var/lib/waydroid/overlay_rw/system/system/etc/init/bootanim.rc.gz
    sudo rm -rf /var/lib/waydroid/overlay_rw/system/system/etc/init/magisk
    sudo rm -rf /var/lib/waydroid/overlay_rw/system/system/addon.d
    sudo rm -rf /var/lib/waydroid/overlay_rw/vendor/etc/selinux/*
}

function resize_images() {
    echo "Resizing images"
    sudo e2fsck -yf $SYSTEM
    sudo resize2fs $SYSTEM 3G
    sudo e2fsck -yf $VENDOR
    sudo resize2fs $VENDOR 1G
}

function install_magisk() {
    echo "Downloading magisk"
    if [ $ARCH = "arm64" ]; then
        wget -q https://mistrmochov.blob.core.windows.net/magiskwaydroid/magiskarm64_0.8.tar.gz -O magisk.tar.gz
    else
        wget -q https://mistrmochov.blob.core.windows.net/magiskwaydroid/magisk_0.8.4.tar.gz -O magisk.tar.gz
    fi
    sleep 0.3
    if [ $a = "2" ]; then
        echo "Unpacking magisk with modules!"
    else
        echo "Unpacking magisk"
    fi
    sudo tar -xf magisk.tar.gz
    sleep 0.3
    echo "Copying files!"
    if [ $ARCH = "x86_64" ]; then
        sudo cp -r magisk/overlay /var/lib/waydroid/
        sudo cp -r magisk/overlay_rw /var/lib/waydroid/
        if [ $a = "2" ]; then
            sudo cp -r magisk/data_modules/* ~/.local/share/waydroid/data/
        else
            sudo cp -r magisk/data ~/.local/share/waydroid/
        fi
    else
        sudo cp -r magisk/overlay /var/lib/waydroid/
        sudo cp -r magisk/data ~/.local/share/waydroid/
    fi
    sleep 0.3
    sudo rm -rf magisk magisk.tar.gz
}

function waydroid_up() {
    echo "Starting waydroid-container.service"
    if grep -Fxq "runit" init.txt; then
        sudo sv up waydroid-container
    else
        sudo systemctl start waydroid-container.service
    fi
}

function install() {
    if [[ $a = "1" || $a = "2" ]]; then
        waydroid_down
        sleep 0.3
        rm_magisk
        sleep 0.3
        resize_images
        sleep 0.3
        install_magisk
        waydroid_up
        sleep 0.5
        echo "Installation has finished, now start up waydroid and after waydroid fully boots and If magisk was successfully installed then just simply reboot your Waydroid or proceed direct install to system through Magisk app. Enjoy Magisk <3"
        rm -rf init.txt
    elif [ $a = "3" ]; then
        echo "Aborting!"
    fi
}

prep
sleep 0.3
promt
sleep 0.3
install
openSUSE Build Service is sponsored by