From owner-freebsd-questions@FreeBSD.ORG Mon Feb 7 18:20:04 2005 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 951D616A4CE for ; Mon, 7 Feb 2005 18:20:04 +0000 (GMT) Received: from smtp819.mail.sc5.yahoo.com (smtp819.mail.sc5.yahoo.com [66.163.170.5]) by mx1.FreeBSD.org (Postfix) with SMTP id 311EA43D48 for ; Mon, 7 Feb 2005 18:20:02 +0000 (GMT) (envelope-from krinklyfig@spymac.com) Received: from unknown (HELO smogmonster.com) (jtinnin@pacbell.net@64.173.27.163 with login) by smtp819.mail.sc5.yahoo.com with SMTP; 7 Feb 2005 18:20:02 -0000 From: Joshua Tinnin To: freebsd-questions@freebsd.org, dave Date: Mon, 7 Feb 2005 10:19:59 -0800 User-Agent: KMail/1.7.2 References: <002201c50d36$c27e4f60$0400a8c0@satellite> In-Reply-To: <002201c50d36$c27e4f60$0400a8c0@satellite> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200502071020.00185.krinklyfig@spymac.com> Subject: Re: perl upgrade broke 5.3 system X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 18:20:04 -0000 On Monday 07 February 2005 09:02 am, "dave" wrote: > Hello, > I just updated ports after being away for two weeks. The update > process itself went fine, my problem came when i ran the command to > update perl-dependent ports as suggested in /usr/ports/UPDATING. I > got a bunch of failed updates, php4-extensions, and any of my p5* > ports, apache2, subversion, ices, etc. I've tried manually running > portupgrade packagename but all i get is a prompt, it's as if > portupgrade thinks everything is updated, but dependent perl ports > are not working. The noticer was when MailScanner couldn't find > SpamAssassin although the latest version of both ports are installed. Well, it's always tricky. What I did this time is: % pkg_info -R perl\* > ~/perlports A list of dependencies is now in the text file perlports. In order to get a working environment, I did this first (I use xfce4 on this machine): # portupgrade -rRf xfce Then I force-upgraded all the rest of the xorg ports that weren't upgraded by that command, then all libraries, then individual programs, and finally the ports in meta ports, then the meta ports themselves. Most of this was done automatically; I copied perlports to a different file, edited out some lines, and added commands, put the list in the order stated previously, set the file as executable, then I ran it as a script. Most of the lines in the script look like this (yelp is an example): portupgrade -f yelp-2.6.5 ; It took a long time, as always, but I had zero problems. I also had xfce4, SpamAssassin, KMail and some other programs I use all the time up and running right away. I'm sure this could be done in a more automated fashion, but I've always run into dependency problems that way, if ports aren't upgraded in the right order, e.g., libraries first, so there's always clean up work to do. I avoided that this time, though it took a little longer to have each upgrade be a separate line in a script. > On another question when i install a port if it installs > dependencies and those are only needed by that port, when i uninstall > the port i'd like to updte and remove those dependencies as well, is > this doable? Some urgency! Yes, as long as those dependencies aren't needed elsewhere. You can run the pkg_info -r command to find out, then run pkg_info -R on the dependencies, or you can run: make pretty-print-run-depends-list make pretty-print-build-depends-list in the appropriate port folder (e.g., /usr/ports/www/firefox). There's also sysutils/pkg_cutleaves . - jt