summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorespie <espie@openbsd.org>2018-06-23 22:46:36 +0000
committerespie <espie@openbsd.org>2018-06-23 22:46:36 +0000
commitf76934b88d374d7bb622534cb8913a2d3054ba68 (patch)
tree5c93dfe7edf73f05fc08a823d2c35d86ba810a67
parentsolve_tags not yet functional, I'll reactivate the checks during creation (diff)
downloadwireguard-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.pm21
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);
}
}