zones.subr (0bfd163f522701b486e066fa2e56624c02f5081a) zones.subr (d4ae33f0721c1b170fe37d97e395228ffcfb3f80)
1if [ ! "$_TIMEZONE_ZONES_SUBR" ]; then _TIMEZONE_ZONES_SUBR=1
2#
3# Copyright (c) 2011-2012 Devin Teske
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:

--- 18 unchanged lines hidden (view full) ---

27# $FreeBSD$
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_dprintf "%s: loading includes..." timezone/zones.subr
34f_include $BSDCFG_SHARE/dialog.subr
1if [ ! "$_TIMEZONE_ZONES_SUBR" ]; then _TIMEZONE_ZONES_SUBR=1
2#
3# Copyright (c) 2011-2012 Devin Teske
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:

--- 18 unchanged lines hidden (view full) ---

27# $FreeBSD$
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_dprintf "%s: loading includes..." timezone/zones.subr
34f_include $BSDCFG_SHARE/dialog.subr
35f_include $BSDCFG_SHARE/strings.subr
35f_include $BSDCFG_SHARE/timezone/continents.subr
36
37BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="090.timezone"
38f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
39
40############################################################ CONFIGURATION
41
42#

--- 299 unchanged lines hidden (view full) ---

342}
343
344# f_install_zoneinfo_file $filename
345#
346# Installs a zone file to _PATH_LOCALTIME.
347#
348f_install_zoneinfo_file()
349{
36f_include $BSDCFG_SHARE/timezone/continents.subr
37
38BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="090.timezone"
39f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
40
41############################################################ CONFIGURATION
42
43#

--- 299 unchanged lines hidden (view full) ---

343}
344
345# f_install_zoneinfo_file $filename
346#
347# Installs a zone file to _PATH_LOCALTIME.
348#
349f_install_zoneinfo_file()
350{
351 local funcname=f_install_zoneinfo_file
350 local zoneinfo_file="$1"
352 local zoneinfo_file="$1"
351 local copymode title msg err height width
353 local copymode title msg height width
352
353 if [ -L "$_PATH_LOCALTIME" ]; then
354 copymode=
355 elif [ ! -e "$_PATH_LOCALTIME" ]; then
356 # Nothing there yet...
357 copymode=1
358 else
359 copymode=1
360 fi
361
362 if [ "$VERBOSE" ]; then
363 if [ ! "$zoneinfo_file" ]; then
354
355 if [ -L "$_PATH_LOCALTIME" ]; then
356 copymode=
357 elif [ ! -e "$_PATH_LOCALTIME" ]; then
358 # Nothing there yet...
359 copymode=1
360 else
361 copymode=1
362 fi
363
364 if [ "$VERBOSE" ]; then
365 if [ ! "$zoneinfo_file" ]; then
364 msg=$( printf "$msg_removing_file" "$_PATH_LOCALTIME" )
366 f_sprintf msg "$msg_removing_file" "$_PATH_LOCALTIME"
365 elif [ "$copymode" ]; then
367 elif [ "$copymode" ]; then
366 msg=$( printf "$msg_copying_file" \
367 "$zoneinfo_file" "$_PATH_LOCALTIME" )
368 f_sprintf msg "$msg_copying_file" \
369 "$zoneinfo_file" "$_PATH_LOCALTIME"
368 else
370 else
369 msg=$( printf "$msg_creating_symlink" \
370 "$_PATH_LOCALTIME" "$zoneinfo_file" )
371 f_sprintf msg "$msg_creating_symlink" \
372 "$_PATH_LOCALTIME" "$zoneinfo_file"
371 fi
372 if [ "$USEDIALOG" ]; then
373 f_dialog_title "$msg_info"
374 f_dialog_msgbox "$msg"
375 f_dialog_title_restore
376 else
377 printf "%s\n" "$msg"
378 fi
379 fi
380
381 [ "$REALLYDOIT" ] || return $SUCCESS
382
373 fi
374 if [ "$USEDIALOG" ]; then
375 f_dialog_title "$msg_info"
376 f_dialog_msgbox "$msg"
377 f_dialog_title_restore
378 else
379 printf "%s\n" "$msg"
380 fi
381 fi
382
383 [ "$REALLYDOIT" ] || return $SUCCESS
384
385 local catch_args="-de"
386 [ "$USEDIALOG" ] && catch_args=
387
383 if [ ! "$zoneinfo_file" ]; then
388 if [ ! "$zoneinfo_file" ]; then
384 err=$( rm -f "$_PATH_LOCALTIME" 2>&1 )
385 if [ "$err" ]; then
386 if [ "$USEDIALOG" ]; then
387 f_dialog_title "$msg_error"
388 f_dialog_msgbox "$err"
389 f_dialog_title_restore
390 else
391 f_err "%s\n" "$err"
392 fi
393 return $FAILURE
394 fi
389 f_eval_catch $catch_args $funcname rm \
390 'rm -f "%s"' "$_PATH_LOCALTIME" || return $FAILURE
391 f_eval_catch $catch_args $funcname rm \
392 'rm -f "%s"' "$_PATH_DB" || return $FAILURE
395
393
396 err=$( rm -f "$_PATH_DB" 2>&1 )
397 if [ "$err" ]; then
398 if [ "$USEDIALOG" ]; then
399 f_dialog_title "$msg_error"
400 f_dialog_msgbox "$err"
401 f_dialog_title_restore
402 else
403 f_err "%s\n" "$err"
404 fi
405 return $FAILURE
406 fi
407
408 if [ "$VERBOSE" ]; then
394 if [ "$VERBOSE" ]; then
409 msg=$( printf "$msg_removed_file" "$_PATH_LOCALTIME" )
395 f_sprintf msg "$msg_removed_file" "$_PATH_LOCALTIME"
410 if [ "$USEDIALOG" ]; then
411 f_dialog_title "$msg_done"
412 f_dialog_msgbox "$msg"
413 f_dialog_title_restore
414 else
415 printf "%s\n" "$msg"
416 fi
417 fi
396 if [ "$USEDIALOG" ]; then
397 f_dialog_title "$msg_done"
398 f_dialog_msgbox "$msg"
399 f_dialog_title_restore
400 else
401 printf "%s\n" "$msg"
402 fi
403 fi
418
419 return $SUCCESS
404 return $SUCCESS
420
421 fi # ! zoneinfo_file
422
423 if [ "$copymode" ]; then
405 fi # ! zoneinfo_file
406
407 if [ "$copymode" ]; then
424
425 err=$( rm -f "$_PATH_LOCALTIME" 2>&1 )
426 if [ "$err" ]; then
427 if [ "$USEDIALOG" ]; then
428 f_dialog_title "$msg_error"
429 f_dialog_msgbox "$err"
430 f_dialog_title_restore
431 else
432 f_err "%s\n" "$err"
433 fi
408 f_eval_catch $catch_args $funcname rm \
409 'rm -f "%s"' "$_PATH_LOCALTIME" || return $FAILURE
410 f_eval_catch $catch_args $funcname sh \
411 'umask 222 && :> "%s"' "$_PATH_LOCALTIME" ||
434 return $FAILURE
412 return $FAILURE
435 fi
436
437 err=$( umask 222 && : 2>&1 > "$_PATH_LOCALTIME" )
438 if [ "$err" ]; then
439 if [ "$USEDIALOG" ]; then
440 f_dialog_title "$msg_error"
441 f_dialog_msgbox "$err"
442 f_dialog_title_restore
443 else
444 f_err "%s\n" "$err"
445 fi
446 return $FAILURE
447 fi
448
449 err=$( cat "$zoneinfo_file" 2>&1 > "$_PATH_LOCALTIME" )
450 if [ "$err" ]; then
451 if [ "$USEDIALOG" ]; then
452 f_dialog_title "$msg_error"
453 f_dialog_msgbox "$err"
454 f_dialog_title_restore
455 else
456 f_err "%s\n" "$err"
457 fi
458 return $FAILURE
459 fi
460
461 else # ! copymode
462
463 err=$( ( :< "$zoneinfo_file" ) 2>&1 )
464 if [ "$err" ]; then
465 if [ "$USEDIALOG" ]; then
466 f_dialog_title "$msg_error"
467 f_dialog_msgbox "$err"
468 f_dialog_title_restore
469 else
470 f_err "%s\n" "$err"
471 fi
472 return $FAILURE
473 fi
474
475 err=$( rm -f "$_PATH_LOCALTIME" 2>&1 )
476 if [ "$err" ]; then
477 if [ "$USEDIALOG" ]; then
478 f_dialog_title "$msg_error"
479 f_dialog_msgbox "$err"
480 f_dialog_title_restore
481 else
482 f_err "%s\n" "$err"
483 fi
484 return $FAILURE
485 fi
486
487 err=$( ln -s "$zoneinfo_file" "$_PATH_LOCALTIME" 2>&1 )
488 if [ "$err" ]; then
489 if [ "$USEDIALOG" ]; then
490 f_dialog_title "$msg_error"
491 f_dialog_msgbox "$err"
492 f_dialog_title_restore
493 else
494 f_err "%s\n" "$err"
495 fi
496 return $FAILURE
497 fi
498
413 f_eval_catch $catch_args $funcname sh \
414 'cat "%s" > "%s"' \
415 "$zoneinfo_file" "$_PATH_LOCALTIME" || return $FAILURE
416 else
417 f_eval_catch $catch_args $funcname sh \
418 '( :< "%s" )' "$zoneinfo_file" || return $FAILURE
419 f_eval_catch $catch_args $funcname rm \
420 'rm -f "%s"' "$_PATH_LOCALTIME" || return $FAILURE
421 f_eval_catch $catch_args $funcname ln \
422 'ln -s "%s" "%s"' \
423 "$zoneinfo_file" "$_PATH_LOCALTIME" || return $FAILURE
499 fi # copymode
500
501 if [ "$VERBOSE" ]; then
502 if [ "$copymode" ]; then
424 fi # copymode
425
426 if [ "$VERBOSE" ]; then
427 if [ "$copymode" ]; then
503 msg=$( printf "$msg_copied_timezone_file" \
504 "$zoneinfo_file" "$_PATH_LOCALTIME" )
428 f_sprintf msg "$msg_copied_timezone_file" \
429 "$zoneinfo_file" "$_PATH_LOCALTIME"
505 else
430 else
506 msg=$( printf "$msg_created_symlink" \
507 "$_PATH_LOCALTIME" "$zoneinfo_file" )
431 f_sprintf msg "$msg_created_symlink" \
432 "$_PATH_LOCALTIME" "$zoneinfo_file"
508 fi
509 if [ "$USEDIALOG" ]; then
510 f_dialog_title "$msg_done"
511 f_dialog_msgbox "$msg"
512 f_dialog_title_restore
513 else
514 printf "%s\n" "$msg"
515 fi

--- 38 unchanged lines hidden (view full) ---

554#
555f_confirm_zone()
556{
557 local filename="$1"
558 f_dialog_title "$msg_confirmation"
559 local title="$DIALOG_TITLE" btitle="$DIALOG_BACKTITLE"
560 f_dialog_title_restore
561 local tm_zone="$( TZ="$filename" date +%Z )"
433 fi
434 if [ "$USEDIALOG" ]; then
435 f_dialog_title "$msg_done"
436 f_dialog_msgbox "$msg"
437 f_dialog_title_restore
438 else
439 printf "%s\n" "$msg"
440 fi

--- 38 unchanged lines hidden (view full) ---

479#
480f_confirm_zone()
481{
482 local filename="$1"
483 f_dialog_title "$msg_confirmation"
484 local title="$DIALOG_TITLE" btitle="$DIALOG_BACKTITLE"
485 f_dialog_title_restore
486 local tm_zone="$( TZ="$filename" date +%Z )"
562 local prompt="$( printf "$msg_look_reasonable" "$tm_zone" )"
487 local prompt # Calculated below
563 local height=5 width=72
564
488 local height=5 width=72
489
490 f_sprintf prompt "$msg_look_reasonable" "$tm_zone"
565 if [ "$USE_XDIALOG" ]; then
566 height=$(( $height + 4 ))
567 $DIALOG \
491 if [ "$USE_XDIALOG" ]; then
492 height=$(( $height + 4 ))
493 $DIALOG \
568 --title "$title" \
569 --backtitle "$btitle" \
570 --ok-label "$msg_yes" \
571 --cancel-label "$msg_no" \
494 --title "$title" \
495 --backtitle "$btitle" \
496 --ok-label "$msg_yes" \
497 --cancel-label "$msg_no" \
572 --yesno "$prompt" $height $width
573 else
574 $DIALOG \
575 --title "$title" \
576 --backtitle "$btitle" \
577 --yes-label "$msg_yes" \
578 --no-label "$msg_no" \
579 --yesno "$prompt" $height $width

--- 18 unchanged lines hidden ---
498 --yesno "$prompt" $height $width
499 else
500 $DIALOG \
501 --title "$title" \
502 --backtitle "$btitle" \
503 --yes-label "$msg_yes" \
504 --no-label "$msg_no" \
505 --yesno "$prompt" $height $width

--- 18 unchanged lines hidden ---