'make -DNO_DEPENDS install' causing error

Peter Pentchev roam at ringlet.net
Mon Nov 5 03:43:05 PST 2007


On Wed, Oct 31, 2007 at 09:44:13AM -0700, Doug Barton wrote:
> On Wed, 31 Oct 2007, Peter Pentchev wrote:
> 
>> On Wed, Oct 31, 2007 at 09:21:54AM -0700, Doug Barton wrote:
>>> On Wed, 31 Oct 2007, Peter Pentchev wrote:
>>> 
>>>> Errr... maybe I should actually take a careful look at portmaster first,
>>>> but after a cursory look at portmaster.sh.in... how do you handle the
>>>> case of a port installation that executes commands from a runtime
>>>> dependency?  That is, a runtime dependency that is actually used at
>>>> install time, too?
>>> 
>>> That should be a build dependency then. I'll take a look at the example 
>>> you
>>> cited, but my gut feeling is that what you're describing shouldn't 
>>> happen.
>> 
>> Erm, nope...  A build dependency is not meant to modify anything
>> on the user's system,
> 
> Except building the new port of course. :)

Well, sure :)  I should have mentioned "not meant to modify anything
in ${PREFIX}" - and, of course, this does not cover the case when
${WKRDIRPREFIX} is within ${PREFIX}, but that's a whole 'nuther kettle
of fish there :)

>> but the installation process may need to, say, rebuild indexes or 
>> otherwise update some kind of configuration. Think add-on packages - some 
>> of them might need some kind of registration in the main package's 
>> configuration.
>> 
>> At least that's the way I see it, and ICBW, but I think that there are
>> various legitimate cases when a run-time dependency ought to be installed
>> before the package installation itself.
> 
> I guess what I'm getting at is that (as far as I can see) that's not what 
> happens now. The parent port is installed first, then run depends are 
> checked. But like I said, I'll take a look at your original example, and 
> those below.

Errrr... do you mean that's what happens now in the ports collection,
when a "make install" is issued in a directory with a Makefile which
includes bsd.port.mk?!  'Cause, you know, that's just... not true :)

You could either check it yourself, by running "make install" in
a port directory and looking at the sequence of actions :)  Or you could
check the _INSTALL_SEQ and _INSTALL_SUSEQ variables in bsd.port.mk around
line 4117 - "run-depends" is in _INSTALL_SEQ, "do-install" is in
_INSTALL_SUSEQ, and bsd.port.mk runs the _SEQ targets before _SUSEQ
(bsd.port.mk around line 4176 for the normal case and 4161-4167 for
the su-use case).

The Ports Collection as such processes the runtime dependencies before
actually running the port's install target.

>> For more examples, take a look at the plist of most X11 fonts (@exec 
>> fc-cache), most JDK implementations (@exec registervm), most docbook-* 
>> ports (@exec xmlcatmgr), some GNOME ports like gnomevfs (@exec 
>> gconftool-2), and many others.

G'luck,
Peter

-- 
Peter Pentchev	roam at ringlet.net    roam at cnsys.bg    roam at FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
This sentence is false.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20071105/306b502a/attachment.pgp


More information about the freebsd-ports mailing list