Subject: Re: dependencies wrong for expat and firefox-gtk2
To: Juan RP <juan@xtraeme.unixbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 04/08/2004 09:47:13
On Thu, 8 Apr 2004, Juan RP wrote:

> > ldd of firefox-gtk2 shows
> >         libexpat.so.4 => not found

> Should we add BUILDLINK_DEPENDS.expat+= expat>=1.95.7 to firefox
> packages then?

I found that it was only fontconfig for me:

ldd /usr/lib/firefox-gtk2/firefox-bin | cut -d " " -f 3 | grep / |
xargs -n 1 objdump -x | egrep 'file format|NEEDED' | less

We have real no way to know that the BUILDLINK_DEPENDS should have been a
non-open-ended
  BUILDLINK_DEPENDS.expat?=expat-1.95.[456]*
before the March 2 change.

So maybe we should take advantage of the filenames as part of dependency.

In my case, the pkg_add of fontconfig could have checked for
"libexpat.so.5" and failed immediately. (We already have a routine to
gather this information for +BUILD_INFO, for example:
REQUIRES=/usr/pkg/lib/libexpat.so.4.)

What do you all think?

Or we could force perfect matches, for example:
  BUILDLINK_DEPENDS.expat?=expat-1.95.6nb1
before the change. (I don't agree with that though.)

Or maybe we could force perfect matches for those who build binary
packages? (On a related note, it appears that pkg_add is broken when
installing package dependencies where the @pkgdep package name is some
range, but the @blddep with a perfect match works fine if you have the
same filename available.)

> Or maybe change it in expat's bl3.mk?

I have now done that, but didn't bump the PKGREVISIONs for the packages
needing expat.

   Jeremy C. Reed
   http://bsd.reedmedia.net/