tazinst annotate installer.cgi @ rev 51

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