config/global/download_extract.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue May 06 20:30:49 2008 +0000 (2008-05-06)
changeset 492 ef8ef3493392
parent 487 ef82cb824406
child 508 4968462088aa
permissions -rw-r--r--
Add a new option to set connection timeout while downloading.

/trunk/scripts/functions | 16 8 8 0 ++++++++--------
/trunk/config/global/download_extract.in | 25 25 0 0 +++++++++++++++++++++++++
2 files changed, 33 insertions(+), 8 deletions(-)
yann@445
     1
# Options specific to downloading and extracting packages
yann@174
     2
yann@63
     3
comment "Downloading"
yann@1
     4
yann@63
     5
config FORCE_DOWNLOAD
yann@1
     6
    bool
yann@63
     7
    prompt "Force downloads"
yann@1
     8
    default n
yann@1
     9
    help
yann@63
    10
      Force downloading tarballs, even if one already exists.
yann@63
    11
      
yann@63
    12
      Usefull if you suspect a tarball to be damaged.
yann@1
    13
yann@1
    14
config ONLY_DOWNLOAD
yann@1
    15
    bool
yann@63
    16
    prompt "Stop after downloading tarballs"
yann@1
    17
    default n
yann@1
    18
    help
yann@1
    19
      Only download the tarballs. Exit once it done.
yann@1
    20
      
yann@1
    21
      Usefull to pre-retrieve the tarballs before going off-line.
yann@1
    22
yann@492
    23
config CONNECT_TIMEOUT
yann@492
    24
    int
yann@492
    25
    prompt "connection timeout"
yann@492
    26
    default 10
yann@492
    27
    help
yann@492
    28
      From the curl manual:
yann@492
    29
        Maximum time in seconds that you allow the connection to the server to take.
yann@492
    30
yann@492
    31
      The scenario is as follows;
yann@492
    32
        - some enterprise networks have firewalls that prohibit FTP traffic, while
yann@492
    33
          still allowing HTTP
yann@492
    34
        - most download sites have http:// equivalent for the ftp:// URL
yann@492
    35
        - after this number of seconds, it is considered that the connection could
yann@492
    36
          not be established, and the next URL in the list is tried, until we reach
yann@492
    37
          an URL that will go through the firewall, most probably an http:// URL.
yann@492
    38
yann@492
    39
      If you have a slow network, you'd better set this value higher than the default
yann@492
    40
      10s. If you know a firewall is blocking connections, but your network is globally
yann@492
    41
      fast, you can try to lower this value to jump more quickly to allowed URLs. YMMV.
yann@492
    42
yann@492
    43
      Note that this value applies equally to wget if you have that installed.
yann@492
    44
yann@492
    45
      Of course, you'd be better off to use a proxy, as offered by the following
yann@492
    46
      choice of options.
yann@492
    47
yann@441
    48
choice
yann@441
    49
    bool
yann@441
    50
    prompt "Proxy type"
yann@487
    51
    default PROXY_TYPE_NONE
yann@441
    52
yann@442
    53
config PROXY_TYPE_NONE
yann@441
    54
    bool
yann@441
    55
    prompt "No proxy"
yann@441
    56
    help
yann@441
    57
      Select this option if you have a direct connection to the internet,
yann@441
    58
      or if you already set the environment adequately.
yann@441
    59
yann@442
    60
config PROXY_TYPE_HTTP
yann@441
    61
    bool
yann@441
    62
    prompt "HTTP proxy"
yann@441
    63
    help
yann@441
    64
      Use an HTTP proxy to connect to to the internet.
yann@442
    65
      Only the http and ftp protocols will be tunneled through this
yann@441
    66
      proxy.
yann@441
    67
yann@442
    68
      Alternatively to setting this option, you can set and export the
yann@442
    69
      following variables in your environment:
yann@441
    70
        ftp_proxy=http://user:passwd@proxy.server:port/
yann@441
    71
        http_proxy=http://user:passwd@proxy.server:port/
yann@441
    72
        https_proxy=http://user:passwd@proxy.server:port/
yann@441
    73
yann@441
    74
# Haha! Here is an interesting feature/bug of mconf!
yann@441
    75
# The following config entries will be shown out-side the
yann@441
    76
# choice menu!
yann@441
    77
# To add a third entry in the choice menu, add it after the
yann@441
    78
# if...endif conditional below, and so on for a fourth entry...
yann@442
    79
if PROXY_TYPE_HTTP
yann@441
    80
yann@442
    81
config PROXY_HOST
yann@441
    82
    string
yann@442
    83
    prompt "hostname/IP"
yann@441
    84
yann@442
    85
config PROXY_PORT
yann@441
    86
    int
yann@442
    87
    prompt "port"
yann@452
    88
    default 8080
yann@441
    89
    
yann@442
    90
config PROXY_USER
yann@441
    91
    string
yann@442
    92
    prompt "user name"
yann@441
    93
yann@442
    94
config PROXY_PASS
yann@441
    95
    string
yann@442
    96
    prompt "password"
yann@441
    97
yann@441
    98
endif # USE_HTTP_PROXY
yann@441
    99
yann@442
   100
config PROXY_TYPE_SOCKS
yann@442
   101
    bool
yann@451
   102
    prompt "SOCKS 4/5 proxy (EXPERIMENTAL)"
yann@451
   103
    depends on EXPERIMENTAL
yann@442
   104
    help
