linux-pango/cairo vs firefox/seamonkey/flock

John E Hein jhein at timing.com
Fri Nov 30 13:02:19 PST 2007


Alexander Leidinger wrote at 21:01 +0100 on Nov 30, 2007:
 > > > RUN_DEPENDS=	${LINUXBASE}/usr/lib/libglib-2.0.so.0:${PORTSDIR}/devel/linux-glib2 
 > > > \
 > > > +		linux-cairo>=0:${PORTSDIR}/graphics/linux-cairo \
 > > > ---snip---
 > > > 
 > > > I don't think this will work well, please use the complete path
 > > > like with the other parts of RUN_DEPENDS.
 > > 
 > > I don't have a strong preference, but please elaborate. IMO, it
 > > is easier to type and it should work.
 > 
 > You depend upon a lib, but the target is RUN_DEPENDS, not LIB_DEPENDS.
 > From bsd.port.mk:
 > ---snip---
 > # RUN_DEPENDS   - A list of "path:dir[:target]" tuples of other ports this
 > #                                 package depends to run.  The test done to determine
 > #                                 the existence of the dependency is the same as
 > #                                 FETCH_DEPENDS.  This will be checked during the
 > #                                 "install" stage and the name of the dependency will
 > #                                 be put into the package as well.  If the third field
 > #                                 ("target") exists, it will be used instead of
 > #                                 ${DEPENDS_TARGET}.
 > # LIB_DEPENDS   - A list of "lib:dir[:target]" tuples of other ports this
 > #                                 package depends on.  "lib" is the name of a shared library.
 > #                                 make will use "ldconfig -r" to search for the library.
 > #                                 lib can contain extended regular expressions.
 > ---snip---
 > 
 > As you can see RUN_DEPENDS wants a path, not a lib. I think you mixed
 > this with LIB_DEPENDS. The reason why we can not use LIB_DEPENDS is,
 > that it calls the FreeBSD ldconfig. For linux programs this is wrong.
 > One could argue, that we should modify LIB_DEPENDS to use the linux
 > ldconfig if USE_LINUX is set, but this is not the case yet, and I
 > haven't looked carefully at LIB_DEPENDS to make my mind up if this is a
 > good way to go or not (maybe it is, we could maybe detect if a linux
 > lib port hasn't run the linux ldconfig at all).

Andrew's way is to use a package spec (using pkg_info to query).  The
bsd.port.mk comments don't do justice to that alternative, but it's
perfectly legitimate.



More information about the freebsd-emulation mailing list