diff options
author | 2018-06-23 22:46:36 +0000 | |
---|---|---|
committer | 2018-06-23 22:46:36 +0000 | |
commit | f76934b88d374d7bb622534cb8913a2d3054ba68 (patch) | |
tree | 5c93dfe7edf73f05fc08a823d2c35d86ba810a67 | |
parent | solve_tags not yet functional, I'll reactivate the checks during creation (diff) | |
download | wireguard-openbsd-f76934b88d374d7bb622534cb8913a2d3054ba68.tar.xz wireguard-openbsd-f76934b88d374d7bb622534cb8913a2d3054ba68.zip |
define-tag can't use normal destate, because it migrates before any cwd
so cheat and use localbase directly
-rw-r--r-- | usr.sbin/pkg_add/OpenBSD/PackingElement.pm | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/PackingElement.pm b/usr.sbin/pkg_add/OpenBSD/PackingElement.pm index feebe00dcfd..4291c3e9844 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.258 2018/06/23 13:13:38 espie Exp $ +# $OpenBSD: PackingElement.pm,v 1.259 2018/06/23 22:46:36 espie Exp $ # # Copyright (c) 2003-2014 Marc Espie <espie@openbsd.org> # @@ -1434,21 +1434,30 @@ sub add_tag } } +sub destate +{ +} + sub run_tag { my ($self, $state) = @_; - if ($self->{expanded} =~ m/\%l/) { + my $command = $self->command; + if ($command =~ m/\%D/) { + $command =~ s/\%D/$state->{localbase}/g; + } + + if ($command =~ m/\%l/) { my $l = join(' ', keys %{$self->{list}}); - $self->{expanded} =~ s/\%l/$l/g; + $command =~ s/\%l/$l/g; } - if ($self->{expanded} =~ m/\%u/) { + if ($command =~ m/\%u/) { for my $p (keys %{$self->{list}}) { - my $v = $self->{expanded}; + my $v = $command; $v =~ s/\%u/$p/g; $self->run($state, $v); } } else { - $self->run($state); + $self->run($state, $command); } } |