yann@442
   105
      Use a Socks 4/5 proxy to connect to the internet.
yann@442
   106
      All protocols can get tunneled through this kind of proxy (depending
yann@442
   107
      on your proxy configuration, so;e do not allow all protocols, but
yann@442
   108
      chances are that protocols needed by crosstool-NG are allowed).
yann@442
   109
yann@452
   110
      Please note that the proxy you are using MUST be on the same subnet
yann@452
   111
      as your machine. That is, it must be reachable without a hop through
yann@452
   112
      any gate. If this is not the case, then do NOT use this option, and
yann@452
   113
      setup tsocks system-wide.
yann@452
   114
yann@452
   115
      Alternatively to setting this option, you can configure tsocks
yann@452
   116
      system-wide, and set and export the following variable in your
yann@452
   117
      environment:
yann@442
   118
        LD_PRELOAD=/path/to/your/tsocks-library.so
yann@442
   119
yann@442
   120
      This option makes use of the tsocks library. You will have to have tsocks
yann@442
   121
      installed on your system, of course.
yann@442
   122
yann@442
   123
      If you think you do not know what tsocks is, or how to configure it,
yann@442
   124
      chances are that you do not need to set this option.
yann@442
   125
yann@442
   126
if PROXY_TYPE_SOCKS
yann@442
   127
yann@442
   128
choice
yann@442
   129
    bool
yann@442
   130
    prompt "type"
yann@451
   131
    default PROXY_TYPE_SOCKS_SYS
yann@451
   132
yann@451
   133
config PROXY_TYPE_SOCKS_SYS
yann@451
   134
    bool
yann@451
   135
    prompt "Use system settings"
yann@451
   136
    help
yann@452
   137
      Use that if tsocks is already configured on your system.
yann@451
   138
yann@451
   139
config PROXY_TYPE_SOCKS_AUTO
yann@451
   140
    bool
yann@452
   141
    prompt "Auto (BROKEN)"
yann@452
   142
    depends on BROKEN
yann@451
   143
    help
yann@452
   144
      crosstool-NG will attempt to guess what type of SOCKS version
yann@452
   145
      the proxy speaks.
yann@451
   146
yann@451
   147
config PROXY_TYPE_SOCKS_4
yann@451
   148
    bool
yann@452
   149
    prompt "SOCKS 4 (BROKEN)"
yann@452
   150
    depends on BROKEN
yann@442
   151
yann@442
   152
config PROXY_TYPE_SOCKS_5
yann@442
   153
    bool
yann@452
   154
    prompt "SOCKS 5 (BROKEN)"
yann@452
   155
    depends on BROKEN
yann@442
   156
yann@451
   157
endchoice
yann@442
   158
yann@451
   159
if ! PROXY_TYPE_SOCKS_SYS
yann@451
   160
yann@442
   161
config PROXY_HOST
yann@442
   162
    string
yann@442
   163
    prompt "hostname/IP"
yann@442
   164
yann@442
   165
config PROXY_PORT
yann@442
   166
    int
yann@442
   167
    prompt "port"
yann@452
   168
    default 1080
yann@442
   169
yann@442
   170
config PROXY_USER
yann@442
   171
    string
yann@442
   172
    prompt "user name"
yann@442
   173
yann@442
   174
config PROXY_PASS
yann@442
   175
    string
yann@442
   176
    prompt "password"
yann@442
   177
yann@451
   178
endif # ! PROXY_TYPE_SOCKS_SYS
yann@451
   179
yann@442
   180
endif # USE_SOCKS_PROXY
yann@442
   181
yann@442
   182
endchoice
yann@442
   183
yann@442
   184
config PROXY_TYPE
yann@442
   185
    string
yann@451
   186
    default "none"      if PROXY_TYPE_NONE
yann@451
   187
    default "http"      if PROXY_TYPE_HTTP
yann@451
   188
    default "sockssys"  if PROXY_TYPE_SOCKS_SYS
yann@451
   189
    default "socksauto" if PROXY_TYPE_SOCKS_AUTO
yann@451
   190
    default "socks4"    if PROXY_TYPE_SOCKS_4
yann@451
   191
    default "socks5"    if PROXY_TYPE_SOCKS_5
yann@442
   192
yann@441
   193
# Force restore indentation
yann@445
   194
config BREAK_INDENT
yann@445
   195
    bool
yann@445
   196
    default n
yann@121
   197
yann@244
   198
if ! ONLY_DOWNLOAD
yann@244
   199
yann@63
   200
comment "Extracting"
yann@1
   201
yann@1
   202
config FORCE_EXTRACT
yann@1
   203
    bool
yann@1
   204
    prompt "Force extractions"
yann@1
   205
    default n
yann@1
   206
    help
yann@1
   207
      Force extraction of already exctracted tarballs.
yann@1
   208
      
yann@1
   209
      Usefull if you suspect a previous extract did not complete (eg. broken
yann@1
   210
      tarball), or you added a new set of patches for this component.
yann@1
   211
yann@63
   212
config ONLY_EXTRACT
yann@63
   213
    bool
yann@63
   214
    prompt "Stop after extracting tarballs"
yann@63
   215
    default n
yann@63
   216
    help
yann@63
   217
      Exit after unpacking and patching tarballs.
yann@63
   218
      
yann@63
   219
      Usefull to look at the code before doing the build itself.
yann@63
   220
yann@244
   221
endif # ! ONLY_DOWNLOAD