<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/5297f1cebe34b6e635fee0aeed507e54330fbe25">https://github.com/macports/macports-base/commit/5297f1cebe34b6e635fee0aeed507e54330fbe25</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 5297f1ceb port lint: warn for "platforms darwin" as this is the default
</span>5297f1ceb is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 5297f1cebe34b6e635fee0aeed507e54330fbe25
</span>Author: Paul Guyot <pguyot@kallisys.net>
AuthorDate: Wed May 1 12:32:41 2024 +0200
<span style='display:block; white-space:pre;color:#404040;'> port lint: warn for "platforms darwin" as this is the default
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Co-authored-by: Joshua Root <jmr@macports.org>
</span>---
src/port1.0/portlint.tcl | 54 +++++++++++++++++++++++++-------
src/port1.0/tests/portlint.test | 68 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 111 insertions(+), 11 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/portlint.tcl b/src/port1.0/portlint.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index d95ee787e..81c74582a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/portlint.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/portlint.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -249,6 +249,33 @@ proc portlint::lint_checksum {checksum_string} {
</span> return [list $errors $warnings]
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# lint_platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Checks a given Portfile platforms string. Returns a list of lists.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The first member list is a list of error strings.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The second member list is a list of warning strings.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Returns a list containing two empty lists if no issues are found.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc portlint::lint_platforms {platforms} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set errors [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set warnings [list]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global lint_platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach platform $platforms {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set platname [lindex $platform 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$platname ni $lint_platforms} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend errors "Unknown platform: $platname"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$platforms eq "darwin"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ lappend warnings "Unnecessary platforms line as darwin is the default"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return [list $errors $warnings]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> proc portlint::lint_start {args} {
global UI_PREFIX subport
ui_notice "$UI_PREFIX [format [msgcat::mc "Verifying Portfile for %s"] ${subport}]"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -282,6 +309,7 @@ proc portlint::lint_main {args} {
</span> set require_after ""
set seen_portsystem false
set seen_portgroup false
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ set seen_platforms false
</span> set in_description false
set prohibit_tabs false
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -387,6 +415,9 @@ proc portlint::lint_main {args} {
</span> set require_blank true
set require_after "PortGroup"
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[regexp {^\s*platforms\s} $line]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set seen_platforms true
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span>
# TODO: check for repeated variable definitions
# TODO: check the definition order of variables
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -496,7 +527,7 @@ proc portlint::lint_main {args} {
</span> global porturl all_variants patchfiles \
depends_fetch depends_extract depends_patch \
depends_lib depends_build depends_run \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_test distfiles fetch.type lint_portsystem lint_platforms \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_test distfiles fetch.type lint_portsystem \
</span> replaced_by conflicts
set portarch [get_canonical_archs]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -523,7 +554,6 @@ proc portlint::lint_main {args} {
</span> }
foreach req_var $lint_required {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> if {$req_var eq "master_sites"} {
if {${fetch.type} ne "standard"} {
ui_info "OK: $req_var not required for fetch.type ${fetch.type}"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -562,15 +592,17 @@ proc portlint::lint_main {args} {
</span> incr warnings
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[info exists platforms]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- foreach platform $platforms {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set platname [lindex $platform 0]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {$platname ni $lint_platforms} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "Unknown platform: $platname"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- incr errors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_info "OK: Found platform: $platname"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {$seen_platforms && [info exists platforms]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set platforms_lint [portlint::lint_platforms $platforms]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach err [lindex $platforms_lint 0] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_error $err
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ incr errors
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach warning [lindex $platforms_lint 1] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_warn $warning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ incr warnings
</span> }
}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/portlint.test b/src/port1.0/tests/portlint.test
</span><span style='display:block; white-space:pre;color:#808080;'>index ca7f7bb42..ae10ead4a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/portlint.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/portlint.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -645,4 +645,72 @@ test test_lint_checksum_invalid_ending_w_filename {
</span> return "lint_checksum_invalid_ending_w_filename passed"
} -result "lint_checksum_invalid_ending_w_filename passed"
<span style='display:block; white-space:pre;background:#e0ffe0;'>+test test_lint_platforms_succeeds_with_darwin_freebsd {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Verify that platforms is accepted with darwin freebsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -body {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set platforms "darwin freebsd"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set results [portlint::lint_platforms $platforms]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set err_results [lindex $results 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set warn_results [lindex $results 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $warn_results] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "FAIL: unexpected error results"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $err_results] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "FAIL: unexpected error results"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "lint_platforms_darwin_freebsd passed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -result "lint_platforms_darwin_freebsd passed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test test_lint_platforms_succeeds_with_freebsd {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Verify that platforms is accepted with freebsd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -body {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set platforms "freebsd"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set results [portlint::lint_platforms $platforms]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set err_results [lindex $results 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set warn_results [lindex $results 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $warn_results] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "FAIL: unexpected error results"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $err_results] > 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "FAIL: unexpected error results"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "lint_platforms_freebsd passed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -result "lint_platforms_freebsd passed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test test_lint_platforms_fails_with_msdos {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Verify that platforms fails with msdos as this is unknown
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -body {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set platforms "msdos"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set results [portlint::lint_platforms $platforms]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set err_results [lindex $results 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set warn_results [lindex $results 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $err_results] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "FAIL: unexpected empty error list"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {"Unknown" ni [lindex $err_results 0]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "FAIL: unexpected results: $results"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "lint_platforms_msdos_fails passed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -result "lint_platforms_msdos_fails passed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test test_lint_platforms_fails_with_darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Verify that platforms fails with darwin as this is the default
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -body {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set platforms "darwin"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set results [portlint::lint_platforms $platforms]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set err_results [lindex $results 0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set warn_results [lindex $results 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[llength $warn_results] == 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "FAIL: unexpected empty warning list"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {"default" ni [lindex $warn_results 0]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "FAIL: unexpected results: $results"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return "lint_platforms_darwin_fails passed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -result "lint_platforms_darwin_fails passed"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> cleanupTests
</pre><pre style='margin:0'>
</pre>