diff options
author | Stefan Eßer <se@FreeBSD.org> | 2022-03-11 20:06:24 +0000 |
---|---|---|
committer | Stefan Eßer <se@FreeBSD.org> | 2022-03-11 20:06:24 +0000 |
commit | 52ddb47afcc7645fc42a53661fc6fed99a57dc29 (patch) | |
tree | 1683ec04183d0405901e2e5b93a44d17f6c5c97c /ports-mgmt | |
parent | b6def014bfb8b9cdf61c773b03922ef78ed41c9c (diff) | |
download | ports-52ddb47afcc7645fc42a53661fc6fed99a57dc29.tar.gz ports-52ddb47afcc7645fc42a53661fc6fed99a57dc29.zip |
ports-mgmt/portlint: remove "conflicts with itself"
The warning about a CONFLICTS entry matching the package being built
is bogus - the ports system excludes the port being built from the
list of conflicts that is reported by "make list-install-conflicts"
and the other targets that check for conflicts.
It is in fact quite useful to specify CONFLICTS with wildcards that
include the port being built instead of explicitly listing all other
versions (e.g. in case of the mysql or mariadb ports - it is possible
to use mysql[0-9][0-9]-client for example in the mysql57-client port
instead of complex patterns like "mysql5[56]-client mysql80-client"
in an attempt to not match the "57").
Since I'm fixing CONFLICTS entries in a large number of ports and
want to use wildcards as explained above to simplify the entries and
to reduce the maintenance effort (often are CONFLICTS entries stale
when new versions of e.g. mysql are imported).
The bogus portlint messages let maintainers think that the wildcards
need to be adjusted to prevent this "self conflict", leading them to
put back the unnecessarily complex patterns.
The author of portlint has not provided any kind of response to my
request to remove the misleading output sent more than 6 weeks ago.
Due to a maintainer time-out I'm removing the bogus message. The test
and print command are commented out in order to only apply the minimal
change required. The version number is unchanged since I do not want
to introduce a version that does not exist in the upstream sources,
but a portrevision is added to enforce the creation of an updated
package in the official repository.
Diffstat (limited to 'ports-mgmt')
-rw-r--r-- | ports-mgmt/portlint/Makefile | 1 | ||||
-rw-r--r-- | ports-mgmt/portlint/src/portlint.pl | 13 |
2 files changed, 8 insertions, 6 deletions
diff --git a/ports-mgmt/portlint/Makefile b/ports-mgmt/portlint/Makefile index bda2fb9402fe..103f454493be 100644 --- a/ports-mgmt/portlint/Makefile +++ b/ports-mgmt/portlint/Makefile @@ -2,6 +2,7 @@ PORTNAME= portlint PORTVERSION= 2.19.10 +PORTREVISION= 1 CATEGORIES= ports-mgmt MASTER_SITES= # none DISTFILES= # none diff --git a/ports-mgmt/portlint/src/portlint.pl b/ports-mgmt/portlint/src/portlint.pl index 5f6240beae9b..6faf2ebd8404 100644 --- a/ports-mgmt/portlint/src/portlint.pl +++ b/ports-mgmt/portlint/src/portlint.pl @@ -2994,12 +2994,13 @@ DIST_SUBDIR EXTRACT_ONLY my %seen; foreach my $conflict (split ' ', $conflicts) { if (not $seen{$conflict}) { - `$pkg_version -T '$makevar{PKGBASE}' '$conflict' || $pkg_version -T '$makevar{PKGNAME}' '$conflict'`; - my $selfconflict = !$?; - if ($selfconflict) { - &perror("FATAL", "", -1, "Package conflicts with itself. ". - "You should remove \"$conflict\" from CONFLICTS."); - } elsif ($conflict =~ m/-\[0-9\]\*$/) { +# `$pkg_version -T '$makevar{PKGBASE}' '$conflict' || $pkg_version -T '$makevar{PKGNAME}' '$conflict'`; +# my $selfconflict = !$?; +# if ($selfconflict) { +# &perror("FATAL", "", -1, "Package conflicts with itself. ". +# "You should remove \"$conflict\" from CONFLICTS."); +# } elsif ($conflict =~ m/-\[0-9\]\*$/) { + if ($conflict =~ m/-\[0-9\]\*$/) { &perror("WARN", $file, -1, "CONFLICTS definition \"$conflict\" ". "ends in redundant version pattern. ". "You should remove \"-[0-9]*\" from that pattern."); |