config/global/download.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Aug 01 09:23:58 2008 +0000 (2008-08-01)
changeset 754 b13657cd64b3
parent 696 d8cb632212ee
child 1021 fa97295ee307
permissions -rw-r--r--
Rework a little bit of the LAN mirror and proxy settings.

/trunk/scripts/crosstool.sh | 105 4 101 0 +------------------------
/trunk/scripts/functions | 151 129 22 0 +++++++++++++++++++++++++++++++-----
/trunk/config/global/download.in | 193 99 94 0 ++++++++++++++++++++++++----------------------
3 files changed, 232 insertions(+), 217 deletions(-)
yann@693
     1
# Options specific to downloading packages
yann@693
     2
yann@693
     3
comment "Downloading"
yann@693
     4
yann@693
     5
config FORCE_DOWNLOAD
yann@693
     6
    bool
yann@693
     7
    prompt "Force downloads"
yann@693
     8
    default n
yann@693
     9
    help
yann@693
    10
      Force downloading tarballs, even if one already exists.
yann@693
    11
      
yann@693
    12
      Usefull if you suspect a tarball to be damaged.
yann@693
    13
yann@695
    14
menuconfig USE_PROXY
yann@695
    15
    bool
yann@754
    16
    prompt "Use a proxy"
yann@695
    17
    default n
yann@695
    18
    help
yann@695
    19
      Say 'Y' here if you need to use a proxy to connect to the internet.
yann@754
    20
      
yann@754
    21
      You can then choose between an HTTP or a SOCKS 4/5 proxy.
yann@695
    22
yann@695
    23
if USE_PROXY
yann@693
    24
yann@693
    25
choice
yann@693
    26
    bool
yann@693
    27
    prompt "Proxy type"
yann@693
    28
yann@693
    29
config PROXY_TYPE_HTTP
yann@693
    30
    bool
yann@693
    31
    prompt "HTTP proxy"
yann@693
    32
    help
yann@693
    33
      Use an HTTP proxy to connect to to the internet.
yann@693
    34
      Only the http and ftp protocols will be tunneled through this
yann@693
    35
      proxy.
yann@754
    36
      
yann@693
    37
      Alternatively to setting this option, you can set and export the
yann@693
    38
      following variables in your environment:
yann@693
    39
        ftp_proxy=http://user:passwd@proxy.server:port/
yann@693
    40
        http_proxy=http://user:passwd@proxy.server:port/
yann@693
    41
        https_proxy=http://user:passwd@proxy.server:port/
yann@693
    42
yann@693
    43
# Haha! Here is an interesting feature/bug of mconf!
yann@693
    44
# The following config entries will be shown out-side the
yann@693
    45
# choice menu!
yann@693
    46
# To add a third entry in the choice menu, add it after the
yann@693
    47
# if...endif conditional below, and so on for a fourth entry...
yann@693
    48
if PROXY_TYPE_HTTP
yann@693
    49
yann@693
    50
config PROXY_HOST
yann@693
    51
    string
yann@693
    52
    prompt "hostname/IP"
yann@693
    53
yann@693
    54
config PROXY_PORT
yann@693
    55
    int
yann@693
    56
    prompt "port"
yann@693
    57
    default 8080
yann@693
    58
    
yann@693
    59
config PROXY_USER
yann@693
    60
    string
yann@693
    61
    prompt "user name"
yann@693
    62
yann@693
    63
config PROXY_PASS
yann@693
    64
    string
yann@693
    65
    prompt "password"
yann@693
    66
yann@693
    67
endif # USE_HTTP_PROXY
yann@693
    68
yann@693
    69
config PROXY_TYPE_SOCKS
yann@693
    70
    bool
yann@696
    71
    prompt "SOCKS 4/5 proxy"
yann@693
    72
    help
yann@693
    73
      Use a Socks 4/5 proxy to connect to the internet.
yann@754
    74
      All protocols can get tunneled through this kind of proxy (your
yann@754
    75
      proxy configuration may not allow all protocols, but chances are
yann@754
    76
      that protocols needed by crosstool-NG are allowed).
yann@754
    77
      
yann@693
    78
      Alternatively to setting this option, you can configure tsocks
yann@693
    79
      system-wide, and set and export the following variable in your
yann@693
    80
      environment:
yann@693
    81
        LD_PRELOAD=/path/to/your/tsocks-library.so
yann@754
    82
      
