Tiny Core Extensions > TCE 1.x

tce-uninstall

(1/5) > >>

Jason W:
This is tce-uninstall.  You must be using the latest tinycore-1.2rc2 release candidate to make use of this extension.


--- Code: ---Title:          tce-uninstall.tce
Description:    Utility to uninstall tce extensions.  (TESTING)
Version:        2009/03
Author:         Jason W
Original-site:  www.tinycorelinux.com
Copying-policy: Free
Size: 2K
Extension_by:   Jason W
Comments:       Command tce-uninstall brings up menu of installed tce
extensions that can be uninstalled.  You must be running in either
scatter mode, or PPI mode that was booted with the "local=hdxx"
boot option for this extension to be used.  This uninstaller is
almost irritatingly conservative and will not disrupt a running system
as extensions with files in use will not be uninstalled.  Dependencies
are also taken into account.  The uninstaller will not uninstall extensions
that have any files above /usr/local as to remove them can leave a broken
base system. 
                ----
A --force option will override all of this and give you
full control.  "tce-uninstall --force OSS" will remove OSS.tcem alone
without checking for dependencies, files above /usr/local, or files in use.
Use the extension name without the suffix, like glib2 or OSS and do not
include the .tce(l,m) when using the force option.  Mind youl, be sure you
                                know what you are doing if using the --force option as if you use it and break
                                your system, you get to keep both pieces.  It's use is not recommended
                                but for carefully upgrading libraries or things like that.
-----
This utility uses the extensions' .dep files to process dependencies.  In
the case you deleted your .dep files from /usr/local/tce.list or you
installed the extensions outside the use of the appbrowser, running the
command "tce-uninstall --gendeps" will fetch the .dep files for the
extensions you have installed so you can take advantage of dependency
tracking during uninstall.   
This extension is PPI compatible.
Change-log:     -------
Current:        2009/02/28 First version.

--- End code ---

jpeters:
I sure hope that every extension has a complete dep list, because it may be difficult to figure out why an extension suddenly doesn't work after tce-uninstall deletes shared dependencies. Wouldn't  rebooting after deleting the extension from the tce folder be a lot safer?

Jason W:
Just how is deleting an extension from the tce folder and rebooting different from uninstalling the extension?  The exact same thing is happening in either case.  And that is assuming running in RAM mode, which is not a mode that supports uninstalling.   

There is one more check that could be added to the dependency routine, but it would slow it down even more than it is.  Any extension being broken by the uninstaller is unacceptable and if there are such cases I would fix the uninstaller or pull it if it can't be fixed.  Though I have found no problems with uninstalling any extensions, this is still testing material and to be used with the assumption of mild risk.

In any case an extension is broken by missing dependencies, restoring them is as easy as clicking on the extension in the appbrowser and the missing deps will be installed.  But like I said that is not an acceptable outcome of the uninstaller.

jpeters:

--- Quote from: Jason W on March 02, 2009, 06:35:42 PM ---Just how is deleting an extension from the tce folder and rebooting different from uninstalling the extension?  The exact same thing is happening in either case.  And that is assuming running in RAM mode, which is not a mode that supports uninstalling.
--- End quote ---

Maybe I don't understand the process. Let's say I have python-devs.tczl installed, and then load an extension that needs it.  I decide I don't need the extension, so delete it from my /tcZ folder. When I reboot, the extension isn't there, but python-devs.tczl  still exists.  Now I repeat the process, but uninstall with tce-uninstall, which has python-devs.tczl on its dep list.  I was assuming that dependencies get deleted?   

Jason W:
First, only tce extensions are taken into account by the uninstaller.  Tcz is left alone.  Let's take glib2 for example.  Say it is dependent on expat2.tcel (it is not but for this illustration).  Assuming none of it's files are in use by other apps, use the uninstaller to try to uninstall it.  What you will see is a list of installed apps that depend on glib2 - on my box now it is atk, emelfm2, gqview2, gtk2, leafpad, and pango.  Three options are then presented:
1. Do not uninstall glib2 (recommended)
2. Uninstall only glib2 (for advanced users only).
3. Uninstall glib2 and those that depend on it.
Dependent apps are offered up for uninstall, not dependencies.  Expat2.tcel would be left alone.  It wouldn't be good to uninstall dependencies "below" an extension, but it is good to let the user know of the dependent apps "above" it so they won't get broken.  Of course, if a .dep file is incomplete, then breakage is possible somewhere.  But that would be a case of a broken dep file rather than a broken uninstaller. 
I hope this clears it up a little.  Sorry my response earlier was snippity.

Navigation

[0] Message Index

[#] Next page

Go to full version