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 [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] 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.
pgpP7aVhdR1tV.pgp
Description: PGP signature