ports/132289: [PATCH] ports-mgmt/portlint: fix for perl5.10; use warnings
Sergey Skvortsov
skv at FreeBSD.org
Tue Mar 3 19:40:01 UTC 2009
>Number: 132289
>Category: ports
>Synopsis: [PATCH] ports-mgmt/portlint: fix for perl5.10; use warnings
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Mar 03 19:40:01 UTC 2009
>Closed-Date:
>Last-Modified:
>Originator: Sergey Skvortsov
>Release: FreeBSD 7.1-PRERELEASE amd64
>Organization:
>Environment:
System: FreeBSD protey.ru 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Thu Jan 1 18:06:58 UTC
>Description:
1. Fix regex for compatibility with rigid perl-5.10
2. Use "use warnings;"; fix code to remove warnings (maybe not all of them)
3. Other code improvements; use modern Perl features (because current versions
on FreeBSD are 5.8 and 5.10 only - so we can do not worry about compatiBility
with older versions)
Port maintainer (marcus at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:
--- portlint-2.10.2_1.patch begins here ---
Index: src/portlint.pl
===================================================================
RCS file: /home/pcvs/ports/ports-mgmt/portlint/src/portlint.pl,v
retrieving revision 1.106
diff -u -u -r1.106 portlint.pl
--- src/portlint.pl 19 Jan 2009 06:58:42 -0000 1.106
+++ src/portlint.pl 3 Mar 2009 19:24:30 -0000
@@ -1,4 +1,4 @@
-#! /usr/bin/perl
+#! /usr/bin/perl -w
# ex:ts=4
#
# portlint - lint for port directory
@@ -20,15 +20,18 @@
# $MCom: portlint/portlint.pl,v 1.164 2009/01/19 06:57:51 marcus Exp $
#
-use vars qw/ $opt_a $opt_A $opt_b $opt_C $opt_c $opt_g $opt_h $opt_t $opt_v $opt_M $opt_N $opt_B $opt_V /;
+use strict;
+use warnings;
+
use Getopt::Std;
use File::Find;
use IPC::Open2;
use POSIX qw(strftime);
-use strict;
sub perror($$$$);
+our ($opt_a, $opt_A, $opt_b, $opt_C, $opt_c, $opt_g, $opt_h, $opt_t, $opt_v, $opt_M, $opt_N, $opt_B, $opt_V);
+
my ($err, $warn);
my ($extrafile, $parenwarn, $committer, $verbose, $usetabs, $newport,
$grouperrs);
@@ -154,6 +157,8 @@
# The PORTSDIR environment variable overrides our defaults.
$portsdir = $ENV{PORTSDIR} if ( defined $ENV{'PORTSDIR'} );
+$ENV{'PL_CVS_IGNORE'} //= '';
+
if ($verbose) {
print "OK: config: portsdir: \"$portsdir\" ".
"rcsidstr: \"$rcsidstr\" ".
@@ -1056,9 +1061,8 @@
my $file = shift;
my (%seen_depends, $j);
- if (!defined $ENV{'PORTSDIR'}) {
- $ENV{'PORTSDIR'} = $portsdir;
- }
+ $ENV{'PORTSDIR'} //= $portsdir;
+
foreach my $i (grep(/^(PATCH_|EXTRACT_|LIB_|BUILD_|RUN_|FETCH_)*DEPENDS[?+]?=/, split(/\n/, $tmp))) {
$i =~ s/^((PATCH_|EXTRACT_|LIB_|BUILD_|RUN_|FETCH_)*DEPENDS)[?+]?=[ \t]*//;
$j = $1;
@@ -1208,7 +1212,7 @@
my $tmp;
my $bogusdistfiles = 0;
my @varnames = ();
- my($portname, $portversion, $distfiles, $distversionprefix, $distversion, $distversionsuffix, $distname, $extractsufx) = ('', '', '', '', '');
+ my($portname, $portversion, $distfiles, $distversionprefix, $distversion, $distversionsuffix, $distname, $extractsufx) = ('') x 8;
my $masterport = 0;
my $slaveport = 0;
my $use_gnome_hack = 0;
@@ -1432,7 +1436,7 @@
# whole file: USE_* as a user-settable option
#
print "OK: checking for USE_* as a user-settable option.\n" if ($verbose);
- while ($whole =~ /\n\s*\.\s*(?:el)?if[^\n]*?\b(\w*USE_)(\w+)(?\![^\n]*\n#?\.error)/g) {
+ while ($whole =~ /\n\s*\.\s*(?:el)?if[^\n]*?\b(\w*USE_)(\w+)(?![^\n]*\n#?\.error)/g) {
my $lineno = &linenumber($`);
&perror("WARN", $file, $lineno, "is $1$2 a user-settable option? ".
"Consider using WITH_$2 instead.")
@@ -1885,7 +1889,8 @@
#
# whole file: check for --mandir and --infodir when GNU_CONFIGURE
#
- if ($makevar{GNU_CONFIGURE} ne '' &&
+ if (exists $makevar{GNU_CONFIGURE} &&
+ $makevar{GNU_CONFIGURE} ne '' &&
$makevar{CONFIGURE_ARGS} =~ /--(man|info)dir/) {
&perror("WARN", $file, -1, "--mandir and --infodir are not needed ".
"in CONFIGURE_ARGS as they are already set in bsd.port.mk");
@@ -2089,13 +2094,13 @@
print "OK: checking PORTNAME/PORTVERSION/DISTVERSION.\n" if ($verbose);
if ($tmp !~ /\nPORTNAME(.)?=/) {
&perror("FATAL", $file, -1, "PORTNAME has to be there.") unless ($slaveport && $makevar{PORTNAME} ne '');
- } elsif ($1 ne '') {
+ } elsif (defined $1 && $1 ne '') {
&perror("WARN", $file, -1, "unless this is a master port, PORTNAME has to be set by \"=\", ".
"not by \"$1=\".") unless ($masterport);
}
if ($tmp !~ /\n(PORTVERSION|DISTVERSION)(.)?=/) {
&perror("FATAL", $file, -1, "PORTVERSION or DISTVERSION has to be there.") unless ($slaveport && ($makevar{PORTVERSION} ne '' || $makevar{DISTVERSION} ne ''));
- } elsif ($2 ne '') {
+ } elsif (defined $2 && $2 ne '') {
&perror("WARN", $file, -1, "unless this is a master port, PORTVERSION has to be set by \"=\", ".
"not by \"$2=\".") unless ($masterport);
}
@@ -2126,7 +2131,7 @@
print "OK: checking CATEGORIES.\n" if ($verbose);
if ($tmp !~ /\nCATEGORIES(.)?=/) {
&perror("FATAL", $file, -1, "CATEGORIES has to be there.") unless ($slaveport && $makevar{CATEGORIES} ne '');
- } elsif (($i = $1) ne '' && $i =~ /[^?+]/) {
+ } elsif (defined $1 && ($i = $1) ne '' && $i =~ /[^?+]/) {
&perror("WARN", $file, -1, "unless this is a master port, CATEGORIES should be set by \"=\", \"?=\", or \"+=\", ".
"not by \"$i=\".") unless ($masterport);
}
@@ -2373,7 +2378,7 @@
}
}
- $versiondir = $ENV{VERSIONDIR} ? $ENV{VERSIONDIR} : '/var/db/chkversion';
+ $versiondir = $ENV{VERSIONDIR} // '/var/db/chkversion';
$versionfile = "$versiondir/VERSIONS";
$useindex = !-r "$versionfile";
@@ -2546,7 +2551,7 @@
# check COMMENT
if ($tmp !~ /\nCOMMENT(.)?=/) {
&perror("FATAL", $file, -1, "COMMENT has to be there.") unless ($slaveport && $makevar{COMMENT} ne '');
- } elsif ($1 ne '') {
+ } elsif (defined $1 && $1 ne '') {
&perror("WARN", $file, -1, "unless this is a master port, COMMENT has to be set by \"=\", ".
"not by \"$1=\".") unless ($masterport);
} else { # check for correctness
@@ -2692,7 +2697,7 @@
if ($tmp =~ /MAN\U$i\E=\s*([^\n]*)\n/) {
@mman = grep($_ !~ /^\s*$/, split(/\s+/, $1));
@pman = grep($_ !~ /^\s*$/,
- split(/\s+/, $plistmanall{$i}));
+ split(/\s+/, $plistmanall{$i} // ''));
foreach my $j (@mman) {
print "OK: checking $j (Makefile)\n"
if ($verbose);
--- portlint-2.10.2_1.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list