From owner-freebsd-perl@FreeBSD.ORG Tue Jan 6 14:14:29 2004 Return-Path: Delivered-To: freebsd-perl@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AEF7116A4F5; Tue, 6 Jan 2004 14:14:29 -0800 (PST) Received: from odot.okladot.state.ok.us (odot.okladot.state.ok.us [192.149.244.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5E40243D4C; Tue, 6 Jan 2004 14:14:20 -0800 (PST) (envelope-from root@techpc04.okladot.state.ok.us) Received: from notes9c.okladot.state.ok.us (notes9a.okladot.state.ok.us [10.36.36.31])QAA22280; Tue, 6 Jan 2004 16:13:34 -0600 Received: from techpc04.okladot.state.ok.us ([199.27.9.37]) by notes9c.okladot.state.ok.us (Lotus Domino Release 5.0.12) with ESMTP id 2004010616145617:385571 ; Tue, 6 Jan 2004 16:14:56 -0600 Received: by techpc04.okladot.state.ok.us (Postfix, from userid 0) id CCACF5C29; Tue, 6 Jan 2004 16:15:30 -0600 (CST) To: "Brandon S. Allbery KF8NH" From: "Paul Seniura" In-Reply-To: <1073412562.32632.3.camel@pyanfar.ece.cmu.edu> References: <20031231234158.8EF1C5C29@techpc04.okladot.state.ok.us> <20031231234158.8EF1C5C29@techpc04.okladot.state.ok.us> <1073064581.779.10.camel@gyros> <20040106175238.4355C5C29@techpc04.okladot.state.ok.us> <1073412562.32632.3.camel@pyanfar.ece.cmu.edu> <20040106195108.D07EB5C29@techpc04.okladot.state.ok.us> Message-Id: <20040106221530.CCACF5C29@techpc04.okladot.state.ok.us> Date: Tue, 6 Jan 2004 16:15:30 -0600 (CST) X-MIMETrack: Itemize by SMTP Server on Notes9c/ODOT(Release 5.0.12 |February 13, 2003) at 01/06/2004 04:14:56 PM,2003) at 01/06/2004 04:14:57 PM, Serialize complete at 01/06/2004 04:14:57 PM cc: freebsd-ports@freebsd.org cc: freebsd-perl@freebsd.org cc: freebsd-gnome@freebsd.org cc: Paul Seniura Subject: I need to clarify (Re: I'm having an awful time updating gdm2 and other ports) X-BeenThere: freebsd-perl@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Paul Seniura List-Id: maintainer of a number of perl-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2004 22:14:30 -0000 Here is the scenario: You don't have any p5-* pieces installed. You've freshly switched to 'use.perl port' from 'system'. Then comes a CVS update for x11/gdm2. You need to upgrade x11/gdm2; it's already installed. This time you need its configure/make/install scripts to run under perl-5.8.x. You hope gdm2's Makefile properly specifies what it requires, like other ports do. So you run portupgrade. And it breaks during gdm2's 'install' phase. What do you do? Okay now allow me to expand on that scenario with some details, please. I did the switch from perl-5.6.x to perl-5.8.x last week without having any of the p5-* items installed beforehand. Never needed any p5-* before -- the only items needing perl at this stage are ports during their configure / make / install / run-time phases (I myself haven't needed perl). There's nothing _specifically_ telling you _what else_ to do when you do this 'use.perl port' switch. Specifically. I was 'assuming' that any port needing a perl module -- for whatever reason e.g. configure / make / install / run-time -- would have appropriate entries in that port's Makefile (some '.if's around BUILD_DEPENDS, LIB_DEPENDS, etc., as appropriate, based on PERL_VERSION or SITE_PERL (unsure?)). Then came along some CTM deltas for x11/gdm2. The next time I ran portupgrade is what got broke. x11/gdm2's Makefile does *not* have checks for perl-anything but it *did* require certain perl modules for it to be installed successfully, as shown in my previous msgs e.g. gdm2 clearly needs the XML::Parser module during its install phase so an appropriate item should've been added to gdm2's Makefile -- probably in this case to the RUN_DEPENDS string (is there such a thing as INSTALL_DEPENDS ?). Suitable mechanisms _are_ available in the Makefile and many other ports use them, but gdm2 didn't say what it needed so I never got the requisite p5-* pieces it needed e.g. gdm2's Makefile should've caused the textproc/p5-XML-Parser port to be installed before gdm2 itself was installed. So I needed a workaround. To get those p5-* pieces needed by gdm2, I was 'hoping' the p5-GnomePrint port would pull in those missing pieces if _it_ had a correct Makefile. There I go 'assuming' again... (you know what 'assume' means... ;) > Any time you run "use.perl", do "env FORCE_PKG_REGISTER=1 portupgrade -f > p5-\*". It ran very quickly. It only re-installed the p5-XML-Parser and p5-XML-Writer ports because those were the only p5-* pieces I've managed to figure out being required by gdm2 and/or other ports -- after my assumption p5-GnomePrint properly pull in those missing pieces as noted. I'm running this portupgrade 'force' again on a list of ports that failed when I tried to install p5-GnomePrint, hoping it'll eventually fix other glitches, too. I ought to open a PR for gdm2 to be fixed -- because other ports do check for "which perl" and adjust themselves accordingly. Probably a lot of other ports need to similarly check on other things besides "which perl", too. ;) -- Paul Seniura System Specialist State of Okla. D.O.T.