A few months ago I installed amavisd-new by ports. I am now upgrading my system to the latest snapshot (060209). The pkg_add command upgraded many of my packages but left me with packages not upgraded due to them being only available in the ports tree. This seems to me to be a typical scenario so I figured there must be a standard way of dealing with this. Do I actually have to dig and discover what those packages are and then manually re-install them? Probably not but I couldn't find any other way. What I did was take a line from the output of the pkg_add upgrade and apply some tools (grep, sed, cut) to arrive at a file containing one package name per line. Now instead of manually re-installing them can someone help me to programatically upgrade these things? The file contains:
expiretable-0.6 freeze-2.5 p5-Archive-Tar-1.38 p5-Compress-Raw-Zlib-2.011 p5-Compress-Zlib-2.011 p5-IO-Compress-Base-2.011 p5-IO-Compress-Zlib-2.011 p5-IO-INET6-2.01p0 p5-IO-Zlib-1.08 postfix-2.5.3-sasl2-mysql unace-1.2bp0 unarj-2.43 unrar-3.81 Ignoring postfix for now (built a certain flavour) the others should be able to be simply upgraded using a script. I'm having trouble turning 'p5-Archive-Tar-1.38' into 'p5-Archive-Tar'. I guess that's what this post boils down to. How to remove the last dash and everything after it. -- jm