From owner-freebsd-ports@FreeBSD.ORG Mon Nov 5 11:43:05 2007 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 448FA16A419 for ; Mon, 5 Nov 2007 11:43:05 +0000 (UTC) (envelope-from roam@ringlet.net) Received: from straylight.ringlet.net (nat116.cnsys.bg [85.95.80.116]) by mx1.freebsd.org (Postfix) with SMTP id 1919E13C4A8 for ; Mon, 5 Nov 2007 11:43:03 +0000 (UTC) (envelope-from roam@ringlet.net) Received: (qmail 2129 invoked by uid 1000); 5 Nov 2007 11:40:59 -0000 Date: Mon, 5 Nov 2007 13:40:59 +0200 From: Peter Pentchev To: Doug Barton Message-ID: <20071105114059.GA1202@straylight.m.ringlet.net> Mail-Followup-To: Doug Barton , freebsd-ports@freebsd.org References: <20071031151850.GA1145@straylight.m.ringlet.net> <20071031163049.GB1145@straylight.m.ringlet.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="9jxsPFA5p3P2qPhR" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.16 (2007-06-09) Cc: freebsd-ports@freebsd.org Subject: Re: 'make -DNO_DEPENDS install' causing error X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Nov 2007 11:43:05 -0000 --9jxsPFA5p3P2qPhR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Oct 31, 2007 at 09:44:13AM -0700, Doug Barton wrote: > On Wed, 31 Oct 2007, Peter Pentchev wrote: >=20 >> On Wed, Oct 31, 2007 at 09:21:54AM -0700, Doug Barton wrote: >>> On Wed, 31 Oct 2007, Peter Pentchev wrote: >>>=20 >>>> Errr... maybe I should actually take a careful look at portmaster firs= t, >>>> 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? >>>=20 >>> That should be a build dependency then. I'll take a look at the example= =20 >>> you >>> cited, but my gut feeling is that what you're describing shouldn't=20 >>> happen. >>=20 >> Erm, nope... A build dependency is not meant to modify anything >> on the user's system, >=20 > 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=20 >> otherwise update some kind of configuration. Think add-on packages - som= e=20 >> of them might need some kind of registration in the main package's=20 >> configuration. >>=20 >> 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. >=20 > I guess what I'm getting at is that (as far as I can see) that's not what= =20 > happens now. The parent port is installed first, then run depends are=20 > checked. But like I said, I'll take a look at your original example, and= =20 > 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=20 >> fc-cache), most JDK implementations (@exec registervm), most docbook-*= =20 >> ports (@exec xmlcatmgr), some GNOME ports like gnomevfs (@exec=20 >> gconftool-2), and many others. G'luck, Peter --=20 Peter Pentchev roam@ringlet.net roam@cnsys.bg roam@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. --9jxsPFA5p3P2qPhR Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFHLwFL7Ri2jRYZRVMRAljaAKCVqCEb8z+3eInMXmBTp0wO9JQC4QCfai78 VMOPi6ilUaOkMyrYLOSv9wc= =48Oh -----END PGP SIGNATURE----- --9jxsPFA5p3P2qPhR--