summaryrefslogtreecommitdiff
path: root/usr.sbin/pkg_add
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2024-01-02 10:25:49 +0000
committerMarc Espie <espie@cvs.openbsd.org>2024-01-02 10:25:49 +0000
commit4684e68531e6ba535f74e10ecd225d5d50a35041 (patch)
treedd7fa8e41d4aa69b7375d968cf15ff1ba85fe2fb /usr.sbin/pkg_add
parent13d6c83f96fc1dda65778e3643ebfd8775316bea (diff)
have quirks behave way more like other packages so it can have dependencies
Diffstat (limited to 'usr.sbin/pkg_add')
-rw-r--r--usr.sbin/pkg_add/OpenBSD/PkgAdd.pm14
1 files changed, 10 insertions, 4 deletions
diff --git a/usr.sbin/pkg_add/OpenBSD/PkgAdd.pm b/usr.sbin/pkg_add/OpenBSD/PkgAdd.pm
index 094db806830..056b37cbb17 100644
--- a/usr.sbin/pkg_add/OpenBSD/PkgAdd.pm
+++ b/usr.sbin/pkg_add/OpenBSD/PkgAdd.pm
@@ -1,7 +1,7 @@
#! /usr/bin/perl
# ex:ts=8 sw=4:
-# $OpenBSD: PkgAdd.pm,v 1.149 2023/12/03 16:38:28 espie Exp $
+# $OpenBSD: PkgAdd.pm,v 1.150 2024/01/02 10:25:48 espie Exp $
#
# Copyright (c) 2003-2014 Marc Espie <espie@openbsd.org>
#
@@ -1164,11 +1164,17 @@ sub quirk_set($state)
sub do_quirks($self, $state)
{
- my $set = quirk_set($state);
- $self->process_set($set, $state);
+ my $list = [quirk_set($state)];
+ $state->tracker->todo(@$list);
+ while (my $set = shift @$list) {
+ $state->status->what->set($set);
+ $set = $set->real_set;
+ next if $set->{finished};
+ $state->progress->set_header('Checking packages');
+ unshift(@$list, $self->process_set($set, $state));
+ }
}
-
sub process_parameters($self, $state)
{
my $add_hints = $state->{fuzzy} ? "add_hints" : "add_hints2";