# HG changeset patch
# User Aleksej Bobylev
# Date 1507206518 -10800
# Node ID 494ae7666b3e577749099e4927f08467ace2c622
# Parent cf56992b574fe2acc1ef0c77e477e8abd194cace
installer.cgi: make it more NetSurf-compatible (ajax don't work anyway), change page_redirection() to use HTTP redirection (no more that intermediate redirection page).
diff -r cf56992b574f -r 494ae7666b3e installer.cgi
--- a/installer.cgi Fri Sep 29 08:45:28 2017 +0200
+++ b/installer.cgi Thu Oct 05 15:28:38 2017 +0300
@@ -2,7 +2,7 @@
#
# Main CGI interface for Tazinst, the SliTaz installer.
#
-# Copyright (C) 2012-2016 SliTaz GNU/Linux - BSD License
+# Copyright (C) 2012-2017 SliTaz GNU/Linux - BSD License
#
# Authors : Dominique Corbex
#
@@ -97,7 +97,7 @@
-
EOT
}
@@ -183,7 +181,7 @@
exec_gparted() {
/bin/su - -c \
- "exec env DISPLAY=':0.0' XAUTHORITY='/var/run/slim.auth' /usr/sbin/gparted"
+ "exec env DISPLAY=':0.0' XAUTHORITY='/var/run/slim.auth' /usr/sbin/gparted" >/dev/null 2>&1
}
@@ -222,7 +220,7 @@
@@ -248,7 +246,7 @@
local error
# set default media
- [ "$media" ] || media="$(tazinst list media | cut -d ' ' -f1)"
+ [ -n "$media" ] || media="$(tazinst list media | cut -d ' ' -f1)"
comment "Source selection"
# cdrom
@@ -799,8 +797,8 @@
cat <
EOT
}
@@ -809,7 +807,7 @@
moveto_home() {
cat <
-
EOT
@@ -819,6 +817,12 @@
page_redirection() {
local page="$1"
cat <
@@ -843,14 +847,18 @@
#----------
check_ressources() {
- local errorcode=0
- comment "check_ressources"
- if ! [ -x /usr/sbin/tazinst ] ; then
+ local errorcode=0 buffer=$(mktemp)
+ {
+ header; xhtml_header; comment "check_ressources"
+ } > $buffer
+ if ! [ -x /usr/sbin/tazinst ]; then
+ {
h4 $(_ 'Tazinst Error')
p $(_ '%s, the backend to %s is missing.' 'tazinst' 'slitaz-installer';
_ 'Any installation can not be done without %s.' 'tazinst')
p $(_ "Check %s permissions, or reinstall the %s package." \
'tazinst' 'slitaz-installer')
+ } >> $buffer
errorcode=1
else
# check tazinst minimum version
@@ -858,12 +866,14 @@
r=$TAZINST_MINIMUM_VERSION
if ! (printf '%s' "$v" | /bin/busybox awk -v r=$r \
'{v=$v+0}{ if (v < r) exit 1}') ; then
+ {
h4 $(_ 'Tazinst Error')
p $(_ '%s, the %s backend, is not at the minimum required version.' \
'tazinst' 'slitaz-installer';
_ 'Any installation can not be done without %s.' 'tazinst')
p $(_ 'Reinstall the %s package, or use %s in CLI mode.' \
'slitaz-installer' 'tazinst')
+ } >> $buffer
errorcode=1
fi
# check tazinst maximum version
@@ -871,15 +881,19 @@
r=$TAZINST_MAXIMUM_VERSION
if ! (printf '%s' "$v" | /bin/busybox awk -v r=$r \
'{v=$v+0}{ if (v > r) exit 1}') ; then
+ {
h4 $(_ 'Tazinst Error')
p $(_ "%s, the %s backend, is at a higher version than the maximum authorized \
by the %s." 'tazinst' 'slitaz-installer' 'slitaz-installer';
_ 'Any installation cannot be done.')
p $(_ 'Reinstall the %s package, or use %s in CLI mode.' \
'slitaz-installer' 'tazinst')
+ } >> $buffer
errorcode=1
fi
fi
+ [ "$errorcode" -eq 1 ] && cat $buffer
+ rm $buffer
return $errorcode
}
@@ -1169,27 +1183,24 @@
# main
#
-header
-
case "$(GET page)" in
home)
- xhtml_header
+ header; xhtml_header
select_action
select_install
select_upgrade
select_evaluate
;;
evaluate)
- xhtml_header
+ header; xhtml_header
select_evaluate
;;
install)
- xhtml_header
/usr/sbin/tazinst set mode install "$INSTFILE"
page_redirection partitioning
;;
partitioning)
- xhtml_header
+ header; xhtml_header
form_start
display_mode
select_gparted
@@ -1198,16 +1209,14 @@
;;
gparted)
exec_gparted
- xhtml_header
page_redirection partitioning
;;
upgrade)
- xhtml_header
/usr/sbin/tazinst set mode upgrade "$INSTFILE"
page_redirection input
;;
input)
- xhtml_header
+ header; xhtml_header
add_style
form_start
display_mode
@@ -1216,15 +1225,23 @@
form_end
;;
execute)
- xhtml_header
- form_start
- display_mode
- save_settings
+ buffer=$(mktemp)
+ {
+ header; xhtml_header
+ form_start
+ display_mode
+ save_settings
+ } > $buffer
if ! (/usr/sbin/tazinst check all $INSTFILE > /dev/null); then
+ rm $buffer
page_redirection "input&CHECK=yes"
else
- tazinst_run && moveto_page home reboot \
- || moveto_page input failed
+ cat $buffer; rm $buffer
+ if tazinst_run; then
+ moveto_page home reboot
+ else
+ moveto_page input failed
+ fi
fi
form_end
;;
@@ -1232,14 +1249,13 @@
/usr/sbin/tazinst clean "$INSTFILE"
reboot ;;
failed)
- xhtml_header
+ header; xhtml_header
form_start
tazinst_log
moveto_home
form_end
;;
*)
- xhtml_header
if check_ressources; then
/usr/sbin/tazinst new "$INSTFILE"
page_redirection home