From owner-freebsd-ports@FreeBSD.ORG Wed Feb 27 10:22:22 2008 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6AA5F106566B; Wed, 27 Feb 2008 10:22:22 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (tim.des.no [194.63.250.121]) by mx1.freebsd.org (Postfix) with ESMTP id 2791913C457; Wed, 27 Feb 2008 10:22:17 +0000 (UTC) (envelope-from des@des.no) Received: from tim.des.no (localhost [127.0.0.1]) by spam.des.no (Postfix) with ESMTP id 9B94A208C; Wed, 27 Feb 2008 11:22:08 +0100 (CET) X-Spam-Tests: AWL X-Spam-Learn: disabled X-Spam-Score: -0.3/3.0 X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on tim.des.no Received: from ds4.des.no (des.no [80.203.243.180]) by smtp.des.no (Postfix) with ESMTP id 5DCE7207F; Wed, 27 Feb 2008 11:22:07 +0100 (CET) From: =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= To: Anton Berezin References: <86prulibf4.fsf@ds4.des.no> <759236930802250245j646f5be5k8382bedbfb2a7c1e@mail.gmail.com> <868x19i6ky.fsf@ds4.des.no> <759236930802251702h694c4f5bn2c7c87c7c47c7cc@mail.gmail.com> <20080226122512.GA30778@heechee.tobez.org> <86ve4bsx8l.fsf@ds4.des.no> <20080226140456.GB30778@heechee.tobez.org> <867igrst0g.fsf@ds4.des.no> <20080226144203.GC30778@heechee.tobez.org> <86mypnrary.fsf@ds4.des.no> <20080226161635.GE30778@heechee.tobez.org> Date: Wed, 27 Feb 2008 11:22:06 +0100 In-Reply-To: <20080226161635.GE30778@heechee.tobez.org> (Anton Berezin's message of "Tue\, 26 Feb 2008 17\:16\:35 +0100") Message-ID: <86ejayr969.fsf@ds4.des.no> User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/23.0.60 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Cc: ports@freebsd.org, perl@freebsd.org, lth@freebsd.org, Yen-Ming Lee Subject: Re: Port dependencies on p5-Test-* 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: Wed, 27 Feb 2008 10:22:22 -0000 Anton Berezin writes: > Dag-Erling Sm=C3=B8rgrav writes: > > The rest of the ports tree checks every dependency right before building > > it; I don't see why Perl ports should be any different. > Er, I am not sure we understood each other here. What I was trying to say > was this. Let's suppose we do not have perl installed. Let's suppose the > user wants to build port A which depends on perl and on a module B which = is > both in perl's core and in a port B. Then the list of direct dependencies > for port A will either include port B or not, depending on the version > consideration. If we accomodate your suggestion, we cannot decide whether > port B will be a dependency or not until we built and installed perl. I = did > not look in bsd.port.mk specifically to compose this mail, but my > recollection is that it is not how this currently works. Every dependency is checked *right before it is built*. You stick it in the list, but you have perl at the front of the list. It builds perl first, then it gets to the module, checks 'perl -M$MODULE', finds out that it's already there, and skips it. > Not really. What I don't like is that we still have to deal with ports (= for > building stuff) and packages (for recording dependencies), and dealing in > addition to that with modules does not help us much with the first two. = For > example, when you do "perl -MX -e 'print $X::VERSION'", you get back a > version which is OK. Now what? Now you *still* need to test whether p5-X > is in fact installed, because if it is and you do not record it as a > dependency you are in trouble, since the user can without any complaints > pkg_delete p5-X and break your port. And if it is not installed then you > are going to assume that it must be in the core perl since it is there, a= nd > you could be wrong on that, too (if the user just installed it from CPAN). But the ports system knows which package corresponds to which module, since we put that in the dependency list: PERL_DEPENDS=3D Test::Unit:devel/p5-Test-Unit Or do you mean modules which are absorbed into core? > Alright, I sort of drop this objection, except that then we do the loading > part twice (the time consideration part of my previous mail). Still a lot less work then building a bunch ports we don't need, which is the current situation. DES --=20 Dag-Erling Sm=C3=B8rgrav - des@des.no