summaryrefslogtreecommitdiff
path: root/init.sh
diff options
context:
space:
mode:
Diffstat (limited to 'init.sh')
-rwxr-xr-xinit.sh51
1 files changed, 51 insertions, 0 deletions
diff --git a/init.sh b/init.sh
new file mode 100755
index 0000000..b5b148f
--- /dev/null
+++ b/init.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+# For title of each Window
+export supertitle="FOSSEE Netbook Updates"
+source easybashgui
+
+# Intermediate files/directories. Will be removed after each interation
+testfile=robots.txt
+# Default is no internet
+INET_AVAILABLE=0
+DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
+# Its good to have them together
+generic_return_code='Working offline. Select Ok to continue.'
+return_code_1="Unknown error occured. $generic_return_code"
+return_code_3="File I/0 error. $generic_return_code"
+return_code_4="Network failure. Unable to connect internet. $generic_return_code"
+return_code_5="SSL verification failure. Check system date. $generic_return_code"
+return_code_7="Protocol error. $generic_return_code"
+return_code_8="Server error. $generic_return_code"
+
+# =====================================================================================
+# Functions in order they get called #
+# =====================================================================================
+
+function check_internet() {
+ #wait_for internet
+ wait_seconds 3
+ for each in {google.com,github.com};
+ do
+ wget -P $DIR $each/$testfile &> /dev/null
+ return_code=$?
+ [ $return_code -eq 0 ] && INET_AVAILABLE=1 && break
+ [ $return_code -eq 1 ] && alert_message -w 300 -h 100 $return_code_1 && break
+ [ $return_code -eq 3 ] && alert_message -w 300 -h 100 $return_code_3 && break
+ [ $return_code -eq 4 ] && alert_message -w 300 -h 100 $return_code_4 && break
+ [ $return_code -eq 5 ] && alert_message -w 300 -h 100 $return_code_5 && break
+ [ $return_code -eq 7 ] && alert_message -w 300 -h 100 $return_code_7 && break
+ done
+ [ $return_code -eq 8 ] && alert_message -w 300 -h 100 $return_code_8
+}
+
+# ======================================================================================
+
+# Fetch updates if internet is available and formulate a CSV
+function pull_updates() {
+ # If internet available just merge the changes (this won't update patches automatically)
+ [ $INET_AVAILABLE -eq 1 ] && cd $DIR && git tag -l | xargs git tag -d && git pull>/dev/null 2>&1
+}
+check_internet
+pull_updates
+bash $DIR/patcher.sh