Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 4 Mar 2007 21:11:57 +0100
From:      Ulrich Spoerlein <uspoerlein@gmail.com>
To:        Mikhail Teterin <mi+kde@aldan.algebra.com>
Cc:        multimedia@freebsd.org
Subject:   Re: improving vlc-devel
Message-ID:  <20070304201157.GB1577@roadrunner.q.local>
In-Reply-To: <200703041447.01127@aldan>
References:  <200702260942.27062@aldan> <200702261300.37063@aldan> <20070303162417.GD1530@roadrunner.q.local> <200703041447.01127@aldan>

next in thread | previous in thread | raw e-mail | index | archive | help
Mikhail Teterin wrote:
> On Saturday 03 March 2007 11:24, Ulrich Spoerlein wrote:
> = No, that is how it *should* work. Right now, pkg_info -W is nowhere used
> = in the Mk infrastructure. This has the side effect of randomly recording
> = wrong dependancies which you then have to fix up with pkgdb -F.
> 
> Yes. Actually, bsd.port.mk uses the ``-O'', instead of the ``-W''. Search for 
> PACKAGE-DEPENDS-LIST (a rather grotesque contraption, BTW). Thus it is still 
> prone to mistakes such as recording dependency on meow, when libmeow.so was 
> installed by meow-devel or something.

Yes, that is exactly the issue I tried to raise in the past. I shall
submit a PR with an patch, but I think it will only sit idly in GNATS.

> But it is *still* perfectly safe without the shared libs major numbers. Using 
> those without a _real_ need to is useless and breaks the perfectly legitimate 
> scenarios outlined earlier in this thread.

Indeed. I think it is not so clear cut, though.

> Doing so _knowingly_ is simply capricious...

There is one advantage I see (omitting the library inter-dependance
thingy): Once the shared lib version is bumped, all dependant ports have
to be rebuild (relinked). In a perfect world, everybody would be using
portupgrade -rf libfoo to update a library. In our real world it is not
so. By hardcoding the lib number we intentionally break the automated
build system (tinderbox), thus reminding us, that we should probably
bump the portrevision so people rebuild all required ports, even if they
only use portupgrade -a.

The portrevision bump is also required for people using pre-built
packages. So it goes like this:

lib version bump necessitates we touch the port. Thus, we don't forget
to bump the revision. Ideally, committers would grep INDEX for ports
requiring libfoo, and if libfoo.so.n changes to libfoo.so.m, we assume
all ports need their revision bumped as well (which is not necessarily
true, but oh well)

Ulrich Spoerlein
-- 
"The trouble with the dictionary is you have to know how the word is
spelled before you can look it up to see how it is spelled."
-- Will Cuppy



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