Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 1 Dec 2007 15:51:15 +0100
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        John E Hein <jhein@timing.com>
Cc:        emulation@freebsd.org
Subject:   Re: linux-pango/cairo vs firefox/seamonkey/flock
Message-ID:  <20071201155115.5c6143a4@deskjail>
In-Reply-To: <18256.31317.682880.921587@gromit.timing.com>
References:  <20071103210632.GB72327@amilo.cenkes.org> <1194124724.10479.35.camel@ikaros.oook.cz> <20071105204645.GE64094@amilo.cenkes.org> <20071116110040.247fnnkzk08gc0sc@webmail.leidinger.net> <20071130192912.GB1524@amilo.cenkes.org> <20071130210120.1c8b3150@deskjail> <18256.31317.682880.921587@gromit.timing.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting John E Hein <jhein@timing.com> (Fri, 30 Nov 2007 14:02:13 -0700):

> 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.

Ah, ok. We should update the comment in bsd.port.mk...

Regarding the package-spec... the dependency is specific to a
particular lib, the spec in the patch just says >=0. I'm a little bit
uncomfortable regarding this. When we want to switch to a new linux
base, we need to change most of the libs, and then the dependency
doesn't match anymore (which means an overlooked ports is catched on
pointyhat or on the tinderboxes). While we can add some text to
UPDATING, I would like to have the dependency explicitly recorded in
the port. Unlike the FreeBSD native ports, we have a more strict
dependency regarding libs in the linux ports. I agree that the package
spec will work for a lot of users, but with my experience with
maintaining the linux ports and providing help for them since
linux_base-8 I suggest to follow the practice we have currently in the
linux infrastructure ports, as we can circumvent some pitfalls this way.

Bye,
Alexander.

-- 
What we wish, that we readily believe.
		-- Demosthenes
http://www.Leidinger.net  Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org     netchild @ FreeBSD.org  : PGP ID = 72077137



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071201155115.5c6143a4>