source: autobuild/scripts/download @ 905

Last change on this file since 905 was 905, checked in by moo, 2 years ago

import auto build scripts

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1#!/bin/sh
2. scripts/common
3
4download() {
5    local file="$1"
6    local url="$2"
7    local ret
8    if [[ -f $file ]]; then
9        return 0
10    fi
11    begin "Downloading $url to $file"; {
12        if type aria2c >/dev/null 2>/dev/null; then
13            (
14            builtin cd "$(dirname "$file")"
15            aria2c -j4 -o "$(basename "$file.tmp")" "$url" && mv "$file.tmp" "$file"
16            )
17            ret=$?
18        elif type wget >/dev/null 2>/dev/null; then
19            wget -c -O "$file.tmp" "$url" && mv "$file.tmp" "$file"
20            ret=$?
21        else
22            curl -C - -o "$file.tmp" "$url" && mv "$file.tmp" "$file"
23            ret=$?
24        fi
25        rm -f "$file.tmp"
26    };
27    [[ -z $ret ]] && end || end "not found"
28   
29    return $ret
30}
31
32cleanup() {
33    local file
34    for file in "$sourceDir/"*.bz2 "$sourceDir/"*.zip; do
35        if [[ -f $file && ! -s $file ]]; then
36            rm -f "$file"
37        fi
38    done
39    exit
40}
41
42downloadPhp() {
43    local filename
44    local arch
45    local compiler
46    local nts
47    local downloaded
48    local type
49    local snapVersion
50
51    case "$phpVersion" in
52    *-dev-*)
53        type="snaps"
54        snapVersion=-${phpVersion##*-}
55        phpVersion=${phpVersion%-*}
56        filename="php$phpVersion$snapVersion.tar.bz2"
57        filename=${filename/0.-dev-/-}
58        download "$sourceDir/php-$phpVersion$snapVersion.tar.bz2" "http://snaps.php.net/$filename"
59        ;;
60    *)
61        type="releases"
62        filename="php-$phpVersion.tar.bz2"
63        target="$sourceDir/$filename"
64        download "$target" "http://$mirror/get/$filename/from/$mirror/mirror" \
65        || download "$target" "http://museum.php.net/php5/$filename"
66        ;;
67    esac
68
69    downloaded=
70    for nts in '' '-nts'; do
71        case "$phpVersion" in
72        4.*|5.0.*|5.1.*)
73            ;;
74        *)
75            for compiler in "${compilers[@]}"; do
76                for arch in "${arches[@]}"; do
77                    filename=php-$phpVersion$nts-Win32-$compiler-$arch$snapVersion.zip
78                    download "$sourceDir/$filename" "http://windows.php.net/downloads/$type/$filename"
79                    if [[ -s "$sourceDir/$filename" ]]; then
80                        downloaded=1
81                    fi
82                done
83            done
84        esac
85    done
86    if [[ -z $downloaded ]]; then
87        filename=php-$phpVersion-Win32.zip
88        target="$sourceDir/$filename"
89        download "$target" "http://$mirror/get/$filename/from/$mirror/mirror" \
90        || download "$target" "http://museum.php.net/php5/$filename"
91    fi
92}
93
94trap cleanup exit
95
96case $# in
970)
98    foreachPhpVersion downloadPhp
99    ;;
1001)
101    loadPhpVersion "$1"
102    downloadPhp
103    ;;
104esac
105
106exit 0
Note: See TracBrowser for help on using the repository browser.