On Thu, May 01, 2014 at 07:04:24PM +0200, Stefan Sperling wrote: > I noticed that ports are always built even with FETCH_PACKAGES=Yes > and matching binary packages on the mirror. > > Starting from 'make depends' I traced the problem down to a pkg_add bug. > Here's recipe that shows where it fails: > > $ pwd > /usr/ports/net/miniupnp/miniupnpc > $ pkg_add -m -I -n -q -D installed -D downgrade miniupnpc-1.9.tgz > /usr/ports/packages/amd64/cache//miniupnpc-1.9.tgz > miniupnpc-1.9: ok > Look in /usr/local/share/doc/pkg-readmes for extra documentation. > Can't use an undefined value as a HASH reference at > /usr/libdata/perl5/OpenBSD/Dependencies.pm line 387. > $ echo $? > 22 > > The exit code causes the Makefile logic to believe fetching the package > failed and it builds the port even though the package is already installed. > > The line perl complains about is: > for my $dep (@{$package->dependency_info->{depend}}) { > > It looks like $package->dependency_info is undefined here. > > Can someone help?
That one is definitely for me. It looks like I agressively removed a bit too much memory prior to 5.5. Obviously, FETCH_PACKAGES goes thru a code path that is slightly different from what I tested, and that does require info a bit later (I was sure I had tested -n, but obviously not enough scenarios). Anyway, I can reproduce this. I'll track it down, probably today.