diff options
author | Marc Espie <espie@cvs.openbsd.org> | 2012-02-13 17:32:15 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 2012-02-13 17:32:15 +0000 |
commit | ed3bb1f1477d58dca65f8881d2fea101f0603c6d (patch) | |
tree | 6448b20d4cbcc2c24d34778a8269ada6c7e38c98 | |
parent | 43ca98f3f91161f436f1cf0a6dd5d7905f00c8b9 (diff) |
warn when @option no-default-conflict and not explicit @conflict.
(very seldom correct, mostly used for autoconf/automake)
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/PkgCreate.pm | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/PkgCreate.pm b/usr.sbin/pkg_add/OpenBSD/PkgCreate.pm index 75cd2cc6646..f709ee8eb6d 100644 --- a/usr.sbin/pkg_add/OpenBSD/PkgCreate.pm +++ b/usr.sbin/pkg_add/OpenBSD/PkgCreate.pm @@ -1,6 +1,6 @@ #! /usr/bin/perl # ex:ts=8 sw=4: -# $OpenBSD: PkgCreate.pm,v 1.56 2012/01/21 19:14:05 espie Exp $ +# $OpenBSD: PkgCreate.pm,v 1.57 2012/02/13 17:32:14 espie Exp $ # # Copyright (c) 2003-2010 Marc Espie <espie@openbsd.org> # @@ -444,7 +444,7 @@ sub makesum_plist my $tempname = $state->{mandir}."/".$fullname; require File::Path; File::Path::make_path($state->{mandir}."/".$d); - open my $fh, ">", $tempname or $state->error("can't create #1: #2", + open my $fh, ">", $tempname or $state->error("can't create #1: #2", $tempname, $!); chmod 0444, $fh; if (-d $state->{base}.$d) { @@ -479,6 +479,7 @@ sub avert_duplicates_and_other_checks package OpenBSD::PackingElement::Conflict; sub avert_duplicates_and_other_checks { + $_[1]->{has_conflict}++; &OpenBSD::PackingElement::Depend::avert_duplicates_and_other_checks; } @@ -523,6 +524,14 @@ sub avert_duplicates_and_other_checks $self->SUPER::avert_duplicates_and_other_checks($state); } +package OpenBSD::PackingElement::NoDefaultConflict; +sub avert_duplicates_and_other_checks +{ + my ($self, $state) = @_; + $state->{has_no_default_conflict}++; +} + + # put together file and filename, in order to handle fragments simply package MyFile; sub new @@ -643,7 +652,7 @@ sub solve_from_ports $plist = OpenBSD::PackingList->fromfile($diskcache); } else { $plist = $self->ask_tree($state, $dep, $portsdir, - 'print-plist-libs-with-depends', + 'print-plist-libs-with-depends', 'wantlib_args=no-wantlib-args'); if ($? != 0 || !defined $plist->pkgname) { $state->error("Can't obtain dependency #1 from ports tree", @@ -1113,7 +1122,7 @@ sub finish_manpages require OpenBSD::Makewhatis; try { - OpenBSD::Makewhatis::scan_manpages($state->{manpages}, + OpenBSD::Makewhatis::scan_manpages($state->{manpages}, $state); } catchall { $state->errsay("Error in makewhatis: #1", $_); @@ -1254,6 +1263,9 @@ sub parse_and_run } $plist->avert_duplicates_and_other_checks($state); + if ($state->{has_no_default_conflict} && !$state->{has_conflict}) { + $state->errsay("Warning: \@option no-default-conflict without \@conflict"); + } $state->{stash} = {}; if ($state->{bad} && !$state->defines('REGRESSION_TESTING')) { |