added experimental/gnu-sql

This commit is contained in:
Troy Will 2009-04-20 03:03:53 -07:00
parent 66d3550dd0
commit a3d3db4ad4

496
experimental/gnu-sql Normal file
View file

@ -0,0 +1,496 @@
#!/usr/bin/perl
#!/usr/bin/env perl
use strict;
use warnings;
use DBI;
# http://sql-info.de/mysql/examples/Perl-DBI-examples.html
# http://mailliststock.wordpress.com/2007/03/01/sqlite-examples-with-bash-perl-and-python/
my $repository = '/tmp/';
my $stow_dir = '/stow';
my $target_dir =
my $su_command = 'sudo';
my $tar_command = 'tar --verbose --extract --file';
my $database = 'gnu.db';
unlink($database);
my $dbh = DBI->connect("dbi:SQLite:$database", "", "", {RaiseError => 1, AutoCommit => 1});
# su -c 'aptitude install libdbd-sqlite3-perl' on a Debian system TDW 2009-04-19
&populate_gnu_mirrors($dbh);
&populate_gnu_software($dbh);
&print_mirrors;
&print_software;
#&stow_gnu_software('make');
#&stow_gnu_software('mdk');
&stow_gnu_software('gmp');
#&stow_gnu_software('gcc');
################################################ Subroutines only below this line ############################
#&populate_gnu_contributors($dbh);
sub stow_gnu_software {
my ( $software ) = @_;
print "\t$software\n";
# $dbh->do("CREATE TABLE gnu_software (id INTEGER PRIMARY KEY, short_name TEXT UNIQUE, name TEXT, latest_version TEXT, date_checked DATE )");
my $sth_id = $dbh->prepare("SELECT id, latest_version FROM gnu_software WHERE short_name = \'$software\'");
$sth_id->execute();
my ($software_id, $version) = $sth_id->fetchrow_array();
print "$software => $version\n";
# Given software short name, get id
# Given id, get version
my $all = $dbh->selectall_arrayref("SELECT * FROM mirror_url");
foreach my $row (@$all) {
my ($software_id, $country_id, $region_id, $url, $date_checked ) = @$row;
}
my $sth = $dbh->prepare('SELECT url FROM mirror_url WHERE id = ?');
$sth->execute(1);
my $url = $sth->fetchrow_array();
my $sth2 = $dbh->prepare('SELECT directory, latest_tarball FROM latest_tarball WHERE gnu_software_id = ?');
$sth2->execute($software_id);
my ( $directory, $tarball ) = $sth2->fetchrow_array;
my $download_command = "wget --no-clobber ${url}${directory}/$tarball";
system ("$download_command");
system ("$tar_command $tarball");
chdir ("$software-$version");
open(OUT, ">stow-$software-$version");
print OUT "#!/bin/bash\n";
print OUT "set -o errexit # exit on error\n";
print OUT "./configure --prefix=/usr/local\n";
print OUT "make\n";
print OUT "$su_command make DESTDIR=$stow_dir/$software-$version install\n";
print OUT "$su_command stow $software-$version\n";
print OUT "$su_command /sbin/ldconfig -v\n";
close(OUT);
}
sub print_software {
print "=================================== Table gnu_software =================================\n";
# $dbh->do("CREATE TABLE gnu_software (id INTEGER PRIMARY KEY, short_name TEXT UNIQUE, name TEXT, latest_version TEXT, date_checked DATE )");
my $all = $dbh->selectall_arrayref("SELECT * FROM gnu_software ORDER BY short_name");
foreach my $row (@$all) {
my ($id, $short_name, $name, $latest_version, $date_checked ) = @$row;
print "$short_name\t$latest_version v.$latest_version\t$name\n";
}
}
sub print_mirrors {
# $dbh->do("CREATE TABLE continent (id INTEGER PRIMARY KEY, name TEXT)");
# $dbh->do("CREATE TABLE country (id INTEGER PRIMARY KEY, continent_id INTEGER, name TEXT)");
# $dbh->do("CREATE TABLE region (id INTEGER PRIMARY KEY, name TEXT)");
# $dbh->do("CREATE TABLE mirror_url (id INTEGER PRIMARY KEY, country_id, region_id, url TEXT, date_checked DATE)");
my $all = $dbh->selectall_arrayref("SELECT * FROM mirror_url ORDER BY country_id, region_id, url");
foreach my $row (@$all) {
my ($id, $country_id, $region_id, $url, $date_checked ) = @$row;
print "$id\t$country_id\t$region_id\t$url\t$date_checked\n";
}
}
sub populate_gnu_software {
my $dbh = shift;
$dbh->do("CREATE TABLE gnu_software (id INTEGER PRIMARY KEY, short_name TEXT UNIQUE, name TEXT, latest_version TEXT, date_checked DATE )");
$dbh->do("CREATE TABLE latest_tarball (id INTEGER PRIMARY KEY, gnu_software_id INTEGER, directory TEXT, latest_tarball TEXT, date_checked )");
#################### Populate table gnu_software ####################
$dbh->do("INSERT INTO gnu_software VALUES (1, 'make', 'GNU Make', '3.81', '2009-04-19')");
$dbh->do("INSERT INTO gnu_software VALUES (2, 'emacs', 'GNU Emacs', '0.00', '1971-01-01')");
$dbh->do("INSERT INTO gnu_software VALUES (3, 'mdk', 'GNU MIX Development Kit', '1.2.4', '2009-04-19')");
my $sth_gs = $dbh->prepare("INSERT INTO gnu_software VALUES (?, ?, ?, ?, ?)");
$sth_gs->execute(4,'gcc','GNU Compiler Collection', '4.3.3', '2009-04-20');
$sth_gs->execute(5,'gmp','GNU Multiple Precision Arithmetic Library', '4.3.0', '2009-04-20');
# http://www.alliedquotes.com/mirrors/gnu/gnu/gcc/gcc-4.3.3/gcc-4.3.3.tar.bz2
#################### Populate table latest_tarball ####################
# Populate latest_tarball
# latest_tarball (id INTEGER PRIMARY KEY, gnu_software_id INTEGER, directory TEXT, latest_tarball TEXT, date_checked )
$dbh->do("INSERT INTO latest_tarball VALUES (1, 1, 'make', 'make-3.81.tar.bz2', '2009-04-19')");
# Emacs here id 2
$dbh->do("INSERT INTO latest_tarball VALUES (3, 3, 'mdk/v1.2.4', 'mdk-1.2.4.tar.gz', '2009-04-19')");
my $sth_lt = $dbh->prepare("INSERT INTO latest_tarball VALUES (?, ?, ?, ?, ?)");
$sth_lt->execute(4, 4, 'gcc/gcc-4.3.3', 'gcc-4.3.3.tar.bz2', '2009-04-20');
$sth_lt->execute(5, 5, 'gmp', 'gmp-4.3.0.tar.bz2', '2009-04-20');
}
sub populate_gnu_mirrors {
my $dbh = shift;
$dbh->do("CREATE TABLE continent (id INTEGER PRIMARY KEY, name TEXT)");
$dbh->do("CREATE TABLE country (id INTEGER PRIMARY KEY, continent_id INTEGER, name TEXT)");
$dbh->do("CREATE TABLE region (id INTEGER PRIMARY KEY, name TEXT)");
$dbh->do("CREATE TABLE mirror_url (id INTEGER PRIMARY KEY, country_id, region_id, url TEXT, date_checked DATE)");
$dbh->do("INSERT INTO continent VALUES (1, 'Asia')");
$dbh->do("INSERT INTO continent VALUES (2, 'Africa')");
$dbh->do("INSERT INTO continent VALUES (3, 'North America')");
$dbh->do("INSERT INTO continent VALUES (4, 'South America')");
$dbh->do("INSERT INTO continent VALUES (5, 'Antartica')");
$dbh->do("INSERT INTO continent VALUES (6, 'Europe')");
$dbh->do("INSERT INTO continent VALUES (7, 'Australia')");
# Countries
$dbh->do("INSERT INTO country VALUES (1, 3, 'United States')");
#Regions
$dbh->do("INSERT INTO region VALUES (1, 'Not specified')");
$dbh->do("INSERT INTO region VALUES (2, 'California')");
#Urls
my $date_checked = '2009-04-19';
my $sth_mu = $dbh->prepare("INSERT INTO mirror_url VALUES (?, ?, ?, ?, ?)");
$sth_mu->execute(1, 1, 2, 'ftp://mirrors.kernel.org/gnu/', '2009-04-19');
$sth_mu->execute(2, 1, 2, 'http://mirrors.kernel.org/gnu/', '2009-04-19');
$sth_mu->execute(3, 1, 2, 'ftp.keystealth.org/pub/gnu/gnu/', '2009-04-19');
$sth_mu->execute(4, 1, 2, 'ftp://mirrors.usc.edu/pub/gnu/', '2009-04-19');
$sth_mu->execute(5, 1, 2, 'http://mirrors.usc.edu/pub/gnu/', '2009-04-19');
$sth_mu->execute(6, 1, 2, 'http://www.alliedquotes.com/mirrors/gnu/gnu/', '2009-04-19');
# $dbh->do("INSERT INTO mirror_url VALUES (1, 1, 2, 'ftp://mirrors.kernel.org/gnu/', '2009-04-19')");
# o [22]http://mirrors.kernel.org/gnu/
}
exit
__END__
GNU mirror list
* United States
+ California
o [21]ftp://mirrors.kernel.org/gnu/
o [22]http://mirrors.kernel.org/gnu/
o [23]ftp://ftp.keystealth.org/pub/gnu/gnu/
o [24]ftp://mirrors.usc.edu/pub/gnu/
o [25]http://mirrors.usc.edu/pub/gnu/
o [26]http://www.alliedquotes.com/mirrors/gnu/gnu/
+ Colorado
o [27]http://cudlug.cudenver.edu/GNU/gnu/
+ Idaho
o [28]http://mirror.its.uidaho.edu/pub/gnu/
o [29]ftp://mirror.its.uidaho.edu/gnu/
o [30]rsync://mirror.its.uidaho.edu/gnu
+ Illinois
o [31]http://ftp.gnu.mirrors.hoobly.com/gnu/
o [32]ftp://mirror.anl.gov/pub/gnu/
o [33]http://mirror.anl.gov/pub/gnu/
o [34]http://www.netgull.com/gnu/
o [35]http://astromirror.uchicago.edu/gnu/
+ Massachusetts
o [36]ftp://aeneas.mit.edu/pub/gnu/
+ Michigan
o [37]http://ftp.wayne.edu/pub/gnu/
+ New York
o [38]http://mirror.cinquix.com/pub/gnu/
o [39]ftp://mirror.cinquix.com/pub/gnu/
o [40]mirror.cinquix.com::gnuftp
+ North Carolina
o [41]http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/
o [42]rsync://mirrors.ibiblio.org::gnuftp/
+ Pennsylvania
o [43]ftp://ftp.club.cc.cmu.edu/gnu/
o [44]http://ftp.club.cc.cmu.edu/pub/gnu/
+ Texas
o [45]http://www.gnu.potius.org/
o [46]http://gnu.inetbridge.net/
* The Americas (other than the U.S.)
+ Brazil
o [47]ftp://ftp.unicamp.br/pub/gnu/
+ Canada
o [48]ftp://mirror.csclub.uwaterloo.ca/gnu/
o [49]http://mirror.csclub.uwaterloo.ca/gnu/
o [50]ftp://gnu.mirror.iweb.com/gnu/
o [51]http://gnu.mirror.iweb.com/gnu/
o [52]rsync://gnu.mirror.iweb.com/gnu
+ Costa Rica
o [53]ftp://mirrors.ucr.ac.cr/GNU/gnu
o [54]http://mirrors.ucr.ac.cr/GNU/gnu
o [55]rsync://mirrors.ucr.ac.cr/GNU/gnu
* Africa
+ South Africa
o [56]ftp://ftp.is.co.za/mirror/ftp.gnu.org/gnu
* Asia
+ Japan
o [57]http://core.ring.gr.jp/pub/GNU/
o [58]ftp://ftp.ring.gr.jp/pub/GNU/
+ Korea
o [59]ftp://ftp.kaist.ac.kr/gnu/
+ Malaysia
o [60]ftp://mirror.publicns.net/pub/gnu/gnu/
o [61]http://mirror.publicns.net/pub/gnu/gnu/
+ Taiwan
o [62]ftp://ftp.ntu.edu.tw/pub/gnu/gnu/
o [63]ftp://ftp.twaren.net/Unix/GNU/gnu/
o [64]http://ftp.twaren.net/Unix/GNU/gnu/
+ Thailand
o [65]http://ftp.thaios.net/gnu/
+ Vietnam
o [66]http://gnu.billfett.com/gnu/
o [67]http://gnu.07vn.com/gnu/
o [68]ftp://mirror-fpt-telecom.fpt.net/gnu/
o [69]http://mirror-fpt-telecom.fpt.net/gnu/
* Europe
+ Austria
o [70]ftp://gd.tuwien.ac.at/gnu/gnusrc/
o [71]http://gd.tuwien.ac.at/gnu/gnusrc/
+ Belgium
o [72]ftp://ftp.easynet.be/gnu/
o [73]http://ftp.easynet.be/ftp/gnu/
+ Czech Republic
o [74]ftp://ftp.sh.cvut.cz/MIRRORS/gnu/pub/gnu/
o [75]http://ftp.sh.cvut.cz/MIRRORS/gnu/pub/gnu/
+ Denmark
o [76]http://ftp.download-by.net/gnu/gnu/
+ Finland
o [77]ftp://ftp.funet.fi/pub/gnu/prep/
+ France
o [78]ftp://ftp.ironie.org/ftp.gnu.org/pub/gnu/
o [79]http://gnu.mirror.ironie.org/pub/gnu/
o [80]ftp://mirror.cict.fr/gnu/
+ Germany
o [81]ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.
org/
o [82]ftp://ftp.cs.tu-berlin.de/pub/gnu/
o [83]ftp://ftp.informatik.rwth-aachen.de/pub/gnu/
o [84]ftp://ftp.cw.net/pub/gnu/
o [85]ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.
org/
o [86]ftp://ftp.cw.net/pub/gnu/
o [87]http://www.de-mirrors.de/gnuftp/
o [88]http://www.very-clever.com/download/gnu/
o [89]http://mirrors.zerg.biz/gnu/
+ Greece
o [90]ftp://ftp.duth.gr/pub/gnu/
o [91]ftp://ftp.ntua.gr/pub/gnu/
o [92]ftp://ftp.cc.uoc.gr/mirrors/gnu/
o [93]http://ftp.cc.uoc.gr/mirrors/gnu/
+ Ireland
o [94]ftp://ftp.esat.net/pub/gnu/
o [95]ftp://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/
o [96]http://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/
+ Netherlands
o [97]ftp://ftp.mirror.nl/pub/mirror/gnu/
o [98]ftp://ftp.nluug.nl/pub/gnu/
o [99]http://gnu.cyclingchampion.com/gnu/
+ Norway
o [100]ftp://ftp.uninett.no/pub/gnu/
+ Poland
o [101]ftp://ftp.task.gda.pl/pub/gnu/
o [102]ftp://sunsite.icm.edu.pl/pub/gnu/
o [103]ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.gnu.org/g
nu/
o [104]http://piotrkosoft.net/pub/mirrors/ftp.gnu.org/gnu/
+ Portugal
o [105]ftp://mirrors.nfsi.pt/pub/gnu/
o [106]http://mirrors.nfsi.pt/gnu/
+ Russia
o [107]http://mirror.prvtgeo.com/ftp.gnu.org/
o [108]rsync://mirror.prvtgeo.com/gnuftp/
o [109]ftp://ftp.chg.ru/pub/gnu/
+ Slovenia
o [110]http://gnu.wsection.com/
o [111]http://mirror.lihnidos.org/GNU/ftp/
o [112]http://mirror.lihnidos.org/GNU/alpha/
+ Spain
o [113]ftp://ftp.gul.es/gnu/pub/gnu/
o [114]http://ftp.gul.es/gnu/pub/gnu/
+ Sweden
o [115]ftp://ftp.isy.liu.se/pub/gnu/
o [116]ftp://ftp.sunet.se/pub/gnu/
o [117]ftp://ftp.df.lth.se/pub/ftp.gnu.org/pub/gnu/
o [118]http://ftp.df.lth.se/pub/ftp.gnu.org/pub/gnu/
+ Switzerland
o [119]ftp://sunsite.cnlab-switch.ch/mirror/gnu/
+ Turkey
o [120]ftp://ftp.ulak.net.tr/gnu/gnu/
+ UK
o [121]ftp://www.mirrorservice.org/sites/ftp.gnu.org/
o [122]http://www.mirrorservice.org/sites/ftp.gnu.org/
+ Ukraine
o [123]ftp://ftp.gnu.org.ua/gnu/
Add your mirror to this list
We welcome and appreciate more mirrors. If you are able to provide
one, please see [124]http://www.gnu.org/server/mirror.html for
information and instructions.
TeX and how to obtain it
TeX is a document formatter that is used by the FSF for all its
documentation. You will need it if you want to make printed manuals.
TeX is freely redistributable. You can get it over the Internet or on
physical media. See [125]http://tug.org/texlive.
Supporting the free software movement
If you agree with the free software ideals we espouse, or just like
GNU software, please consider supporting the Free Software Foundation,
by joining as an associate member ([126]http://fsf.org/join), making a
donation ([127]http://www.fsf.org/associate/support_freedom/donate),
or buying books or promotional items ([128]http://shop.fsf.org). For
still other ways to contribute to GNU, both technical and
non-technical, see [129]http://www.gnu.org/help.
Your support will help ensure the future of free software.
[130]back to top
Please send FSF & GNU inquiries to [131]gnu@gnu.org. There are also
[132]other ways to contact the FSF.
Please send broken links and other corrections or suggestions to
[133]webmasters@gnu.org.
Please see the [134]Translations README for information on
coordinating and submitting translations of this article.
Copyright © 1997, 1998, 1999, 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Verbatim copying and distribution of this entire article is permitted
worldwide without royalty in any medium provided this notice is
preserved.
Updated: $Date: 2009/04/12 16:23:45 $
Translations of this page
* [135]English [en]
References
1. file://localhost/home/troy/git/stow/experimental/ftp.html#content
2. file://localhost/home/troy/git/stow/experimental/ftp.html#searcher
3. file://localhost/home/troy/git/stow/experimental/ftp.html#translations
4. file://localhost/home/troy/git/stow/experimental/ftp.html#navigation
5. file://localhost/
6. file://localhost/gnu/gnu.html
7. file://localhost/philosophy/philosophy.html
8. file://localhost/licenses/licenses.html
9. file://localhost/software/software.html
10. file://localhost/help/help.html
11. https://www.fsf.org/associate/support_freedom?referrer=4052
12. http://www.gnu.org/order/ftp.html
13. mailto:gnu@gnu.org
14. ftp://ftp.gnu.org/
15. ftp://ftp.gnu.org/
16. http://ftpmirror.gnu.org/
17. http://gnu.org/software/gzip
18. http://bzip.org/
19. http://www.gnupg.org/documentation/faqs.en.html#q4.19
20. http://www.gnu.org/directory
21. ftp://mirrors.kernel.org/gnu/
22. http://mirrors.kernel.org/gnu/
23. ftp://ftp.keystealth.org/pub/gnu/gnu/
24. ftp://mirrors.usc.edu/pub/gnu/
25. http://mirrors.usc.edu/pub/gnu/
26. http://www.alliedquotes.com/mirrors/gnu/gnu/
27. http://cudlug.cudenver.edu/GNU/gnu/
28. http://mirror.its.uidaho.edu/pub/gnu/
29. ftp://mirror.its.uidaho.edu/gnu/
30. rsync://mirror.its.uidaho.edu/gnu
31. http://ftp.gnu.mirrors.hoobly.com/gnu/
32. ftp://mirror.anl.gov/pub/gnu/
33. http://mirror.anl.gov/pub/gnu/
34. http://www.netgull.com/gnu/
35. http://astromirror.uchicago.edu/gnu/
36. ftp://aeneas.mit.edu/pub/gnu/
37. http://ftp.wayne.edu/pub/gnu/
38. http://mirror.cinquix.com/pub/gnu/
39. ftp://mirror.cinquix.com/pub/gnu/
40. ftp://mirror.cinquix.com/
41. http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/
42. rsync://mirrors.ibiblio.org/
43. ftp://ftp.club.cc.cmu.edu/gnu/
44. http://ftp.club.cc.cmu.edu/pub/gnu/
45. http://www.gnu.potius.org/
46. http://gnu.inetbridge.net/
47. ftp://ftp.unicamp.br/pub/gnu/
48. ftp://mirror.csclub.uwaterloo.ca/gnu/
49. http://mirror.csclub.uwaterloo.ca/gnu/
50. ftp://gnu.mirror.iweb.com/gnu/
51. http://gnu.mirror.iweb.com/gnu/
52. rsync://gnu.mirror.iweb.com/gnu
53. ftp://mirrors.ucr.ac.cr/GNU/gnu
54. http://mirrors.ucr.ac.cr/GNU/gnu
55. rsync://mirrors.ucr.ac.cr/GNU/gnu
56. ftp://ftp.is.co.za/mirror/ftp.gnu.org/gnu
57. http://core.ring.gr.jp/pub/GNU/
58. ftp://ftp.ring.gr.jp/pub/GNU/
59. ftp://ftp.kaist.ac.kr/gnu/
60. ftp://mirror.publicns.net/pub/gnu/gnu/
61. http://mirror.publicns.net/pub/gnu/gnu/
62. ftp://ftp.ntu.edu.tw/pub/gnu/gnu/
63. ftp://ftp.twaren.net/Unix/GNU/gnu/
64. http://ftp.twaren.net/Unix/GNU/gnu/
65. http://ftp.thaios.net/gnu/
66. http://gnu.billfett.com/gnu/
67. http://gnu.07vn.com/gnu/
68. ftp://mirror-fpt-telecom.fpt.net/gnu/
69. http://mirror-fpt-telecom.fpt.net/gnu/
70. ftp://gd.tuwien.ac.at/gnu/gnusrc/
71. http://gd.tuwien.ac.at/gnu/gnusrc/
72. ftp://ftp.easynet.be/gnu/
73. http://ftp.easynet.be/ftp/gnu/
74. ftp://ftp.sh.cvut.cz/MIRRORS/gnu/pub/gnu/
75. http://ftp.sh.cvut.cz/MIRRORS/gnu/pub/gnu/
76. http://ftp.download-by.net/gnu/gnu/
77. ftp://ftp.funet.fi/pub/gnu/prep/
78. ftp://ftp.ironie.org/ftp.gnu.org/pub/gnu/
79. http://gnu.mirror.ironie.org/pub/gnu/
80. ftp://mirror.cict.fr/gnu/
81. ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/
82. ftp://ftp.cs.tu-berlin.de/pub/gnu/
83. ftp://ftp.informatik.rwth-aachen.de/pub/gnu/
84. ftp://ftp.cw.net/pub/gnu/
85. ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/ftp.gnu.org/
86. ftp://ftp.cw.net/pub/gnu/
87. http://www.de-mirrors.de/gnuftp/
88. http://www.very-clever.com/download/gnu/
89. http://mirrors.zerg.biz/gnu/
90. ftp://ftp.duth.gr/pub/gnu/
91. ftp://ftp.ntua.gr/pub/gnu/
92. ftp://ftp.cc.uoc.gr/mirrors/gnu/
93. http://ftp.cc.uoc.gr/mirrors/gnu/
94. ftp://ftp.esat.net/pub/gnu/
95. ftp://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/
96. http://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/
97. ftp://ftp.mirror.nl/pub/mirror/gnu/
98. ftp://ftp.nluug.nl/pub/gnu/
99. http://gnu.cyclingchampion.com/gnu/
100. ftp://ftp.uninett.no/pub/gnu/
101. ftp://ftp.task.gda.pl/pub/gnu/
102. ftp://sunsite.icm.edu.pl/pub/gnu/
103. ftp://ftp.piotrkosoft.net/pub/mirrors/ftp.gnu.org/gnu/
104. http://piotrkosoft.net/pub/mirrors/ftp.gnu.org/gnu/
105. ftp://mirrors.nfsi.pt/pub/gnu/
106. http://mirrors.nfsi.pt/gnu/
107. http://mirror.prvtgeo.com/ftp.gnu.org/
108. rsync://mirror.prvtgeo.com/gnuftp/
109. ftp://ftp.chg.ru/pub/gnu/
110. http://gnu.wsection.com/
111. http://mirror.lihnidos.org/GNU/ftp/
112. http://mirror.lihnidos.org/GNU/alpha/
113. ftp://ftp.gul.es/gnu/pub/gnu/
114. http://ftp.gul.es/gnu/pub/gnu/
115. ftp://ftp.isy.liu.se/pub/gnu/
116. ftp://ftp.sunet.se/pub/gnu/
117. ftp://ftp.df.lth.se/pub/ftp.gnu.org/pub/gnu/
118. http://ftp.df.lth.se/pub/ftp.gnu.org/pub/gnu/
119. ftp://sunsite.cnlab-switch.ch/mirror/gnu/
120. ftp://ftp.ulak.net.tr/gnu/gnu/
121. ftp://www.mirrorservice.org/sites/ftp.gnu.org/
122. http://www.mirrorservice.org/sites/ftp.gnu.org/
123. ftp://ftp.gnu.org.ua/gnu/
124. http://www.gnu.org/server/mirror.html
125. http://tug.org/texlive
126. http://fsf.org/join
127. http://www.fsf.org/associate/support_freedom/donate
128. http://shop.fsf.org/
129. http://www.gnu.org/help
130. file://localhost/home/troy/git/stow/experimental/ftp.html#header
131. mailto:gnu@gnu.org
132. file://localhost/contact/
133. mailto:webmasters@gnu.org
134. file://localhost/server/standards/README.translations.html
135. file://localhost/order/ftp.html