#!/bin/bash
set -e

check_symlink()
{
    PATH=$1
    DEST=$2
    shift ;
    if [ -L "$PATH" ];then
        echo "$PATH est un lien symbolique"
        if [ "$PATH" -ef "$DEST" ]; then
            echo "$PATH est un lien symbolique vers $DEST "
            return 1
        else
            echo "$PATH n'est pas un lien symbolique vers $DEST"
            echo "Abandon"
            exit 1
        fi
    else
        echo "$PATH n'est pas un lien symbolique"
        echo "Copie des fichier et création du lien symbolique"
        return 0
    fi
}

if check_symlink /sbin /usr/sbin ; then
    /bin/mv -f /sbin/* /usr/sbin
    /bin/rm -rf /sbin
    /bin/ln -s usr/sbin /sbin
fi

if check_symlink /bin /usr/bin ; then
    /bin/mv -f /bin/* /usr/bin
    /usr/bin/rm -rf /bin
    /usr/bin/ln -s usr/bin /bin
fi

if [ -e "/lib" ];then
if check_symlink /lib /usr/lib ; then
    if [ -d "/lib/systemd" ]; then
        /bin/mv /lib/systemd/* /usr/lib/systemd
        /bin/rmdir /lib/systemd/
    fi

    realpath=$(/usr/bin/readlink /lib64/ld-linux-x86-64.so.2)
    /usr/bin/cp -a /lib/x86_64-linux-gnu/* /usr/lib/x86_64-linux-gnu/
    /usr/bin/ln -sf /usr$realpath /lib64/ld-linux-x86-64.so.2
    /usr/bin/rm -rf /lib/x86_64-linux-gnu/

    /usr/bin/mv /lib/* /usr/lib/
    /usr/bin/rmdir /lib
    /usr/bin/ln -s usr/lib /lib
fi
fi

if [ -e "/lib32" ];then
if check_symlink /lib32 /usr/lib32 ; then
    if [ ! -d "/usr/lib32" ];then  /usr/bin/mkdir /usr/lib32 ;fi
    /usr/bin/cp -a /lib32 /usr/
    /usr/bin/rm -rf /lib32
    /usr/bin/ln -s usr/lib32 /lib32
fi
fi

if [ -e "/libx32" ];then
if check_symlink /libx32 /usr/libx32 ; then
    if [ ! -d "/usr/libx32" ];then  /usr/bin/mkdir /usr/libx32 ;fi
    /usr/bin/cp -a /libx32 /usr/
    /usr/bin/rm -rf /libx32
    /usr/bin/ln -s usr/libx32 /libx32
fi
fi

if [ -e "/lib64" ];then
if check_symlink /lib64 /usr/lib64 ; then
    if [ ! -d "/usr/lib64" ];then  /usr/bin/mkdir /usr/lib64 ;fi
    /usr/bin/cp -a /lib64 /usr/
    /usr/bin/rm -rf /lib64
    /usr/lib64/ld-linux-x86-64.so.2 /usr/bin/ln -s usr/lib64 /lib64
fi
fi
