From owner-freebsd-ports@FreeBSD.ORG Sun Feb 26 16:44:57 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 34BCC16A420 for ; Sun, 26 Feb 2006 16:44:57 +0000 (GMT) (envelope-from jeff.cross@averageadmins.com) Received: from S2.cableone.net (s2.cableone.net [24.116.0.228]) by mx1.FreeBSD.org (Postfix) with ESMTP id 69F5443D53 for ; Sun, 26 Feb 2006 16:44:56 +0000 (GMT) (envelope-from jeff.cross@averageadmins.com) Received: from [24.117.83.20] (unverified [24.117.83.20]) by S2.cableone.net (CableOne SMTP Service S2) with ESMTP id 46891176 for multiple; Sun, 26 Feb 2006 10:25:26 -0700 Message-ID: <4401DB02.7040100@averageadmins.com> Date: Sun, 26 Feb 2006 10:44:50 -0600 From: Jeff Cross User-Agent: Thunderbird 1.5 (X11/20060131) MIME-Version: 1.0 To: Spadge References: <44008ED7.6050406@averageadmins.com> <4400917C.4010808@computer.org> <440096E7.1000806@fromley.net> In-Reply-To: <440096E7.1000806@fromley.net> X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IP-stats: No info recorded yet X-External-IP: 24.117.83.20 X-Abuse-Info: Send abuse complaints to abuse@cableone.net Cc: freebsd-ports@freebsd.org, Eric Schuele 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: Sun, 26 Feb 2006 16:44:57 -0000 Spadge wrote: > 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. > Thanks, Spadge, for the location for Bash 3.1. I downloaded the files listed above and it upgraded like a champ. Thanks to everyone else as well for their assistance with the Perl 5 upgrade. Now if only OpenOffice.org-2.0 could compile in a timley fashion... Going on 20 hours now... Jeff Cross