From f3bfbf2926e77e0f37d4e6e7fd45da2c7a8cf900 Mon Sep 17 00:00:00 2001 From: t3chn0m4g3 Date: Sat, 16 Feb 2019 14:50:59 +0100 Subject: [PATCH] improve installer --- iso/installer/dialogrc | 144 --------------------------------------- iso/installer/install.sh | 63 ++++++++++------- iso/preseed/tpot.seed | 2 +- 3 files changed, 38 insertions(+), 171 deletions(-) delete mode 100644 iso/installer/dialogrc diff --git a/iso/installer/dialogrc b/iso/installer/dialogrc deleted file mode 100644 index bb53e1b8..00000000 --- a/iso/installer/dialogrc +++ /dev/null @@ -1,144 +0,0 @@ -# -# Run-time configuration file for dialog -# -# Automatically generated by "dialog --create-rc " -# -# -# Types of values: -# -# Number - -# String - "string" -# Boolean - -# Attribute - (foreground,background,highlight?) - -# Set aspect-ration. -aspect = 0 - -# Set separator (for multiple widgets output). -separate_widget = "" - -# Set tab-length (for textbox tab-conversion). -tab_len = 0 - -# Make tab-traversal for checklist, etc., include the list. -visit_items = OFF - -# Shadow dialog boxes? This also turns on color. -use_shadow = ON - -# Turn color support ON or OFF -use_colors = ON - -# Screen color -screen_color = (WHITE,MAGENTA,ON) - -# Shadow color -shadow_color = (BLACK,BLACK,ON) - -# Dialog box color -dialog_color = (BLACK,WHITE,OFF) - -# Dialog box title color -title_color = (MAGENTA,WHITE,OFF) - -# Dialog box border color -border_color = (WHITE,WHITE,ON) - -# Active button color -button_active_color = (WHITE,MAGENTA,OFF) - -# Inactive button color -button_inactive_color = dialog_color - -# Active button key color -button_key_active_color = button_active_color - -# Inactive button key color -button_key_inactive_color = (RED,WHITE,OFF) - -# Active button label color -button_label_active_color = (YELLOW,MAGENTA,ON) - -# Inactive button label color -button_label_inactive_color = (BLACK,WHITE,OFF) - -# Input box color -inputbox_color = dialog_color - -# Input box border color -inputbox_border_color = dialog_color - -# Search box color -searchbox_color = dialog_color - -# Search box title color -searchbox_title_color = title_color - -# Search box border color -searchbox_border_color = border_color - -# File position indicator color -position_indicator_color = title_color - -# Menu box color -menubox_color = dialog_color - -# Menu box border color -menubox_border_color = border_color - -# Item color -item_color = dialog_color - -# Selected item color -item_selected_color = button_active_color - -# Tag color -tag_color = title_color - -# Selected tag color -tag_selected_color = button_label_active_color - -# Tag key color -tag_key_color = button_key_inactive_color - -# Selected tag key color -tag_key_selected_color = (RED,MAGENTA,ON) - -# Check box color -check_color = dialog_color - -# Selected check box color -check_selected_color = button_active_color - -# Up arrow color -uarrow_color = (MAGENTA,WHITE,ON) - -# Down arrow color -darrow_color = uarrow_color - -# Item help-text color -itemhelp_color = (WHITE,BLACK,OFF) - -# Active form text color -form_active_text_color = button_active_color - -# Form text color -form_text_color = (WHITE,CYAN,ON) - -# Readonly form item color -form_item_readonly_color = (CYAN,WHITE,ON) - -# Dialog box gauge color -gauge_color = title_color - -# Dialog box border2 color -border2_color = dialog_color - -# Input box border2 color -inputbox_border2_color = dialog_color - -# Search box border2 color -searchbox_border2_color = dialog_color - -# Menu box border2 color -menubox_border2_color = dialog_color diff --git a/iso/installer/install.sh b/iso/installer/install.sh index 7eb02b37..3dfd49ff 100755 --- a/iso/installer/install.sh +++ b/iso/installer/install.sh @@ -1,6 +1,43 @@ #!/bin/bash # T-Pot Universal Installer +####################################### +# Check for package requirements. # +# If not present ask for installation # +####################################### + +###### TO DO ###### + +################################## +# Check if internet is available # +################################## + +function fuCHECKNET { + local mySITES=$1 + local myBACKTITLE="Network Check" + mySITESCOUNT=$(echo $mySITES | wc -w) + j=0 + for i in $mySITES; + do + echo $(expr 100 \* $j / $mySITESCOUNT) | dialog --title "[ Testing the internet connection ]" --backtitle "$myBACKTITLE" --gauge "\n Now checking: $i\n" 8 80 + curl --connect-timeout 30 -IsS $i 2>&1>/dev/null + if [ $? -ne 0 ]; + then + dialog --keep-window --backtitle "$myBACKTITLE" --title "[ Continue? ]" --yesno "\nInternet connection test failed. This might indicate some problems with your connection. You can continue, but the installation might fail." 10 50 + if [ $? = 1 ]; + then + dialog --keep-window --backtitle "$myBACKTITLE" --title "[ Abort ]" --msgbox "\nInstallation aborted. Exiting the installer." 7 50 + exit + else + break; + fi; + fi; + let j+=1 + echo $(expr 100 \* $j / $mySITESCOUNT) | dialog --keep-window --title "[ Testing the internet connection ]" --backtitle "$myBACKTITLE" --gauge "\n Now checking: $i\n" 8 80 + done; +} +fuCHECKNET "https://hub.docker.com https://github.com https://pypi.python.org https://debian.org" + ################################## # Extract command line arguments # ################################## @@ -294,32 +331,6 @@ if [ "$myCONF_PROXY_USE" == "0" ]; fi ### ---> End proxy setup -# Let's test the internet connection -if [ "$myTPOT_DEPLOYMENT_TYPE" == "iso" ] || [ "$myTPOT_DEPLOYMENT_TYPE" == "user" ]; - then - mySITESCOUNT=$(echo $mySITES | wc -w) - j=0 - for i in $mySITES; - do - curl --connect-timeout 30 -IsS $i 2>&1>/dev/null | dialog --title "[ Testing the internet connection ]" --backtitle "$myBACKTITLE" \ - --gauge "\n Now checking: $i\n" 8 80 $(expr 100 \* $j / $mySITESCOUNT) - if [ $? -ne 0 ]; - then - dialog --keep-window --backtitle "$myBACKTITLE" --title "[ Continue? ]" --yesno "\nInternet connection test failed. This might indicate some problems with your connection. You can continue, but the installation might fail." 10 50 - if [ $? = 1 ]; - then - dialog --keep-window --backtitle "$myBACKTITLE" --title "[ Abort ]" --msgbox "\nInstallation aborted. Exiting the installer." 7 50 - exit - else - break; - fi; - fi; - let j+=1 - echo 2>&1>/dev/null | dialog --keep-window --title "[ Testing the internet connection ]" --backtitle "$myBACKTITLE" \ - --gauge "\n Now checking: $i\n" 8 80 $(expr 100 \* $j / $mySITESCOUNT) - done; -fi - #################### # User interaction # #################### diff --git a/iso/preseed/tpot.seed b/iso/preseed/tpot.seed index 20e94ad2..3d6e5b64 100755 --- a/iso/preseed/tpot.seed +++ b/iso/preseed/tpot.seed @@ -109,7 +109,7 @@ tasksel tasksel/first multiselect ssh-server ######################## ### Package Installation ######################## -d-i pkgsel/include string git lsb-release +d-i pkgsel/include string curl dialog git lsb-release popularity-contest popularity-contest/participate boolean false #################