Date: Mon, 3 Jun 2013 15:12:57 GMT From: "Ilya A. Arkhipov" <rum1cro@yandex.ru> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/179262: [patch] ports-mgmt/portlint Adding one more check for optionsng in portlint. Message-ID: <201306031512.r53FCvVs048526@oldred.freebsd.org> Resent-Message-ID: <201306031520.r53FK0iq067677@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 179262 >Category: ports >Synopsis: [patch] ports-mgmt/portlint Adding one more check for optionsng in portlint. >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: Mon Jun 03 15:20:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Ilya A. Arkhipov >Release: FreeBSD 10.0-CURRENT >Organization: Rambler Internet Holding LLC >Environment: FreeBSD m1cro.park 10.0-CURRENT FreeBSD 10.0-CURRENT #2 r247397: Wed Feb 27 16:06:42 MSK 2013 m1cro@m1cro.park:/home/m1cro/makepro/linuxulator/obj/usr/home/m1cro/makepro/linuxulator/sys/MICROKERNEL amd64 >Description: I've added one check for portlint on the case when OPTIONS_RADIO/OPTIONS_SINGLE/OPTIONS_MULTI/OPTIONS_GROUP defined but OPTIONS_{RADIO/SINGLE/MULTI/GROUP}_SOMETHING no. >How-To-Repeat: Use it for example: OPTIONS_SINGLE= UNICODE OPTIONS_SINGLE_UCS= UCS2 UCS4 Should be: OPTIONS_SINGLE= UNICODE OPTIONS_SINGLE_UNICODE= UCS2 UCS4 >Fix: You can find patch in attach or on http://m1cro.tk/ports/portlint/portlint_optioncheck.patch I know it looks ugly but I don't know how should be does without portlint's refactoring. Patch attached with submission follows: --- /usr/ports/ports-mgmt/portlint/src/portlint.pl 2013-05-16 20:35:01.541157011 +0400 +++ /home/m1cro/makepro/portlint.pl 2013-06-03 16:03:38.175155134 +0400 @@ -197,7 +197,8 @@ PKGDIR COMMENT DESCR PLIST PKGCATEGORY PKGINSTALL PKGDEINSTALL PKGREQ PKGMESSAGE DISTINFO_FILE .CURDIR USE_LDCONFIG USE_AUTOTOOLS USE_GNOME INDEXFILE PKGORIGIN CONFLICTS PKG_VERSION PKGINSTALLVER - PLIST_FILES OPTIONS OPTIONS_DEFINE INSTALLS_OMF USE_GETTEXT USE_RC_SUBR + PLIST_FILES OPTIONS OPTIONS_DEFINE OPTIONS_RADIO OPTIONS_SINGLE + OPTIONS_MULTI OPTIONS_GROUP INSTALLS_OMF USE_GETTEXT USE_RC_SUBR DIST_SUBDIR ALLFILES IGNOREFILES CHECKSUM_ALGORITHMS INSTALLS_ICONS GNU_CONFIGURE CONFIGURE_ARGS MASTER_SITE_SUBDIR LICENSE LICENSE_COMB ); @@ -1258,7 +1259,7 @@ my($realwrksrc, $wrksrc, $nowrksubdir) = ('', '', ''); my(@mman, @pman); my(@mopt, @oopt); - my(@nmopt, @noopt); + my(@nmopt, @noopt, @aoopt); my($pkg_version, $versiondir, $versionfile) = ('', '', ''); my $useindex = 0; my %deprecated = (); @@ -1521,6 +1522,25 @@ &perror("WARN", $file, -1, "Use of OPTIONS is obsolete. Use the ". "new options framework."); } + + foreach my $i ("OPTIONS_RADIO","OPTIONS_SINGLE", + "OPTIONS_MULTI","OPTIONS_GROUP") { + @aoopt = split(/\s+/, $makevar{$i}); + if (scalar(@aoopt)) { + foreach my $j (@aoopt) { + my $ocmd = "make -V $makeenv ${i}_${j}"; + my @ocount; + for (split(/\n/, qx($ocmd))) { + $makevar{"${i}_${j}"} = $_; + @ocount = split(/\s+/, $makevar{"${i}_${j}"}); + } + if (!scalar(@ocount)) { + &perror("FATAL", $file, -1, "Description for ${i}_${j} not exist"); + } + } + } + } + pos($whole) = 0; while ($whole =~ /\(?\s*WITH(?:OUT)?_(\w+)\s*\)?/mg) { push @mopt, $1; >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306031512.r53FCvVs048526>