Issues with the port dependency table
Ade Lovett
ade at FreeBSD.org
Thu Jul 31 05:43:11 EDT 2008
Newly initialized jail. Standard ports tree. Adding a single port:
./tc addPort -b 7-i386 -d devel/ccache
#1 bombs out with:
TINDERBOX_SQL:
query = DELETE FROM port_dependencies WHERE build_port_id=?
Can't use string ("1") as an ARRAY ref while "strict refs" in use at /
home/tbox/scripts/lib/Tinderbox/TinderboxDS.pm line 1937.
hack around that, since we're passing a ref to an array, not the array
itself, and then:
TINDERBOX_SQL:
query = DELETE FROM port_dependencies WHERE build_port_id=?
values = 1,
Can't locate object method "DependsList" via package
"Tinderbox::MakeCache" at /home/tbox/scripts/lib/tc_command.pl line
1337.
Well, there isn't one. The lookup table in tc_command.pl has an entry:
DEPENDS => 'DependsList'
but there isn't one defined in MakeCache.pm
Ok. We'll hack one up. No big deal:
sub DependsList {
my $self = shift;
my $port = shift;
my @deps;
push(@deps, $self->Depends($port));
my %uniq;
return grep { !$uniq{$_}++ } @deps;
}
now it fails with:
TINDERBOX_SQL:
query = DELETE FROM port_dependencies WHERE build_port_id=?
values = 1,
Can't locate object method "LibDependsList" via package
"Tinderbox::MakeCache" at /home/tbox/scripts/lib/tc_command.pl line
1337.
and there isn't one of those either (same lookup table).
What's going on here?
-aDe
More information about the tinderbox-list
mailing list