mirrorselect revision 244057
1220080Snwhitehorn#!/bin/sh
2220080Snwhitehorn#-
3220080Snwhitehorn# Copyright (c) 2011 Nathan Whitehorn
4220080Snwhitehorn# All rights reserved.
5220080Snwhitehorn#
6220080Snwhitehorn# Redistribution and use in source and binary forms, with or without
7220080Snwhitehorn# modification, are permitted provided that the following conditions
8220080Snwhitehorn# are met:
9220080Snwhitehorn# 1. Redistributions of source code must retain the above copyright
10220080Snwhitehorn#    notice, this list of conditions and the following disclaimer.
11220080Snwhitehorn# 2. Redistributions in binary form must reproduce the above copyright
12220080Snwhitehorn#    notice, this list of conditions and the following disclaimer in the
13220080Snwhitehorn#    documentation and/or other materials provided with the distribution.
14220080Snwhitehorn#
15220080Snwhitehorn# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
16220080Snwhitehorn# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17220080Snwhitehorn# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18220080Snwhitehorn# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
19220080Snwhitehorn# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20220080Snwhitehorn# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21220080Snwhitehorn# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22220080Snwhitehorn# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23220080Snwhitehorn# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24220080Snwhitehorn# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25220080Snwhitehorn# SUCH DAMAGE.
26220080Snwhitehorn#
27220080Snwhitehorn# $FreeBSD: head/usr.sbin/bsdinstall/scripts/mirrorselect 244057 2012-12-09 22:53:53Z gjb $
28220080Snwhitehorn
29220080Snwhitehorn: ${DIALOG_OK=0}
30220080Snwhitehorn: ${DIALOG_CANCEL=1}
31220080Snwhitehorn: ${DIALOG_HELP=2}
32220080Snwhitehorn: ${DIALOG_EXTRA=3}
33220080Snwhitehorn: ${DIALOG_ITEM_HELP=4}
34220080Snwhitehorn: ${DIALOG_ESC=255}
35220080Snwhitehorn
36220080Snwhitehornexec 3>&1
37220080SnwhitehornMIRROR=`dialog --backtitle "FreeBSD Installer" \
38220080Snwhitehorn    --title "Mirror Selection" --extra-button --extra-label "Other" \
39220080Snwhitehorn    --menu "Please select the site closest to you or \"other\" if you'd like to specify a different choice.  Also note that not every site listed here carries more than the base distribution kits. Only Primary sites are guaranteed to carry the full range of possible distributions. Select a site that's close!" \
40220080Snwhitehorn    0 0 0 \
41220080Snwhitehorn	ftp://ftp.freebsd.org	"Main Site"\
42220080Snwhitehorn	ftp://ftp.freebsd.org 	"IPv6 Main Site"\
43220080Snwhitehorn	ftp://ftp3.ie.freebsd.org 	"IPv6 Ireland"\
44220080Snwhitehorn	ftp://ftp.il.freebsd.org 	"IPv6 Israel"\
45220080Snwhitehorn	ftp://ftp2.jp.freebsd.org 	"IPv6 Japan"\
46225467Sbrueffer	ftp://ftp4.se.freebsd.org	"IPv6 Sweden"\
47220080Snwhitehorn	ftp://ftp4.us.freebsd.org 	"IPv6 USA"\
48220080Snwhitehorn	ftp://ftp2.tr.freebsd.org 	"IPv6 Turkey"\
49220080Snwhitehorn	ftp://ftp1.freebsd.org 	"Primary"\
50220080Snwhitehorn	ftp://ftp2.freebsd.org 	"Primary #2"\
51220080Snwhitehorn	ftp://ftp3.freebsd.org 	"Primary #3"\
52220080Snwhitehorn	ftp://ftp4.freebsd.org 	"Primary #4"\
53220080Snwhitehorn	ftp://ftp5.freebsd.org 	"Primary #5"\
54220080Snwhitehorn	ftp://ftp6.freebsd.org 	"Primary #6"\
55220080Snwhitehorn	ftp://ftp7.freebsd.org 	"Primary #7"\
56220080Snwhitehorn	ftp://ftp8.freebsd.org 	"Primary #8"\
57220080Snwhitehorn	ftp://ftp9.freebsd.org 	"Primary #9"\
58220080Snwhitehorn	ftp://ftp10.freebsd.org 	"Primary #10"\
59220080Snwhitehorn	ftp://ftp11.freebsd.org 	"Primary #11"\
60220080Snwhitehorn	ftp://ftp12.freebsd.org 	"Primary #12"\
61220080Snwhitehorn	ftp://ftp13.freebsd.org 	"Primary #13"\
62220080Snwhitehorn	ftp://ftp14.freebsd.org 	"Primary #14"\
63220080Snwhitehorn	ftp://ftp.ar.freebsd.org 	"Argentina"\
64220080Snwhitehorn	ftp://ftp.au.freebsd.org 	"Australia"\
65220080Snwhitehorn	ftp://ftp2.au.freebsd.org 	"Australia #2"\
66220080Snwhitehorn	ftp://ftp3.au.freebsd.org 	"Australia #3"\
67220080Snwhitehorn	ftp://ftp.at.freebsd.org 	"Austria"\
68220080Snwhitehorn	ftp://ftp2.at.freebsd.org 	"Austria #2"\
69220080Snwhitehorn	ftp://ftp.br.freebsd.org 	"Brazil"\
70220080Snwhitehorn	ftp://ftp2.br.freebsd.org 	"Brazil #2"\
71220080Snwhitehorn	ftp://ftp3.br.freebsd.org 	"Brazil #3"\
72220080Snwhitehorn	ftp://ftp4.br.freebsd.org 	"Brazil #4"\
73220080Snwhitehorn	ftp://ftp5.br.freebsd.org 	"Brazil #5"\
74220080Snwhitehorn	ftp://ftp6.br.freebsd.org 	"Brazil #6"\
75220080Snwhitehorn	ftp://ftp7.br.freebsd.org 	"Brazil #7"\
76220080Snwhitehorn	ftp://ftp.ca.freebsd.org 	"Canada"\
77220080Snwhitehorn	ftp://ftp.cn.freebsd.org 	"China"\
78220080Snwhitehorn	ftp://ftp2.cn.freebsd.org 	"China #2"\
79220080Snwhitehorn	ftp://ftp.hr.freebsd.org 	"Croatia"\
80220080Snwhitehorn	ftp://ftp.cz.freebsd.org 	"Czech Republic"\
81220080Snwhitehorn	ftp://ftp.dk.freebsd.org 	"Denmark"\
82220080Snwhitehorn	ftp://ftp2.dk.freebsd.org 	"Denmark #2"\
83220080Snwhitehorn	ftp://ftp.ee.freebsd.org 	"Estonia"\
84220080Snwhitehorn	ftp://ftp.fi.freebsd.org 	"Finland"\
85220080Snwhitehorn	ftp://ftp.fr.freebsd.org 	"France"\
86224656Sroberto	ftp://ftp2.fr.freebsd.org 	"IPv6 France #2"\
87220080Snwhitehorn	ftp://ftp3.fr.freebsd.org 	"France #3"\
88235228Sroberto	ftp://ftp4.fr.freebsd.org 	"IPv6 France #4"\
89220080Snwhitehorn	ftp://ftp5.fr.freebsd.org 	"France #5"\
90220080Snwhitehorn	ftp://ftp6.fr.freebsd.org 	"France #6"\
91224656Sroberto	ftp://ftp8.fr.freebsd.org 	"IPv6 France #8"\
92220080Snwhitehorn	ftp://ftp.de.freebsd.org 	"Germany"\
93220080Snwhitehorn	ftp://ftp2.de.freebsd.org 	"Germany #2"\
94220080Snwhitehorn	ftp://ftp3.de.freebsd.org 	"Germany #3"\
95220080Snwhitehorn	ftp://ftp4.de.freebsd.org 	"Germany #4"\
96220080Snwhitehorn	ftp://ftp5.de.freebsd.org 	"Germany #5"\
97220080Snwhitehorn	ftp://ftp6.de.freebsd.org 	"Germany #6"\
98220080Snwhitehorn	ftp://ftp7.de.freebsd.org 	"Germany #7"\
99220080Snwhitehorn	ftp://ftp8.de.freebsd.org 	"Germany #8"\
100220080Snwhitehorn	ftp://ftp.gr.freebsd.org 	"Greece"\
101220080Snwhitehorn	ftp://ftp2.gr.freebsd.org 	"Greece #2"\
102220080Snwhitehorn	ftp://ftp.hu.freebsd.org 	"Hungary"\
103220080Snwhitehorn	ftp://ftp.is.freebsd.org 	"Iceland"\
104220080Snwhitehorn	ftp://ftp.ie.freebsd.org 	"Ireland"\
105220080Snwhitehorn	ftp://ftp2.ie.freebsd.org 	"Ireland #2"\
106220080Snwhitehorn	ftp://ftp3.ie.freebsd.org 	"Ireland #3"\
107220080Snwhitehorn	ftp://ftp.il.freebsd.org 	"Israel"\
108220080Snwhitehorn	ftp://ftp.it.freebsd.org 	"Italy"\
109220080Snwhitehorn	ftp://ftp.jp.freebsd.org 	"Japan"\
110220080Snwhitehorn	ftp://ftp2.jp.freebsd.org 	"Japan #2"\
111220080Snwhitehorn	ftp://ftp3.jp.freebsd.org 	"Japan #3"\
112220080Snwhitehorn	ftp://ftp4.jp.freebsd.org 	"Japan #4"\
113220080Snwhitehorn	ftp://ftp5.jp.freebsd.org 	"Japan #5"\
114220080Snwhitehorn	ftp://ftp6.jp.freebsd.org 	"Japan #6"\
115220080Snwhitehorn	ftp://ftp7.jp.freebsd.org 	"Japan #7"\
116220080Snwhitehorn	ftp://ftp8.jp.freebsd.org 	"Japan #8"\
117220080Snwhitehorn	ftp://ftp9.jp.freebsd.org 	"Japan #9"\
118220080Snwhitehorn	ftp://ftp.kr.freebsd.org 	"Korea"\
119220080Snwhitehorn	ftp://ftp2.kr.freebsd.org 	"Korea #2"\
120220080Snwhitehorn	ftp://ftp.lt.freebsd.org 	"Lithuania"\
121220080Snwhitehorn	ftp://ftp.nl.freebsd.org 	"Netherlands"\
122220080Snwhitehorn	ftp://ftp2.nl.freebsd.org 	"Netherlands #2"\
123220080Snwhitehorn	ftp://ftp.no.freebsd.org 	"Norway"\
124220080Snwhitehorn	ftp://ftp3.no.freebsd.org 	"Norway #3"\
125220080Snwhitehorn	ftp://ftp.pl.freebsd.org 	"Poland"\
126220080Snwhitehorn	ftp://ftp2.pl.freebsd.org 	"Poland #2"\
127220080Snwhitehorn	ftp://ftp5.pl.freebsd.org 	"Poland #5"\
128220080Snwhitehorn	ftp://ftp.pt.freebsd.org 	"Portugal"\
129220080Snwhitehorn	ftp://ftp2.pt.freebsd.org 	"Portugal #2"\
130220080Snwhitehorn	ftp://ftp4.pt.freebsd.org 	"Portugal #4"\
131220080Snwhitehorn	ftp://ftp.ro.freebsd.org 	"Romania"\
132220080Snwhitehorn	ftp://ftp.ru.freebsd.org 	"Russia"\
133220080Snwhitehorn	ftp://ftp2.ru.freebsd.org 	"Russia #2"\
134220080Snwhitehorn	ftp://ftp3.ru.freebsd.org 	"Russia #3"\
135220080Snwhitehorn	ftp://ftp4.ru.freebsd.org 	"Russia #4"\
136220080Snwhitehorn	ftp://ftp.sg.freebsd.org 	"Singapore"\
137220080Snwhitehorn	ftp://ftp.sk.freebsd.org 	"Slovak Republic"\
138220080Snwhitehorn	ftp://ftp.si.freebsd.org 	"Slovenia"\
139220080Snwhitehorn	ftp://ftp2.si.freebsd.org 	"Slovenia #2"\
140220080Snwhitehorn	ftp://ftp.za.freebsd.org 	"South Africa"\
141220080Snwhitehorn	ftp://ftp2.za.freebsd.org 	"South Africa #2"\
142220080Snwhitehorn	ftp://ftp3.za.freebsd.org 	"South Africa #3"\
143220080Snwhitehorn	ftp://ftp4.za.freebsd.org 	"South Africa #4"\
144220080Snwhitehorn	ftp://ftp.es.freebsd.org 	"Spain"\
145220080Snwhitehorn	ftp://ftp2.es.freebsd.org 	"Spain #2"\
146220080Snwhitehorn	ftp://ftp3.es.freebsd.org 	"Spain #3"\
147220080Snwhitehorn	ftp://ftp.se.freebsd.org 	"Sweden"\
148220080Snwhitehorn	ftp://ftp2.se.freebsd.org 	"Sweden #2"\
149220080Snwhitehorn	ftp://ftp3.se.freebsd.org 	"Sweden #3"\
150220080Snwhitehorn	ftp://ftp4.se.freebsd.org 	"Sweden #4"\
151220080Snwhitehorn	ftp://ftp5.se.freebsd.org 	"Sweden #5"\
152243832Sjoel	ftp://ftp6.se.freebsd.org 	"Sweden #6"\
153220080Snwhitehorn	ftp://ftp.ch.freebsd.org 	"Switzerland"\
154220080Snwhitehorn	ftp://ftp2.ch.freebsd.org 	"Switzerland #2"\
155220080Snwhitehorn	ftp://ftp.tw.freebsd.org 	"Taiwan"\
156220080Snwhitehorn	ftp://ftp2.tw.freebsd.org 	"Taiwan #2"\
157220080Snwhitehorn	ftp://ftp3.tw.freebsd.org 	"Taiwan #3"\
158220080Snwhitehorn	ftp://ftp4.tw.freebsd.org 	"Taiwan #4"\
159220080Snwhitehorn	ftp://ftp6.tw.freebsd.org 	"Taiwan #6"\
160220080Snwhitehorn	ftp://ftp11.tw.freebsd.org 	"Taiwan #11"\
161220080Snwhitehorn	ftp://ftp.tr.freebsd.org 	"Turkey"\
162220080Snwhitehorn	ftp://ftp2.tr.freebsd.org 	"Turkey #2"\
163220080Snwhitehorn	ftp://ftp.uk.freebsd.org 	"UK"\
164220080Snwhitehorn	ftp://ftp2.uk.freebsd.org 	"UK #2"\
165220080Snwhitehorn	ftp://ftp3.uk.freebsd.org 	"UK #3"\
166220080Snwhitehorn	ftp://ftp4.uk.freebsd.org 	"UK #4"\
167220080Snwhitehorn	ftp://ftp5.uk.freebsd.org 	"UK #5"\
168220080Snwhitehorn	ftp://ftp6.uk.freebsd.org 	"UK #6"\
169220080Snwhitehorn	ftp://ftp.ua.freebsd.org 	"Ukraine"\
170220080Snwhitehorn	ftp://ftp2.ua.freebsd.org 	"Ukraine #2"\
171220080Snwhitehorn	ftp://ftp5.ua.freebsd.org 	"Ukraine #5"\
172220080Snwhitehorn	ftp://ftp6.ua.freebsd.org 	"Ukraine #6"\
173220080Snwhitehorn	ftp://ftp7.ua.freebsd.org 	"Ukraine #7"\
174220080Snwhitehorn	ftp://ftp8.ua.freebsd.org 	"Ukraine #8"\
175220080Snwhitehorn	ftp://ftp1.us.freebsd.org 	"USA #1"\
176220080Snwhitehorn	ftp://ftp2.us.freebsd.org 	"USA #2"\
177220080Snwhitehorn	ftp://ftp3.us.freebsd.org 	"USA #3"\
178220080Snwhitehorn	ftp://ftp4.us.freebsd.org 	"USA #4"\
179220080Snwhitehorn	ftp://ftp5.us.freebsd.org 	"USA #5"\
180220080Snwhitehorn	ftp://ftp6.us.freebsd.org 	"USA #6"\
181220080Snwhitehorn	ftp://ftp7.us.freebsd.org 	"USA #7"\
182220080Snwhitehorn	ftp://ftp8.us.freebsd.org 	"USA #8"\
183220080Snwhitehorn	ftp://ftp9.us.freebsd.org 	"USA #9"\
184220080Snwhitehorn	ftp://ftp10.us.freebsd.org 	"USA #10"\
185220080Snwhitehorn	ftp://ftp11.us.freebsd.org 	"USA #11"\
186220080Snwhitehorn	ftp://ftp12.us.freebsd.org 	"USA #12"\
187220080Snwhitehorn	ftp://ftp13.us.freebsd.org 	"USA #13"\
188220080Snwhitehorn	ftp://ftp14.us.freebsd.org 	"USA #14"\
189220080Snwhitehorn	ftp://ftp15.us.freebsd.org 	"USA #15"\
190220080Snwhitehorn    2>&1 1>&3`
191220080SnwhitehornMIRROR_BUTTON=$?
192220080Snwhitehornexec 3>&-
193220080Snwhitehorn
194244057Sgjb_UNAME_R=`uname -r`
195220080Snwhitehorn
196244057Sgjbcase ${_UNAME_R} in
197244057Sgjb	*-CURRENT|*-STABLE|*-PRERELEASE|*-RC*)
198244057Sgjb		RELDIR="snapshots"
199244057Sgjb		;;
200244057Sgjb	*)
201244057Sgjb		RELDIR="releases"
202244057Sgjb		;;
203244057Sgjbesac
204244057Sgjb
205244057SgjbBSDINSTALL_DISTSITE="$MIRROR/pub/FreeBSD/${RELDIR}/`uname -m`/`uname -p`/${_UNAME_R}"
206244057Sgjb
207220080Snwhitehorncase $MIRROR_BUTTON in
208220080Snwhitehorn$DIALOG_CANCEL)
209220080Snwhitehorn	exit 1
210220080Snwhitehorn	;;
211220080Snwhitehorn$DIALOG_OK)
212220080Snwhitehorn	;;
213220080Snwhitehorn$DIALOG_EXTRA)
214220080Snwhitehorn	exec 3>&1
215220080Snwhitehorn	BSDINSTALL_DISTSITE=`dialog --backtitle "FreeBSD Installer" \
216220080Snwhitehorn	    --title "Mirror Selection" \
217220080Snwhitehorn	    --inputbox "Please enter the URL to an alternate FreeBSD mirror:" \
218220080Snwhitehorn	    0 0 "$BSDINSTALL_DISTSITE" 2>&1 1>&3`
219220080Snwhitehorn	MIRROR_BUTTON=$?
220220080Snwhitehorn	exec 3>&-
221220080Snwhitehorn	test $MIRROR_BUTTON -eq 0 || exec $0 $@
222220080Snwhitehorn	;;
223220080Snwhitehornesac
224220080Snwhitehorn
225220080Snwhitehornexport BSDINSTALL_DISTSITE
226220080Snwhitehornecho $BSDINSTALL_DISTSITE >&2
227