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.
This commit is contained in:
Stefan Eßer 2022-03-11 21:06:24 +01:00
parent b6def014bf
commit 52ddb47afc
2 changed files with 8 additions and 6 deletions

View File

@ -2,6 +2,7 @@
PORTNAME= portlint
PORTVERSION= 2.19.10
PORTREVISION= 1
CATEGORIES= ports-mgmt
MASTER_SITES= # none
DISTFILES= # none

View File

@ -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.");