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
