PERL-AFTER-UPGRADE(1)

NAME
perl-after-upgrade -- fixup FreeBSD packages that depend on perl

SYNOPSIS
  perl-after-upgrade
  perl-after-upgrade -f
  perl-after-upgrade -v

DESCRIPTION
The standard procedure after a perl port (either lang/perl5.6 or lang/perl5.8) upgrade is to basically reinstall all other packages that depend on perl. This is always a painful exercise. The perl-after-upgrade utility makes this process mostly unnecessary.

The tool goes through the list of installed packages, looks for those that depend on perl, moves files around, modifies shebang lines in those scripts in which it is necessary to do so, tries its best to adjust dynamically linked binaries that link with libperl.so in the old path, and updates the package database.

After installation of the new perl is complete, either by hand from the ports collection, or from a package, or via portupgrade, do the following:

o go root;
o run perl-after-upgrade utility.
    Do not specify any arguments at first, so it does nothing destructive. Pay attention to the produced output and especially to errorlist at the end, if any;

o run the utility again, with -f command line option.
    This will actually do the work. Again, pay attention to the output produced;

o fix any reported errors;
o reinstall required packages:
    The utility will tell you what packages that depend on perl it could not handle. It will also tell you why it happened (for example, they were compiled against a binary incompatible perl). If you want such packages to remain operational, you will have to reinstall then by hand or via portupgrade.

o review the files left in the older perl installation.
    This is typically /usr/local/lib/perl5/site_perl/5.X.Y/. There should be very little, if any, files in that directory and its subdirectories, excepting a number of .ph files;

o check that things work as they should;
o remove backup files from the package database.
    Those will be /var/db/pkg/*/+CONTENTS.bak;

o that's all.

COPYRIGHT AND LICENSE
Copyright 2005 by Anton Berezin

 "THE BEER-WARE LICENSE" (Revision 42)
 <tobez@FreeBSD.org> wrote this module.  As long as you retain this
 notice you can do whatever you want with this stuff. If we meet some
 day, and you think this stuff is worth it, you can buy me a beer in
 return.

 Anton Berezin

NO WARRANTY OF ANY KIND, USE AT YOUR OWN RISK.

HISTORY
The first version of this utility was not bundled with perl package on FreeBSD. It was dumber than the current version in several important areas. It was faster.

CREDITS
Thanks to Mathieu Arnold for discussion.

SEE ALSO
perl(1).