On Mon, Feb 05, 2024 at 07:15:27PM +0100, Thérèse Godefroy wrote: > > If a mirror is marked, it won't be used for redirections; _why_ it is > marked is unimportant. We want to keep /prep/FTP as simple as possible, > so I think one marker per mirror is enough for the time being. If we > need more in a few years, we can easily change a few lines in > ftp_convert.pl.
I don't think it makes /prep/FTP less simple, however, it does make the file more maintainable. Index: wrappers-and-scripts/ftp_convert.pl =================================================================== RCS file: /web/www/www/server/staging/prep/wrappers-and-scripts/ftp_convert.pl,v retrieving revision 1.3 diff -U 2 -r1.3 ftp_convert.pl --- wrappers-and-scripts/ftp_convert.pl 5 Feb 2024 18:12:55 -0000 1.3 +++ wrappers-and-scripts/ftp_convert.pl 6 Feb 2024 08:35:54 -0000 @@ -7,5 +7,5 @@ # this page. See the Makefile. # -# Original Script Written by jo...@gnu.org +# Public domain. Original script written by jo...@gnu.org. # # 01/02/1999 - Murali - Added support for http sites on the ftp list @@ -13,5 +13,5 @@ # 26/07/2010 - bjg - add rel="nofollow" to mirror links # 01/02/2024 - th_g - Simplify (disable support for <p>); don't convert -# http(s) URLs marked with '_' or '__'; add support for additional lists; +# http(s) URLs marked with '[m0, m1...]'; add support for additional lists. use strict; @@ -41,4 +41,27 @@ die "Incorrect format, start with How to get." unless /^How to get/; +sub get_place_markers +{ + my $markers = ''; + my @ret; + $markers = $1 if $_[0] =~ m/.*\[(.*)\]$/; + $markers =~ s/\s*//g; + foreach my $mark (split /,/, $markers) { + push @ret, + "<a href='#$mark'><span class='warn-$mark'>[" . uc ($mark) + . "]</span></a>"; + } + return '' if $#ret < 0; + return join (' ', @ret) . ' '; +} + +sub print_site +{ + my ($site, $place) = @_; + $site = get_place_markers ($place) . $site if $site =~ /^https?:/; + $site = display_link ($site) if $site =~ /^(https?|ftp):/; + print $site; +} + while (<>) { # Take care of headers @@ -52,11 +75,11 @@ } - # Country and URLs are separated by ' - ' or ' -- ' + # Country and URLs are separated by ' - ' or ' -- '. # Lines with ' -- ' should be skipped by Mirmon. - if (/^(.+)\s+\--?\s+(\S+.*)$/) { + if (/^(.*\S) --? (\S+.*)$/) { # State (US) or country (everything else) $marked_place = $1; @ftp_sites = split /,/,$2; - ($place = $marked_place) =~ s/[ *\[\]]*$//; + ($place = $marked_place) =~ s/ \[.*\]$//; if ((!$last_place) or ($place ne $last_place)) { if ($last_place) { @@ -80,15 +103,5 @@ } # Mark problematic sites. - if (($ftpsite =~ /^https?:/) and ($marked_place =~ /\*$/)) { - $ftpsite =~ s,^,<a href="#js"><span class="warn1">[JS]</span></a> ,; - if ($marked_place =~ / \*\*$/) { - $ftpsite =~ s,^,<a href="#cn"><span class="warn2">[CN]</span></a> ,; - } - } - if ($ftpsite =~ /^(https?|ftp):/) { - print &display_link($ftpsite); - } else { - print $ftpsite; - } + print_site ($ftpsite, $marked_place); print "</li>\n"; } Index: wrappers-and-scripts/ftp-header.html =================================================================== RCS file: /web/www/www/server/staging/prep/wrappers-and-scripts/ftp-header.html,v retrieving revision 1.2 diff -U 2 -r1.2 ftp-header.html --- wrappers-and-scripts/ftp-header.html 5 Feb 2024 18:12:55 -0000 1.2 +++ wrappers-and-scripts/ftp-header.html 6 Feb 2024 08:35:54 -0000 @@ -15,6 +15,6 @@ .summary { margin-top: 1.7em; } #content h3 { margin-top: 1.5em; border-bottom: 2px solid #bbb; } -.warn1 { color: #ce5c00; } -.warn2 { color: red; } +.warn-js { color: #ce5c00; } +.warn-cn { color: red; } --></style> <!--#include virtual="/prep/po/ftp.translist" --> Index: FTP =================================================================== RCS file: /web/www/www/server/staging/prep/FTP,v retrieving revision 1.2 diff -U 2 -r1.2 FTP --- FTP 5 Feb 2024 18:12:54 -0000 1.2 +++ FTP 6 Feb 2024 08:35:54 -0000 @@ -8,6 +8,6 @@ Canada - https://mirror.its.dal.ca/gnu, http://mirror.its.dal.ca/gnu, rsync://mirror.its.dal.ca/gnu Canada - https://mirror2.evolution-host.com/gnu, http://mirror2.evolution-host.com/gnu, rsync://mirror2.evolution-host.com/gnu -Canada ** - https://ca.mirrors.cicku.me/gnu/, http://ca.mirrors.cicku.me/gnu/ (also, mirror alpha: https://ca.mirrors.cicku.me/gnu-alpha/, http://ca.mirrors.cicku.me/gnu-alpha/) -US-Arizona * - https://mirrors.sarata.com/gnu/, rsync://mirrors.sarata.com/gnu/ (also, mirror alpha: https://mirrors.sarata.com/gnu-alpha/, rsync://mirrors.sarata.com/gnu-alpha/) +Canada [cn, js] - https://ca.mirrors.cicku.me/gnu/, http://ca.mirrors.cicku.me/gnu/ (also, mirror alpha: https://ca.mirrors.cicku.me/gnu-alpha/, http://ca.mirrors.cicku.me/gnu-alpha/) +US-Arizona [js] - https://mirrors.sarata.com/gnu/, rsync://mirrors.sarata.com/gnu/ (also, mirror alpha: https://mirrors.sarata.com/gnu-alpha/, rsync://mirrors.sarata.com/gnu-alpha/) US-California - https://mirror.fcix.net/gnu/, http://mirror.fcix.net/gnu/ US-California - http://gnu.mirrors.hoobly.com @@ -17,8 +17,8 @@ US-California - https://mirrors.ocf.berkeley.edu/gnu/ US-California - rsync://mirrors.ocf.berkeley.edu/gnu/ -US-California ** - https://us.mirrors.cicku.me/gnu/, http://us.mirrors.cicku.me/gnu/ (also, mirror alpha: https://us.mirrors.cicku.me/gnu-alpha/, http://us.mirrors.cicku.me/gnu-alpha/) +US-California [cn, js] - https://us.mirrors.cicku.me/gnu/, http://us.mirrors.cicku.me/gnu/ (also, mirror alpha: https://us.mirrors.cicku.me/gnu-alpha/, http://us.mirrors.cicku.me/gnu-alpha/) US-Idaho - http://mirrors.syringanetworks.net/gnu/, ftp://mirrors.syringanetworks.net/gnu/, rsync://mirrors.syringanetworks.net/gnu/ US-Illinois - https://mirror.team-cymru.com/gnu/, http://mirror.team-cymru.com/gnu/, rsync://mirror.team-cymru.com/gnu/ -US-Indiana * - https://gnu.askapache.com/, http://gnu.askapache.com/ +US-Indiana [js] - https://gnu.askapache.com/, http://gnu.askapache.com/ US-Massachusetts - https://mirrors.tripadvisor.com/gnu/, http://mirrors.tripadvisor.com/gnu/, rsync://mirrors.tripadvisor.com/gnu/ US-Michigan - https://ftp.wayne.edu/gnu/, http://ftp.wayne.edu/gnu/ @@ -26,5 +26,5 @@ US-New Jersey - https://gnu.mirror.constant.com/, http://gnu.mirror.constant.com/ US-New York - http://mirror.rit.edu/gnu/ -US-North Carolina * - https://mirrors.ibiblio.org/gnu/, http://mirrors.ibiblio.org/gnu/ +US-North Carolina [js] - https://mirrors.ibiblio.org/gnu/, http://mirrors.ibiblio.org/gnu/ South America: @@ -36,5 +36,5 @@ Botswana - https://mirror.retentionrange.co.bw/gnu -Morocco - https://mirror.marwan.ma/gnu/, http://mirror.marwan.ma/gnu/, rsync://mirror.marwan.ma/gnu/ (also, mirrors alpha: https://mirror.marwan.ma/gnualpha/, http://mirror.marwan.ma/gnualpha/, rsync://mirror.marwan.ma/gnualpha/) +Morocco - https://mirror.marwan.ma/gnu/, http://mirror.marwan.ma/gnu/, rsync://mirror.marwan.ma/gnu/ (also, mirrors alpha: https://mirror.marwan.ma/gnualpha/, http://mirror.marwan.ma/gnualpha/, rsync://mirror.marwan.ma/gnualpha/) South Africa - https://mirror.ufs.ac.za/gnu/, http://mirror.ufs.ac.za/gnu/, rsync://mirror.ufs.ac.za/gnu/ @@ -46,17 +46,17 @@ China - https://mirrors.sjtug.sjtu.edu.cn/gnu/ China - https://mirrors.nju.edu.cn/gnu/, http://mirrors.nju.edu.cn/gnu/ (also, mirror alpha: https://mirrors.nju.edu.cn/gnu-alpha/, http://mirrors.nju.edu.cn/gnu-alpha/) -China * - https://mirrors.aliyun.com/gnu/, http://mirrors.aliyun.com/gnu/ +China [js] - https://mirrors.aliyun.com/gnu/, http://mirrors.aliyun.com/gnu/ Hong Kong - https://mirror-hk.koddos.net/gnu/, http://mirror-hk.koddos.net/gnu/, rsync://mirror-hk.koddos.net/gnu India - https://mirrors.hopbox.net/gnu/, http://mirrors.hopbox.net/gnu/ India - https://gnu.mirror.net.in/gnu/, http://gnu.mirror.net.in/gnu/, rsync://gnu.mirror.net.in/gnu/ (also, mirror alpha: https://gnu.mirror.net.in/gnu-alpha/, http://gnu.mirror.net.in/gnu-alpha/, rsync://gnu.mirror.net.in/gnu-alpha/) -India ** - https://in.mirrors.cicku.me/gnu/, http://in.mirrors.cicku.me/gnu/ (also, mirror alpha: https://in.mirrors.cicku.me/gnu-alpha/, http://in.mirrors.cicku.me/gnu-alpha/) +India [cn, js] - https://in.mirrors.cicku.me/gnu/, http://in.mirrors.cicku.me/gnu/ (also, mirror alpha: https://in.mirrors.cicku.me/gnu-alpha/, http://in.mirrors.cicku.me/gnu-alpha/) Japan - https://ftp.jaist.ac.jp/pub/GNU/, http://ftp.jaist.ac.jp/pub/GNU/, rsync://ftp.jaist.ac.jp/pub/GNU/ Japan - http://repo.jing.rocks/gnu/, https://repo.jing.rocks/gnu/, rsync://repo.jing.rocks/gnu/ (also, mirror alpha: http://repo.jing.rocks/gnu-alpha/, https://repo.jing.rocks/gnu-alpha/, rsync://repo.jing.rocks/gnu-alpha/) -Japan ** - https://jp.mirrors.cicku.me/gnu/, http://jp.mirrors.cicku.me/gnu/ (also, mirror alpha: https://jp.mirrors.cicku.me/gnu-alpha/, http://jp.mirrors.cicku.me/gnu-alpha/) +Japan [cn, js] - https://jp.mirrors.cicku.me/gnu/, http://jp.mirrors.cicku.me/gnu/ (also, mirror alpha: https://jp.mirrors.cicku.me/gnu-alpha/, http://jp.mirrors.cicku.me/gnu-alpha/) Russia - https://mirror.truenetwork.ru/gnu, http://mirror.truenetwork.ru/gnu, rsync://mirror.truenetwork.ru/gnu Singapore - https://mirror.freedif.org/GNU/, http://mirror.freedif.org/GNU/, rsync://mirror.freedif.org/GNU/ (also, mirror alpha: https://mirror.freedif.org/GNU-alpha/, http://mirror.freedif.org/GNU-alpha/, rsync://mirror.freedif.org/GNU-alpha/) -Singapore ** - https://sg.mirrors.cicku.me/gnu/, http://sg.mirrors.cicku.me/gnu/ (also, mirror alpha: https://sg.mirrors.cicku.me/gnu-alpha/, http://sg.mirrors.cicku.me/gnu-alpha/) +Singapore [cn, js] - https://sg.mirrors.cicku.me/gnu/, http://sg.mirrors.cicku.me/gnu/ (also, mirror alpha: https://sg.mirrors.cicku.me/gnu-alpha/, http://sg.mirrors.cicku.me/gnu-alpha/) South Korea - https://ftp.kaist.ac.kr/gnu/ (also, mirror alpha: https://ftp.kaist.ac.kr/gnu-alpha/) -South Korea ** - https://kr.mirrors.cicku.me/gnu/, http://kr.mirrors.cicku.me/gnu/ (also, mirror alpha: https://kr.mirrors.cicku.me/gnu-alpha/, http://kr.mirrors.cicku.me/gnu-alpha/) +South Korea [cn, js] - https://kr.mirrors.cicku.me/gnu/, http://kr.mirrors.cicku.me/gnu/ (also, mirror alpha: https://kr.mirrors.cicku.me/gnu-alpha/, http://kr.mirrors.cicku.me/gnu-alpha/) Taiwan - https://mirror.ossplanet.net/gnu/, http://mirror.ossplanet.net/gnu/, rsync://mirror.ossplanet.net/gnu Taiwan - http://ftp.twaren.net/Unix/GNU/gnu/ @@ -77,5 +77,5 @@ Germany - https://mirror.clientvps.com/gnu/, http://mirror.clientvps.com/gnu/ Germany - https://de.freedif.org/gnu/, rsync://de.freedif.org/gnu/ (also, mirrors alpha: https://de.freedif.org/alpha/, rsync://de.freedif.org/alpha/) -Germany - https://ftp.fau.de/gnu, http://ftp.fau.de/gnu, rsync://ftp.fau.de/gnu +Germany - https://ftp.fau.de/gnu, http://ftp.fau.de/gnu, rsync://ftp.fau.de/gnu Germany - https://www.artfiles.org/gnu.org/, http://www.artfiles.org/gnu.org/ Germany - http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.gnu.org/, https://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.gnu.org/ @@ -86,9 +86,9 @@ Germany - https://ftp.halifax.rwth-aachen.de/gnu/, http://ftp.halifax.rwth-aachen.de/gnu/, rsync://ftp.halifax.rwth-aachen.de/gnu/ Germany - http://mirror.junda.nl/gnu/ -Germany ** - https://de.mirrors.cicku.me/gnu/, http://de.mirrors.cicku.me/gnu/ (also, mirror alpha: https://de.mirrors.cicku.me/gnu-alpha/, http://de.mirrors.cicku.me/gnu-alpha/) +Germany [cn, js] - https://de.mirrors.cicku.me/gnu/, http://de.mirrors.cicku.me/gnu/ (also, mirror alpha: https://de.mirrors.cicku.me/gnu-alpha/, http://de.mirrors.cicku.me/gnu-alpha/) Greece - https://ftp.cc.uoc.gr/mirrors/gnu/, http://ftp.cc.uoc.gr/mirrors/gnu/, ftp://ftp.cc.uoc.gr/mirrors/gnu/ Greece - https://fosszone.csd.auth.gr/gnu/, http://fosszone.csd.auth.gr/gnu/ Hungary - https://quantum-mirror.hu/mirrors/pub/gnu/, http://quantum-mirror.hu/mirrors/pub/gnu/, rsync://quantum-mirror.hu/gnu/ (also, mirror alpha: https://quantum-mirror.hu/mirrors/pub/gnualpha/, http://quantum-mirror.hu/mirrors/pub/gnualpha/, rsync://quantum-mirror.hu/gnualpha/) -Republic of Moldova * - https://mirror.ihost.md/gnu/, http://mirror.ihost.md/gnu/, rsync://mirror.ihost.md/gnu (also, mirror alpha: https://mirror.ihost.md/gnu-alpha/, http://mirror.ihost.md/gnu-alpha/, rsync://mirror.ihost.md/gnu-alpha) +Republic of Moldova [js] - https://mirror.ihost.md/gnu/, http://mirror.ihost.md/gnu/, rsync://mirror.ihost.md/gnu (also, mirror alpha: https://mirror.ihost.md/gnu-alpha/, http://mirror.ihost.md/gnu-alpha/, rsync://mirror.ihost.md/gnu-alpha) Netherlands - https://mirror.lyrahosting.com/gnu, http://mirror.lyrahosting.com/gnu, rsync://mirror.lyrahosting.com/gnu Netherlands - https://ftp.nluug.nl/pub/gnu/, ftp://ftp.nluug.nl/pub/gnu/ @@ -103,15 +103,15 @@ Romania - https://mirrors.nav.ro/gnu, http://mirrors.nav.ro/gnu, rsync://mirrors.nav.ro/gnu Russia - https://mirror.tochlab.net/pub/gnu/, http://mirror.tochlab.net/pub/gnu/ -Spain * - https://ftp.rediris.es/mirror/GNU/, http://ftp.rediris.es/mirror/GNU/ +Spain [js] - https://ftp.rediris.es/mirror/GNU/, http://ftp.rediris.es/mirror/GNU/ Sweden - http://ftp.acc.umu.se/mirror/gnu.org/gnu/, https://ftp.acc.umu.se/mirror/gnu.org/gnu/, rsync://ftp.acc.umu.se/mirror/gnu.org/gnu/ (also, mirrors alpha: http://ftp.acc.umu.se/mirror/gnu.org/alpha/, https://ftp.acc.umu.se/mirror/gnu.org/alpha/, rsync://ftp.acc.umu.se/mirror/gnu.org/alpha/) Turkey - https://mirror.rabisu.com/gnu/, http://mirror.rabisu.com/gnu/ (also, mirrors alpha: https://mirror.rabisu.com/gnualpha/, http://mirror.rabisu.com/gnualpha/) -UK * - https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/, http://www.mirrorservice.org/sites/ftp.gnu.org/gnu/, ftp://www.mirrorservice.org/sites/ftp.gnu.org/gnu/, rsync://rsync.mirrorservice.org/ftp.gnu.org/gnu/ (also, mirrors alpha: https://www.mirrorservice.org/sites/alpha.gnu.org/gnu/, http://www.mirrorservice.org/sites/alpha.gnu.org/gnu/, ftp://ftp.mirrorservice.org/sites/alpha.gnu.org/gnu/, rsync://rsync.mirrorservice.org/alpha.gnu.org/gnu/) -UK ** - https://eu.mirrors.cicku.me/gnu/, http://eu.mirrors.cicku.me/gnu/ (also, mirror alpha: https://eu.mirrors.cicku.me/gnu-alpha/, http://eu.mirrors.cicku.me/gnu-alpha/) +UK [js] - https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/, http://www.mirrorservice.org/sites/ftp.gnu.org/gnu/, ftp://www.mirrorservice.org/sites/ftp.gnu.org/gnu/, rsync://rsync.mirrorservice.org/ftp.gnu.org/gnu/ (also, mirrors alpha: https://www.mirrorservice.org/sites/alpha.gnu.org/gnu/, http://www.mirrorservice.org/sites/alpha.gnu.org/gnu/, ftp://ftp.mirrorservice.org/sites/alpha.gnu.org/gnu/, rsync://rsync.mirrorservice.org/alpha.gnu.org/gnu/) +UK [cn, js] - https://eu.mirrors.cicku.me/gnu/, http://eu.mirrors.cicku.me/gnu/ (also, mirror alpha: https://eu.mirrors.cicku.me/gnu-alpha/, http://eu.mirrors.cicku.me/gnu-alpha/) Oceania: Australia - https://mirror.endianness.com/gnu/, rsync://mirror.endianness.com/gnu/ (also, mirror alpha: https://mirror.endianness.com/gnu-alpha/, rsync://mirror.endianness.com/gnu-alpha/) -Australia ** - https://au.mirrors.cicku.me/gnu/, http://au.mirrors.cicku.me/gnu/ (also, mirror alpha: https://au.mirrors.cicku.me/gnu-alpha/, http://au.mirrors.cicku.me/gnu-alpha/) -New Caledonia * - https://mirror.lagoon.nc/gnu/, http://mirror.lagoon.nc/gnu/, rsync://mirror.lagoon.nc/gnu/ +Australia [cn, js] - https://au.mirrors.cicku.me/gnu/, http://au.mirrors.cicku.me/gnu/ (also, mirror alpha: https://au.mirrors.cicku.me/gnu-alpha/, http://au.mirrors.cicku.me/gnu-alpha/) +New Caledonia [js] - https://mirror.lagoon.nc/gnu/, http://mirror.lagoon.nc/gnu/, rsync://mirror.lagoon.nc/gnu/ * Special mirrors @@ -119,5 +119,5 @@ Global: -Cloudflare network ** -- https://mirrors.cicku.me/gnu/, http://mirrors.cicku.me/gnu/ (also, mirror alpha: https://mirrors.cicku.me/gnu-alpha/, http://mirrors.cicku.me/gnu-alpha/) +Cloudflare network [cn, js] -- https://mirrors.cicku.me/gnu/, http://mirrors.cicku.me/gnu/ (also, mirror alpha: https://mirrors.cicku.me/gnu-alpha/, http://mirrors.cicku.me/gnu-alpha/) Onion URL:
signature.asc
Description: PGP signature