yann@693
    83
      This option makes use of the tsocks library. You will have to have tsocks
yann@693
    84
      installed on your system, of course.
yann@754
    85
      
yann@693
    86
      If you think you do not know what tsocks is, or how to configure it,
yann@693
    87
      chances are that you do not need to set this option.
yann@693
    88
yann@693
    89
if PROXY_TYPE_SOCKS
yann@693
    90
yann@693
    91
choice
yann@693
    92
    bool
yann@693
    93
    prompt "type"
yann@693
    94
    default PROXY_TYPE_SOCKS_SYS
yann@693
    95
yann@693
    96
config PROXY_TYPE_SOCKS_SYS
yann@693
    97
    bool
yann@693
    98
    prompt "Use system settings"
yann@693
    99
    help
yann@693
   100
      Use that if tsocks is already configured on your system.
yann@693
   101
yann@693
   102
config PROXY_TYPE_SOCKS_AUTO
yann@693
   103
    bool
yann@693
   104
    prompt "Auto"
yann@693
   105
    help
yann@693
   106
      crosstool-NG will attempt to guess what type of SOCKS version
yann@693
   107
      the proxy speaks.
yann@693
   108
yann@693
   109
config PROXY_TYPE_SOCKS_4
yann@693
   110
    bool
yann@693
   111
    prompt "SOCKS 4"
yann@693
   112
yann@693
   113
config PROXY_TYPE_SOCKS_5
yann@693
   114
    bool
yann@693
   115
    prompt "SOCKS 5"
yann@693
   116
yann@693
   117
endchoice
yann@693
   118
yann@693
   119
if ! PROXY_TYPE_SOCKS_SYS
yann@693
   120
yann@693
   121
config PROXY_HOST
yann@693
   122
    string
yann@693
   123
    prompt "hostname/IP"
yann@693
   124
yann@693
   125
config PROXY_PORT
yann@693
   126
    int
yann@693
   127
    prompt "port"
yann@693
   128
    default 1080
yann@693
   129
yann@693
   130
config PROXY_USER
yann@693
   131
    string
yann@693
   132
    prompt "user name"
yann@693
   133
yann@693
   134
config PROXY_PASS
yann@693
   135
    string
yann@693
   136
    prompt "password"
yann@693
   137
yann@693
   138
endif # ! PROXY_TYPE_SOCKS_SYS
yann@693
   139
yann@693
   140
endif # USE_SOCKS_PROXY
yann@693
   141
yann@693
   142
endchoice
yann@693
   143
yann@754
   144
endif # USE_PROXY
yann@695
   145
yann@693
   146
config PROXY_TYPE
yann@693
   147
    string
yann@695
   148
    default "none"      if ! USE_PROXY
yann@693
   149
    default "http"      if PROXY_TYPE_HTTP
yann@693
   150
    default "sockssys"  if PROXY_TYPE_SOCKS_SYS
yann@693
   151
    default "socksauto" if PROXY_TYPE_SOCKS_AUTO
yann@693
   152
    default "socks4"    if PROXY_TYPE_SOCKS_4
yann@693
   153
    default "socks5"    if PROXY_TYPE_SOCKS_5
yann@695
   154
yann@754
   155
menuconfig USE_LAN_MIRROR
yann@754
   156
    bool
yann@754
   157
    prompt "Use LAN mirror"
yann@754
   158
    default n
yann@754
   159
    help
yann@754
   160
      If you have a machine on your LAN that mirrors some of the needed
yann@754
   161
      tarballs, you can say 'Y' here, and configure adequate values in
yann@754
   162
      the following options.
yann@754
   163
      
yann@754
   164
      Tarballs will be be preferably fetched from the LAN mirror, and if
yann@754
   165
      not found there, standard places will be searched for.
yann@754
   166
      
yann@754
   167
      Obviously, nothing prevents you from using a mirror that is in fact
yann@754
   168
      *not* on your LAN, for example on another subnet of your company's
yann@754
   169
      network, or a mirror on the Internet.
yann@754
   170
yann@754
   171
if USE_LAN_MIRROR
yann@754
   172
yann@754
   173
config LAN_MIRROR_USE_PROXY
yann@754
   174
    bool
yann@754
   175
    prompt "Use the proxy"
yann@754
   176
    default n
yann@754
   177
    depends on USE_PROXY
yann@754
   178
    help
yann@754
   179
      Say 'Y' here if you need to use the proxy to connect to the LAN mirror.
