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