From owner-freebsd-questions@FreeBSD.ORG Thu Apr 11 22:33:32 2013 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 5A673B12 for ; Thu, 11 Apr 2013 22:33:32 +0000 (UTC) (envelope-from mike@skew.org) Received: from chilled.skew.org (chilled.skew.org [70.90.116.205]) by mx1.freebsd.org (Postfix) with ESMTP id 245DC1F8C for ; Thu, 11 Apr 2013 22:33:31 +0000 (UTC) Received: from chilled.skew.org (localhost [127.0.0.1]) by chilled.skew.org (8.14.4/8.14.4) with ESMTP id r3BMXUpp014566 for ; Thu, 11 Apr 2013 16:33:31 -0600 (MDT) (envelope-from mike@chilled.skew.org) Received: (from mike@localhost) by chilled.skew.org (8.14.5/8.14.4/Submit) id r3BMXUBk014565 for freebsd-questions@freebsd.org; Thu, 11 Apr 2013 16:33:30 -0600 (MDT) (envelope-from mike) From: Mike Brown Message-Id: <201304112233.r3BMXUBk014565@chilled.skew.org> Subject: Re: perl-after-upgrade mistakenly thinks nothing needs to be done In-Reply-To: <201304111347.r3BDltCI018539@mech-cluster241.men.bris.ac.uk> To: freebsd-questions@freebsd.org Date: Thu, 11 Apr 2013 16:33:30 -0600 (MDT) X-Whoa: whoa. X-Mailer: ELM [version 2.4ME+ PL125 (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="UTF-8" X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Apr 2013 22:33:32 -0000 Thanks for the replies; I really appreciate it. Alexandre wrote: > Have you followed steps described in perl-after-upgrade man page? > $ man perl-after-upgrade Yes, except for the last step (deleting old CONTENTS backups), since the previous steps didn't seem to do what they should. As I said, perl-after-upgrade thinks there's nothing to do. It doesn't report any packages it can't handle. It handles them, but for some reason determines that they are OK, despite the fact that the modules are all still sitting in the old installation. Anton Shterenlikht wrote: > Have you done "portmaster 5-"? > If not, do it. I hadn't done that. ("portmaster 5-" doesn't work, but "portmaster p5-" does.) UPDATING makes mention of this, but I didn't understand that it was saying it was a required step. Specifically, this is what it says: ------------------------------------------------------------------------- 20120630: AFFECTS: users of lang/perl* AUTHOR: skv@FreeBSD.org lang/perl5.16 is out. If you want to switch to it from, for example lang/perl5.12, that is: Portupgrade users: 0) Fix pkgdb.db (for safety): pkgdb -Ff 1) Reinstall new version of Perl (5.16): env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.16 -f perl-5.12.\* 2) Reinstall everything that depends on Perl: portupgrade -fr perl Portmaster users: portmaster -o lang/perl5.16 lang/perl5.12 Conservative: portmaster p5- Comprehensive (but perhaps overkill): portmaster -r perl- Note: If the "perl-" glob matches more than one port you will need to specify the name of the Perl directory in /var/db/pkg explicitly. The default version for Perl has also been changed from 5.12 to 5.14. ------------------------------------------------------------------------- Because of the way the portupgrade section is numbered, I thought the portmaster section was giving me 3 options: regular, conservative, comprehensive -- not two steps (1. portmaster -o, then 2. choose either the conservative or comprehensive option). ...partly my reading comprehension failure, I guess. It makes no mention of perl-after-upgrade, though. My understanding is that perl-after-upgrade looks at what perl-dependent packages are installed. As I can see by its output, this includes not just the application packages like SpamAssassin and mrtg, but their requisite Perl module packages as well, like HTML::Parser. Then, as these packages are found, perl-after-upgrade moves things from the old Perl installation over to the new, and does some other cleanup. Maybe that's a flawed assumption, because it seems rather weird to me that before running perl-after-upgrade, I'm expected to *first* to do a *full upgrade or reinstall* of the modules. Isn't that exactly what we're trying to avoid by running perl-after-upgrade? Nothing in the perl-after-upgrade man page suggests this is necessary; in fact, the intro implies the opposite. > After this is done, > how much have you got left under 5.12.4? Not much of anything, just a man page, a few mrtg .pm files... Naturally, running perl-after-upgrade at this point yields the same results as before (0 moved, 0 modified, 0 adjusted for everything). But this time, that's the expected output, I believe, given that I just reinstalled everything. I guess I'm just completely confused about what perl-after-upgrade was actually supposed to do, so it's difficult to suggest documentation updates. At the very least, though, maybe change UPDATING to clarify that the portmaster steps are a sequence, and mention perl-after-upgrade.