diff options
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/Add.pm | 26 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/AddDelete.pm | 36 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/CollisionReport.pm | 6 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/Delete.pm | 22 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/Dependencies.pm | 18 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/Handle.pm | 6 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/PackingElement.pm | 11 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/Replace.pm | 22 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/SharedItems.pm | 12 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/Update.pm | 6 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/Vstat.pm | 6 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/x509.pm | 4 | ||||
-rw-r--r-- | usr.sbin/pkg_add/pkg_add | 45 | ||||
-rw-r--r-- | usr.sbin/pkg_add/pkg_delete | 18 |
14 files changed, 144 insertions, 94 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/Add.pm b/usr.sbin/pkg_add/OpenBSD/Add.pm index 9a090c899bd..c599aa40c96 100644 --- a/usr.sbin/pkg_add/OpenBSD/Add.pm +++ b/usr.sbin/pkg_add/OpenBSD/Add.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Add.pm,v 1.100 2009/12/17 11:57:02 espie Exp $ +# $OpenBSD: Add.pm,v 1.101 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2003-2007 Marc Espie <espie@openbsd.org> # @@ -35,7 +35,7 @@ sub manpages_index while (my ($k, $v) = each %{$state->{mandirs}}) { my @l = map { $destdir.$_ } @$v; if ($state->{not}) { - $state->say("Merging manpages in $destdir$k: ", join(@l)) if $state->{verbose}; + $state->say("Merging manpages in $destdir$k: ", join(@l)) if $state->verbose >= 2; } else { try { OpenBSD::Makewhatis::merge($destdir.$k, \@l); @@ -284,11 +284,11 @@ sub install my ($self, $state) = @_; $self->SUPER::install($state); my $auth = $self->name; - $state->say("adding ", $self->type, " ", $auth) if $state->{verbose}; + $state->say("adding ", $self->type, " ", $auth) if $state->verbose >= 2; return if $state->{not}; return if defined $self->{okay}; my $l=[]; - push(@$l, "-v") if $state->{very_verbose}; + push(@$l, "-v") if $state->verbose >= 2; $self->build_args($l); $state->vsystem($self->command,, @$l, '--', $auth); } @@ -340,7 +340,7 @@ sub install return; } if ($state->{not}) { - $state->say("sysctl -w $name != ". $self->{value}); + $state->say("sysctl -w $name != ". $self->{value}) if $state->verbose >= 2; return; } $state->vsystem(OpenBSD::Paths->sysctl, '--', $name.'='.$self->{value}); @@ -388,7 +388,7 @@ sub install if ($state->{replacing}) { if ($state->{not}) { - $state->say("moving tempfile -> $destdir$fullname") if $state->{very_verbose}; + $state->say("moving tempfile -> $destdir$fullname") if $state->verbose >= 5; return; } File::Path::mkpath(dirname($destdir.$fullname)); @@ -399,13 +399,13 @@ sub install } else { rename($self->{tempname}, $destdir.$fullname) or Fatal "Can't move ", $self->{tempname}, " to $fullname: $!"; - $state->say("moving ", $self->{tempname}, " -> $destdir$fullname") if $state->{very_verbose}; + $state->say("moving ", $self->{tempname}, " -> $destdir$fullname") if $state->verbose >= 5; undef $self->{tempname}; } } else { my $file = $self->prepare_to_extract($state); - $state->say("extracting $destdir$fullname") if $state->{very_verbose}; + $state->say("extracting $destdir$fullname") if $state->verbose >= 5; if ($state->{not}) { $state->{archive}->skip; return; @@ -508,7 +508,7 @@ sub install my $orig = $self->{copyfrom}; my $origname = $destdir.$orig->fullname; if (-e $filename) { - if ($state->{verbose}) { + if ($state->verbose) { $state->say("The existing file $filename has NOT been changed"); if (defined $orig->{d}) { @@ -524,13 +524,13 @@ sub install } } else { if ($state->{not}) { - $state->say("The file $filename would be installed from $origname"); + $state->say("The file $filename would be installed from $origname") if $state->verbose >= 2; } else { if (!copy($origname, $filename)) { $state->errsay("File $filename could not be installed:\n\t$!"); } $self->set_modes($filename); - if ($state->{verbose}) { + if ($state->verbose >= 2) { $state->say("installed $filename from $origname"); } } @@ -596,7 +596,7 @@ sub install print $shells2 $fullname, "\n"; close $shells2; $state->say("Shell $fullname appended to $destdir", - OpenBSD::Paths->shells); + OpenBSD::Paths->shells) if $state->verbose; } package OpenBSD::PackingElement::Dir; @@ -607,7 +607,7 @@ sub install my $fullname = $self->fullname; my $destdir = $state->{destdir}; - $state->say("new directory ", $destdir, $fullname) if $state->{very_verbose}; + $state->say("new directory ", $destdir, $fullname) if $state->verbose >= 5; return if $state->{not}; File::Path::mkpath($destdir.$fullname); $self->set_modes($destdir.$fullname); diff --git a/usr.sbin/pkg_add/OpenBSD/AddDelete.pm b/usr.sbin/pkg_add/OpenBSD/AddDelete.pm index 98136795923..7f571fa8f8e 100644 --- a/usr.sbin/pkg_add/OpenBSD/AddDelete.pm +++ b/usr.sbin/pkg_add/OpenBSD/AddDelete.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: AddDelete.pm,v 1.8 2009/12/19 14:21:14 espie Exp $ +# $OpenBSD: AddDelete.pm,v 1.9 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2007-2009 Marc Espie <espie@openbsd.org> # @@ -20,7 +20,7 @@ our $bad = 0; our %defines = (); our $state; -our ($opt_n, $opt_x, $opt_v, $opt_B, $opt_L, $opt_i, $opt_q, $opt_c, $opt_I); +our ($opt_n, $opt_x, $opt_v, $opt_B, $opt_L, $opt_i, $opt_q, $opt_c, $opt_I, $opt_s); $opt_v = 0; sub handle_options @@ -36,7 +36,7 @@ sub handle_options } }; try { - getopts('hciInqvxB:f:F:L:'.$opt_string, $hash); + getopts('hciInqvsxB:f:F:L:'.$opt_string, $hash); } catchall { Usage($_); }; @@ -44,15 +44,17 @@ sub handle_options $opt_L = OpenBSD::Paths->localbase unless defined $opt_L; $state->{recorder} = OpenBSD::SharedItemsRecorder->new; + if ($opt_s) { + $opt_n = 1; + } $state->{not} = $opt_n; # XXX RequiredBy $main::not = $opt_n; $state->{defines} = \%defines; - $state->{very_verbose} = $opt_v >= 2; - $state->{verbose} = $opt_v; $state->{interactive} = $opt_i; - $state->{beverbose} = $opt_n || ($opt_v >= 2); + $state->{v} = $opt_v; $state->{localbase} = $opt_L; + $state->{size_only} = $opt_s; $state->{quick} = $opt_q; $state->{extra} = $opt_c; $state->{dont_run_scripts} = $opt_I; @@ -95,12 +97,12 @@ sub framework $state->{recorder}->cleanup($state); OpenBSD::PackingElement::Lib::ensure_ldconfig($state); OpenBSD::PackingElement::Fontdir::finish_fontdirs($state); - if ($state->{beverbose}) { - $state->vstat->tally; - } $state->progress->clear; $state->log->dump; finish_display(); + if ($state->verbose >= 2 || $opt_s) { + $state->vstat->tally; + } # show any error, and show why we died... rethrow $dielater; } catch { @@ -216,6 +218,7 @@ sub init $self->{l} = OpenBSD::Log->new; $self->{vstat} = OpenBSD::MyStat->new; $self->{progressmeter} = bless {}, "OpenBSD::StubProgress"; + $self->{v} = 0; } sub ntogo @@ -225,6 +228,11 @@ sub ntogo return $self->progress->ntogo($self->todo, $offset); } +sub verbose +{ + return shift->{v}; +} + sub vstat { return shift->{vstat}; @@ -274,7 +282,7 @@ sub vsystem { my $self = shift; $self->progress->clear; - OpenBSD::Error::VSystem($self->{very_verbose}, @_); + OpenBSD::Error::VSystem($self->verbose >= 2, @_); } sub system @@ -295,7 +303,7 @@ sub unlink sub setup_progressmeter { my ($self, $opt_x) = @_; - if (!$opt_x && !$self->{beverbose}) { + if (!$opt_x && $self->verbose) { require OpenBSD::ProgressMeter; $self->{progressmeter} = OpenBSD::ProgressMeter->new; } @@ -306,7 +314,7 @@ sub check_root my $state = shift; if ($< && !$state->{defines}->{nonroot}) { if ($state->{not}) { - $state->errsay("$0 should be run as root"); + $state->errsay("$0 should be run as root") if $state->verbose; } else { Fatal "$0 must be run as root"; } @@ -317,7 +325,7 @@ sub choose_location { my ($state, $name, $list, $is_quirks) = @_; if (@$list == 0) { - $state->say("Can't find $name") unless $is_quirks; + $state->errsay("Can't find $name") unless $is_quirks; return undef; } elsif (@$list == 1) { return $list->[0]; @@ -332,7 +340,7 @@ sub choose_location my $result = OpenBSD::Interactive::ask_list("Ambiguous: choose package for $name", 1, sort keys %h); return $h{$result}; } else { - $state->say("Ambiguous: $name could be ", join(' ', keys %h)); + $state->errsay("Ambiguous: $name could be ", join(' ', keys %h)); return undef; } } diff --git a/usr.sbin/pkg_add/OpenBSD/CollisionReport.pm b/usr.sbin/pkg_add/OpenBSD/CollisionReport.pm index 0413b8ec696..00df272e7e4 100644 --- a/usr.sbin/pkg_add/OpenBSD/CollisionReport.pm +++ b/usr.sbin/pkg_add/OpenBSD/CollisionReport.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: CollisionReport.pm,v 1.28 2009/11/17 10:17:21 espie Exp $ +# $OpenBSD: CollisionReport.pm,v 1.29 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2003-2006 Marc Espie <espie@openbsd.org> # @@ -25,7 +25,7 @@ use OpenBSD::PackageInfo; sub find_collisions { my ($todo, $state) = @_; - my $verbose = $state->{verbose}; + my $verbose = $state->verbose >= 3; my $bypkg = {}; for my $name (keys %$todo) { my $p = $state->vstat->exists($name); @@ -132,7 +132,7 @@ sub collision_report($$) if ($dorepair == 1) { for my $f (@$list) { - if ($state->unlink($state->{verbose}, + if ($state->unlink($state->verbose >= 2, $destdir.$f->fullname)) { $state->{problems}--; } else { diff --git a/usr.sbin/pkg_add/OpenBSD/Delete.pm b/usr.sbin/pkg_add/OpenBSD/Delete.pm index 3eb10aab77b..456c15e1d45 100644 --- a/usr.sbin/pkg_add/OpenBSD/Delete.pm +++ b/usr.sbin/pkg_add/OpenBSD/Delete.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Delete.pm,v 1.93 2009/12/17 11:57:02 espie Exp $ +# $OpenBSD: Delete.pm,v 1.94 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2003-2007 Marc Espie <espie@openbsd.org> # @@ -49,7 +49,7 @@ sub manpages_unindex while (my ($k, $v) = each %{$state->{mandirs}}) { my @l = map { $destdir.$_ } @$v; if ($state->{not}) { - $state->say("Removing manpages in $destdir$k: ", join(@l)) if $state->{verbose}; + $state->say("Removing manpages in $destdir$k: ", join(@l)) if $state->verbose >= 2; } else { eval { OpenBSD::Makewhatis::remove($destdir.$k, \@l); }; if ($@) { @@ -127,7 +127,7 @@ sub unregister_dependencies for my $name (OpenBSD::Requiring->new($pkgname)->list) { $state->say("remove dependency on $name") - if $state->{very_verbose} or $state->{not}; + if $state->verbose >= 3; local $@; try { OpenBSD::RequiredBy->new($name)->delete($pkgname); @@ -278,7 +278,7 @@ sub delete { my ($self, $state) = @_; - if ($state->{beverbose}) { + if ($state->verbose >= 2) { $state->say("rmuser: ", $self->name); } @@ -296,7 +296,7 @@ sub delete { my ($self, $state) = @_; - if ($state->{beverbose}) { + if ($state->verbose >= 2) { $state->say("rmgroup: ", $self->name); } @@ -321,7 +321,7 @@ sub delete { my ($self, $state) = @_; - if ($state->{very_verbose}) { + if ($state->verbose >= 5) { $state->say("rmdir: ", $self->fullname); } @@ -424,7 +424,7 @@ sub delete } } } - if ($state->{very_verbose}) { + if ($state->verbose >= 5) { $state->say("deleting: $realname"); } return if $state->{not}; @@ -533,7 +533,7 @@ sub delete } else { my $d = $self->compute_digest($realname, $orig->{d}); if ($d->equals($orig->{d})) { - $state->say("File $realname identical to sample") if $state->{not} or $state->{verbose}; + $state->say("File $realname identical to sample") if $state->verbose >= 2; } else { unless ($state->{extra}) { $self->mark_dir($state); @@ -542,8 +542,8 @@ sub delete } } } + $state->say("deleting $realname") if $state->verbose >= 2; return if $state->{not}; - $state->say("deleting $realname") if $state->{verbose}; if (!unlink $realname) { $state->say("Problem deleting $realname"); $state->log("deleting $realname failed: $!\n"); @@ -587,7 +587,7 @@ sub delete print $shells2 @l; close $shells2; $state->say("Shell $fullname removed from $destdir", - OpenBSD::Paths->shells); + OpenBSD::Paths->shells) if $state->verbose; } } $self->SUPER::delete($state); @@ -600,7 +600,7 @@ sub delete { my ($self, $state) = @_; my $realname = $self->realname($state); - if ($state->{beverbose} && $state->{extra}) { + if ($state->verbose >= 2 && $state->{extra}) { $state->say("deleting extra file: $realname"); } return if $state->{not}; diff --git a/usr.sbin/pkg_add/OpenBSD/Dependencies.pm b/usr.sbin/pkg_add/OpenBSD/Dependencies.pm index e9bf37e9c6e..6707e4fd50b 100644 --- a/usr.sbin/pkg_add/OpenBSD/Dependencies.pm +++ b/usr.sbin/pkg_add/OpenBSD/Dependencies.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Dependencies.pm,v 1.98 2009/12/13 17:54:15 espie Exp $ +# $OpenBSD: Dependencies.pm,v 1.99 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2005-2007 Marc Espie <espie@openbsd.org> # @@ -87,7 +87,7 @@ sub find_in_already_done $self->{known}); if ($r) { $state->say("found libspec $obj in package $r") - if $state->{verbose}; + if $state->verbose >= 3; return $r; } else { return undef; @@ -103,7 +103,7 @@ sub find_in_extra_sources for my $dir (OpenBSD::SharedLibs::system_dirs()) { if ($solver->check_lib_spec($dir, $obj, {system => 1})) { $state->say("found libspec $obj in $dir/lib") - if $state->{verbose}; + if $state->verbose >= 3; return 'system'; } } @@ -122,7 +122,7 @@ sub find_in_new_source if ($solver->check_lib_spec($solver->{localbase}, $obj, {$dep => 1})) { $state->say("found libspec $obj in package $dep") - if $state->{verbose}; + if $state->verbose >= 3; return $dep; } return undef; @@ -138,7 +138,7 @@ sub find_elsewhere $solver->{localbase}, $dep->{pattern}, $obj); if ($r) { $state->say("found libspec $obj in old package $r") - if $state->{verbose}; + if $state->verbose; return $r; } } @@ -161,7 +161,7 @@ sub find_in_already_done my ($self, $solver, $state, $obj) = @_; my $r = $self->{known_tags}->{$obj}; if (defined $r) { - $state->say("Found tag $obj in $r") if $state->{verbose}; + $state->say("Found tag $obj in $r") if $state->verbose >= 3; } return $r; } @@ -427,15 +427,15 @@ sub adjust_old_dependency_on my $oldname = $o->pkgname; $state->say("Adjusting dependencies for ", - "$oldname->$pkgname") if $state->{beverbose}; + "$oldname->$pkgname") if $state->verbose >= 3; my $d = OpenBSD::RequiredBy->new($pkgname); for my $dep (@{$o->{wantlist}}) { if (defined $set->{older}->{$dep}) { $state->say("\tskipping $dep") - if $state->{beverbose}; + if $state->verbose >= 4; next; } - $state->say("\t$dep") if $state->{beverbose}; + $state->say("\t$dep") if $state->verbose >= 4; $d->add($dep); OpenBSD::Replace::adjust_dependency($dep, $oldname, $pkgname) if $oldname ne $pkgname; diff --git a/usr.sbin/pkg_add/OpenBSD/Handle.pm b/usr.sbin/pkg_add/OpenBSD/Handle.pm index ba9864c6e5c..9cdb1a1866b 100644 --- a/usr.sbin/pkg_add/OpenBSD/Handle.pm +++ b/usr.sbin/pkg_add/OpenBSD/Handle.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Handle.pm,v 1.12 2009/11/28 12:50:25 espie Exp $ +# $OpenBSD: Handle.pm,v 1.13 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2007-2009 Marc Espie <espie@openbsd.org> # @@ -179,7 +179,7 @@ sub get_plist my $location = $handle->{location}; my $pkg = $handle->pkgname; - if ($state->{verbose}) { + if ($state->verbose >= 2) { $state->say($state->deptree_header($pkg), "parsing $pkg"); } my $plist = $location->grabPlist; @@ -207,7 +207,7 @@ sub get_plist $handle->{tweaked} = OpenBSD::Add::tweak_package_status($pkgname, $state); $state->say("Not reinstalling $pkgname") - if $state->{verbose} and !$handle->{tweaked}; + if $state->verbose >= 2 and !$handle->{tweaked}; $state->tracker->{installed}->{$pkgname} = 1; $location->close_now; $location->wipe_info; diff --git a/usr.sbin/pkg_add/OpenBSD/PackingElement.pm b/usr.sbin/pkg_add/OpenBSD/PackingElement.pm index 1b0f04d972a..c9c5e0604a1 100644 --- a/usr.sbin/pkg_add/OpenBSD/PackingElement.pm +++ b/usr.sbin/pkg_add/OpenBSD/PackingElement.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: PackingElement.pm,v 1.164 2009/12/17 11:57:02 espie Exp $ +# $OpenBSD: PackingElement.pm,v 1.165 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2003-2007 Marc Espie <espie@openbsd.org> # @@ -409,7 +409,7 @@ sub check_digest $state->log->fatal("checksum for ", $self->fullname, " does not match"); } - if ($state->{very_verbose}) { + if ($state->verbose >= 3) { $state->say("Checksum match for ", $self->fullname); } } @@ -1196,7 +1196,7 @@ sub run OpenBSD::PackingElement::Lib::ensure_ldconfig($state); $state->say($self->keyword, " ", $self->{expanded}) - if $state->{beverbose}; + if $state->verbose >= 2; $state->log->system(OpenBSD::Paths->sh, '-c', $self->{expanded}) unless $state->{not}; } @@ -1503,7 +1503,6 @@ sub run { my ($self, $state, @args) = @_; - my $not = $state->{not}; my $pkgname = $state->{pkgname}; my $name = $self->fullname; @@ -1511,8 +1510,8 @@ sub run OpenBSD::PackingElement::Lib::ensure_ldconfig($state); $state->say($self->beautify, " script: $name $pkgname ", - join(' ', @args)) if $state->{beverbose}; - return if $not; + join(' ', @args)) if $state->verbose >= 2; + return if $state->{not}; chmod 0755, $name; return if $state->log->system($name, $pkgname, @args) == 0; if ($state->{defines}->{scripts}) { diff --git a/usr.sbin/pkg_add/OpenBSD/Replace.pm b/usr.sbin/pkg_add/OpenBSD/Replace.pm index 348e88227af..7783ec4fc74 100644 --- a/usr.sbin/pkg_add/OpenBSD/Replace.pm +++ b/usr.sbin/pkg_add/OpenBSD/Replace.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Replace.pm,v 1.61 2009/12/17 08:21:09 espie Exp $ +# $OpenBSD: Replace.pm,v 1.62 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2004-2006 Marc Espie <espie@openbsd.org> # @@ -116,7 +116,7 @@ sub extract } if ($state->{not}) { $state->say("extracting tempfile under $d") - if $state->{very_verbose}; + if $state->verbose >= 3; $state->{archive}->skip; } else { if (!-e _) { @@ -124,7 +124,7 @@ sub extract } my ($fh, $tempname) = OpenBSD::Temp::permanent_file($d, "pkg"); - $state->say("extracting $tempname") if $state->{very_verbose}; + $state->say("extracting $tempname") if $state->verbose >= 3; $self->{tempname} = $tempname; # XXX don't apply destdir twice @@ -145,7 +145,7 @@ sub extract return if -e $destdir.$fullname; $self->SUPER::extract($state); $state->say("new directory ", $destdir, $fullname) - if $state->{very_verbose}; + if $state->verbose >= 3; return if $state->{not}; File::Path::mkpath($destdir.$fullname); } @@ -336,7 +336,7 @@ sub can_old_package_be_replaced } if (@r) { $state->say("Verifying dependencies still match for ", - join(', ', @r)) if $state->{verbose}; + join(', ', @r)) if $state->verbose >= 2; for my $wanting (@wantlist) { my $p2 = OpenBSD::PackingList->from_installation( $wanting, \&OpenBSD::PackingList::DependOnly); @@ -415,11 +415,11 @@ sub adjust_depends_closure my ($oldname, $plist, $state) = @_; $state->say("Packages that depend on those shared libraries:") - if $state->{beverbose}; + if $state->verbose >= 3; my $write = OpenBSD::RequiredBy->new($plist->pkgname); for my $pkg (OpenBSD::RequiredBy->compute_closure($oldname)) { - $state->say("\t", $pkg) if $state->{beverbose}; + $state->say("\t", $pkg) if $state->verbose >= 3; $write->add($pkg); OpenBSD::Requiring->new($pkg)->add($plist->pkgname); } @@ -435,7 +435,7 @@ sub do_save_libs my $stub_name = $stub_list->pkgname; my $dest = installed_info($stub_name); $state->say("Keeping them in $stub_name") - if $state->{verbose}; + if $state->verbose >= 2; if ($state->{not}) { @@ -471,7 +471,7 @@ sub save_libs_from_handle my $p = {}; $state->say("Looking for changes in shared libraries") - if $state->{beverbose}; + if $state->verbose >= 2; $o->plist->mark_lib($libs, $p); for my $n ($set->newer) { $n->plist->unmark_lib($libs, $p); @@ -482,10 +482,10 @@ sub save_libs_from_handle if (%$libs) { $state->say("Libraries to keep: ", - join(",", sort(keys %$libs))) if $state->{verbose}; + join(",", sort(keys %$libs))) if $state->verbose >= 2; do_save_libs($o, $libs, $state); } else { - $state->say("No libraries to keep") if $state->{verbose}; + $state->say("No libraries to keep") if $state->verbose >= 2; } } diff --git a/usr.sbin/pkg_add/OpenBSD/SharedItems.pm b/usr.sbin/pkg_add/OpenBSD/SharedItems.pm index 76244c4c5a6..010e989c7b0 100644 --- a/usr.sbin/pkg_add/OpenBSD/SharedItems.pm +++ b/usr.sbin/pkg_add/OpenBSD/SharedItems.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: SharedItems.pm,v 1.17 2009/12/17 11:57:02 espie Exp $ +# $OpenBSD: SharedItems.pm,v 1.18 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2004-2006 Marc Espie <espie@openbsd.org> # @@ -27,14 +27,15 @@ use OpenBSD::Paths; sub find_items_in_installed_packages { - my $progress = shift; + my $state = shift; my $db = OpenBSD::SharedItemsRecorder->new; my @list = installed_packages(); my $total = @list; - $progress->set_header("Read shared items"); + local $SIG{INFO} = sub { $state->say("Read shared items"); }; + $state->progress->set_header("Read shared items"); my $done = 0; for my $e (@list) { - $progress->show($done, $total); + $state->progress->show($done, $total); my $plist = OpenBSD::PackingList->from_installation($e, \&OpenBSD::PackingList::SharedItemsOnly) or next; next if !defined $plist; @@ -48,9 +49,10 @@ sub cleanup { my ($recorder, $state) = @_; - my $remaining = find_items_in_installed_packages($state->progress); + my $remaining = find_items_in_installed_packages($state); $state->progress->clear; + local $SIG{INFO} = sub { $state->say("Clean shared items"); }; $state->progress->set_header("Clean shared items"); my $h = $recorder->{dirs}; my $u = $recorder->{users}; diff --git a/usr.sbin/pkg_add/OpenBSD/Update.pm b/usr.sbin/pkg_add/OpenBSD/Update.pm index c65cc94d4fa..48a8cf67c34 100644 --- a/usr.sbin/pkg_add/OpenBSD/Update.pm +++ b/usr.sbin/pkg_add/OpenBSD/Update.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Update.pm,v 1.118 2009/12/14 18:11:26 espie Exp $ +# $OpenBSD: Update.pm,v 1.119 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2004-2006 Marc Espie <espie@openbsd.org> # @@ -74,7 +74,7 @@ sub progress_message my ($self, $state, $msg) = @_; $msg .= $state->ntogo; $state->progress->message($msg); - $state->say($msg) if $state->{beverbose}; + $state->say($msg) if $state->verbose >= 2; } my $first = 1; @@ -197,7 +197,7 @@ sub process_handle } $state->say("Update candidates: $pkgname -> ", - join(' ', map {$_->name} @$l), $state->ntogo); + join(' ', map {$_->name} @$l), $state->ntogo) if $state->verbose; my $r = $state->choose_location($pkgname, $l); if (defined $r) { diff --git a/usr.sbin/pkg_add/OpenBSD/Vstat.pm b/usr.sbin/pkg_add/OpenBSD/Vstat.pm index 0411ce0f3cb..c5011bad5ab 100644 --- a/usr.sbin/pkg_add/OpenBSD/Vstat.pm +++ b/usr.sbin/pkg_add/OpenBSD/Vstat.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: Vstat.pm,v 1.44 2009/11/11 12:21:20 espie Exp $ +# $OpenBSD: Vstat.pm,v 1.45 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2003-2007 Marc Espie <espie@openbsd.org> # @@ -204,7 +204,7 @@ sub report_ro { my ($s, $state, $fname) = @_; - if ($state->{very_verbose} or ++($s->{problems}) < 4) { + if ($state->verbose >= 3 or ++($s->{problems}) < 4) { $state->errsay("Error: ", $s->{dev}, " is read-only ($fname)"); } elsif ($s->{problems} == 4) { @@ -217,7 +217,7 @@ sub report_overflow { my ($s, $state, $fname) = @_; - if ($state->{very_verbose} or ++($s->{problems}) < 4) { + if ($state->verbose >= 3 or ++($s->{problems}) < 4) { $state->errsay("Error: ", $s->{dev}, " is not large enough ($fname)"); } elsif ($s->{problems} == 4) { diff --git a/usr.sbin/pkg_add/OpenBSD/x509.pm b/usr.sbin/pkg_add/OpenBSD/x509.pm index 0a6ff1712e9..532489c0f3c 100644 --- a/usr.sbin/pkg_add/OpenBSD/x509.pm +++ b/usr.sbin/pkg_add/OpenBSD/x509.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: x509.pm,v 1.3 2009/11/11 11:13:16 espie Exp $ +# $OpenBSD: x509.pm,v 1.4 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2003-2007 Marc Espie <espie@openbsd.org> # @@ -111,7 +111,7 @@ sub check_signature $state->log->warn("Bad signature"); return 0; } - if ($state->{verbose}) { + if ($state->verbose >= 2) { dump_certificate_info($fname2); } unlink $fname; diff --git a/usr.sbin/pkg_add/pkg_add b/usr.sbin/pkg_add/pkg_add index d1801eb38a8..070d4d1b247 100644 --- a/usr.sbin/pkg_add/pkg_add +++ b/usr.sbin/pkg_add/pkg_add @@ -1,7 +1,7 @@ #! /usr/bin/perl # ex:ts=8 sw=4: -# $OpenBSD: pkg_add,v 1.430 2009/12/19 14:21:14 espie Exp $ +# $OpenBSD: pkg_add,v 1.431 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2003-2009 Marc Espie <espie@openbsd.org> # @@ -54,7 +54,7 @@ sub has_new_sig my $n = OpenBSD::PackingList->from_installation($plist->pkgname)->signature; my $o = $plist->signature; $state->say("Comparing full signature for ", $plist->pkgname, " \"$o\" vs. \"$n\": ", $n eq $o ? "equal" : "different") - if $state->{very_verbose}; + if $state->verbose >= 3; $plist->{new_sig} = $n ne $o; } return $plist->{new_sig}; @@ -145,6 +145,7 @@ sub setup_header } if (!$state->progress->set_header($header)) { + return unless $state->verbose; if (!defined $info) { $header = "Adding $header"; } @@ -162,6 +163,35 @@ sub setup_header } } +sub status +{ + my ($set, $state, $handle, $info) = @_; + + my $header = $state->deptree_header($set); + if (defined $handle) { + $header .= $handle->pkgname; + } else { + $header .= $set->print; + } + if (defined $info) { + $header.=" ($info)"; + } + + if (!defined $info) { + $header = "Adding $header"; + } + if (defined $state->{lastheader} && + $header eq $state->{lastheader}) { + return; + } + $state->{lastheader} = $header; + $header .= "(pretending) " if $state->{not}; + if ($state->{do_faked}) { + $header .= " under ".$state->{destdir}; + } + $state->say($header); +} + sub complete { my ($set, $state) = @_; @@ -432,6 +462,7 @@ sub really_add } $set->setup_header($state); + local $SIG{'INFO'} = sub { $set->status($state); }; # XXX in `combined' updates, some dependencies may remove extra # packages, so we do a double-take on the list of packages we @@ -465,6 +496,7 @@ sub really_add if ($replacing) { for my $handle ($set->newer) { + next if $state->{size_only}; $set->setup_header($state, $handle, "extracting"); try { @@ -486,6 +518,7 @@ sub really_add $set->{solver}->record_old_dependencies($state); build_before($set->older_to_do); iterate($set->older_to_do, sub { + return if $state->{size_only}; my $o = shift; $set->setup_header($state, $o, "deleting"); my $oldname = $o->pkgname; @@ -511,6 +544,7 @@ sub really_add my $first = 1; iterate($set->newer, sub { + return if $state->{size_only}; my $handle = shift; if (!$first) { @@ -621,7 +655,7 @@ sub install_set if (!defined $set->{solver}) { $set->{solver} = OpenBSD::Dependencies::Solver->new($set); my @deps = $set->{solver}->solve_depends($state); - if ($state->{verbose}) { + if ($state->verbose >= 2) { $set->{solver}->dump; } if (@deps > 0) { @@ -775,6 +809,7 @@ sub do_quirks $state->{quirks} = OpenBSD::Quirks->new(1); }; } + sub process_parameters { # match fuzzily against a list @@ -810,9 +845,8 @@ sub process_parameters push(@todo2, OpenBSD::UpdateSet->new->add_older(OpenBSD::Handle->from_location($l))); } } - - } else { + # actual names my $m = $opt_z ? "add_hints" : "add_hints2"; for my $pkgname (@ARGV) { @@ -856,6 +890,7 @@ sub { $state->tracker->todo(@todo2); # This is the actual very small loop that adds all packages while (my $set = shift @todo2) { + local $SIG{INFO} = sub { $state->say($set->print, "(", $state->todo, ")"); }; $state->progress->set_header("Looking for packages"); unshift(@todo2, install_set($set, $state)); eval { diff --git a/usr.sbin/pkg_add/pkg_delete b/usr.sbin/pkg_add/pkg_delete index 96eabcc107d..f7096450c14 100644 --- a/usr.sbin/pkg_add/pkg_delete +++ b/usr.sbin/pkg_add/pkg_delete @@ -1,6 +1,6 @@ #!/usr/bin/perl # ex:ts=8 sw=4: -# $OpenBSD: pkg_delete,v 1.129 2009/12/19 14:21:14 espie Exp $ +# $OpenBSD: pkg_delete,v 1.130 2009/12/20 22:38:45 espie Exp $ # # Copyright (c) 2003-2007 Marc Espie <espie@openbsd.org> # @@ -83,7 +83,7 @@ sub process_parameters @todo = OpenBSD::RequiredBy->compute_closure(@realnames); if (@todo > @realnames) { - my $details = $state->{very_verbose} || $defines{verbosedeps}; + my $details = $state->verbose >= 2 || $defines{verbosedeps}; my $show = sub { my ($p, $d) = @_; $state->say("Can't remove ", join(' ', @$p), @@ -132,7 +132,7 @@ sub { $state->{todo} = scalar @todo - scalar keys %done; next if $done{$pkgname}; unless (is_installed($pkgname)) { - $state->say("$pkgname was not installed"); + $state->errsay("$pkgname was not installed"); $done{$pkgname} = 1; $removed++; next; @@ -151,10 +151,16 @@ sub { next; } } - if (!$state->progress->set_header($pkgname)) { - print $state->{not} ? "Pretending to delete " : + my $info = sub { + $state->say($state->{not} ? + "Pretending to delete " : "Deleting ", - "$pkgname\n"; + $pkgname); + }; + + local $SIG{'INFO'} = $info; + if (!$state->progress->set_header($pkgname)) { + &$info if $state->verbose; } $state->log->set_context($pkgname); OpenBSD::Delete::delete_package($pkgname, $state); |