]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.sbin/pc-sysinstall/backend/functions-ftp.sh
Add UPDATING entries and bump version.
[FreeBSD/FreeBSD.git] / usr.sbin / pc-sysinstall / backend / functions-ftp.sh
1 #!/bin/sh
2 #-
3 # SPDX-License-Identifier: BSD-2-Clause-FreeBSD
4 #
5 # Copyright (c) 2010 iXsystems, Inc.  All rights reserved.
6 #
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
9 # are met:
10 # 1. Redistributions of source code must retain the above copyright
11 #    notice, this list of conditions and the following disclaimer.
12 # 2. Redistributions in binary form must reproduce the above copyright
13 #    notice, this list of conditions and the following disclaimer in the
14 #    documentation and/or other materials provided with the distribution.
15 #
16 # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 # ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 # SUCH DAMAGE.
27 #
28 # $FreeBSD$
29
30 # Functions which runs commands on the system
31
32 . ${BACKEND}/functions.sh
33 . ${BACKEND}/functions-parse.sh
34
35 DEFAULT_FTP_SERVER="ftp.freebsd.org"
36
37 MAIN_FTP_SERVERS="\
38 Main Site: ftp.freebsd.org"
39
40 IPV6_FTP_SERVERS="\
41 IPv6 Main Site: ftp.freebsd.org|\
42 IPv6 Ireland: ftp3.ie.freebsd.org|\
43 IPv6 Israel: ftp.il.freebsd.org|\
44 IPv6 Japan: ftp2.jp.freebsd.org|\
45 IPv6 Sweden: ftp4.se.freebsd.org|\
46 IPv6 USA: ftp4.us.freebsd.org|\
47 IPv6 Turkey: ftp2.tr.freebsd.org"
48
49 PRIMARY_FTP_SERVERS="\
50 Primary: ftp1.freebsd.org|\
51 Primary #2: ftp2.freebsd.org|\
52 Primary #3: ftp3.freebsd.org|\
53 Primary #4: ftp4.freebsd.org|\
54 Primary #5: ftp5.freebsd.org|\
55 Primary #6: ftp6.freebsd.org|\
56 Primary #7: ftp7.freebsd.org|\
57 Primary #8: ftp8.freebsd.org|\
58 Primary #9: ftp9.freebsd.org|\
59 Primary #10: ftp10.freebsd.org|\
60 Primary #11: ftp11.freebsd.org|\
61 Primary #12: ftp12.freebsd.org|\
62 Primary #13: ftp13.freebsd.org|\
63 Primary #14: ftp14.freebsd.org"
64
65 ARGENTINA_FTP_SERVERS="\
66 Argentina: ftp.ar.freebsd.org"
67
68 AUSTRALIA_FTP_SERVERS="\
69 Australia: ftp.au.freebsd.org|\
70 Australia #2: ftp2.au.freebsd.org|\
71 Australia #3: ftp3.au.freebsd.org"
72
73 AUSTRIA_FTP_SERVERS="\
74 Austria: ftp.at.freebsd.org|\
75 Austria #2: ftp2.at.freebsd.org"
76
77 BRAZIL_FTP_SERVERS="\
78 Brazil: ftp.br.freebsd.org|\
79 Brazil #2: ftp2.br.freebsd.org|\
80 Brazil #3: ftp3.br.freebsd.org|\
81 Brazil #4: ftp4.br.freebsd.org|\
82 Brazil #5: ftp5.br.freebsd.org|\
83 Brazil #6: ftp6.br.freebsd.org|\
84 Brazil #7: ftp7.br.freebsd.org"
85
86 CANADA_FTP_SERVERS="\
87 Canada: ftp.ca.freebsd.org"
88
89 CHINA_FTP_SERVERS="\
90 China: ftp.cn.freebsd.org|\
91 China #2: ftp2.cn.freebsd.org"
92
93 CROATIA_FTP_SERVERS="\
94 Croatia: ftp.hr.freebsd.org"
95
96 CZECH_REPUBLIC_FTP_SERVERS="\
97 Czech Republic: ftp.cz.freebsd.org"
98
99 DENMARK_FTP_SERVERS="\
100 Denmark: ftp.dk.freebsd.org|\
101 Denmark #2: ftp2.dk.freebsd.org"
102
103 ESTONIA_FTP_SERVERS="\
104 Estonia: ftp.ee.freebsd.org"
105
106 FINLAND_FTP_SERVERS="\
107 Finland: ftp.fi.freebsd.org"
108
109 FRANCE_FTP_SERVERS="\
110 France: ftp.fr.freebsd.org|\
111 France #2: ftp2.fr.freebsd.org|\
112 France #3: ftp3.fr.freebsd.org|\
113 France #5: ftp5.fr.freebsd.org|\
114 France #6: ftp6.fr.freebsd.org|\
115 France #8: ftp8.fr.freebsd.org"
116
117 GERMANY_FTP_SERVERS="\
118 Germany: ftp.de.freebsd.org|\
119 Germany #2: ftp2.de.freebsd.org|\
120 Germany #3: ftp3.de.freebsd.org|\
121 Germany #4: ftp4.de.freebsd.org|\
122 Germany #5: ftp5.de.freebsd.org|\
123 Germany #6: ftp6.de.freebsd.org|\
124 Germany #7: ftp7.de.freebsd.org|\
125 Germany #8: ftp8.de.freebsd.org"
126
127 GREECE_FTP_SERVERS="\
128 Greece: ftp.gr.freebsd.org|\
129 Greece #2: ftp2.gr.freebsd.org"
130
131 HUNGARY_FTP_SERVERS="\
132 Hungary: ftp.hu.freebsd.org"
133
134 ICELAND_FTP_SERVERS="\
135 Iceland: ftp.is.freebsd.org"
136
137 IRELAND_FTP_SERVERS="\
138 Ireland: ftp.ie.freebsd.org|\
139 Ireland #2: ftp2.ie.freebsd.org|\
140 Ireland #3: ftp3.ie.freebsd.org"
141
142 ISRAEL_FTP_SERVERS="\
143 Israel: ftp.il.freebsd.org"
144
145 ITALY_FTP_SERVERS="\
146 Italy: ftp.it.freebsd.org"
147
148 JAPAN_FTP_SERVERS="\
149 Japan: ftp.jp.freebsd.org|\
150 Japan #2: ftp2.jp.freebsd.org|\
151 Japan #3: ftp3.jp.freebsd.org|\
152 Japan #4: ftp4.jp.freebsd.org|\
153 Japan #5: ftp5.jp.freebsd.org|\
154 Japan #6: ftp6.jp.freebsd.org|\
155 Japan #7: ftp7.jp.freebsd.org|\
156 Japan #8: ftp8.jp.freebsd.org|\
157 Japan #9: ftp9.jp.freebsd.org"
158
159 KOREA_FTP_SERVERS="\
160 Korea: ftp.kr.freebsd.org|\
161 Korea #2: ftp2.kr.freebsd.org"
162
163 LITHUANIA_FTP_SERVERS="\
164 Lithuania: ftp.lt.freebsd.org"
165
166 NETHERLANDS_FTP_SERVERS="\
167 Netherlands: ftp.nl.freebsd.org|\
168 Netherlands #2: ftp2.nl.freebsd.org"
169
170 NORWAY_FTP_SERVERS="\
171 Norway: ftp.no.freebsd.org|\
172 Norway #3: ftp3.no.freebsd.org"
173
174 POLAND_FTP_SERVERS="\
175 Poland: ftp.pl.freebsd.org|\
176 Poland #2: ftp2.pl.freebsd.org|\
177 Poland #5: ftp5.pl.freebsd.org"
178
179 PORTUGAL_FTP_SERVERS="\
180 Portugal: ftp.pt.freebsd.org|\
181 Portugal #2: ftp2.pt.freebsd.org|\
182 Portugal #4: ftp4.pt.freebsd.org"
183
184 ROMANIA_FTP_SERVERS="\
185 Romania: ftp.ro.freebsd.org"
186
187 RUSSIA_FTP_SERVERS="\
188 Russia: ftp.ru.freebsd.org|\
189 Russia #2: ftp2.ru.freebsd.org|\
190 Russia #3: ftp3.ru.freebsd.org|\
191 Russia #4: ftp4.ru.freebsd.org"
192
193 SINGAPORE_FTP_SERVERS="\
194 Singapore: ftp.sg.freebsd.org"
195
196 SLOVAK_REPUBLIC_FTP_SERVERS="\
197 Slovak Republic: ftp.sk.freebsd.org"
198
199 SLOVENIA_FTP_SERVERS="\
200 Slovenia: ftp.si.freebsd.org|\
201 Slovenia #2: ftp2.si.freebsd.org"
202
203 SOUTH_AFRICA_FTP_SERVERS="\
204 South Africa: ftp.za.freebsd.org|\
205 South Africa #2: ftp2.za.freebsd.org|\
206 South Africa #3: ftp3.za.freebsd.org|\
207 South Africa #4: ftp4.za.freebsd.org"
208
209 SPAIN_FTP_SERVERS="\
210 Spain: ftp.es.freebsd.org|\
211 Spain #2: ftp2.es.freebsd.org|\
212 Spain #3: ftp3.es.freebsd.org"
213
214 SWEDEN_FTP_SERVERS="\
215 Sweden: ftp.se.freebsd.org|\
216 Sweden #2: ftp2.se.freebsd.org|\
217 Sweden #3: ftp3.se.freebsd.org|\
218 Sweden #4: ftp4.se.freebsd.org|\
219 Sweden #5: ftp5.se.freebsd.org"
220
221 SWITZERLAND_FTP_SERVERS="\
222 Switzerland: ftp.ch.freebsd.org|\
223 Switzerland #2: ftp2.ch.freebsd.org"
224
225 TAIWAN_FTP_SERVERS="\
226 Taiwan: ftp.tw.freebsd.org|\
227 Taiwan #2: ftp2.tw.freebsd.org|\
228 Taiwan #3: ftp3.tw.freebsd.org|\
229 Taiwan #4: ftp4.tw.freebsd.org|\
230 Taiwan #6: ftp6.tw.freebsd.org|\
231 Taiwan #11: ftp11.tw.freebsd.org"
232
233 TURKEY_FTP_SERVERS="\
234 Turkey: ftp.tr.freebsd.org|\
235 Turkey #2: ftp2.tr.freebsd.org"
236
237 UK_FTP_SERVERS="\
238 UK: ftp.uk.freebsd.org|\
239 UK #2: ftp2.uk.freebsd.org|\
240 UK #3: ftp3.uk.freebsd.org|\
241 UK #4: ftp4.uk.freebsd.org|\
242 UK #5: ftp5.uk.freebsd.org|\
243 UK #6: ftp6.uk.freebsd.org"
244
245 UKRAINE_FTP_SERVERS="\
246 Ukraine: ftp.ua.freebsd.org|\
247 Ukraine #2: ftp2.ua.freebsd.org|\
248 Ukraine #5: ftp5.ua.freebsd.org|\
249 Ukraine #6: ftp6.ua.freebsd.org|\
250 Ukraine #7: ftp7.ua.freebsd.org|\
251 Ukraine #8: ftp8.ua.freebsd.org"
252
253 USA_FTP_SERVERS="\
254 USA #1: ftp1.us.freebsd.org|\
255 USA #2: ftp2.us.freebsd.org|\
256 USA #3: ftp3.us.freebsd.org|\
257 USA #4: ftp4.us.freebsd.org|\
258 USA #5: ftp5.us.freebsd.org|\
259 USA #6: ftp6.us.freebsd.org|\
260 USA #7: ftp7.us.freebsd.org|\
261 USA #8: ftp8.us.freebsd.org|\
262 USA #9: ftp9.us.freebsd.org|\
263 USA #10: ftp10.us.freebsd.org|\
264 USA #11: ftp11.us.freebsd.org|\
265 USA #12: ftp12.us.freebsd.org|\
266 USA #13: ftp13.us.freebsd.org|\
267 USA #14: ftp14.us.freebsd.org|\
268 USA #15: ftp15.us.freebsd.org"
269
270 show_mirrors()
271 {
272   MIRRORS="${1}"
273   if [ -n "${MIRRORS}" ]
274   then
275     SAVE_IFS="${IFS}"
276     IFS="|"
277     for m in ${MIRRORS}
278     do
279       echo "$m"
280     done
281     IFS="${SAVE_IFS}"
282   fi
283 };
284
285 set_ftp_mirror()
286 {
287   MIRROR="${1}"
288   echo "${MIRROR}" > "${CONFDIR}/mirrors.conf"
289 };
290
291 get_ftp_mirror()
292 {
293   MIRROR="${DEFAULT_FTP_SERVER}"
294   if [ -f "${CONFDIR}/mirrors.conf" ]
295   then
296     MIRROR=`cat "${CONFDIR}/mirrors.conf"`
297   fi
298
299   export VAL="${MIRROR}"
300 };
301
302
303 get_ftpHost()
304 {
305   get_value_from_cfg ftpPath
306   ftpPath="$VAL"
307
308   ftpHost=`echo "${ftpPath}" | sed -E 's|^(ftp://)([^/]*)(.*)|\2|'`
309   export VAL="${ftpHost}"
310 };
311
312 get_ftpDir()
313 {
314   get_value_from_cfg ftpPath
315   ftpPath="$VAL"
316
317   ftpDir=`echo "${ftpPath}" | sed -E 's|^(ftp://)([^/]*)(.*)|\3|'`
318   export VAL="${ftpDir}"
319 };
320
321 get_ftp_mirrors()
322 {
323   COUNTRY="${1}"
324   if [ -n "$COUNTRY" ]
325   then
326     COUNTRY=`echo $COUNTRY|tr A-Z a-z`
327     case "${COUNTRY}" in
328       argentina*) VAL="${ARGENTINA_FTP_SERVERS}" ;;
329       australia*) VAL="${AUSTRALIA_FTP_SERVERS}" ;;
330       austria*) VAL="${AUSTRIA_FTP_SERVERS}" ;;
331       brazil*) VAL="${BRAZIL_FTP_SERVERS}" ;;
332       canada*) VAL="${CANADA_FTP_SERVERS}" ;;
333       china*) VAL="${CHINA_FTP_SERVERS}" ;;
334       croatia*) VAL="${CROATIA_FTP_SERVERS}" ;;
335       czech*) VAL="${CZECH_REPUBLIC_FTP_SERVERS}" ;;
336       denmark*) VAL="${DENMARK_FTP_SERVERS}" ;;
337       estonia*) VAL="${ESTONIA_FTP_SERVERS}" ;;
338       finland*) VAL="${FINLAND_FTP_SERVERS}" ;;
339       france*) VAL="${FRANCE_FTP_SERVERS}" ;;
340       germany*) VAL="${GERMANY_FTP_SERVERS}" ;;
341       greece*) VAL="${GREECE_FTP_SERVERS}" ;;
342       hungary*) VAL="${HUNGARY_FTP_SERVERS}" ;;
343       iceland*) VAL="${ICELAND_FTP_SERVERS}" ;;
344       ireland*) VAL="${IRELAND_FTP_SERVERS}" ;;
345       israel*) VAL="${ISRAEL_FTP_SERVERS}" ;;
346       italy*) VAL="${ITALY_FTP_SERVERS}" ;;
347       japan*) VAL="${JAPAN_FTP_SERVERS}" ;;
348       korea*) VAL="${KOREA_FTP_SERVERS}" ;;
349       lithuania*) VAL="${LITHUANIA_FTP_SERVERS}" ;;
350       netherlands*) VAL="${NETHERLANDS_FTP_SERVERS}" ;;
351       norway*) VAL="${NORWAY_FTP_SERVERS}" ;;
352       poland*) VAL="${POLAND_FTP_SERVERS}" ;;
353       portugal*) VAL="${PORTUGAL_FTP_SERVERS}" ;;
354       romania*) VAL="${ROMAINIA_FTP_SERVERS}" ;;
355       russia*) VAL="${RUSSIA_FTP_SERVERS}" ;;
356       singapore*) VAL="${SINGAPORE_FTP_SERVERS}" ;;
357       slovak*) VAL="${SLOVAK_REPUBLIC_FTP_SERVERS}" ;;
358       slovenia*) VAL="${SLOVENIA_FTP_SERVERS}" ;;
359       *africa*) VAL="${SOUTH_AFRICA_FTP_SERVERS}" ;;
360       spain*) VAL="${SPAIN_FTP_SERVERS}" ;;
361       sweden*) VAL="${SWEDEN_FTP_SERVERS}" ;;
362       switzerland*) VAL="${SWITZERLAND_FTP_SERVERS}" ;;
363       taiwan*) VAL="${TAIWAN_FTP_SERVERS}" ;;
364       turkey*) VAL="${TURKEY_FTP_SERVERS}" ;;
365       ukraine*) VAL="${UKRAINE_FTP_SERVERS}" ;;
366       uk*) VAL="${UK_FTP_SERVERS}" ;;
367       usa*) VAL="${USA_FTP_SERVERS}" ;;
368     esac
369   else
370     VAL="${MAIN_FTP_SERVERS}"
371     VAL="${VAL}|${IPV6_FTP_SERVERS}"
372     VAL="${VAL}|${PRIMARY_FTP_SERVERS}"
373     VAL="${VAL}|${ARGENTINA_FTP_SERVERS}"
374     VAL="${VAL}|${AUSTRALIA_FTP_SERVERS}"
375     VAL="${VAL}|${AUSTRIA_FTP_SERVERS}"
376     VAL="${VAL}|${BRAZIL_FTP_SERVERS}"
377     VAL="${VAL}|${CANADA_FTP_SERVERS}"
378     VAL="${VAL}|${CHINA_FTP_SERVERS}"
379     VAL="${VAL}|${CROATIA_FTP_SERVERS}"
380     VAL="${VAL}|${CZECH_REPUBLIC_FTP_SERVERS}"
381     VAL="${VAL}|${DENMARK_FTP_SERVERS}"
382     VAL="${VAL}|${ESTONIA_FTP_SERVERS}"
383     VAL="${VAL}|${FINLAND_FTP_SERVERS}"
384     VAL="${VAL}|${FRANCE_FTP_SERVERS}"
385     VAL="${VAL}|${GERMANY_FTP_SERVERS}"
386     VAL="${VAL}|${GREECE_FTP_SERVERS}"
387     VAL="${VAL}|${HUNGARY_FTP_SERVERS}"
388     VAL="${VAL}|${ICELAND_FTP_SERVERS}"
389     VAL="${VAL}|${IRELAND_FTP_SERVERS}"
390     VAL="${VAL}|${ISRAEL_FTP_SERVERS}"
391     VAL="${VAL}|${ITALY_FTP_SERVERS}"
392     VAL="${VAL}|${JAPAN_FTP_SERVERS}"
393     VAL="${VAL}|${KOREA_FTP_SERVERS}"
394     VAL="${VAL}|${LITHUANIA_FTP_SERVERS}"
395     VAL="${VAL}|${NETHERLANDS_FTP_SERVERS}"
396     VAL="${VAL}|${NORWAY_FTP_SERVERS}"
397     VAL="${VAL}|${POLAND_FTP_SERVERS}"
398     VAL="${VAL}|${PORTUGAL_FTP_SERVERS}"
399     VAL="${VAL}|${ROMANIA_FTP_SERVERS}"
400     VAL="${VAL}|${RUSSIA_FTP_SERVERS}"
401     VAL="${VAL}|${SINGAPORE_FTP_SERVERS}"
402     VAL="${VAL}|${SLOVAK_REPUBLIC_FTP_SERVERS}"
403     VAL="${VAL}|${SLOVENIA_FTP_SERVERS}"
404     VAL="${VAL}|${SOUTH_AFRICA_FTP_SERVERS}"
405     VAL="${VAL}|${SPAIN_FTP_SERVERS}"
406     VAL="${VAL}|${SWEDEN_FTP_SERVERS}"
407     VAL="${VAL}|${SWITZERLAND_FTP_SERVERS}"
408     VAL="${VAL}|${TAIWAN_FTP_SERVERS}"
409     VAL="${VAL}|${TURKEY_FTP_SERVERS}"
410     VAL="${VAL}|${UKRAINE_FTP_SERVERS}"
411     VAL="${VAL}|${UK_FTP_SERVERS}"
412     VAL="${VAL}|${USA_FTP_SERVERS}"
413   fi
414
415   export VAL
416 };