tazinst annotate installer.cgi @ rev 31

Tiny edits
author Paul Issott <paul@slitaz.org>
date Sat Feb 22 21:13:33 2014 +0000 (2014-02-22)
parents a0bb82fa1e38
children 0df59f69c90c
rev   line source
domcox@0 1 #!/bin/sh
domcox@0 2 #
domcox@0 3 # Main CGI interface for Tazinst, the SliTaz installer.
domcox@0 4 #
domcox@17 5 # Copyright (C) 2012-2014 SliTaz GNU/Linux - BSD License
domcox@0 6 #
domcox@0 7 # Authors : Dominique Corbex <domcox@slitaz.org>
domcox@0 8 #
domcox@0 9
domcox@0 10
domcox@2 11 # restricted path
domcox@2 12 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
domcox@0 13
domcox@28 14 VERSION=3.95
domcox@2 15
domcox@13 16 # Common functions from libtazpanel
domcox@13 17 . lib/libtazpanel
domcox@13 18 get_config
domcox@2 19
domcox@13 20 TITLE=$(gettext 'TazPanel - Installer')
domcox@0 21
domcox@2 22 # export package name for gettext.
domcox@2 23 TEXTDOMAIN='installer'
domcox@2 24 export TEXTDOMAIN
domcox@0 25
domcox@2 26 # tazinst required version
domcox@2 27 TAZINST_MINIMUM_VERSION="3.8"
domcox@2 28 TAZINST_MAXIMUM_VERSION="4.99"
domcox@0 29
domcox@2 30 # tazinst setup file
domcox@2 31 INSTFILE=/root/tazinst.conf
domcox@0 32
pascal@22 33 #------
pascal@22 34 # menu
pascal@22 35 #------
pascal@22 36 case "$1" in
pascal@22 37 menu) [ "$REMOTE_USER" == "root" ] && cat << EOT
pascal@22 38 <li><a href="/installer.cgi">$(gettext 'Install')</a>
pascal@22 39 <ul>
pascal@22 40 <li><a href="/installer.cgi?page=menu_install"><img
pascal@22 41 src="/styles/default/images/tux.png" />$(gettext 'Install SliTaz')</a></li>
pascal@22 42 <li><a href="/installer.cgi?page=menu_upgrade"><img
pascal@22 43 src="/styles/default/images/recharge.png" />$(gettext 'Upgrade system')</a></li>
pascal@22 44 </ul>
pascal@22 45 </li>
pascal@22 46 EOT
pascal@22 47 exit
pascal@22 48 esac
domcox@0 49
domcox@2 50 #-----------
domcox@2 51 # home page
domcox@2 52 #-----------
domcox@0 53
domcox@0 54 select_action()
domcox@0 55 {
domcox@13 56 comment "Welcome message"
domcox@13 57 open_div 'id="wrapper"'
domcox@13 58 h4 "$(gettext "Welcome to the Slitaz Installer!")"
domcox@13 59 p "$(gettext "The SliTaz Installer installs or upgrades SliTaz to a \
al@6 60 hard disk drive from a device like a Live-CD or LiveUSB key, from a SliTaz \
domcox@13 61 ISO file, or from the web by downloading an ISO file.")"
domcox@13 62 h5 "$(gettext "Which type of installation do you want to start?")"
domcox@2 63 close_div
domcox@0 64 }
domcox@0 65
domcox@0 66 select_install()
domcox@0 67 {
domcox@13 68 comment "Install message"
domcox@13 69 open_div 'class="box"'
domcox@13 70 h4 "$(gettext 'Install')"
domcox@13 71 p "$(gettext "Install SliTaz on a partition of your hard disk drive. If \
domcox@13 72 you decide to format your partition, all data will be lost. If you do not \
paul@16 73 format, all data except for any existing /home directory will be removed \
paul@16 74 (the home directory will be kept as is).")"
domcox@13 75 p "$(gettext "Before installation, you may need to create or resize \
al@6 76 partitions on your hard disk drive in order to make space for SliTaz \
domcox@13 77 GNU/Linux. You can graphically manage your partitions with Gparted")"
domcox@2 78 close_div
al@6 79 button "install" \
al@6 80 "$(gettext 'Install SliTaz')" \
al@6 81 "$(gettext 'Proceed to a new SliTaz installation')"
domcox@0 82 }
domcox@0 83
domcox@0 84 select_upgrade()
domcox@0 85 {
domcox@13 86 comment "Upgrade message"
domcox@13 87 open_div 'class="box"'
domcox@13 88 h4 "$(gettext 'Upgrade')"
domcox@13 89 p "$(gettext "Upgrade an already installed SliTaz system on your hard disk \
al@6 90 drive. Your /home /etc /var/www directories will be kept, all other \
al@6 91 directories will be removed. Any additional packages added to your old \
domcox@13 92 Slitaz system will be updated as long you have an active internet connection.")"
domcox@2 93 close_div
al@6 94 button "upgrade" \
al@6 95 "$(gettext 'Upgrade SliTaz')" \
al@6 96 "$(gettext 'Upgrade an existing SliTaz system')"
domcox@2 97 }
domcox@0 98
domcox@2 99 #--------------------
paul@31 100 # partitioning page
domcox@2 101 #--------------------
domcox@0 102
domcox@2 103 exec_gparted()
domcox@2 104 {
domcox@13 105 /bin/su - -c \
domcox@13 106 "exec env DISPLAY=':0.0' XAUTHORITY='/var/run/slim.auth' /usr/sbin/gparted"
domcox@0 107 }
domcox@0 108
domcox@0 109 select_gparted()
domcox@0 110 {
domcox@13 111 comment "GParted message"
domcox@13 112 h5 "$(gettext "Partitioning")"
domcox@13 113 open_div 'class="box"'
domcox@13 114 p "$(gettext "On most used systems, the hard drive is already dedicated to \
al@6 115 partitions for Windows<sup>&trade;</sup>, or Linux, or another operating \
al@6 116 system. You'll need to resize these partitions in order to make space for \
al@6 117 SliTaz GNU/Linux. SliTaz will co-exist with other operating systems already \
domcox@13 118 installed on your hard drive.")"
domcox@13 119 p "$(gettext "The amount of space needed depends on how much software you \
al@6 120 plan to install and how much space you require for users. It's conceivable \
al@6 121 that you could run a minimal SliTaz system in 300 megs or less, but 2 gigs \
domcox@13 122 is indeed more comfy.")"
paul@31 123 p "$(gettext "A separate home partition and a partition that will be used \
al@6 124 as Linux swap space may be created if needed. Slitaz detects and uses swap \
domcox@13 125 partitions automatically.")"
domcox@2 126 close_div
domcox@13 127 open_div 'class="box"'
domcox@13 128 p "$(gettext "You can graphically manage your partitions with GParted. \
al@6 129 GParted is a partition editor for graphically managing your disk partitions. \
al@6 130 GParted allows you to create, destroy, resize and copy partitions without \
domcox@13 131 data loss.")"
domcox@13 132 p "$(gettext "GParted supports ext2, ext3, ext4, linux swap, ntfs and \
domcox@13 133 fat32 filesystems right out of the box. Support for xjs, jfs, hfs and other \
al@6 134 filesystems is available as well but you first need to add drivers for these \
al@6 135 filesystems by installing the related packages xfsprogs, jfsutils, linux-hfs \
domcox@13 136 and so on.")"
domcox@2 137 close_div
domcox@13 138 comment "Launch GParted"
al@6 139 button "gparted" \
al@6 140 "$(gettext 'Execute GParted')" \
al@6 141 "$(gettext 'Launch GParted, the partition editor tool')"
domcox@13 142 h5 "$(gettext "Continue installation")"
domcox@13 143 p "$(gettext "Once you've made room for SliTaz on your drive, you should \
domcox@13 144 be able to continue installation.")"
domcox@0 145 }
domcox@0 146
domcox@2 147 #------------
domcox@2 148 # input page
domcox@2 149 #------------
domcox@2 150
domcox@2 151
domcox@2 152 select_source()
domcox@0 153 {
domcox@2 154 local media="$(/usr/sbin/tazinst get media "$INSTFILE")"
domcox@2 155 local source="$(/usr/sbin/tazinst get source "$INSTFILE")"
domcox@2 156 local list_media="$(/usr/sbin/tazinst list media)"
domcox@13 157 local error
domcox@2 158
domcox@13 159 # set default media
domcox@2 160 [ "$media" ] || media="$(tazinst list media | cut -d ' ' -f1)"
domcox@13 161
domcox@13 162 comment "Source selection"
domcox@2 163 # cdrom
domcox@13 164 if printf '%s' "$list_media" | grep -q "cdrom"; then
al@6 165 input_media "cdrom" \
al@6 166 "$media"
al@6 167 label_media "cdrom" \
al@6 168 "$(gettext 'LiveCD')" \
al@6 169 "$media" \
al@6 170 "$(gettext 'Use the SliTaz LiveCD')"
domcox@2 171 br
domcox@2 172 fi
domcox@2 173 # usb
domcox@13 174 if printf '%s' "$list_media" | grep -q "usb"; then
al@6 175 input_media "usb" \
al@6 176 "$media"
al@6 177 label_media "usb" \
al@6 178 "$(gettext 'LiveUSB:')" \
al@6 179 "$media" \
domcox@13 180 "$(gettext 'Enter the partition where SliTaz Live is located on
domcox@13 181 your USB Key')"
domcox@2 182 error="$?"
domcox@19 183 select "$(/usr/sbin/tazinst list usb "$INSTFILE" | cut -d' ' -f2)" \
al@6 184 "$source" \
al@6 185 "SRC_USB"
al@6 186 error_msg "$error" \
al@6 187 "source" \
al@6 188 2
domcox@2 189 br
domcox@2 190 fi
domcox@2 191 # iso
al@6 192 input_media "iso" \
al@6 193 "$media"
al@6 194 label_media "iso" \
al@6 195 "$(gettext 'ISO file:')" \
al@6 196 "$media" \
al@6 197 "$(gettext 'Select a SliTaz ISO file located on a local disk')"
domcox@2 198 error="$?"
domcox@2 199 if [ "$media" == "iso" ]; then
al@6 200 input "text" \
al@6 201 "src_iso" \
al@6 202 "$source" "" \
domcox@13 203 "$(gettext 'Select an ISO or enter the full path to the ISO file')"\
domcox@2 204 "iso"
domcox@2 205 else
al@6 206 input "text" \
al@6 207 "src_iso" \
al@6 208 "" \
al@6 209 "none" \
domcox@13 210 "$(gettext 'Select an ISO or enter the full path to the ISO file')"\
domcox@2 211 "iso"
domcox@2 212 fi
al@6 213 datalist "$(/usr/sbin/tazinst list iso "$INSTFILE")" \
al@6 214 "src_iso"
al@6 215 error_msg "$error" \
al@6 216 "source"
domcox@2 217 br
domcox@2 218 # web
al@6 219 input_media "web" \
al@6 220 "$media"
al@6 221 label_media "web" \
al@6 222 "$(gettext 'Web:')" \
al@6 223 "$media" \
al@6 224 "$(gettext 'Select a SliTaz version on the Web')"
domcox@2 225 error="$?"
domcox@2 226
domcox@2 227 if [ "$media" == "web" ]; then
al@6 228 input "text" \
al@6 229 "src_web" \
al@6 230 "$source" "" \
domcox@13 231 "$(gettext 'Select a version or enter the full url to an ISO file')"\
domcox@2 232 "web"
domcox@2 233 else
al@6 234 input "text" \
al@6 235 "src_web" \
al@6 236 "" \
al@6 237 "none" \
domcox@13 238 "$(gettext 'Select a version or enter the full url to an ISO file')"\
domcox@2 239 "web"
domcox@2 240 fi
al@6 241 datalist "$(/usr/sbin/tazinst help web "$INSTFILE")" \
al@6 242 "src_web"
al@6 243 error_msg "$error" \
al@6 244 "source"
domcox@2 245 }
domcox@2 246
domcox@2 247 select_root_uuid()
domcox@2 248 {
domcox@2 249 local root_uuid="$(/usr/sbin/tazinst get root_uuid "$INSTFILE")"
domcox@2 250 local mode="$(/usr/sbin/tazinst get mode "$INSTFILE")"
domcox@2 251 comment "root_uuid selection"
domcox@2 252 if [ "$mode" == "upgrade" ]; then
al@6 253 label "root_uuid" \
al@6 254 "$(gettext 'Existing SliTaz partition to upgrade:')" \
al@6 255 "$(gettext 'Specify the partition containing the system to upgrade')"
domcox@2 256 error="$?"
domcox@2 257 else
al@6 258 label "root_uuid" \
al@6 259 "$(gettext 'Install Slitaz to partition:')" \
al@6 260 "$(gettext 'Specify the partition where to install SliTaz')"
domcox@2 261 error="$?"
domcox@2 262 fi
al@6 263 select "$(/usr/sbin/tazinst list uuid "$INSTFILE")" \
al@6 264 "$root_uuid" \
al@6 265 "ROOT_UUID" \
domcox@28 266 0
al@6 267 error_msg "$error" \
al@6 268 "root_uuid" \
domcox@28 269 0
domcox@2 270 br
domcox@2 271 }
domcox@2 272
domcox@2 273 select_root_format()
domcox@2 274 {
domcox@2 275 local root_format="$(/usr/sbin/tazinst get root_format "$INSTFILE")"
domcox@2 276 comment "root_format selection"
al@6 277 format "$(/usr/sbin/tazinst list format "$INSTFILE")" \
al@6 278 "$root_format" \
al@6 279 "ROOT_FORMAT"
domcox@2 280 }
domcox@2 281
domcox@2 282 select_options()
domcox@2 283 {
domcox@13 284 printf '<h4 id="options">%s</h4>' "$(gettext 'Options')"
domcox@2 285 }
domcox@2 286
domcox@2 287 select_home_uuid()
domcox@2 288 {
domcox@2 289 local home_uuid="$(/usr/sbin/tazinst get home_uuid "$INSTFILE")"
domcox@2 290 comment "home_uuid selection"
domcox@19 291 h5 "$(gettext "home partition")"
al@6 292 label "home_uuid" \
al@6 293 "$(gettext 'Separate partition for /home:')" \
al@6 294 "$(gettext 'Specify the partition containing /home')"
al@6 295 select "$(/usr/sbin/tazinst list uuid "$INSTFILE")" \
al@6 296 "$home_uuid" \
al@6 297 "HOME_UUID" \
domcox@28 298 0
domcox@2 299 br
domcox@2 300 }
domcox@2 301
domcox@2 302 select_home_format()
domcox@2 303 {
domcox@2 304 local home_format="$(/usr/sbin/tazinst get home_format "$INSTFILE")"
domcox@2 305 comment "home_format selection"
al@6 306 format "$(/usr/sbin/tazinst list format "$INSTFILE")" \
al@6 307 "$home_format" \
al@6 308 "HOME_FORMAT"
domcox@2 309 }
domcox@2 310
domcox@2 311 select_hostname()
domcox@2 312 {
domcox@2 313 local hostname="$(/usr/sbin/tazinst get hostname "$INSTFILE")" error
domcox@2 314 comment "hostname selection"
domcox@19 315 h5 "$(gettext "Hostname")"
al@6 316 label "hostname" \
al@6 317 "$(gettext 'Set Hostname to:')" \
al@6 318 "$(gettext 'Hostname configuration allows you to specify the machine name')"
domcox@2 319 error=$?
al@6 320 input "text" \
al@6 321 "HOSTNAME" \
al@6 322 "$hostname" \
al@6 323 "" \
al@6 324 "$(gettext 'Name of your system')"
al@6 325 error_msg "$error" \
al@6 326 "hostname" \
al@6 327 2
domcox@2 328 }
domcox@2 329
domcox@2 330 select_root_pwd()
domcox@2 331 {
domcox@2 332 local root_pwd="$(/usr/sbin/tazinst get root_pwd "$INSTFILE")" error
domcox@2 333 comment "root_pwd selection"
domcox@19 334 h5 "$(gettext "Root superuser")"
al@6 335 label "root_pwd" \
al@6 336 "$(gettext 'Root passwd:')" \
al@6 337 "$(gettext 'Enter the password for root')"
domcox@2 338 error="$?"
al@6 339 input "text" \
al@6 340 "ROOT_PWD" \
al@6 341 "$root_pwd" \
al@6 342 "" \
al@6 343 "$(gettext 'Password of root')"
al@6 344 error_msg "$error" \
al@6 345 "root_pwd"
domcox@2 346 }
domcox@2 347
domcox@2 348 select_user_login()
domcox@2 349 {
domcox@2 350 local user_login="$(/usr/sbin/tazinst get user_login "$INSTFILE")" error
domcox@2 351 comment "user_login selection"
domcox@19 352 h5 "$(gettext "User")"
al@6 353 label "user_login" \
al@6 354 "$(gettext 'User login:')" \
al@6 355 "$(gettext 'Enter the name of the first user')"
domcox@2 356 error="$?"
al@6 357 input "text" \
al@6 358 "USER_LOGIN" \
al@6 359 "$user_login" \
al@6 360 "" \
domcox@2 361 "$(gettext 'Name of the first user')"
al@6 362 error_msg "$error" \
al@6 363 "user_login" \
al@6 364 2
domcox@2 365 br
domcox@2 366 }
domcox@2 367
domcox@2 368 select_user_pwd()
domcox@2 369 {
domcox@2 370 local user_pwd="$(/usr/sbin/tazinst get user_pwd "$INSTFILE")" error
al@6 371 label "user_pwd" \
al@6 372 "$(gettext 'User passwd:')" \
al@6 373 "$(gettext 'The password for default user')"
domcox@2 374 error="$?"
al@6 375 input "text" \
al@6 376 "USER_PWD" \
al@6 377 "$user_pwd" \
al@6 378 "" \
domcox@2 379 "$(gettext 'Password of the first user')"
al@6 380 error_msg "$error" \
al@6 381 "user_pwd"
domcox@2 382 }
domcox@2 383
domcox@2 384 select_bootloader()
domcox@2 385 {
domcox@2 386 local bootloader="$(/usr/sbin/tazinst get bootloader "$INSTFILE")" error
domcox@2 387 comment "bootloader selection"
domcox@19 388 h5 "$(gettext "Bootloader")"
al@6 389 input "checkbox" \
al@6 390 "bootloader" \
al@6 391 "auto" \
al@6 392 "$bootloader"
al@6 393 label "bootloader" \
al@6 394 "$(gettext 'Install a bootloader.')" \
domcox@13 395 "$(gettext "Usually you should answer yes, unless you want to install \
domcox@13 396 a bootloader by hand yourself.")"
domcox@2 397 error="$?"
al@6 398 error_msg "$error" \
al@6 399 "bootloader"
domcox@2 400 br
domcox@2 401 }
domcox@2 402
domcox@2 403 select_winboot()
domcox@2 404 {
domcox@2 405 local winboot="$(/usr/sbin/tazinst get winboot "$INSTFILE")" error
domcox@2 406 comment "winboot selection"
al@6 407 input "checkbox" \
al@6 408 "winboot" \
al@6 409 "auto" \
al@6 410 "$winboot"
al@6 411 label "winboot" \
al@6 412 "$(gettext 'Enable Windows Dual-Boot.')" \
domcox@13 413 "$(gettext "At start-up, you will be asked whether you want to boot \
domcox@13 414 into Windows&trade; or SliTaz GNU/Linux.")"
domcox@2 415 error="$?"
al@6 416 error_msg "$error" \
al@6 417 "winboot"
domcox@2 418 }
domcox@2 419
domcox@2 420 errors_msg()
domcox@2 421 {
domcox@2 422 if [ "$CHECK" ]; then
domcox@13 423 echo '<span class="alert">'
domcox@28 424 p "$(gettext "Errors found. Please check your settings.")"
domcox@13 425 echo '</span>'
domcox@2 426 fi
domcox@2 427 }
domcox@2 428
domcox@2 429 select_settings()
domcox@2 430 {
domcox@2 431 local settings="$(/usr/sbin/tazinst get settings "$INSTFILE")"
domcox@2 432 CHECK=$(GET CHECK)
domcox@2 433 errors_msg
domcox@13 434 h4 "$(gettext "Select source media:")"
domcox@13 435 open_div 'class="box"'
domcox@13 436 open_div 'class="media"'
domcox@2 437 select_source
domcox@2 438 close_div
domcox@2 439 close_div
domcox@13 440 h4 "$(gettext "Select destination")"
domcox@13 441 open_div 'class="box"'
domcox@2 442 select_root_uuid
domcox@13 443 printf '%s' "$settings" | grep -q "root_format" \
domcox@2 444 && select_root_format
domcox@2 445 close_div
domcox@2 446 select_options
domcox@13 447 open_div 'class="options"'
domcox@13 448 printf '%s' "$settings" | grep -q "home_uuid" && select_home_uuid
domcox@13 449 printf '%s' "$settings" | grep -q "home_format" \
domcox@2 450 && select_home_format
domcox@13 451 printf '%s' "$settings" | grep -q "hostname" && select_hostname
domcox@13 452 printf '%s' "$settings" | grep -q "root_pwd" && select_root_pwd
domcox@13 453 printf '%s' "$settings" | grep -q "user_login" && select_user_login
domcox@13 454 printf '%s' "$settings" | grep -q "user_pwd" && select_user_pwd
domcox@2 455 close_div
domcox@13 456 open_div 'class="bootloader"'
domcox@13 457 printf '%s' "$settings" | grep -q "bootloader" && select_bootloader
domcox@13 458 printf '%s' "$settings" | grep -q "winboot" && select_winboot
domcox@2 459 close_div
domcox@2 460 br
domcox@2 461 }
domcox@2 462
domcox@2 463 #--------------
domcox@2 464 # execute page
domcox@2 465 #--------------
domcox@2 466
domcox@2 467 save_settings()
domcox@2 468 {
domcox@19 469 h5 "$(gettext "Checking settings...")"
domcox@2 470 # install type
domcox@2 471 /usr/sbin/tazinst set media "$(GET MEDIA)" "$INSTFILE"
domcox@2 472 # source File
domcox@2 473 case "$(/usr/sbin/tazinst get media "$INSTFILE")" in
domcox@2 474 usb)
domcox@2 475 /usr/sbin/tazinst set source "$(GET SRC_USB)" "$INSTFILE" ;;
domcox@2 476 iso)
domcox@2 477 /usr/sbin/tazinst set source "$(GET SRC_ISO)" "$INSTFILE" ;;
domcox@2 478 web)
domcox@2 479 /usr/sbin/tazinst set source "$(GET SRC_WEB)" "$INSTFILE" ;;
domcox@2 480 esac
domcox@2 481 # set defined url
domcox@2 482 [ $(GET URL) ] && SRC_WEB=$(GET URL)
domcox@2 483 # root Partition
domcox@2 484 /usr/sbin/tazinst set root_uuid "$(GET ROOT_UUID)" "$INSTFILE"
domcox@2 485 # format root partition
domcox@2 486 [ "$(GET ROOT_FORMAT)" ] \
domcox@2 487 && /usr/sbin/tazinst set root_format "$(GET ROOT_FORMAT)" "$INSTFILE" \
domcox@2 488 || /usr/sbin/tazinst unset root_format "$INSTFILE"
domcox@2 489 # home Partition
domcox@2 490 if [ "$(GET HOME_UUID)" ] ; then
domcox@2 491 /usr/sbin/tazinst set home_uuid "$(GET HOME_UUID)" "$INSTFILE"
domcox@2 492 [ "$(GET HOME_FORMAT)" ] \
domcox@2 493 && /usr/sbin/tazinst set home_format "$(GET HOME_FORMAT)" \
domcox@2 494 "$INSTFILE" \
domcox@2 495 || /usr/sbin/tazinst unset home_format "$INSTFILE"
domcox@2 496 else
domcox@2 497 /usr/sbin/tazinst unset home_uuid "$INSTFILE"
domcox@2 498 /usr/sbin/tazinst unset home_format "$INSTFILE"
domcox@2 499 fi
domcox@2 500 # hostname
domcox@2 501 /usr/sbin/tazinst set hostname "$(GET HOSTNAME)" "$INSTFILE"
domcox@2 502 # root pwd
domcox@2 503 /usr/sbin/tazinst set root_pwd "$(GET ROOT_PWD)" "$INSTFILE"
domcox@2 504 # user Login
domcox@2 505 /usr/sbin/tazinst set user_login "$(GET USER_LOGIN)" "$INSTFILE"
domcox@2 506 # user Pwd
domcox@2 507 /usr/sbin/tazinst set user_pwd "$(GET USER_PWD)" "$INSTFILE"
domcox@2 508 # win Dual-Boot
domcox@2 509 /usr/sbin/tazinst set winboot "$(GET WINBOOT)" "$INSTFILE"
domcox@2 510 # bootloader
domcox@2 511 if [ "$(GET BOOTLOADER)" == "auto" ]; then
domcox@2 512 /usr/sbin/tazinst set bootloader "auto" "$INSTFILE"
domcox@2 513 else
domcox@2 514 /usr/sbin/tazinst unset bootloader "$INSTFILE"
domcox@2 515 /usr/sbin/tazinst unset winboot "$INSTFILE"
domcox@2 516 fi
domcox@2 517 input_hidden "CHECK" "yes"
domcox@2 518 }
domcox@2 519
domcox@2 520 tazinst_run()
domcox@2 521 {
domcox@2 522 local mode="$(/usr/sbin/tazinst get mode "$INSTFILE")" error
domcox@2 523 h4 "Proceeding to: $mode"
domcox@2 524 /usr/sbin/tazinst execute "$INSTFILE" | /bin/busybox awk '{
domcox@2 525 num=$1+0
domcox@2 526 if (num>0 && num<=100){
domcox@2 527 print "<script type=\"text/javascript\">"
domcox@2 528 printf "document.write(\047<div id=\"progress\">"
domcox@2 529 printf "<img src=\"/styles/default/images/loader.gif\" />"
domcox@2 530 printf $1 "&#37; " substr($0, length($1)+2, 40)
domcox@2 531 print "</div>\047)"
domcox@2 532 print "</script>"
domcox@2 533 }
domcox@2 534 }'
domcox@2 535 # end_of_install
domcox@2 536 if /usr/sbin/tazinst log | grep -q "x-x-" ; then
domcox@2 537 error=1
domcox@2 538 echo "<script type=\"text/javascript\">"
domcox@2 539 printf "document.write(\047<div id=\"progress\">"
domcox@2 540 printf "<img src=\"/styles/default/images/stop.png\" />"
al@6 541 printf "$(gettext 'Errors encountered.')"
domcox@2 542 printf "</div>\047)\n"
domcox@2 543 echo "</script>"
domcox@2 544 br
domcox@2 545 br
domcox@2 546 /usr/sbin/tazinst log | \
domcox@2 547 /bin/busybox awk '$1 == "-x-x-",$1 == "x-x-x"' | sed 's/-x-x-/ /' \
domcox@2 548 | grep -v "x-x-x"
domcox@2 549 else
domcox@2 550 error=0
domcox@2 551 echo "<script type=\"text/javascript\">"
domcox@2 552 printf "document.write(\047<div id=\"progress\">"
domcox@2 553 printf "<img src=\"/styles/default/images/tux.png\" />"
al@6 554 printf "$(gettext 'Process completed!')"
domcox@2 555 printf "</div>\047)\n"
domcox@2 556 echo "</script>"
domcox@2 557 br
domcox@2 558 br
domcox@2 559 br
al@6 560 p $(gettext "Installation is now finished, you can exit the installer \
al@6 561 or reboot on your new SliTaz GNU/Linux operating system.")
domcox@2 562 fi
domcox@2 563 return "$error"
domcox@2 564
domcox@2 565 }
domcox@2 566
domcox@2 567 tazinst_log()
domcox@2 568 {
domcox@13 569 h4 "$(gettext "Tazinst log")"
domcox@13 570 printf '<pre>%s</pre>' "$(/usr/sbin/tazinst log | sed 's/\%/ percent/g')"
domcox@2 571 }
domcox@2 572
domcox@2 573
domcox@2 574 #-----------------
domcox@2 575 # page navigation
domcox@2 576 #-----------------
domcox@2 577
domcox@2 578 display_mode()
domcox@2 579 {
domcox@2 580 local mode="$(/usr/sbin/tazinst get mode "$INSTFILE")"
domcox@2 581 case $mode in
domcox@0 582 install)
domcox@13 583 open_div 'id="wrapper"'
domcox@13 584 h4 "$(gettext "Install SliTaz")"
domcox@13 585 p "$(gettext "You're going to install SliTaz on a partition of \
domcox@13 586 your hard disk drive. If you decide to format your HDD, all data will be \
al@6 587 lost. If you do not format, all data except for any existing /home \
paul@16 588 directory will be removed (the home directory will be kept as is).")"
domcox@2 589 close_div
domcox@0 590 ;;
domcox@0 591 upgrade)
domcox@13 592 open_div 'id="wrapper"'
domcox@13 593 h4 "$(gettext "Upgrade SliTaz")"
domcox@13 594 p "$(gettext "You're going to upgrade an already installed SliTaz \
al@6 595 system on your hard disk drive. Your /home /etc /var/www directories \
al@6 596 will be kept, all other directories will be removed. Any additional \
al@6 597 packages added to your old Slitaz system will be updated as long you \
domcox@13 598 have an active internet connection.")"
domcox@2 599 close_div
domcox@0 600 ;;
domcox@0 601 esac
domcox@0 602 }
domcox@0 603
domcox@2 604 moveto_page()
domcox@0 605 {
domcox@13 606 local back_page="$1" next_page="$2" back_msg next_msg
domcox@13 607 case "$back_page" in
domcox@2 608 partitioning)
domcox@2 609 back_msg=$(gettext 'Back to partitioning') ;;
domcox@2 610 input)
domcox@2 611 back_msg=$(gettext 'Back to entering settings') ;;
domcox@2 612 *)
domcox@2 613 back_msg=$(gettext 'Back to Installer Start Page') ;;
domcox@2 614 esac
domcox@13 615 case "$next_page" in
domcox@2 616 execute|run)
domcox@2 617 next_msg=$(gettext 'Proceed to SliTaz installation') ;;
domcox@2 618 reboot)
domcox@2 619 next_msg=$(gettext 'Installation complete. You can now restart') ;;
domcox@2 620 failed)
domcox@2 621 next_msg=$(gettext 'Installation failed. See log') ;;
domcox@2 622 input)
domcox@2 623 next_msg=$(gettext 'Continue installation.') ;;
domcox@2 624 *)
domcox@2 625 next_msg=$(gettext 'Back to Installer Start Page') ;;
domcox@2 626 esac
domcox@2 627 hr
domcox@13 628 input_hidden "page" "$next_page"
domcox@13 629 a "$back_page" "$back_msg"
al@6 630 input "submit" \
al@6 631 "" \
al@6 632 "$next_msg"
domcox@0 633 }
domcox@0 634
domcox@2 635 moveto_home()
domcox@0 636 {
domcox@13 637 a "home" "$(gettext 'Back to Installer Start Page')"
domcox@0 638 }
domcox@0 639
domcox@0 640 page_redirection()
domcox@0 641 {
domcox@2 642 local page="$1"
domcox@2 643 cat <<EOT
domcox@0 644 <!DOCTYPE html>
domcox@0 645 <html>
domcox@0 646 <head>
domcox@0 647 <meta charset="utf-8">
domcox@0 648 <title>$(gettext "A web page that points a browser to a different page after \
domcox@0 649 2 seconds")</title>
domcox@0 650 <meta http-equiv="refresh" content="0; URL=$SCRIPT_NAME?page=$1">
domcox@0 651 <meta name="keywords" content="automatic redirection">
domcox@0 652 </head>
domcox@0 653 <body>
domcox@0 654 <p>$(gettext "If your browser doesn't automatically redirect within a few \
domcox@2 655 seconds, you may want to go there manually")
domcox@2 656 <a href="$SCRIPT_NAME?page=$page">$(gettext "here")</a></p>
domcox@0 657 </body>
domcox@0 658 </html>
domcox@0 659 EOT
domcox@0 660 }
domcox@0 661
domcox@2 662 #----------
domcox@2 663 # checking
domcox@2 664 #----------
domcox@2 665
domcox@0 666 check_ressources()
domcox@0 667 {
domcox@2 668 local errorcode=0
domcox@2 669 comment "check_ressources"
domcox@0 670 if ! [ -x /usr/sbin/tazinst ] ; then
al@6 671 h4 $(gettext "Tazinst Error")
al@6 672 p $(gettext "<strong>tazinst</strong>, the backend to slitaz-installer \
al@6 673 is missing. Any installation can not be done without tazinst.")
al@6 674 p $(gettext "Check tazinst permissions, or reinstall the \
al@6 675 slitaz-installer package.")
domcox@2 676 errorcode=1
domcox@0 677 else
domcox@2 678 # check tazinst minimum version
domcox@2 679 v=$(/usr/sbin/tazinst version | tr -d '[:alpha:]')
domcox@2 680 r=$TAZINST_MINIMUM_VERSION
domcox@13 681 if ! (printf '%s' "$v" | /bin/busybox awk -v r=$r \
domcox@2 682 '{v=$v+0}{ if (v < r) exit 1}') ; then
al@6 683 h4 $(gettext "Tazinst Error")
al@6 684 p $(gettext "<strong>tazinst</strong>, the slitaz-installer \
al@6 685 backend, is not at the minimum required version. Any installation \
al@6 686 cannot be done without tazinst.")
al@6 687 p $(gettext "Reinstall the slitaz-installer package, or use \
al@6 688 tazinst in CLI mode.")
domcox@2 689 errorcode=1
domcox@2 690 fi
domcox@2 691 # check tazinst maximum version
domcox@2 692 v=$(/usr/sbin/tazinst version | tr -d '[:alpha:]')
domcox@2 693 r=$TAZINST_MAXIMUM_VERSION
domcox@13 694 if ! (printf '%s' "$v" | /bin/busybox awk -v r=$r \
domcox@2 695 '{v=$v+0}{ if (v > r) exit 1}') ; then
al@6 696 h4 $(gettext "Tazinst Error")
al@6 697 p $(gettext "<strong>tazinst</strong>, the slitaz-installer \
al@6 698 backend, is at a higher version than the maximum authorized \
al@6 699 by the slitaz-installer. Any installation cannot be done.")
al@6 700 p $(gettext "Reinstall the slitaz-installer package, or use \
al@6 701 tazinst in CLI mode.")
domcox@2 702 errorcode=1
domcox@0 703 fi
domcox@0 704 fi
domcox@2 705 return $errorcode
domcox@0 706 }
domcox@0 707
domcox@2 708
domcox@2 709 #---------------
domcox@2 710 # html snippets
domcox@2 711 #---------------
domcox@2 712
domcox@2 713 br()
domcox@0 714 {
domcox@13 715 echo '<br />'
domcox@0 716 }
domcox@0 717
domcox@2 718 hr()
domcox@0 719 {
domcox@13 720 echo '<hr />'
domcox@0 721 }
domcox@0 722
domcox@2 723 comment()
domcox@0 724 {
domcox@13 725 printf '<!-- %s -->\n' "$@"
domcox@2 726 }
domcox@2 727
domcox@2 728 a()
domcox@2 729 {
domcox@13 730 local page="$1" text="$2"
domcox@13 731 printf '<a class="button" value="%s" href="%s?page=%s">%s</a>\n' \
domcox@13 732 "$page" "$SCRIPT_NAME" "$page" "$text"
domcox@13 733 }
domcox@13 734
domcox@13 735 button()
domcox@13 736 {
domcox@13 737 local action="$1" msg="$2" title="$3"
domcox@13 738 printf '<a class="button" href="%s?page=%s" title="%s">%s</a>\n' \
domcox@13 739 "$SCRIPT_NAME" "$action" "$title" "$msg"
domcox@2 740 }
domcox@2 741
domcox@2 742 open_div()
domcox@2 743 {
domcox@13 744 [ "$1" ] && printf '<div %s>\n' "$1" || echo '<div>'
domcox@2 745 }
domcox@2 746
domcox@2 747 close_div()
domcox@2 748 {
domcox@13 749 echo '</div>'
domcox@2 750 }
domcox@2 751
domcox@2 752 p()
domcox@2 753 {
domcox@13 754 printf '<p>%s</p>\n' "$@"
domcox@2 755 }
domcox@2 756
domcox@2 757 h4()
domcox@2 758 {
domcox@13 759 printf '<h4>%s</h4>\n' "$@"
domcox@2 760 }
domcox@2 761
domcox@2 762 h5()
domcox@2 763 {
domcox@13 764 printf '<h5>%s</h5>\n' "$@"
domcox@2 765 }
domcox@2 766
domcox@2 767 label()
domcox@2 768 {
domcox@2 769 local setting="$1" label="$2" title="$3" name="$4" error=0
domcox@2 770 [ -z "$name" ] && name="$setting"
domcox@13 771 printf '<label for="%s"' "$name"
domcox@13 772 [ "$title" ] && printf ' title="%s">' "$title" || printf '%s' '>'
domcox@2 773 # display label in red in case of error
domcox@2 774 if [ "$CHECK" ]; then
domcox@2 775 /usr/sbin/tazinst check "$setting" "$INSTFILE"
domcox@2 776 error="$?"
domcox@2 777 [ "$error" -gt "0" ] && [ "$error" -lt "127" ] && \
domcox@13 778 printf '%s' '<span class="alert">'
domcox@13 779 printf '%s' "$label"
domcox@2 780 [ "$error" -gt "0" ] && [ "$error" -lt "127" ] && \
domcox@13 781 printf '%s' "<sup>*</sup></span>"
domcox@2 782 else
domcox@13 783 printf '%s' "$label"
domcox@2 784 fi
domcox@13 785 echo '</label>'
domcox@2 786 return "$error"
domcox@2 787 }
domcox@2 788
domcox@2 789 label_media()
domcox@2 790 {
domcox@2 791 local id="$1" label="$2" media="$3" title="$4" retcode=0
domcox@2 792 if [ "$media" == "$id" ]; then
al@6 793 label "source" \
al@6 794 "$label" \
al@6 795 "$title" \
al@6 796 "$media"
domcox@2 797 retcode="$?"
domcox@2 798 else
domcox@13 799 printf '<label for="%s"' "$id"
domcox@13 800 [ "$title" ] && printf ' title="%s">' "$title" || echo '>'
domcox@2 801 echo "$label</label>"
domcox@2 802 fi
domcox@2 803 return "$retcode"
domcox@2 804 }
domcox@2 805
domcox@2 806 error_msg()
domcox@2 807 {
domcox@2 808 local error="$1" setting="$2" line="$3"
domcox@2 809 if [ "$CHECK" ]; then
domcox@2 810 if [ "$error" -gt "0" ]; then
domcox@13 811 [ "$error" -lt "128" ] && printf '%s' '<span class="alert">' \
domcox@13 812 || printf '%s' '<span class="warning">'
domcox@2 813 if [ "$line" ]; then
domcox@2 814 /usr/sbin/tazinst check "$setting" "$INSTFILE" 2>&1 | \
domcox@2 815 /bin/busybox awk -v LINE="$line" '{if (NR==LINE){print}}'
domcox@2 816 else
domcox@2 817 /usr/sbin/tazinst check "$setting" "$INSTFILE" 2>&1
domcox@2 818 fi
domcox@13 819 echo '</span>'
domcox@2 820 fi
domcox@2 821 fi
domcox@2 822 }
domcox@2 823
domcox@2 824 select()
domcox@2 825 {
domcox@13 826 local list="$1" selected="$2" name="$3" type="$4"
domcox@13 827 printf '%s' "$list" | \
domcox@13 828 /bin/busybox awk -v SELECTED="$selected" -v NONE="$(gettext "None")" \
domcox@13 829 -v NAME="$name" -v TYPE="$type" 'BEGIN{
domcox@2 830 TYPE=TYPE+0
domcox@2 831 print "<select name=\"" NAME "\">"
domcox@2 832 print "<option value=>< " NONE " ></option>"
domcox@2 833 }
domcox@2 834 {
domcox@2 835 printf "<option value=\"" $1 "\""
domcox@2 836 if ($1 == SELECTED) printf " selected"
domcox@2 837 if (TYPE == 0)
domcox@2 838 print ">" $0 "</option>"
domcox@2 839 if (TYPE == 1)
domcox@2 840 print ">" substr($0,12) "</option>"
domcox@2 841 if (TYPE == 2)
domcox@2 842 print ">" $2 "</option>"
domcox@2 843 }
domcox@2 844 END{
domcox@2 845 print "</select>"
domcox@2 846 }'
domcox@2 847 }
domcox@2 848
domcox@2 849 input()
domcox@2 850 {
domcox@2 851 local type="$1" name="$2" value="$3" selected="$4" help="$5" action="$6"
domcox@13 852 printf '<input type="%s" id="%s" list="list_%s" ' "$type" "$name" "$name"
domcox@13 853 printf 'name="%s" class="%s" ' "$(printf $name | tr [a-z] [A-Z])" "$type"
domcox@13 854 [ "$value" ] && printf 'value="%s" ' "$value"
domcox@13 855 [ "$value" == "$selected" ] && printf '%s' "checked "
domcox@2 856 [ "$action" ] && printf \
domcox@13 857 'onInput="document.getElementById(%s).checked = true;" ' "'$action'"
domcox@13 858 [ "$help" ] && printf 'placeholder="%s" />\n' "$help" || echo "/>"
domcox@2 859 }
domcox@2 860
domcox@2 861 input_media()
domcox@2 862 {
domcox@2 863 local id="$1" media="$2"
domcox@13 864 printf '<input type="radio" name="MEDIA" value="%s" id="%s" ' "$id" "$id"
domcox@13 865 [ "$media" == "$id" ] && echo 'checked />' || echo '/>'
domcox@2 866 }
domcox@2 867
domcox@2 868 input_hidden()
domcox@2 869 {
domcox@13 870 local name="$1" value="$2"
domcox@13 871 printf '<input type="hidden" name="%s" value="%s" />\n' "$name" "$value"
domcox@2 872 }
domcox@2 873
domcox@2 874 datalist()
domcox@2 875 {
domcox@13 876 local list="$1" name="$2"
domcox@13 877 printf '<datalist id="list_%s">\n' "$name"
domcox@2 878 # workaround for browsers that don’t support the datalist element..
domcox@13 879 local script="displaySelValue(\"select_$name\",\"$name\")"
domcox@13 880 printf '<select class="workaround" id="select_%s" ' "$name"
domcox@13 881 printf "onChange='%s' onBlur='%s'>\n" "$script" "$script"
domcox@13 882
domcox@2 883 # workaround ..end
domcox@13 884 printf '%s' "$list" | \
domcox@13 885 /bin/busybox awk -v NONE="$(gettext "None")" 'BEGIN{
domcox@2 886 line=0
domcox@2 887 }
domcox@2 888 {
domcox@2 889 TEXT=$1
domcox@2 890 sub(".*/","",TEXT)
domcox@13 891 printf "<option value=\"%s\">%s</option>\n", $1, TEXT
domcox@2 892 line++
domcox@2 893 }
domcox@2 894 END{
domcox@2 895 if (line < 1)
domcox@13 896 printf "<option value=>< %s ></option>\n", NONE
domcox@2 897 }'
domcox@2 898 echo "</select>"
domcox@2 899 echo "</datalist>"
domcox@2 900 }
domcox@2 901
domcox@2 902 format()
domcox@2 903 {
al@6 904 list_fs="$1" selected="$2" name="$3" none="$(gettext 'Do not format')"
domcox@13 905 printf '<label for="%s" ' "$name"
domcox@13 906 printf 'title="%s">' "$(gettext "To format this partition, select a \
domcox@13 907 filesystem, usually it's safe to use ext4")"
domcox@13 908 printf '%s</label>\n' "$(gettext "Formatting option:")"
domcox@13 909 printf '%s' "$list_fs" | \
domcox@13 910 /bin/busybox awk -v SELECTED=$selected -v NONE="$none" -v NAME="$name" '
domcox@13 911 BEGIN{
domcox@2 912 RS=" "
domcox@2 913 print "<select name=\"" NAME "\">"
domcox@2 914 print "<option value=\"\">" NONE "</option>"
domcox@2 915 line=0
domcox@2 916 }
domcox@2 917 {
domcox@2 918 printf "<option value=\"" $1 "\""
domcox@2 919 if ($1 == SELECTED) printf " selected"
domcox@2 920 print ">" $0 "</option>"
domcox@2 921 line++
domcox@2 922 }
domcox@2 923 END{
domcox@2 924 if (line < 1)
domcox@2 925 print "<option value=>< " NONE " ></option>"
domcox@2 926 print "</select>"
domcox@2 927 }'
domcox@2 928 }
domcox@2 929
domcox@0 930 form_start()
domcox@0 931 {
domcox@13 932 printf '<form name="%s" method="get" ' "Form"
domcox@13 933 printf 'onsubmit="return true" action="%s">\n' "$SCRIPT_NAME"
domcox@0 934 }
domcox@0 935
domcox@0 936 form_end()
domcox@0 937 {
domcox@13 938 echo '</form>'
domcox@0 939 }
domcox@0 940
domcox@13 941 add_style()
domcox@2 942 {
domcox@13 943 printf '<!-- add specific styles -->
domcox@13 944 <style type="text/css">
domcox@13 945 .box label {
domcox@13 946 display:inline-block;
domcox@13 947 vertical-align:middle;
domcox@13 948 width: 130px;
domcox@13 949 }
domcox@13 950 .media label {
domcox@13 951 display:inline-block;
domcox@13 952 vertical-align:middle;
domcox@13 953 width: 110px;
domcox@13 954 }
domcox@13 955 .options label {
domcox@13 956 display:inline-block;
domcox@13 957 vertical-align:middle;
domcox@13 958 width: 140px;
domcox@13 959 }
domcox@13 960 .box .text {
domcox@13 961 width: 350px;
domcox@13 962 }
domcox@13 963 input {margin-bottom:3px;}
domcox@13 964 span.alert {color: red}
domcox@13 965 span.warning { color: darkgray}
domcox@13 966 #progress {
domcox@13 967 background-color: #f8f8f8;
domcox@13 968 border: 1px solid #ddd;
domcox@13 969 color: #666;
domcox@13 970 cursor: progress;
domcox@13 971 position: absolute;
domcox@13 972 width: 348px;
domcox@13 973 padding: 4px 4px 2px;
domcox@13 974 }
domcox@13 975 </style>
domcox@13 976 <!-- workaround for browsers that do not support the datalist element -->
domcox@13 977 <style type="text/css">
domcox@13 978 .workaround {width: 110px;}
domcox@13 979 </style>
domcox@13 980 <script>
domcox@13 981 function displaySelValue(selectId,inputId)
domcox@13 982 {
domcox@13 983 var slct = document.getElementById(selectId);
domcox@13 984 var input = document.getElementById(inputId);
domcox@13 985 document.getElementById("src_iso").value="";
domcox@13 986 document.getElementById("src_web").value="";
domcox@13 987 if (inputId =="src_iso"){
domcox@13 988 document.getElementById("iso").checked = true;
domcox@2 989 }
domcox@13 990 if (inputId =="src_web"){
domcox@13 991 document.getElementById("web").checked = true;
domcox@2 992 }
domcox@13 993 input.value = slct.options[slct.selectedIndex].value;
domcox@13 994 }
domcox@13 995 </script>
domcox@13 996 <!-- datalist workaround end -->
domcox@13 997 \n'
domcox@2 998 }
domcox@2 999
domcox@2 1000
domcox@0 1001 #
domcox@2 1002 # main
domcox@0 1003 #
domcox@0 1004
domcox@2 1005 header
domcox@2 1006
domcox@0 1007 case "$(GET page)" in
domcox@0 1008 home)
domcox@0 1009 xhtml_header
domcox@0 1010 select_action
domcox@0 1011 select_install
domcox@0 1012 select_upgrade
domcox@0 1013 ;;
domcox@2 1014 install)
domcox@2 1015 xhtml_header
domcox@2 1016 /usr/sbin/tazinst set mode install "$INSTFILE"
domcox@2 1017 page_redirection partitioning
domcox@2 1018 ;;
domcox@0 1019 partitioning)
domcox@0 1020 xhtml_header
domcox@2 1021 form_start
domcox@2 1022 display_mode
domcox@0 1023 select_gparted
domcox@2 1024 moveto_page home input
domcox@2 1025 form_end
domcox@0 1026 ;;
domcox@0 1027 gparted)
domcox@2 1028 exec_gparted
domcox@2 1029 xhtml_header
domcox@0 1030 page_redirection partitioning
domcox@0 1031 ;;
domcox@0 1032 upgrade)
domcox@0 1033 xhtml_header
domcox@2 1034 /usr/sbin/tazinst set mode upgrade "$INSTFILE"
domcox@2 1035 page_redirection input
domcox@2 1036 ;;
domcox@2 1037 input)
domcox@2 1038 xhtml_header
domcox@13 1039 add_style
domcox@2 1040 form_start
domcox@2 1041 display_mode
domcox@2 1042 select_settings
domcox@13 1043 moveto_page home execute
domcox@0 1044 form_end
domcox@0 1045 ;;
domcox@2 1046 execute)
domcox@0 1047 xhtml_header
domcox@2 1048 form_start
domcox@2 1049 display_mode
domcox@2 1050 save_settings
domcox@2 1051 if ! (/usr/sbin/tazinst check all $INSTFILE > /dev/null); then
domcox@2 1052 page_redirection "input&CHECK=yes"
domcox@0 1053 else
domcox@29 1054 tazinst_run && moveto_page home reboot \
domcox@29 1055 || moveto_page input failed
domcox@0 1056 fi
domcox@2 1057 form_end
domcox@0 1058 ;;
domcox@0 1059 reboot)
domcox@2 1060 /usr/sbin/tazinst clean "$INSTFILE"
domcox@0 1061 reboot ;;
domcox@0 1062 failed)
domcox@0 1063 xhtml_header
domcox@2 1064 form_start
domcox@2 1065 tazinst_log
domcox@2 1066 moveto_home
domcox@2 1067 form_end
domcox@0 1068 ;;
domcox@0 1069 *)
domcox@0 1070 xhtml_header
domcox@0 1071 if check_ressources; then
domcox@2 1072 /usr/sbin/tazinst new "$INSTFILE"
domcox@0 1073 page_redirection home
domcox@0 1074 fi
domcox@0 1075 ;;
domcox@0 1076 esac
domcox@0 1077
domcox@0 1078 xhtml_footer
domcox@0 1079
domcox@0 1080 exit 0