From owner-freebsd-ports@FreeBSD.ORG Sat Feb 25 17:42:04 2006 Return-Path: X-Original-To: freebsd-ports@freebsd.org Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BDFF816A420 for ; Sat, 25 Feb 2006 17:42:04 +0000 (GMT) (envelope-from spadge@fromley.net) Received: from mta07-winn.ispmail.ntl.com (mta07-winn.ispmail.ntl.com [81.103.221.47]) by mx1.FreeBSD.org (Postfix) with ESMTP id E4D5243D45 for ; Sat, 25 Feb 2006 17:42:03 +0000 (GMT) (envelope-from spadge@fromley.net) Received: from aamta09-winn.ispmail.ntl.com ([81.103.221.35]) by mta07-winn.ispmail.ntl.com with ESMTP id <20060225174202.BGPH15056.mta07-winn.ispmail.ntl.com@aamta09-winn.ispmail.ntl.com>; Sat, 25 Feb 2006 17:42:02 +0000 Received: from tobermory.home ([82.18.11.31]) by aamta09-winn.ispmail.ntl.com with ESMTP id <20060225174202.VSPF5012.aamta09-winn.ispmail.ntl.com@tobermory.home>; Sat, 25 Feb 2006 17:42:02 +0000 Received: from [192.168.124.185] (unknown [192.168.124.185]) by tobermory.home (Postfix) with ESMTP id 6DFA9A6C27; Sat, 25 Feb 2006 17:41:59 +0000 (GMT) Message-ID: <440096E7.1000806@fromley.net> Date: Sat, 25 Feb 2006 17:41:59 +0000 From: Spadge User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Eric Schuele References: <44008ED7.6050406@averageadmins.com> <4400917C.4010808@computer.org> In-Reply-To: <4400917C.4010808@computer.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Jeff Cross , freebsd-ports@freebsd.org Subject: Re: Trouble Upgrading Ports 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: Sat, 25 Feb 2006 17:42:05 -0000 Eric Schuele wrote: > Jeff Cross wrote: > >> I have been upgrading my ports using portupgrade -varR but have run >> across a few that are giving me fits. >> >> When trying to update scrollkeeper I get the following: >> >> You must have XML::Parser installed to run ../../intltool-merge >> > > I ran into this. I did a `make deinstall` and `make reinstall` on > p5-XML-Parser. it did the trick. > > But Now I have other problems see "Trouble building gnomeprint". I do > not know if they are related in any way. I found that with the recent update of perl5, an awful lot of perl5's little wizards are failing to portupgrade as the system tries to install them as dependancies even though (or because) they are already installed. I once wrote a shell script to combat this sort of behaviour, as it is something I have run up against time and time again with the perl5 port. It looks something like this (I fully expect my email to kill the formatting of this, with like linewrap and everything, so beware): ~ #!/usr/local/bin/bash # IMPORTANT!!!!1 - requires 'where' script ... see end of file. # Also depends on portinstall. PERLIST="/usr/home/spadge/perl.list" # file to hold the names of your installed perl5 crap PERLDEL=`where perl-5.8 | awk '{print $1}'` PERLINST=`where perl-5.8 | awk '{print $4}'` # If you use a different version of perl, you'll want to change the above # PERLDEL and PERLINST lines to match it. touch $PERLIST pkgdb -Fu pkgdb -Fu # ok, this is the line that populates $PERLIST for i in `(pkg_info -R perl-5\* |tail +4; find /usr/local/lib/perl5/site_perl/5.[68].[1245] -type f -print0 | xargs -0 pkg_which -fv | sed -e '/: ?/d' -e 's/.*: //')|sort -u`; do where $i >> $PERLIST; done # from here on the actual (un)installing is done for i in `sort -u $PERLIST | awk '{print $1}'`; do pkg_delete -f $i; done pkg_delete -f $PERLDEL cd /usr/ports/$PERLINST; make install for i in `sort -u $PERLIST | awk '{print $4}'`; do portinstall $i; done #and that's it. echo "perl (and all it's little wizards) has been updated." echo "Before running this script again, either:" echo "a) delete " $PERLIST ", or" echo "b) comment out the line that populates it" ################################################################################ # # # As mentioned earlier, you need to have 'where' on your path. # # # # Get it from http://www.ramblingwaffles.net/where or create an executable # # file called 'where' on your path, and paste the following into it: # # # # #! /usr/local/bin/bash # # for i in `ls /var/db/pkg | grep $1`; do echo $i "is in" `pkgdb -o $i`; done # # # ################################################################################ # # That's all folks. Written by spadge@fromley.net # thanks to the perl port maintainer for the horrible xargs. ~ As to the bash3 upgrade problem, I found that getting the bash-3.1.tar.gz source and bash31-010 patch from http://ftp.wayne.edu/pub/gnu/bash/ and manually putting them in /path/to/ports/distfiles/bash/ fixed it for me. -- Spadge "Intoccabile" www.fromley.com