Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

perl-after-upgrade(1) [x11r4 man page]

PERL-AFTER-UPGRADE(1)					User Contributed Perl Documentation				     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 subdi- rectories, 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 impor- tant areas. It was faster. CREDITS
Thanks to Mathieu Arnold for discussion. SEE ALSO
perl(1). perl v5.8.9 2009-04-13 PERL-AFTER-UPGRADE(1)

Check Out this Related Man Page

PKG(7)						       BSD Miscellaneous Information Manual						    PKG(7)

NAME
pkg -- a utility for manipulating packages SYNOPSIS
pkg <command> pkg add [-f] <pkg.txz> pkg -N pkg bootstrap [-f] DESCRIPTION
pkg is the package management tool. It is used to manage local packages installed from ports(7) and install/upgrade packages from remote repositories. To avoid backwards incompatibility issues, the actual pkg(8) tool is not installed in the base system. The first time invoked, pkg will bootstrap the real pkg(8) from a remote repository. pkg <command> If pkg(8) is not installed yet, it will be fetched, have its signature verified, installed, and then have the original command forwarded to it. If already installed, the command requested will be forwarded to the real pkg(8). pkg add [-f] <pkg.txz> Install pkg(8) from a local package instead of fetching from remote. If a pkg.txz.sig file exists and signature checking is enabled, then the signature will be verified before installing the package. If the -f flag is specified, then pkg(8) will be installed regardless if it is already installed. pkg -N Do not bootstrap, just determine if pkg(8) is actually installed or not. Returns 0 and the number of packages installed if it is, otherwise 1. pkg bootstrap [-f] Attempt to bootstrap and do not forward anything to pkg(8) after it is installed. If the -f flag is specified, then pkg(8) will be fetched and installed regardless if it is already installed. CONFIGURATION
Configuration varies in whether it is in a repository configuration file or the global configuration file. Repository configuration can be stored in /etc/pkg/FreeBSD.conf in the following format: FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", mirror_type: "srv", signature_type: "none", fingerprints: "/usr/share/keys/pkg", enabled: yes } url Refer to PACKAGESITE in ENVIRONMENT mirror_type Refer to MIRROR_TYPE in ENVIRONMENT signature_type Refer to SIGNATURE_TYPE in ENVIRONMENT fingerprints Refer to FINGERPRINTS in ENVIRONMENT enabled Defines whether this repository should be used or not. Valid values are yes, true, 1, no, false, 0. Global configuration can be stored in /usr/local/etc/pkg.conf in the following format: PACKAGESITE: "pkg+http://pkg.FreeBSD.org/${ABI}/latest", MIRROR_TYPE: "srv", SIGNATURE_TYPE: "none", FINGERPRINTS: "/usr/share/keys/pkg", ASSUME_ALWAYS_YES: "yes" REPOS_DIR: ["/etc/pkg", "/usr/local/etc/pkg/repos"] Reference ENVIRONMENT for each variable. ENVIRONMENT
The following environment variables can be set to override the settings from the pkg.conf file used. MIRROR_TYPE This defines which mirror type should be used. Valid values are SRV, HTTP, NONE. ABI This defines the ABI for the package to be installed. Default ABI is determined from /bin/sh. ASSUME_ALWAYS_YES If set, no confirmation will be asked when bootstrapping pkg(8). SIGNATURE_TYPE If set to FINGERPRINTS then a signature will be required and validated against known certificate fingerprints when boot- strapping pkg(8). FINGERPRINTS If SIGNATURE_TYPE is set to FINGERPRINTS this value should be set to the directory path where known fingerprints are located. PACKAGESITE The URL that pkg(8) and other packages will be fetched from. REPOS_DIR Comma-separated list of directories that should be searched for repository configuration files. FILES
Configuration is read from the files in the listed order. This path can be changed by setting REPOS_DIR. The last enabled repository is the one used for bootstrapping pkg(8). /usr/local/etc/pkg.conf /etc/pkg/FreeBSD.conf /usr/local/etc/pkg/repos/*.conf EXAMPLES
Some examples are listed here. The full list of available commands are available in pkg(8) once it is bootstrapped. Search for a package: $ pkg search perl Install a package: % pkg install perl List installed packages: $ pkg info Upgrade from remote repository: % pkg upgrade List non-automatic packages: $ pkg query -e '%a = 0' %o List automatic packages: $ pkg query -e '%a = 1' %o Delete an installed package: % pkg delete perl Remove unneeded dependencies: % pkg autoremove Change a package from automatic to non-automatic, which will prevent autoremove from removing it: % pkg set -A 0 perl Change a package from non-automatic to automatic, which will make autoremove allow it be removed once nothing depends on it: % pkg set -A 1 perl Create package file from an installed package: % pkg create -o /usr/ports/packages/All perl Determine which package installed a file: $ pkg which /usr/local/bin/perl Audit installed packages for security advisories: $ pkg audit Check installed packages for checksum mismatches: # pkg check -s -a Check for missing dependencies: # pkg check -d -a SEE ALSO
ports(7), pkg(8) HISTORY
The pkg command first appeared in FreeBSD 9.1. It became the default package tool in FreeBSD 10.0, replacing the pkg_install suite of tools pkg_add(1), pkg_info(1) and pkg_create(1). BSD
December 12, 2013 BSD
Man Page