Dick Hoogendijk wrote:
> I have a lot of SFE packages installed. When they get newer releases
> I'm not quite sure how to update them. I.e. SFEmplayer and a lot of
> its dependend SFE packages are newer then the ones I've installed.
>
> Do I really have to uninstall all of them manually (with a list of
> names ;-) and then after that is done correctly, install the new ones
> by building and installing?
>
> Or have I missed some option that makes this easier?
>   

Certainly.
However, there are a few tricks do automate this. I'm not sure about SFE 
pkgs (whether or not they are stored as $TOPDIR/SFW*/[pkgsubdirs] by 
default).
But here is what I sometimes did with SFW or SUNW packages:

#0.) Go to $TOPDIR/.
(where all the package subdirs beginning with [PREFIX] e.g. "SFW" are to 
be found directly underneath)

#1.) Then (and the following is from my memory only, over 1 year ago [as 
I now use Blastwave packages by default, which are much more easily to 
install/update thanks to Phil's pkg-get, you may have a look at 
http://www.blastwave.org/howto.html]) I would do as root or appropriate 
RBAC role:
# yes|pkgrm SFW* (to remove all those packages from the system which are 
a match of "./SFW*" [and thats a key point, because "pkgrm SFW*" does 
*not* magically remove all packages from the system that have names 
prefix'ed with SFW, only that subset {and this may or may not be all} 
that are found by extracting the expression "./SFW* against the current 
working directory], that is the reason you have to go to 
$TOPDIR/SFW*/[pkgsubdirs]/..
(Alternatively you could go to /var/sadm/pkg, where *all* currently 
installed packages are being found, but first read ahead.)
There are of course other methods thinkable to get the list into the cmd 
line, but this had been most convenient at the time I performed it, as 
it also ensures, that such packages are not being removed from your box, 
that may have been EOL'ed from the SFW distribution during the interim, 
and hence are missing in the new release/no updated or any version of 
them. For this it is required to go to the new SFW distribution's 
$TOPDIR in step #0.), rather than to the old from which you had 
originally installed SFW* in the past.

#2.) Assuming you are still in (the Update-/Now2beInstalled) 
$TOPDIR/SFW*/[pkgsubdirs]/.., you could do something like:
# yes|pkgadd -d . SFW* (to [try] installing all)
or whatever subset via reg expressions, e.g.:
# yes|pkgadd -d . SFW[a-b]*
or
# yes|pkgadd -d . SFW*kde*


WARNING / note of CAUTION: Using /usr/bin/yes, especially when in 
conjunction with wildcards may potentially do more, than you actually 
wanted.
On the other hand it may cost a few boring hours: But the recommended 
way is indeed to do all that manually/carefully monitored and not to use 
these shortcuts.
At least be sure to log the stdout and stderr channels for later review 
(in addition to the normal install logs) by adding the following to the 
end of each "yes"-cmd line:
" > path/to/writable/MyLogFile20070901sat.log 2>&1 "

No warranties and much success.
regards,
Martin Bochnig


Reply via email to