Hi, I'm using dpb(1) with proot and a local NFS mount of /usr/ports to keep my installed ports up to date. Since yesterday, dpb(1) fails to properly start with the following error:
Reading size stats...zapping old stuff...Done Reading build stats...zapping old stuff...Done Can't locate object method "name" via package "localhost" (perhaps you forgot to load "localhost"?) at /usr/ports/infrastructure/lib/DPB/Core.pm line 147. DPB::Core::Abstract::hostname(DPB::Core=HASH(0xb4e55b5ee38)) called at /usr/ports/infrastructure/lib/DPB/Core.pm line 97 DPB::Core::Abstract::new(DPB::Core, localhost) called at /usr/ports/infrastructure/lib/DPB/Core.pm line 741 DPB::Core::new_noreg(DPB::Core, localhost) called at /usr/ports/infrastructure/lib/DPB/PortBuilder/Rebuild.pm line 33 DPB::PortBuilder::Rebuild::init(DPB::PortBuilder::Rebuild=HASH(0xb4e07d80838)) called at /usr/ports/infrastructure/lib/DPB/PortBuilder.pm line 55 DPB::PortBuilder::new(DPB::PortBuilder, DPB::State=HASH(0xb4dce0855c8)) called at /usr/ports/infrastructure/bin/dpb line 149 I saw the two "unbreak" CVS commits from Marc against infrastructure/lib/DPB/Core.pm, but these don't seem to have actually fixed the above issue. Looking at the code, it seems that DPB::PortBuilder::Rebuild::init() needs to modify its call to DPB::Core::new_noreg() slightly: Index: PortBuilder/Rebuild.pm =================================================================== RCS file: /extra/cvs/ports/infrastructure/lib/DPB/PortBuilder/Rebuild.pm,v retrieving revision 1.4 diff -u -p -r1.4 Rebuild.pm --- PortBuilder/Rebuild.pm 27 Jun 2018 07:07:57 -0000 1.4 +++ PortBuilder/Rebuild.pm 9 May 2019 07:27:34 -0000 @@ -20,6 +20,8 @@ use warnings; package DPB::PortBuilder::Rebuild; our @ISA = qw(DPB::PortBuilder); +use DPB::Host; + sub init { my $self = shift; @@ -30,7 +32,7 @@ sub init "file:/$self->{fullrepo}", $self->{state}); $self->{repository}{trusted} = 1; # this is just a dummy core, for running quick pipes - $self->{core} = DPB::Core->new_noreg('localhost'); + $self->{core} = DPB::Core->new_noreg(DPB::Host->new('localhost')); } my $uptodate = {}; -- Kusalananda Sweden