diff options
author | 2013-12-23 16:50:29 +0000 | |
---|---|---|
committer | 2013-12-23 16:50:29 +0000 | |
commit | 3b15eb691c73f0ea5a937969fe2021765aea770c (patch) | |
tree | 1faf869caa130acd9e6b9acafbb06009bbc4314c | |
parent | get rid of "copy_long", we don't really need to recheck names while copying (diff) | |
download | wireguard-openbsd-3b15eb691c73f0ea5a937969fe2021765aea770c.tar.xz wireguard-openbsd-3b15eb691c73f0ea5a937969fe2021765aea770c.zip |
move ntogo code, so it can be used while copying packages in pkg_create.
add the few lines necessary for that to work.
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/AddCreateDelete.pm | 18 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/AddDelete.pm | 18 | ||||
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/PkgCreate.pm | 19 |
3 files changed, 34 insertions, 21 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/AddCreateDelete.pm b/usr.sbin/pkg_add/OpenBSD/AddCreateDelete.pm index 2443aa0f71d..475a71ec2d0 100644 --- a/usr.sbin/pkg_add/OpenBSD/AddCreateDelete.pm +++ b/usr.sbin/pkg_add/OpenBSD/AddCreateDelete.pm @@ -1,5 +1,5 @@ # ex:ts=8 sw=4: -# $OpenBSD: AddCreateDelete.pm,v 1.16 2012/05/01 10:18:13 espie Exp $ +# $OpenBSD: AddCreateDelete.pm,v 1.17 2013/12/23 16:50:29 espie Exp $ # # Copyright (c) 2007-2010 Marc Espie <espie@openbsd.org> # @@ -90,6 +90,22 @@ sub check_dir } } +sub ntogo +{ + my ($self, $offset) = @_; + + return $self->{wantntogo} ? + $self->progress->ntogo($self, $offset) : + $self->f("ok"); +} + +sub ntogo_string +{ + my ($self, $offset) = @_; + + return $self->todo($offset // 0); +} + package OpenBSD::AddCreateDelete; use OpenBSD::Error; diff --git a/usr.sbin/pkg_add/OpenBSD/AddDelete.pm b/usr.sbin/pkg_add/OpenBSD/AddDelete.pm index 703c8d1f75e..23d79aa3773 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.55 2013/12/08 12:14:41 espie Exp $ +# $OpenBSD: AddDelete.pm,v 1.56 2013/12/23 16:50:29 espie Exp $ # # Copyright (c) 2007-2010 Marc Espie <espie@openbsd.org> # @@ -217,28 +217,12 @@ sub syslog Sys::Syslog::syslog('info', $self->f(@_)); } -sub ntogo -{ - my ($self, $offset) = @_; - - return $self->{wantntogo} ? - $self->progress->ntogo($self, $offset) : - $self->f("ok"); -} - sub todo { my ($state, $offset) = @_; return $state->tracker->sets_todo($offset); } -sub ntogo_string -{ - my ($self, $offset) = @_; - - return $self->todo($offset // 0); -} - # one-level dependencies tree, for nicer printouts sub build_deptree { diff --git a/usr.sbin/pkg_add/OpenBSD/PkgCreate.pm b/usr.sbin/pkg_add/OpenBSD/PkgCreate.pm index 2c00f34ed06..765a8952387 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.71 2013/12/23 16:34:51 espie Exp $ +# $OpenBSD: PkgCreate.pm,v 1.72 2013/12/23 16:50:29 espie Exp $ # # Copyright (c) 2003-2010 Marc Espie <espie@openbsd.org> # @@ -65,6 +65,12 @@ sub set_status } } +sub todo +{ + my ($self, $offset) = @_; + return sprintf("%u/%u", $self->{done}-$offset, $self->{total}); +} + sub end_status { my $self = shift; @@ -1063,7 +1069,8 @@ sub sign_existing_package unlink($plist->pkgname.".tgz") if $state->{output}; rename($tmp, $output.'/'.$plist->pkgname.".tgz") or $state->fatal("Can't create final signed package: #1", $!); - $state->end_status; + $state->{done}++; + $state->progress->next($state->ntogo); } sub sign_existing_pkgname @@ -1081,7 +1088,10 @@ sub sign_existing_repository my ($self, $state, $source, $cert, $privkey) = @_; require OpenBSD::PackageRepository; my $repo = OpenBSD::PackageRepository->new($source, $state); - for my $name (@{$repo->list}) { + my @list = @{$repo->list}; + $state->{total} = scalar @list; + $state->{done} = 0; + for my $name (@list) { my $pkg = $repo->find($name); $self->sign_existing_package($state, $pkg, $cert, $privkey); } @@ -1363,10 +1373,13 @@ sub parse_and_run if ($state->not) { $state->fatal("can't pretend to sign existing packages"); } + $state->{wantntogo} = $state->config->istrue("ntogo"); if (defined $state->{source}) { $self->sign_existing_repository($state, $state->{source}, $cert, $privkey); } + $state->{total} = scalar @ARGV; + $state->{done} = 0; for my $pkgname (@ARGV) { $self->sign_existing_pkgname($state, $pkgname, $cert, $privkey); |