#!/bin/bash

logfile=~/dai_updater_fix.log

gksudo "apt-get -y install build-essential gnome-common gtk-doc-tools libglib2.0-dev libpackagekit-glib2-dev libgtk-3-dev libcanberra-gtk3-dev libnotify-dev"
if [ "$?" == 0 ]; then
    echo "Pre Installation worked" >>$logfile
else
    echo "Pre Installation failed" >>$logfile
    exit 1
fi

wget https://github.com/GNOME/gnome-packagekit/archive/gnome-3-14.zip
if [ "$?" == 0 ]; then
    echo "Download worked" >>$logfile
else
    echo "Download failed" >>$logfile
    exit 1
fi

unzip gnome-3-14.zip -d ~
if [ "$?" == 0 ]; then
    echo "Unpack worked" >>$logfile
else
    echo "Unpack failed" >>$logfile
    exit 1
fi

thisvar=`sed '3009q;d' ~/gnome-packagekit-gnome-3-14/src/gpk-update-viewer.c`
thatvar="	gpk_update_viewer_get_new_update_array ();"
newvar="	ignore_updates_changed = TRUE;"
if [ "$thisvar" == "$thatvar" ]; then
	sed "3009i\	ignore_updates_changed = TRUE;" ~/gnome-packagekit-gnome-3-14/src/gpk-update-viewer.c > ~/gnome-packagekit-gnome-3-14/src/tmp_gpk-update-viewer.c
	mv ~/gnome-packagekit-gnome-3-14/src/tmp_gpk-update-viewer.c ~/gnome-packagekit-gnome-3-14/src/gpk-update-viewer.c
	echo "File edit worked" >>$logfile
else
	if [ "$thisvar" == "$newvar" ]; then
		echo "It looks like this has already been done... Skipping..."
	else
		echo "Mismatch Error exiting..."
		echo "File edit failed" >>$logfile
		exit 1
	fi
fi

cd ~/gnome-packagekit-gnome-3-14
if [ "$?" == 0 ]; then
    echo "Change Directory worked" >>$logfile
else
    echo "Change Directory failed" >>$logfile
    exit 1
fi

./autogen.sh
if [ "$?" == 0 ]; then
    echo "Autogen worked" >>$logfile
else
    echo "Autogen failed" >>$logfile
    exit 1
fi

make
if [ "$?" == 0 ]; then
    echo "make worked" >>$logfile
else
    echo "make failed" >>$logfile
    exit 1
fi

gksudo make install
if [ "$?" == 0 ]; then
    echo "make install worked" >>$logfile
else
    echo "make install failed" >>$logfile
    exit 1
fi

gksudo mv /usr/bin/gpk-update-viewer /usr/bin/gpk-update-viewer.old
if [ "$?" == 0 ]; then
    echo "Rename old worked" >>$logfile
else
    echo "Rename old failed" >>$logfile
    exit 1
fi

gksudo ln -s /usr/local/bin/gpk-update-viewer /usr/bin/gpk-update-viewer
if [ "$?" == 0 ]; then
    echo "Link worked" >>$logfile
else
    echo "Link failed" >>$logfile
    exit 1
fi
