3 # SPDX-License-Identifier: BSD-2-Clause-FreeBSD
5 # Copyright (c) 2010 iXsystems, Inc. All rights reserved.
7 # Redistribution and use in source and binary forms, with or without
8 # modification, are permitted provided that the following conditions
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.
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
30 # Functions which runs commands on the system
32 . ${BACKEND}/functions.sh
33 . ${BACKEND}/functions-parse.sh
35 DEFAULT_FTP_SERVER="ftp.freebsd.org"
38 Main Site: ftp.freebsd.org"
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"
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"
65 ARGENTINA_FTP_SERVERS="\
66 Argentina: ftp.ar.freebsd.org"
68 AUSTRALIA_FTP_SERVERS="\
69 Australia: ftp.au.freebsd.org|\
70 Australia #2: ftp2.au.freebsd.org|\
71 Australia #3: ftp3.au.freebsd.org"
73 AUSTRIA_FTP_SERVERS="\
74 Austria: ftp.at.freebsd.org|\
75 Austria #2: ftp2.at.freebsd.org"
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"
87 Canada: ftp.ca.freebsd.org"
90 China: ftp.cn.freebsd.org|\
91 China #2: ftp2.cn.freebsd.org"
93 CROATIA_FTP_SERVERS="\
94 Croatia: ftp.hr.freebsd.org"
96 CZECH_REPUBLIC_FTP_SERVERS="\
97 Czech Republic: ftp.cz.freebsd.org"
99 DENMARK_FTP_SERVERS="\
100 Denmark: ftp.dk.freebsd.org|\
101 Denmark #2: ftp2.dk.freebsd.org"
103 ESTONIA_FTP_SERVERS="\
104 Estonia: ftp.ee.freebsd.org"
106 FINLAND_FTP_SERVERS="\
107 Finland: ftp.fi.freebsd.org"
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"
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"
127 GREECE_FTP_SERVERS="\
128 Greece: ftp.gr.freebsd.org|\
129 Greece #2: ftp2.gr.freebsd.org"
131 HUNGARY_FTP_SERVERS="\
132 Hungary: ftp.hu.freebsd.org"
134 ICELAND_FTP_SERVERS="\
135 Iceland: ftp.is.freebsd.org"
137 IRELAND_FTP_SERVERS="\
138 Ireland: ftp.ie.freebsd.org|\
139 Ireland #2: ftp2.ie.freebsd.org|\
140 Ireland #3: ftp3.ie.freebsd.org"
142 ISRAEL_FTP_SERVERS="\
143 Israel: ftp.il.freebsd.org"
146 Italy: ftp.it.freebsd.org"
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"
160 Korea: ftp.kr.freebsd.org|\
161 Korea #2: ftp2.kr.freebsd.org"
163 LITHUANIA_FTP_SERVERS="\
164 Lithuania: ftp.lt.freebsd.org"
166 NETHERLANDS_FTP_SERVERS="\
167 Netherlands: ftp.nl.freebsd.org|\
168 Netherlands #2: ftp2.nl.freebsd.org"
170 NORWAY_FTP_SERVERS="\
171 Norway: ftp.no.freebsd.org|\
172 Norway #3: ftp3.no.freebsd.org"
174 POLAND_FTP_SERVERS="\
175 Poland: ftp.pl.freebsd.org|\
176 Poland #2: ftp2.pl.freebsd.org|\
177 Poland #5: ftp5.pl.freebsd.org"
179 PORTUGAL_FTP_SERVERS="\
180 Portugal: ftp.pt.freebsd.org|\
181 Portugal #2: ftp2.pt.freebsd.org|\
182 Portugal #4: ftp4.pt.freebsd.org"
184 ROMANIA_FTP_SERVERS="\
185 Romania: ftp.ro.freebsd.org"
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"
193 SINGAPORE_FTP_SERVERS="\
194 Singapore: ftp.sg.freebsd.org"
196 SLOVAK_REPUBLIC_FTP_SERVERS="\
197 Slovak Republic: ftp.sk.freebsd.org"
199 SLOVENIA_FTP_SERVERS="\
200 Slovenia: ftp.si.freebsd.org|\
201 Slovenia #2: ftp2.si.freebsd.org"
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"
210 Spain: ftp.es.freebsd.org|\
211 Spain #2: ftp2.es.freebsd.org|\
212 Spain #3: ftp3.es.freebsd.org"
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"
221 SWITZERLAND_FTP_SERVERS="\
222 Switzerland: ftp.ch.freebsd.org|\
223 Switzerland #2: ftp2.ch.freebsd.org"
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"
233 TURKEY_FTP_SERVERS="\
234 Turkey: ftp.tr.freebsd.org|\
235 Turkey #2: ftp2.tr.freebsd.org"
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"
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"
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"
273 if [ -n "${MIRRORS}" ]
288 echo "${MIRROR}" > "${CONFDIR}/mirrors.conf"
293 MIRROR="${DEFAULT_FTP_SERVER}"
294 if [ -f "${CONFDIR}/mirrors.conf" ]
296 MIRROR=`cat "${CONFDIR}/mirrors.conf"`
299 export VAL="${MIRROR}"
305 get_value_from_cfg ftpPath
308 ftpHost=`echo "${ftpPath}" | sed -E 's|^(ftp://)([^/]*)(.*)|\2|'`
309 export VAL="${ftpHost}"
314 get_value_from_cfg ftpPath
317 ftpDir=`echo "${ftpPath}" | sed -E 's|^(ftp://)([^/]*)(.*)|\3|'`
318 export VAL="${ftpDir}"
326 COUNTRY=`echo $COUNTRY|tr A-Z a-z`
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}" ;;
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}"