#!/bin/bash

function edit_deb() {
    debname=$(ls $DEBNAME | cut -d '_' -f1)
    version=$(ls $DEBNAME | cut -d '_' -f2)
    architc=$(ls $DEBNAME | cut -d '_' -f3 | cut -d '.' -f1)
    packagename=$(echo "${debname}_${version}_${architc}")
    mkdir $packagename
    mv $DEBNAME $packagename
    cd $packagename
    ar xv $DEBNAME
    mkdir DEBIAN
    tar xJvf control.tar.xz -C DEBIAN
    tar xJvf data.tar.xz
    rm -rf data.tar.xz control.tar.xz debian-binary $DEBNAME
    return 0
}

function update_binary() {
    if [ -d DEBIAN ] || [ -f DEBIAN/control ]; then
        if [ -d usr/local/bin ]; then
            files=$(pwd)
            binname=$(ls $files/usr/local/bin | cut -d '/' -f4)
            for i in $binname; do
                if [ -f /usr/local/bin/$i ]; then
                    cp /usr/local/bin/$i usr/local/bin/
                fi
            done
        elif [ -d data/data/com.termux/files/usr/bin ]; then
            files=$(pwd)
            binname=$(ls $files/data/data/com.termux/files/usr/bin | cut -d '/' -f4)
            for i in $binname; do
                if [ -f /usr/local/bin/$i ]; then
                    cp /usr/local/bin/$i data/data/com.termux/files/usr/bin/
                fi
            done
        fi
    else
        echo "goto source folder or type: edit-deb -s"
    fi
}
function update_selected()
{
    read -p "OS Type: " linuxtype;
    files=$(ls -1 $HOME/Project/$linuxtype)
    select choice in ${files[@]}; do
	if [ $linuxtype == "debian" ]; then
            binname=$(ls $HOME/Project/$linuxtype/$choice/usr/local/bin | cut -d '/' -f4)
            for i in $binname; do
                if [ -f /usr/local/bin/$i ]; then
                    cp /usr/local/bin/$i $HOME/Project/$linuxtype/$choice/usr/local/bin/
                fi
            done
        elif [ $linuxtype == "termux" ]; then
            binname=$(ls $HOME/Project/$linuxtype/$choice/data/data/com.termux/files/usr/bin | cut -d '/' -f4)
            for i in $binname; do
                if [ -f /usr/local/bin/$i ]; then
                    cp /usr/local/bin/$i $HOME/Project/$linuxtype/$choice/data/data/com.termux/files/usr/bin/
                fi
            done
        fi
        unset i
        break
    done
}

function show_help() {
    echo -e "
Usage: edit-deb [*.deb files]
                [options]

Options:
    -u, --update                  : update binary
    -h, --help                    : Show this help
    -v, --version                 : Show the Version

for more info visit: https://github.com/ArieSR91
"
    return 0
}

function random_text() {
    echo -e "\nIt doesn't look like a deb file."
    show_help
}

case $1 in
    *.deb)
        DEBNAME="$1"
        edit_deb
        ;;
    -u | --update)
        update_binary
        ;;
    -s | --update-selected)
        update_selected
        ;;
    -v | --version)
        echo "1.8.8-SR"
        ;;
    -h | --help)
        show_help
        ;;
    *)
        random_text
        ;;
esac

