perl-after-upgrade mistakenly thinks nothing needs to be done

2013-04-11 Thread Mike Brown
Hi all,

I'm running 8.3-RELEASE and thought I'd update Perl from 5.12 to 5.16.
Silly me. I updated my ports snapshot, and as per UPDATING, ran

portmaster -o lang/perl5.16 lang/perl5.12

This went OK, so I then ran perl-after-upgrade, with and without -f. It scans 
the packages and finds everything it should, but insists nothing needs to be 
done, saying  0 moved, 0 modified, 0 adjusted for every one of them. At the 
end it says Fixed 0 packages (0 files moved, 0 files modified).

Well of course this isn't right; all my modules are still sitting in the
5.12.4 directory and are not getting moved over to the 5.16.2 one. This 
naturally breaks everything depending on those modules.

What's going wrong? Sorry if this is a novice question.

Please let me know what I need to check. Thanks,

Mike
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: perl-after-upgrade mistakenly thinks nothing needs to be done

2013-04-11 Thread Mike Brown
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: s...@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.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org