pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/pkgtools/pkglint pkgtools/pkglint: update to 5.7.11



details:   https://anonhg.NetBSD.org/pkgsrc/rev/25000a555bd7
branches:  trunk
changeset: 396136:25000a555bd7
user:      rillig <rillig%pkgsrc.org@localhost>
date:      Wed May 22 16:07:16 2019 +0000

description:
pkgtools/pkglint: update to 5.7.11

Changes since 5.7.10:

Fixed wrong warnings about autoconf being an unknown shell command when
an included file had defined USE_TOOLS+=autoconf213.

diffstat:

 pkgtools/pkglint/Makefile            |   4 +-
 pkgtools/pkglint/files/package.go    |   6 +++-
 pkgtools/pkglint/files/tools.go      |  37 +++++++++++++++++++++++++----------
 pkgtools/pkglint/files/tools_test.go |  18 +++++++++++++++++
 4 files changed, 50 insertions(+), 15 deletions(-)

diffs (115 lines):

diff -r 277b62ddd4ee -r 25000a555bd7 pkgtools/pkglint/Makefile
--- a/pkgtools/pkglint/Makefile Wed May 22 14:25:04 2019 +0000
+++ b/pkgtools/pkglint/Makefile Wed May 22 16:07:16 2019 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.580 2019/05/21 17:59:48 rillig Exp $
+# $NetBSD: Makefile,v 1.581 2019/05/22 16:07:16 rillig Exp $
 
-PKGNAME=       pkglint-5.7.10
+PKGNAME=       pkglint-5.7.11
 CATEGORIES=    pkgtools
 DISTNAME=      tools
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=golang/}
diff -r 277b62ddd4ee -r 25000a555bd7 pkgtools/pkglint/files/package.go
--- a/pkgtools/pkglint/files/package.go Wed May 22 14:25:04 2019 +0000
+++ b/pkgtools/pkglint/files/package.go Wed May 22 16:07:16 2019 +0000
@@ -293,8 +293,8 @@
 
        // See mk/tools/cmake.mk
        if pkg.vars.Defined("USE_CMAKE") {
-               mainLines.Tools.def("cmake", "", false, AtRunTime, nil)
-               mainLines.Tools.def("cpack", "", false, AtRunTime, nil)
+               allLines.Tools.def("cmake", "", false, AtRunTime, nil)
+               allLines.Tools.def("cpack", "", false, AtRunTime, nil)
        }
 
        allLines.collectUsedVariables()
@@ -600,6 +600,8 @@
        }
 
        pkg.checkUpdate()
+       allLines.collectDefinedVariables() // To get the tool definitions
+       mklines.Tools = allLines.Tools     // TODO: also copy the other collected data
        mklines.Check()
        pkg.CheckVarorder(mklines)
        SaveAutofixChanges(mklines.lines)
diff -r 277b62ddd4ee -r 25000a555bd7 pkgtools/pkglint/files/tools.go
--- a/pkgtools/pkglint/files/tools.go   Wed May 22 14:25:04 2019 +0000
+++ b/pkgtools/pkglint/files/tools.go   Wed May 22 16:07:16 2019 +0000
@@ -302,25 +302,40 @@
                return
        }
 
-       deps := mkline.ValueFields(value)
-
-       // See mk/tools/autoconf.mk:/^\.if !defined/
-       if matches(value, `\bautoconf213\b`) {
-               deps = append(deps, "autoconf-2.13", "autoheader-2.13", "autoreconf-2.13", "autoscan-2.13", "autoupdate-2.13", "ifnames-2.13")
-       }
-       if matches(value, `\bautoconf\b`) {
-               deps = append(deps, "autoheader", "autom4te", "autoreconf", "autoscan", "autoupdate", "ifnames")
-       }
-
        validity := tr.validity(mkline.Basename, addToUseTools)
-       for _, dep := range deps {
+       for _, dep := range mkline.ValueFields(value) {
                name := strings.Split(dep, ":")[0]
                if createIfAbsent || tr.ByName(name) != nil {
                        tr.def(name, "", false, validity, nil)
+                       for _, implicitName := range tr.implicitTools(name) {
+                               tr.def(implicitName, "", false, validity, nil)
+                       }
                }
        }
 }
 
+func (tr *Tools) implicitTools(toolName string) []string {
+
+       // See mk/tools/autoconf.mk:/^\.if !defined/
+
+       if toolName == "autoconf213" {
+               return []string{
+                       "autoconf-2.13", "autoheader-2.13", "autoreconf-2.13",
+                       "autoscan-2.13", "autoupdate-2.13", "ifnames-2.13",
+                       "autoconf",
+                       "autoheader", "autom4te", "autoreconf",
+                       "autoscan", "autoupdate", "ifnames"}
+       }
+
+       if toolName == "autoconf" {
+               return []string{
+                       "autoheader", "autom4te", "autoreconf",
+                       "autoscan", "autoupdate", "ifnames"}
+       }
+
+       return nil
+}
+
 func (tr *Tools) validity(basename string, useTools bool) Validity {
        switch {
        case IsPrefs(basename): // IsPrefs is not 100% accurate here but good enough
diff -r 277b62ddd4ee -r 25000a555bd7 pkgtools/pkglint/files/tools_test.go
--- a/pkgtools/pkglint/files/tools_test.go      Wed May 22 14:25:04 2019 +0000
+++ b/pkgtools/pkglint/files/tools_test.go      Wed May 22 16:07:16 2019 +0000
@@ -606,3 +606,21 @@
 
        t.CheckOutputEmpty()
 }
+
+func (s *Suite) Test_Tools__autoconf213(c *check.C) {
+       t := s.Init(c)
+
+       t.SetUpPackage("category/package",
+               "USE_TOOLS=\tautoconf213",
+               "",
+               "do-test:",
+               "\tautoconf")
+       t.CreateFileLines("mk/tools/defaults.mk",
+               "_TOOLS_DEPMETHOD.autoconf213=\tDEPENDS")
+       t.FinishSetUp()
+
+       G.Check(t.File("category/package"))
+
+       // No warning, since autoconf213 defines autoconf implicitly.
+       t.CheckOutputEmpty()
+}



Home | Main Index | Thread Index | Old Index