@@ -129,7 +129,7 @@ set_default_version()
129
129
check_prerequisites ()
130
130
{
131
131
if [[ " $package_to_build " == " gcc" && " $version_to_build " != " trunk" ]]; then
132
- gcc_fetch=" ftp"
132
+ gcc_fetch=" ftp-url "
133
133
else
134
134
gcc_fetch=" svn"
135
135
fi
@@ -138,14 +138,14 @@ check_prerequisites()
138
138
# See http://stackoverflow.com/questions/1494178/how-to-define-hash-tables-in-bash
139
139
package_download_mechanism=(
140
140
" gcc:$gcc_fetch "
141
- " wget:ftp"
141
+ " wget:ftp-url "
142
142
" cmake:wget"
143
143
" mpich:wget"
144
144
" flex:wget"
145
- " bison:wget "
145
+ " bison:ftp-url "
146
146
" pkg-config:wget"
147
- " make:ftp"
148
- " m4:ftp"
147
+ " make:ftp-url "
148
+ " m4:ftp-url "
149
149
" subversion:wget"
150
150
" _unknown:0"
151
151
)
@@ -184,7 +184,7 @@ set_url()
184
184
if [[ $package_to_build == ' cmake' ]]; then
185
185
major_minor=" ${version_to_build% .* } "
186
186
elif [[ " $package_to_build " == " gcc" && " $version_to_build " != " trunk" ]]; then
187
- gcc_url_head=" http://ftpmirror .gnu.org/ gcc/gcc-$version_to_build / "
187
+ gcc_url_head=" ftp .gnu.org:/gnu/ gcc/gcc-$version_to_build "
188
188
else
189
189
gcc_url_head=" svn://gcc.gnu.org/svn/gcc/"
190
190
fi
@@ -196,7 +196,7 @@ set_url()
196
196
" mpich;http://www.mpich.org/static/downloads/$version_to_build /"
197
197
" flex;http://sourceforge.net/projects/flex/files/"
198
198
" make;ftp://ftp.gnu.org/gnu/make/"
199
- " bison;http:// ftp.gnu.org/gnu/bison/"
199
+ " bison;ftp.gnu.org: /gnu/bison/"
200
200
" cmake;http://www.cmake.org/files/v$major_minor /"
201
201
" subversion;http://www.eu.apache.org/dist/subversion/"
202
202
" _unknown;0"
@@ -257,6 +257,37 @@ set_url()
257
257
258
258
}
259
259
260
+ ftp-url ()
261
+ {
262
+ ftp_mode=$1
263
+ url=$2
264
+
265
+ text_before_colon=" ${url%%:* } "
266
+ FTP_SERVER=$text_before_colon
267
+
268
+ text_after_colon=" ${url##*: } "
269
+ text_after_final_slash=" ${text_after_colon##*/ } "
270
+ FILE_NAME=$text_after_final_slash
271
+
272
+ text_before_final_slash=" ${text_after_colon%/* } "
273
+ FILE_PATH=" $text_before_final_slash "
274
+
275
+ USERNAME=anonymous
276
+ PASSWORD=" "
277
+ echo " $this_script : starting anonymous download: ftp $ftp_mode $FTP_SERVER ... cd $FILE_PATH ... get $FILE_NAME "
278
+
279
+ ftp $ftp_mode $FTP_SERVER << Done-ftp
280
+ user $USERNAME $PASSWORD
281
+ cd $FILE_PATH
282
+ passive
283
+ binary
284
+ get "$FILE_NAME "
285
+ bye
286
+ Done-ftp
287
+
288
+ echo " $this_script : finished anonymous ftp"
289
+ }
290
+
260
291
# Download pkg-config if the tar ball is not already in the present working directory
261
292
download_if_necessary ()
262
293
{
@@ -307,7 +338,7 @@ download_if_necessary()
307
338
fi
308
339
elif [[ " $fetch " == " wget" ]]; then
309
340
args=--no-check-certificate
310
- elif [[ " $fetch " == " ftp" ]]; then
341
+ elif [[ " $fetch " == " ftp-url " ]]; then
311
342
args=-n
312
343
elif [[ " $fetch " == " git" ]]; then
313
344
args=clone
0 commit comments