From owner-freebsd-current@FreeBSD.ORG Mon Jun 14 19:51:59 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B666216A4CE for ; Mon, 14 Jun 2004 19:51:59 +0000 (GMT) Received: from cmsrelay01.mx.net (cmsrelay01.mx.net [165.212.11.110]) by mx1.FreeBSD.org (Postfix) with SMTP id 31F9E43D54 for ; Mon, 14 Jun 2004 19:51:59 +0000 (GMT) (envelope-from noackjr@alumni.rice.edu) Received: from uadvg137.cms.usa.net (165.212.11.137) by cmsoutbound.mx.net with SMTP; 14 Jun 2004 19:51:31 -0000 Received: from optimator.noacks.org [70.240.243.152] by uadvg137.cms.usa.net (ASMTP/noackjr@usa.net) via mtad (C8.MAIN.3.13N) with ESMTP id 157iFNTzb0114M37; Mon, 14 Jun 2004 19:51:27 GMT X-USANET-Auth: 70.240.243.152 AUTH noackjr@usa.net optimator.noacks.org Received: from localhost (localhost [127.0.0.1]) by optimator.noacks.org (Postfix) with ESMTP id 0726C6171; Mon, 14 Jun 2004 14:51:27 -0500 (CDT) Received: from optimator.noacks.org ([127.0.0.1]) by localhost (optimator.noacks.org [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 04966-04; Mon, 14 Jun 2004 14:51:25 -0500 (CDT) Received: from compgeek.noacks.org (compgeek [192.168.1.10]) by optimator.noacks.org (Postfix) with ESMTP id C10026114; Mon, 14 Jun 2004 14:51:25 -0500 (CDT) Received: from [127.0.0.1] (localhost.noacks.org [127.0.0.1]) by compgeek.noacks.org (8.12.11/8.12.11) with ESMTP id i5EJpPlL004288; Mon, 14 Jun 2004 14:51:25 -0500 (CDT) (envelope-from noackjr@alumni.rice.edu) Message-ID: <40CE01BC.5060608@alumni.rice.edu> Date: Mon, 14 Jun 2004 14:51:24 -0500 From: Jon Noack User-Agent: Mozilla Thunderbird 0.6 (X11/20040531) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Ivan Voras References: <40CDC77A.8090300@fer.hr> In-Reply-To: <40CDC77A.8090300@fer.hr> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at noacks.org cc: current@freebsd.org Subject: Re: Upgrading perl X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: noackjr@alumni.rice.edu List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Jun 2004 19:51:59 -0000 On 06/14/04 10:42, Ivan Voras wrote: > The situation is: running 4-stable, with perl 5.6 from ports, with lots > of packages which depend on it. Now I need to install an application > that requires perl5.8! > > Is there a way to switch over to 5.8 without breaking everything? I'm > asking this because I see two different ports in the tree: perl5, which > installs 5.6 and perl5.8 which apparently has what I need, but > portupgrade doesn't understand it (tries to upgrade 5.6 to a newer port > revision). > > I tried installing the perl5.8 port (which gets me three versions of > perl installed, *sigh*), but existing applications couldn't find needed > modules. To upgrade from 5.6.x to 5.8.x (with no 5.8.x installed): 'portupgrade -o lang/perl5.8 lang/perl' As mentioned previously, be sure to follow the directions in /usr/ports/UPDATING. You may need to change the upgrade command slightly to reflect you're coming from 5.6.x instead of an earlier version of 5.8.x (change the 5.8.2 to 5.6.1 as below): portupgrade -f `(pkg_info -R perl-5.8.4 |tail +4; \ find /usr/local/lib/perl5/site_perl/5.6.1 -type f -print0 \ | xargs -0 pkg_which -fv | sed -e '/: ?/d' -e 's/.*: //')|sort -u` After rebuilding everything, you may want to finalize the upgrade by cleaning out /usr/local/lib/perl5/ and /usr/local/lib/perl5/site_perl. Due to incorrect plists, there may be some files left there from 5.6.x. It might be a good idea to check that each file is present in the 5.8.x directory before deleting (as a sanity check for the upgrade), but after the complete rebuild it should be safe to remove everything. The goal is to completely get rid of the 5.6.x directories: $ ls /usr/local/lib/perl5/ 5.8.4 site_perl $ ls /usr/local/lib/perl5/site_perl/ 5.8.4 I've not had any problems with this method (used on many machines running 4.10, 5.2.1, and -CURRENT), but it's best practice to have a full backup before the upgrade as it touches on a huge chunk of the system... Jon Noack