~mmach/netext73/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
#!/bin/bash
## Graficzny instalator kerneli e X t 7 3  - NeteXt'73
## przygotowanie kerneli e X t 7 3 - ext73@wp.pl
## przygotowanie skryptów optymalizacyjnych e X t 7 3
## autor skryptu NeteXt'73 - NetBit73 - netbit73@gmail.com
## Licencja: GPL v3: https://www.gnu.org/licenses/gpl.txt
#########################################################################################################################################################################
#procedury

source /opt/NeteXt73/procedury

#########################################################################################################################################################################
#Update

#ustawienia dla crona
if [ "$1" = "start" ]; then
	if [ ! -e /tmp/netext73/sumy ]; then
		mkdir -p /tmp/netext73/sumy
	fi
	sumy
fi
cd /tmp/netext73

usun(){
rm *.html* -f
rm -f /tmp/netext73/*.txt
}

nv_radeon(){
if lspci | grep -i GeForce | grep -i NVIDIA;then
	export a5="TRUE"
else
	export a5="FALSE"
fi
if ! lspci | grep VGA | awk '{print tolower($0)}' | grep radeon || [ "$(glxinfo | grep 'AMD Radeon HD' | sed -e 's/.*HD //g' -e 's/ .*//g')" -le 5000 ];then
	a6="FALSE"
else
	a6="TRUE"
fi
}

aktualizuj_calosc(){
nv_radeon
konfiguracja=$(yad --center --title="$nazwa_skryptu" --on-top --window-icon="/opt/NeteXt73/ikony/start.png" --image="/opt/NeteXt73/ikony/start.png" --text="<span color=\"$kolor_textu\">$TEXT_UPDATE1</span>" --center --form --columns=3 --field="system microcode:CHK" --field="grub:CHK" --field="apm:CHK" --field="kernel:CHK" --field="NVIDIA:CHK" --field="Mesa3D:CHK" --field="gcc:CHK"  $a1 $a2 $a3 $a4 $a5 $a6 $a7 --width="$((650*$skala))" --button="gtk-ok:0" --button="$TEXT_POWROT:1" )
	klawisz=$?
	if [ "$klawisz" = "0" ]; then
		if [ "$(echo $konfiguracja | cut -d '|' -f 1 )" = "TRUE" ]; then
			/opt/NeteXt73/./microcode
		fi
		if [ "$(echo $konfiguracja | cut -d '|' -f 2 )" = "TRUE" ]; then
			/opt/NeteXt73/./grub
		fi
		if [ "$(echo $konfiguracja | cut -d '|' -f 3 )" = "TRUE" ]; then
			/opt/NeteXt73/./apm
		fi
		if [ "$(echo $konfiguracja | cut -d '|' -f 5 )" = "TRUE" ]; then
			/opt/NeteXt73/./grafiki nvidia
		fi
		if [ "$(echo $konfiguracja | cut -d '|' -f 6 )" = "TRUE" ]; then
			/opt/NeteXt73/./grafiki mesa3d
		fi
		if [ "$(echo $konfiguracja | cut -d '|' -f 7 )" = "TRUE" ]; then
			instalacja_gcc
		fi
		if [ "$(echo $konfiguracja | cut -d '|' -f 4 )" = "TRUE" ]; then
			if [ "$kernel_premium" = "tak" ]; then
				/opt/NeteXt73/./kernele premium
			else
				/opt/NeteXt73/./kernele standard
			fi
		fi

	fi
}
usun

instalacja_gcc(){
cd /tmp/netext73
naglowek > instaluj.sh
instaluj_gcc instaluj_nowy >> instaluj.sh
instalacja gcc
}

#firmware
stan_firmware
twoj_firmware=$(dpkg -l | grep linux-firmware | awk '{print $3}' | head -n 1 | sed 's/~.*//')

#microcode
if [ "$stan_microcode" = "-" ]; then
	firm=$TEXT_UPDATE5a
	a1="TRUE"
	TEXT_DYMKA="\nFirmware - $TEXT_UPDATE5a"
else
	firm=v$twoj_firmware
	a1="FALSE"
fi

#GRUB
if [ "$(grep 'acpi_osi=' /etc/default/grub)" = "" ] || [ "$(grep '915.lvds_downclock=1' /etc/default/grub)" != "" ] || [ "$(grep 'i915.semaphores=1' /etc/default/grub)" != "" ] ; then
	a2="TRUE"
	TEXT_DYMKA="$TEXT_DYMKA\nGRUB - $TEXT_UPDATE5a"
else
	a2="FALSE"
fi

#APM
stan_apm #sprawdzenie stanu instalacji
twoj_apm=$(ls /etc/apm-ext73/advanced_power_management_by_ext73_* | cut -d '_' -f 6 | tail -n 1)
if [ "$stan_apm" != "-" ]; then
	apm="$TEXT_UPDATE4"
	a3="FALSE"
else
	apm="$TEXT_UPDATE5 $wersja_apm"
	a3="TRUE"
	TEXT_DYMKA="$TEXT_DYMKA\nAPM - $TEXT_UPDATE5 $wersja_apm"
fi


#kernel zainstalowany
sprawdz_kernel

if [ "$(cat /tmp/netext73/sumy/kernel*.txt)" = "" ]; then
	kern=$TEXT_BRAK_DANYCH
	a4="TRUE"
	TEXT_DYMKA="$TEXT_DYMKA\nKERNEL - $TEXT_UPDATE5a"
