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 19.4.5
details: https://anonhg.NetBSD.org/pkgsrc/rev/ae46ca16e5d4
branches: trunk
changeset: 409988:ae46ca16e5d4
user: rillig <rillig%pkgsrc.org@localhost>
date: Thu Jan 23 21:56:50 2020 +0000
description:
pkgtools/pkglint: update to 19.4.5
Changes since 19.4.4:
Fixed automatic replacement from http SourceForge URLs to their https
counterparts. According to their official documentation, the https URLs
are not on the same hosts as before, but on *.sourceforge.io.
diffstat:
pkgtools/pkglint/Makefile | 4 +-
pkgtools/pkglint/files/autofix_test.go | 34 +++++++++++++++++++++++++++++
pkgtools/pkglint/files/vartypecheck.go | 7 +++++-
pkgtools/pkglint/files/vartypecheck_test.go | 17 ++++++++++++++
4 files changed, 59 insertions(+), 3 deletions(-)
diffs (100 lines):
diff -r 0f188ce2d003 -r ae46ca16e5d4 pkgtools/pkglint/Makefile
--- a/pkgtools/pkglint/Makefile Thu Jan 23 18:36:15 2020 +0000
+++ b/pkgtools/pkglint/Makefile Thu Jan 23 21:56:50 2020 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.626 2020/01/18 21:56:09 rillig Exp $
+# $NetBSD: Makefile,v 1.627 2020/01/23 21:56:50 rillig Exp $
-PKGNAME= pkglint-19.4.4
+PKGNAME= pkglint-19.4.5
CATEGORIES= pkgtools
DISTNAME= tools
MASTER_SITES= ${MASTER_SITE_GITHUB:=golang/}
diff -r 0f188ce2d003 -r ae46ca16e5d4 pkgtools/pkglint/files/autofix_test.go
--- a/pkgtools/pkglint/files/autofix_test.go Thu Jan 23 18:36:15 2020 +0000
+++ b/pkgtools/pkglint/files/autofix_test.go Thu Jan 23 21:56:50 2020 +0000
@@ -746,6 +746,40 @@
0, 20, "?", "+=")
}
+func (s *Suite) Test_Autofix_ReplaceAt__only(c *check.C) {
+ t := s.Init(c)
+
+ t.SetUpCommandLine("--only", "specific", "--autofix")
+ mklines := t.SetUpFileMkLines("filename.mk",
+ "# comment")
+
+ mklines.ForEach(func(mkline *MkLine) {
+ // FIXME
+ // The modifications from this replacement are not supposed
+ // to be saved to the file.
+ // They should only be applied to the in-memory copy.
+ fix := mkline.Autofix()
+ fix.Warnf("Warning.")
+ fix.ReplaceAt(0, 0, "# ", "COMMENT=\t")
+ fix.Apply()
+
+ // This autofix marks the file's lines as changed.
+ // Without it, SaveAutofixChanges would not have any effect.
+ fix = mkline.Autofix()
+ fix.Warnf("A specific warning.")
+ fix.Replace("comment", "remark")
+ fix.Apply()
+ })
+ mklines.SaveAutofixChanges()
+
+ t.CheckOutputLines(
+ "AUTOFIX: ~/filename.mk:1: Replacing \"comment\" with \"remark\".")
+ t.CheckFileLines("filename.mk",
+ // FIXME: The "COMMENT=" must not appear here since it
+ // was supposed to be ignored by the --only option.
+ "COMMENT=\tremark")
+}
+
func (s *Suite) Test_Autofix_InsertBefore(c *check.C) {
t := s.Init(c)
diff -r 0f188ce2d003 -r ae46ca16e5d4 pkgtools/pkglint/files/vartypecheck.go
--- a/pkgtools/pkglint/files/vartypecheck.go Thu Jan 23 18:36:15 2020 +0000
+++ b/pkgtools/pkglint/files/vartypecheck.go Thu Jan 23 21:56:50 2020 +0000
@@ -729,7 +729,12 @@
fix := cv.Autofix()
fix.Warnf("HOMEPAGE should use https instead of http.")
if supportsHttps {
- fix.Replace("http", "https")
+ if hasAnySuffix(host, "sourceforge.net") {
+ // See https://sourceforge.net/p/forge/documentation/Custom%20VHOSTs/
+ fix.Replace("http://"+host, "https://"+replaceAll(host, `\.net`, ".io"))
+ } else {
+ fix.Replace("http", "https")
+ }
}
fix.Explain(
"To provide secure communication by default,",
diff -r 0f188ce2d003 -r ae46ca16e5d4 pkgtools/pkglint/files/vartypecheck_test.go
--- a/pkgtools/pkglint/files/vartypecheck_test.go Thu Jan 23 18:36:15 2020 +0000
+++ b/pkgtools/pkglint/files/vartypecheck_test.go Thu Jan 23 21:56:50 2020 +0000
@@ -992,6 +992,23 @@
"WARN: filename.mk:3: HOMEPAGE should use https instead of http.",
"WARN: filename.mk:4: HOMEPAGE should use https instead of http.",
"WARN: filename.mk:7: HOMEPAGE should use https instead of http.")
+
+ t.SetUpCommandLine("--autofix")
+ vt.Values(
+ "http://www.gnustep.org/",
+ "http://www.pkgsrc.org/",
+ "http://project.sourceforge.net/",
+ "http://sf.net/p/project/",
+ "http://example.org/ # doesn't support https",
+ "http://example.org/ # only supports http",
+ "http://asf.net/")
+
+ // www.gnustep.org does not support https at all.
+ // www.pkgsrc.org is not in the (short) list of known https domains,
+ // therefore pkglint does not dare to change it automatically.
+ vt.Output(
+ "AUTOFIX: filename.mk:13: Replacing \"http://project.sourceforge.net\" with \"https://project.sourceforge.io\".",
+ "AUTOFIX: filename.mk:14: Replacing \"http\" with \"https\".")
}
func (s *Suite) Test_VartypeCheck_IdentifierDirect(c *check.C) {
Home |
Main Index |
Thread Index |
Old Index