yann@754
   180
      
yann@754
   181
      You'll need to say 'Y' if the LAN mirror is not really on your LAN.
yann@754
   182
yann@754
   183
choice
yann@754
   184
    bool
yann@754
   185
    prompt "Server type:"
yann@754
   186
yann@754
   187
config LAN_MIRROR_HTTP
yann@754
   188
    bool
yann@754
   189
    prompt "http"
yann@754
   190
yann@754
   191
config LAN_MIRROR_FTP
yann@754
   192
    bool
yann@754
   193
    prompt "ftp"
yann@754
   194
yann@754
   195
endchoice # Server type
yann@754
   196
yann@754
   197
config LAN_MIRROR_SCHEME
yann@754
   198
    string
yann@754
   199
    default "http"  if LAN_MIRROR_HTTP
yann@754
   200
    default "ftp"   if LAN_MIRROR_FTP
yann@754
   201
yann@754
   202
config LAN_MIRROR_HOSTNAME
yann@754
   203
    string
yann@754
   204
    prompt "hostname"
yann@754
   205
    default ""
yann@754
   206
    help
yann@754
   207
      Enter here the hostname on your LAN mirror.
yann@754
   208
yann@754
   209
config LAN_MIRROR_BASE
yann@754
   210
    string
yann@754
   211
    prompt "Base directory"
yann@754
   212
    default ""
yann@754
   213
    help
yann@754
   214
      This is the base directory searched for for tarballs. If you enter
yann@754
   215
      /mirror, then the search is performed in the following directories
yann@754
   216
      on the server:
yann@754
   217
        /mirror/<name>/
yann@754
   218
        /mirror/
yann@754
   219
      
yann@754
   220
      where <name> is replaced with the actual package name.
yann@754
   221
yann@754
   222
config LAN_MIRROR_LS_R
yann@754
   223
    bool
yann@754
   224
#    prompt "Use ls-lR et al."
yann@754
   225
    depends on EXPERIMENTAL
yann@754
   226
    default n
yann@754
   227
    help
yann@754
   228
      If the tarball was not found at the above location, see if the server
yann@754
   229
      has a ls-lr.gz (or similar) file, and use that file to see if the
yann@754
   230
      tarball is listed somewhere in that file.
yann@754
   231
      
yann@754
   232
      Common file names looked for are:
yann@754
   233
        ls-lrRt.txt     (used at ftp.gnu.org)
yann@754
   234
        find.txt        (ditto)
yann@754
   235
        ls-lR
yann@754
   236
yann@754
   237
endif # USE_LAN_MIRROR
yann@754
   238
yann@695
   239
config CONNECT_TIMEOUT
yann@695
   240
    int
yann@695
   241
    prompt "connection timeout"
yann@695
   242
    default 10
yann@695
   243
    help
yann@695
   244
      From the curl manual:
yann@695
   245
        Maximum time in seconds that you allow the connection to the server to take.
yann@754
   246
      
yann@695
   247
      The scenario is as follows;
yann@695
   248
        - some enterprise networks have firewalls that prohibit FTP traffic, while
yann@695
   249
          still allowing HTTP
yann@695
   250
        - most download sites have http:// equivalent for the ftp:// URL
yann@695
   251
        - after this number of seconds, it is considered that the connection could
yann@695
   252
          not be established, and the next URL in the list is tried, until we reach
yann@695
   253
          an URL that will go through the firewall, most probably an http:// URL.
yann@754
   254
      
yann@695
   255
      If you have a slow network, you'd better set this value higher than the default
yann@695
   256
      10s. If you know a firewall is blocking connections, but your network is globally
yann@695
   257
      fast, you can try to lower this value to jump more quickly to allowed URLs. YMMV.
yann@754
   258
      
yann@695
   259
      Note that this value applies equally to wget if you have that installed.
yann@754
   260
      
yann@695
   261
      Of course, you'd be better off to use a proxy, as offered by the previous
yann@695
   262
      option.
yann@695
   263
yann@695
   264
config ONLY_DOWNLOAD
yann@695
   265
    bool
yann@695
   266
    prompt "Stop after downloading tarballs"
yann@695
   267
    default n
yann@695
   268
    help
yann@695
   269
      Only download the tarballs. Exit once it done.
yann@695
   270
      
yann@695
   271
      Usefull to pre-retrieve the tarballs before going off-line.