Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Apr 2013 14:26:36 +0200 (CEST)
From:      Tijl Coosemans <tijl@coosemans.org>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/177805: [patch] ports-mgmt/portlint: check for ftp/http mirror
Message-ID:  <201304121226.r3CCQafh053061@kalimero.tijl.coosemans.org>
Resent-Message-ID: <201304121230.r3CCU16m080893@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         177805
>Category:       ports
>Synopsis:       [patch] ports-mgmt/portlint: check for ftp/http mirror
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr 12 12:30:01 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Tijl Coosemans
>Release:        FreeBSD 10.0-CURRENT i386
>Organization:
>Environment:
>Description:
Some ports like x11-fonts/liberation-fonts-ttf only have https
mirrors in MASTER_SITES. That means the distfiles are unfetchable
when downloads have to go through a proxy because libfetch does
not support proxies for https.

redports.org is affected by this:
http://redports.org/~jkim/20130411183541-06771-113095/liberation-fonts-ttf-2.00.
1,1.log

The distfile also doesn't seem to get on ftp.freebsd.org. Maybe
because of the same reason?

The attached patch makes portlint print a warning if there's no
plain ftp or http mirror in MASTER_SITES.
>How-To-Repeat:
>Fix:

--- portlint.patch begins here ---
Index: src/portlint.pl
===================================================================
--- src/portlint.pl	(revision 315789)
+++ src/portlint.pl	(working copy)
@@ -2484,6 +2484,7 @@
 		print "OK: seen MASTER_SITES, sanity checking URLs.\n"
 			if ($verbose);
 		my @sites = split(/\s+/, $1 // '');
+		my $ftphttp = 0;
 		my $skipnext = 0;
 		foreach my $i (@sites) {
 			if ($skipnext) {
@@ -2496,12 +2497,16 @@
 				unless (&is_predefined($i, $file)) {
 					print "OK: URL \"$i\" ok.\n"
 						if ($verbose);
+					$ftphttp++ if ($i =~ /^(ftp|http):/);
 				}
 			} else {
 				print "OK: non-URL \"$i\" ok.\n"
 					if ($verbose);
+				$ftphttp++;
 			}
 		}
+		&perror("WARN", $file, -1, "no ftp/http mirror in MASTER_SITES.")
+			unless ($ftphttp);
 	} else {
 		&perror("WARN", $file, -1, "no MASTER_SITES found. is it ok?");
 	}
--- portlint.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201304121226.r3CCQafh053061>