summaryrefslogtreecommitdiff
path: root/sysutils/fastest_cvsup/files/patch-fastest__cvsup
blob: 87ccb738e3bf4149462a61d61d026074ff0f444b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
--- fastest_cvsup.orig	2002-09-19 14:12:17.000000000 +0200
+++ fastest_cvsup	2009-01-04 15:25:33.000000000 +0100
@@ -1,13 +1,15 @@
 #!/usr/bin/perl
 #-----------------------------------------------------------------------------#
 #
-#  Find fastest CVSup server script for FreeBSD - version 0.2.8
+#  Find fastest CVSup server script for FreeBSD - version 0.2.9
 #  Copyright (c) A.J.Robinson (ajr@subdimension.com) 2002
 #  Distributed under the BSD license.
 #
 #-----------------------------------------------------------------------------#
 #
 # Changes:
+# 0.2.9  - added 'us' country code for USA hosts and 'tld' for top-level
+#          domain machines (can be in any country)
 # 0.2.8  - fixed the progress meter, timestamped %FREEBSD_SERVERS
 # 0.2.7  - updated documentation, usage message and progress meter.
 # 0.2.6  - changed from freebsdmirrors.org to the online handbook.
@@ -74,44 +76,50 @@
 # How many FreeBSD CVSup servers has each country got? (well, not strictly
 # true... what's the highest cvsup number in use?
 
-my %FREEBSD_SERVERS = (     # last updated: Thu Sep 19 12:56:23 2002
+my %FREEBSD_SERVERS = (     # last updated: Jan 04 15:02:20 GMT 2009
   'ar' => 1,    # Argentina
-  'at' => 1,    # Austria
-  'au' => 5,    # Australia
-  'br' => 4,    # Brazil
+  'am' => 1,    # Armenia
+  'at' => 2,    # Austria
+  'au' => 1,    # Australia
+  'br' => 3,    # Brazil
   'ca' => 2,    # Canada
-  'cn' => 1,    # China
+  'ch' => 2,    # Switzerland
+  'cn' => 5,    # China
   'cz' => 1,    # Czech Republic
-  'de' => 7,    # Germany
-  'dk' => 1,    # Denmark
-  'ee' => 1,    # Estonia
+  'de' => 8,    # Germany
+  'dk' => 3,    # Denmark
+  'ee' => 2,    # Estonia
   'es' => 3,    # Spain
   'fi' => 2,    # Finland
   'fr' => 8,    # France
-  'gr' => 2,    # Greece
+  'gr' => 1,    # Greece
   'hu' => 1,    # Hungary
-  'ie' => 1,    # Ireland
+  'ie' => 2,    # Ireland
   'is' => 1,    # Iceland
   'jp' => 6,    # Japan
-  'kr' => 2,    # Korea
-  'lt' => 2,    # Lithuania
-  'lv' => 1,    # Latvia
-  'nl' => 3,    # Netherlands
+  'kg' => 1,    # Kyrgyzstan
+  'kr' => 5,    # Korea
+  'kw' => 1,    # Kuwait
+  'lt' => 3,    # Lithuania
+  'lv' => 3,    # Latvia
+  'nl' => 6,    # Netherlands
   'no' => 1,    # Norway
   'nz' => 1,    # New Zealand
   'pl' => 1,    # Poland
-  'pt' => 1,    # Portugal
-  'ro' => 1,    # Romania
-  'ru' => 6,    # Russia
+  'pt' => 3,    # Portugal
+  'ro' => 3,    # Romania
+  'ru' => 7,    # Russia
   'se' => 2,    # Sweden
-  'si' => 1,    # Slovenia
+  'si' => 2,    # Slovenia
   'sk' => 2,    # Slovak Republic
-  'sm' => 1,    # San Marino
-  'tw' => 3,    # Taiwan
-  'ua' => 5,    # Ukraine
-  'uk' => 5,    # United Kingdom
-  'us' => 17,   # USA
+  'th' => 1,    # Thailand
+  'tr' => 2,    # Turkey
+  'tw' => 14,   # Taiwan
+  'ua' => 11,   # Ukraine
+  'uk' => 4,    # United Kingdom
+  'us' => 18,   # USA
   'za' => 2,    # South Africa
+  'tld' => 18,	# Top Level Domain
 );
 
 my %OTHER_SERVERS = (
@@ -141,6 +149,8 @@
                  'rt.fm',
                  'skeleton.phys.spbu.ru',
                  'cvsup.jp.openbsd.org',
+                 'cvsup.tw.openbsd.org',
+                 'openbsd.cc.ntu.edu.tw',
                  'wiretapped.net',
                ],
 );
@@ -177,6 +187,7 @@
         "         -Q           very quiet mode, no progress meter\n",
         "         -r           uses remote server list from FreeBSD Handbook\n",
         "         -c aa,bb,cc  queries servers in countries aa,bb,cc\n",
+        "            tld       queries servers in the top level domain\n",
         "            local     queries servers set as local in the script\n",
         "            all       queries all FreeBSD servers\n\n",
         "  See the man page, fastest_cvsup(7), for more details.\n\n";
@@ -281,6 +292,7 @@
 
       # extract the country name and the rest (what a mess!)
 
+      s/^<a[^>]+><\/a>//;
       if ( m/^(\w+)(\s{1}\w+)?\s*(.*)/s ) {
         my $country = $1.$2; # for two word names
         my $mess = $3;       # the rest
@@ -307,12 +319,12 @@
             unless ( $cc_name{$cc} ) { $cc_name{$cc} = $country }
           }
 
-          # parse US servers
+          # parse TLD servers
 
           elsif ( $server =~ /cvsup([\d]*)\.freebsd\.org/i ) {
             my $i = $1 || 1;
-            if ( !$srv{'us'} or $srv{'us'} < $i ) { $srv{'us'} = $i }
-            unless ( $cc_name{'us'} ) { $cc_name{'us'} = $country }
+            if ( !$srv{'tld'} or $srv{'tld'} < $i ) { $srv{'tld'} = $i }
+            unless ( $cc_name{'tld'} ) { $cc_name{'tld'} = $country }
           }
         }
       }
@@ -419,7 +431,7 @@
 
   for ( my $i=1; $i<=$FREEBSD_SERVERS{$cc}; $i++ ) {
 
-    if ( $cc eq 'us' ) { # use no country code, include the '1'
+    if ( $cc eq 'tld' ) { # use no country code, include the '1'
       if ( $i == 1 ) { push(@first,"cvsup$i.freebsd.org"); }
       else           { push(@others,"cvsup$i.freebsd.org"); }
     }
@@ -575,7 +587,7 @@
 
 =head1 SYNOPSIS
 
-B<fastest_cvsup> [B<-h>] [B<-(q|Q)>] [B<-r>] B<-c> (B<country codes>|B<local>|B<all>)
+B<fastest_cvsup> [B<-h>] [B<-(q|Q)>] [B<-r>] B<-c> (B<country codes>|B<tld>|B<local>|B<all>)
 
 =head1 DESCRIPTION
 
@@ -620,6 +632,11 @@
 NetBSD and OpenBSD servers are lumped together under the 'netbsd' and
 'openbsd' codes respectively.
 
+=item B<-c tld>
+
+checks the servers in the Top Level Domain.  These can be anywhere in the
+world.
+
 =item B<-c local>
 
 uses the countries specifed in the C<@LOCAL_CC> array. Edit the script to