Deleted Added
full compact
any.subr (251236) any.subr (251264)
1if [ ! "$_MEDIA_ANY_SUBR" ]; then _MEDIA_ANY_SUBR=1
2#
3# Copyright (c) 2012-2013 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:
9# 1. Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# 2. Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14#
15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, THE
17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
1if [ ! "$_MEDIA_ANY_SUBR" ]; then _MEDIA_ANY_SUBR=1
2#
3# Copyright (c) 2012-2013 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:
9# 1. Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# 2. Redistributions in binary form must reproduce the above copyright
12# notice, this list of conditions and the following disclaimer in the
13# documentation and/or other materials provided with the distribution.
14#
15# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO, THE
17# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20# DAMAGES (INLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25# SUCH DAMAGE.
26#
27# $FreeBSD: head/usr.sbin/bsdconfig/share/media/any.subr 251236 2013-06-01 23:58:44Z dteske $
27# $FreeBSD: head/usr.sbin/bsdconfig/share/media/any.subr 251264 2013-06-02 20:02:50Z dteske $
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_dprintf "%s: loading includes..." media/any.subr
34f_include $BSDCFG_SHARE/dialog.subr
35f_include $BSDCFG_SHARE/struct.subr
36f_include $BSDCFG_SHARE/media/cdrom.subr
37f_include $BSDCFG_SHARE/media/directory.subr
38f_include $BSDCFG_SHARE/media/dos.subr
39f_include $BSDCFG_SHARE/media/floppy.subr
40f_include $BSDCFG_SHARE/media/ftp.subr
41f_include $BSDCFG_SHARE/media/httpproxy.subr
42f_include $BSDCFG_SHARE/media/nfs.subr
43f_include $BSDCFG_SHARE/media/options.subr
44f_include $BSDCFG_SHARE/media/ufs.subr
45f_include $BSDCFG_SHARE/media/usb.subr
46
47BSDCFG_LIBE="/usr/libexec/bsdconfig"
48f_include_lang $BSDCFG_LIBE/include/messages.subr
49
50MEDIA_HELPFILE=$BSDCFG_LIBE/include/media.hlp
51
52############################################################ FUNCTIONS
53
54# f_media_get_type
55#
56# Prompt the user to select amongst the known media types (included above).
57#
58# If the user does not cancel or press Esc, invokes the f_media_set_* function
59# associated with the chosen media type. If after all that we have a struct
60# named `device_media' then success is returned, otherwise failure.
61#
62# NOTE: The f_media_set_* function should create the `device_media' struct.
63# See `struct.subr' and the above `media/*.subr' includes for more details.
64#
65f_media_get_type()
66{
67 f_dialog_title "$msg_choose_installation_media"
68 local title="$DIALOG_TITLE" btitle="$DIALOG_BACKTITLE"
69 f_dialog_title_restore
70 local prompt="$msg_choose_installation_media_description"
28#
29############################################################ INCLUDES
30
31BSDCFG_SHARE="/usr/share/bsdconfig"
32. $BSDCFG_SHARE/common.subr || exit 1
33f_dprintf "%s: loading includes..." media/any.subr
34f_include $BSDCFG_SHARE/dialog.subr
35f_include $BSDCFG_SHARE/struct.subr
36f_include $BSDCFG_SHARE/media/cdrom.subr
37f_include $BSDCFG_SHARE/media/directory.subr
38f_include $BSDCFG_SHARE/media/dos.subr
39f_include $BSDCFG_SHARE/media/floppy.subr
40f_include $BSDCFG_SHARE/media/ftp.subr
41f_include $BSDCFG_SHARE/media/httpproxy.subr
42f_include $BSDCFG_SHARE/media/nfs.subr
43f_include $BSDCFG_SHARE/media/options.subr
44f_include $BSDCFG_SHARE/media/ufs.subr
45f_include $BSDCFG_SHARE/media/usb.subr
46
47BSDCFG_LIBE="/usr/libexec/bsdconfig"
48f_include_lang $BSDCFG_LIBE/include/messages.subr
49
50MEDIA_HELPFILE=$BSDCFG_LIBE/include/media.hlp
51
52############################################################ FUNCTIONS
53
54# f_media_get_type
55#
56# Prompt the user to select amongst the known media types (included above).
57#
58# If the user does not cancel or press Esc, invokes the f_media_set_* function
59# associated with the chosen media type. If after all that we have a struct
60# named `device_media' then success is returned, otherwise failure.
61#
62# NOTE: The f_media_set_* function should create the `device_media' struct.
63# See `struct.subr' and the above `media/*.subr' includes for more details.
64#
65f_media_get_type()
66{
67 f_dialog_title "$msg_choose_installation_media"
68 local title="$DIALOG_TITLE" btitle="$DIALOG_BACKTITLE"
69 f_dialog_title_restore
70 local prompt="$msg_choose_installation_media_description"
71 local hline="$hline_choose_help_for_more_information_on_media_types"
72 local menu_list
73
74 menu_list="
71 local menu_list="
75 '1 $msg_cd_dvd' '$msg_install_from_a_freebsd_cd_dvd'
76 '2 $msg_ftp' '$msg_install_from_an_ftp_server'
77 '3 $msg_ftp_passive'
78 '$msg_install_from_an_ftp_server_thru_firewall'
79 '4 $msg_http' '$msg_install_from_an_ftp_server_thru_proxy'
80 '5 $msg_directory' '$msg_install_from_the_existing_filesystem'
81 '6 $msg_nfs' '$msg_install_over_nfs'
82 '7 $msg_dos' '$msg_install_from_a_dos_partition'
83 '8 $msg_ufs' '$msg_install_from_a_ufs_partition'
84 '9 $msg_floppy' '$msg_install_from_a_floppy_disk_set'
85 'A $msg_usb' '$msg_install_from_a_usb_drive'
86 'X $msg_options' '$msg_view_set_various_media_options'
87 " # END-QUOTE
72 '1 $msg_cd_dvd' '$msg_install_from_a_freebsd_cd_dvd'
73 '2 $msg_ftp' '$msg_install_from_an_ftp_server'
74 '3 $msg_ftp_passive'
75 '$msg_install_from_an_ftp_server_thru_firewall'
76 '4 $msg_http' '$msg_install_from_an_ftp_server_thru_proxy'
77 '5 $msg_directory' '$msg_install_from_the_existing_filesystem'
78 '6 $msg_nfs' '$msg_install_over_nfs'
79 '7 $msg_dos' '$msg_install_from_a_dos_partition'
80 '8 $msg_ufs' '$msg_install_from_a_ufs_partition'
81 '9 $msg_floppy' '$msg_install_from_a_floppy_disk_set'
82 'A $msg_usb' '$msg_install_from_a_usb_drive'
83 'X $msg_options' '$msg_view_set_various_media_options'
84 " # END-QUOTE
85 local hline="$hline_choose_help_for_more_information_on_media_types"
88
89 local height width rows
90 eval f_dialog_menu_size height width rows \
91 \"\$title\" \
92 \"\$btitle\" \
93 \"\$prompt\" \
94 \"\$hline\" \
95 $menu_list
96
97 local mtag
98 while :; do
99 mtag=$( eval $DIALOG \
100 --title \"\$title\" \
101 --backtitle \"\$btitle\" \
102 --hline \"\$hline\" \
103 --ok-label \"\$msg_ok\" \
104 --cancel-label \"\$msg_cancel\" \
105 --help-button \
106 --help-label \"\$msg_help\" \
107 ${USE_XDIALOG:+--help \"\"} \
108 --menu \"\$prompt\" \
109 $height $width $rows \
110 $menu_list \
111 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
112 )
113 local retval=$?
114 f_dialog_data_sanitize mtag
115 f_dprintf "retval=%s mtag=[%s]" $retval "$mtag"
116
117 if [ $retval -eq 2 ]; then
118 # The Help button was pressed
119 f_show_help "$MEDIA_HELPFILE"
120 continue
121 elif [ $retval -ne 0 ]; then
122 return $FAILURE
123 fi
124
125 case "$mtag" in
126 ?" $msg_cd_dvd") f_media_set_cdrom ;;
127 ?" $msg_ftp") f_media_set_ftp_active ;;
128 ?" $msg_ftp_passive") f_media_set_ftp_passive ;;
129 ?" $msg_http") f_media_set_http_proxy ;;
130 ?" $msg_directory") f_media_set_directory ;;
131 ?" $msg_dos") f_media_set_dos ;;
132 ?" $msg_nfs") f_media_set_nfs ;;
133 ?" $msg_ufs") f_media_set_ufs ;;
134 ?" $msg_floppy") f_media_set_floppy ;;
135 ?" $msg_usb") f_media_set_usb ;;
136 ?" $msg_options")
137 f_media_options_menu
138 continue
139 ;;
140 esac
141 break
142 done
143
144 f_struct device_media || return $FAILURE
145}
146
147############################################################ MAIN
148
149f_dprintf "%s: Successfully loaded." media/any.subr
150
151fi # ! $_MEDIA_ANY_SUBR
86
87 local height width rows
88 eval f_dialog_menu_size height width rows \
89 \"\$title\" \
90 \"\$btitle\" \
91 \"\$prompt\" \
92 \"\$hline\" \
93 $menu_list
94
95 local mtag
96 while :; do
97 mtag=$( eval $DIALOG \
98 --title \"\$title\" \
99 --backtitle \"\$btitle\" \
100 --hline \"\$hline\" \
101 --ok-label \"\$msg_ok\" \
102 --cancel-label \"\$msg_cancel\" \
103 --help-button \
104 --help-label \"\$msg_help\" \
105 ${USE_XDIALOG:+--help \"\"} \
106 --menu \"\$prompt\" \
107 $height $width $rows \
108 $menu_list \
109 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
110 )
111 local retval=$?
112 f_dialog_data_sanitize mtag
113 f_dprintf "retval=%s mtag=[%s]" $retval "$mtag"
114
115 if [ $retval -eq 2 ]; then
116 # The Help button was pressed
117 f_show_help "$MEDIA_HELPFILE"
118 continue
119 elif [ $retval -ne 0 ]; then
120 return $FAILURE
121 fi
122
123 case "$mtag" in
124 ?" $msg_cd_dvd") f_media_set_cdrom ;;
125 ?" $msg_ftp") f_media_set_ftp_active ;;
126 ?" $msg_ftp_passive") f_media_set_ftp_passive ;;
127 ?" $msg_http") f_media_set_http_proxy ;;
128 ?" $msg_directory") f_media_set_directory ;;
129 ?" $msg_dos") f_media_set_dos ;;
130 ?" $msg_nfs") f_media_set_nfs ;;
131 ?" $msg_ufs") f_media_set_ufs ;;
132 ?" $msg_floppy") f_media_set_floppy ;;
133 ?" $msg_usb") f_media_set_usb ;;
134 ?" $msg_options")
135 f_media_options_menu
136 continue
137 ;;
138 esac
139 break
140 done
141
142 f_struct device_media || return $FAILURE
143}
144
145############################################################ MAIN
146
147f_dprintf "%s: Successfully loaded." media/any.subr
148
149fi # ! $_MEDIA_ANY_SUBR