David Southwell wrote:
Basically I do not know how to manage the bsdpan "ports". On portupgrade -a I get long lists like the one below. How are items "held" How do I decide whether ort not to hold them. Some advice would be appreciated. I have searched for some guidance on the freebsd web site but not found any.---> Skipping 'bsdpan-B-Debug-1.10' because it is held by user (specify -f to force) ---> Skipping 'bsdpan-Exporter-5.62' because it is held by user (specify -f to force) ---> Skipping 'bsdpan-constant-1.15' because it is held by user (specify -f to force)
[...] Well, for starters, you have no choice but to 'hold' a bsdpan package. The terminology comes from portupgrade, but the same thing applies to whatever FreeBSD package management system you care to use. In portupgrade, a 'held' package is one that is listed in the HOLD_PKGS array in /usr/local/etc/pkgtools.conf. This simply indicates packages that portupgrade should not attempt to upgrade for whatever reason. The default setting is: HOLD_PKGS = [ 'bsdpan-*', ]ie. any 'bsdpan' package installed via 'perl -MCPAN -e' or by manually compiling the module source. These bsdpan packages are just normal FreeBSD packages in every respect but one: they have no package origin
-- that is, there is no directory in the ports tree for a bsdpan package. This means that the usual ports system for determining whether a package is out of date -- comparing either directly or indirectly against the version number from the port's Makefile -- is impossible to apply and so ports management software cannot upgrade bsdpan packages. As a general rule, if there is a ported version of a perl module then install that, rather than installing the same thing directly from CPAN. It makes ports management easier and keeping stuff up to date a lot more effective. Most of the packages you list are available in the ports tree. You also have about 15 ordinary p5 ports listed as 'held' -- I'm not sure why that should be unless you have deliberately chosen to do that. Maybe because they have dependencies on bsdpan packages? Anyhow, you can probably sort things out by replacing your bsdpan packages with the ports equivalents like so: portupgrade -o www/p5-libwww -f bsdpan-libwww-perl-5.813 (That's actually a slight oddity: usually a perl package Foo::Bar::Baz will appear in ports as mumble/p5-Foo-Bar-Baz) Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW
signature.asc
Description: OpenPGP digital signature