else
	if [ "$(dpkg -l |grep linux-image | awk '{print $2}' | sed 's/linux-image-//g' | grep $kern2)" != "" ]; then
		kern="$TEXT_UPDATE4"
		a4="FALSE"
	else
		kern="$TEXT_UPDATE5 v$(echo $nowy_kernel | sed 's/_testowy.*//g' | sed 's/_stabilny.*//g' | cut -d "-" -f 3)"
		a4="TRUE"
		TEXT_DYMKA="$TEXT_DYMKA\nKERNEL - $kern"
	fi
	if [ "$(dpkg -l |grep linux-image | awk '{print $2}' | sed 's/linux-image-//g' | grep $kern2)" != "" ] && [ "$kern1" != "$(echo $twoj_kernel | sed 's/.*v//')" ]; then
		kern="$TEXT_UPDATE9"
		a4="FALSE"
	fi
fi

#gcc

if [ "$(gcc --version | grep -i ext73)" = "" ]; then 
	twoj_gcc=$(md5sum /opt/NeteXt73-gcc/$(ls /opt/NeteXt73-gcc/ | grep gcc) | awk '{print $1}')
	dostepny_gcc=$(ls /opt/NeteXt73-gcc/ | grep gcc |sed 's/gcc-//g' | sed 's/.tar.xz//g')
else
	twoj_gcc=$(gcc --version | head -n 1 | awk '{print $3}' | cut -d '-' -f 1)
	dostepny_gcc=$(ls /opt/NeteXt73-gcc/ | grep gcc |sed 's/gcc-//g' | sed 's/.tar.xz//g')
fi
if [ "$twoj_gcc" = "$dostepny_gcc" ];then
	gcc_text="$TEXT_UPDATE4"
	a7="FALSE"
else
	gcc_text="$TEXT_UPDATE5a v$dostepny_gcc"
	a7="TRUE"
	TEXT_DYMKA="$TEXT_DYMKA\nGCC - $TEXT_UPDATE5a v$dostepny_gcc"
fi

#dymek możliwych aktualizacji
if [ "$TEXT_DYMKA" != "" ]; then
	dymek -i $ikona_info1 "$TEXT_UWAGA" "$TEXT_DYMKA" &
fi
if [ "$1" = "first" ]; then
	if [ ! -e /etc/netext73/opis_programu ]; then
		/opt/NeteXt73/./help & #odpalenie strony z opisem
		echo "TRUE" > /etc/netext73/opis_programu
	fi
	a1="TRUE"
	a2="TRUE"
	a3="TRUE"
	a4="TRUE"
	#a7 zaznaczone na podstawie stanu gcc
	nv_radeon
	aktualizuj_calosc
	usun
	exit 0
fi

if [ "$1" != "start" ]; then
	if [ "$(echo $a1$a2$a3$a4$a7 | grep 'TRUE')" != "" ];then
		menu="$TEXT_UPDATE8!$TEXT_UPDATE7!$TEXT_UPDATE2"
	else
		menu="$TEXT_UPDATE2!$TEXT_UPDATE7!$TEXT_UPDATE8"
	fi

	a=$(yad --center --on-top --title="$nazwa_skryptu" --width=$((680*$skala)) --window-icon="/opt/NeteXt73/ikony/update.png" --image="/opt/NeteXt73/ikony/update.png" --form \
	--field="Firmware/microcode:RO" "$firm" \
	--field="Kernel $twoj_kernel:RO" "$kern" \
	--field="APM $twoj_apm:RO" "$apm" \
	--field="gcc $(gcc --version | head -n 1 | awk '{print $3}' | cut -d '-' -f 1):RO" "$gcc_text" \
	--field="$TEXT_UPDATE1:CB" "$menu" \
	--button="gtk-ok:0" \
	--button="$TEXT_ZAMKNIJ:1")
	klawisz=$?; a=$(echo $a | cut -d "|" -f 5)

	if [ $klawisz = "0" ]; then
		if [ "$a" = "$TEXT_UPDATE2" ]; then
			if [ -e /etc/netext73/clean ] && [ "$(grep TRUE /etc/netext73/clean)" = "" ] || [ ! -e /etc/netext73/clean ]; then
				xterm -T  "dist-upgrade" -e bash -c "echo 'sudo apt update && sudo apt dist-upgrade'; sudo apt update && sudo apt dist-upgrade -y;echo -e \"$TEXT_INSTALACJA2\"; read ent"
			elif [ -e /etc/netext73/clean ] && [ "$(grep TRUE /etc/netext73/clean)" != "" ]; then
				xterm -T  "dist-upgrade & clean" -e bash -c "echo 'sudo apt update && sudo apt dist-upgrade && sudo apt autoclean && sudo apt autoremove'; sudo apt update && sudo apt dist-upgrade -y && sudo apt autoclean && sudo apt autoremove ; echo -e \"$TEXT_INSTALACJA2\"; read ent"	
			fi
		elif [ "$a" = "$TEXT_UPDATE8" ]; then
			aktualizuj_calosc
		elif [ "$a" = "$TEXT_UPDATE7" ]; then
			a1="TRUE"
			a2="TRUE"
			a3="TRUE"
			a4="TRUE"
			a7="TRUE"
			aktualizuj_calosc
		fi
	fi
fi
usun