From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Lee Sau Dan Newsgroups: gmane.emacs.help Subject: Re: Software/HD ecology Date: 16 Dec 2002 16:59:55 +0100 Organization: Rechenzentrum der Universitaet Freiburg, Germany Sender: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Message-ID: References: <041220020952400758%ajanta@no.spam> <56cfb0e3.0212041458.5eab182a@posting.google.com> <061220020416350201%ajanta@no.spam> <071220021155280606%ajanta@no.spam> <5ld6obj8il.fsf@rum.cs.yale.edu> <091220021652087216%ajanta@no.spam> <111220021101520860%ajanta@no.spam> <111220021253524057%ajanta@no.spam> <5l65u0i8zj.fsf@rum.cs.yale.edu> <111220022053507599%ajanta@no.spam> <87u1hjdwta.fsf@hurd.crasseux.com> <121220021324043990%ajanta@no.spam> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=cn-big5 Content-Transfer-Encoding: 8bit X-Trace: main.gmane.org 1040060805 25185 80.91.224.249 (16 Dec 2002 17:46:45 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 16 Dec 2002 17:46:45 +0000 (UTC) Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18NzKF-0006Y2-00 for ; Mon, 16 Dec 2002 18:46:43 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18NzJX-0000MQ-07 for gnu-help-gnu-emacs@m.gmane.org; Mon, 16 Dec 2002 12:45:59 -0500 Original-Path: shelby.stanford.edu!newsfeed.stanford.edu!logbridge.uoregon.edu!newsfeed.stueberl.de!feed.news.nacamar.de!news.belwue.de!news.uni-freiburg.de!not-for-mail Original-Newsgroups: comp.sys.mac.apps,comp.sys.mac.advocacy,comp.text.tex,gnu.emacs.help Original-Lines: 61 Original-NNTP-Posting-Host: camaro.informatik.uni-freiburg.de User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 Original-Xref: shelby.stanford.edu comp.sys.mac.apps:349042 gnu.emacs.help:108178 Original-To: help-gnu-emacs@gnu.org X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: help-gnu-emacs-bounces+gnu-help-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.help:4706 X-Report-Spam: http://spam.gmane.org/gmane.emacs.help:4706 >>>>> "Ajanta" == Ajanta writes: Ajanta> I wasn't aware of this and will have to look into Ajanta> it. However, unless a program's creators cooperate, I Ajanta> can't visualize how stow would prevent a program from Ajanta> installing files all over the place leaving you with no Ajanta> way to uninstall? Why in the first place would the program NEED to install files all over the place? Unix is well designed. Most (if not all) GNU programs can be configured to be installed anywhere (usually defaulted to /usr/local/foobar) and run off there directly. There is no need to install files every here and there. That another popular inferior OS does it doesn't mean Unix has to use the same approach. To uninstall the application, simply "rm -rf /usr/local/foobar" and you're done! You may have PATH or paths to libraries in mind. Unix has an elegant tool: symbolic links. That other popular inferior OS tried to copy this feature, but didn't do it properly. Short-cuts simply a broken way of implementing symlinks. With symlinks, we place a link in /usr/bin or /usr/local/bin to point to the executables in /usr/local/foobar. Similarly for libraries. After uninstalling the program, these symlinks would become dangling and hence unusable. A simple "find / -lname "/usr/local/foobar/*" |xargs rm -f" would clean them. Anyway, nowadays, people almost always use package managers, such as RPM in RedHat and SuSE. These are software systems to keep track of installed files. They provide an easy way to uninstall packages, keeping an eye on the package dependencies. Ajanta> A practical problem is that except perhaps to an insider Ajanta> most names are unintuitive. If a file is named emacs-foo Ajanta> or foo.el you can guess what it is but a name like Ajanta> zuplibfoo (this is hypothetical, but most unix names have Ajanta> similar transparency) doesn't tell you which of the Ajanta> hundreds of packages it might belong to. So you can't even Ajanta> try to uninstall everything manually. That explains why the issue you raised out is a non-problem for Unix. Unix has been supporting long file names for a long time. Unix programmers tend to use more verbose and descriptive filenames, rather than thinks like PROGRA~1. So, we normally don't such problems. Moreover, as mentioned above, we tend to put files of each app into its own directory and then install symlinks in /usr/bin, instead of sprinkling files here and there. -- Lee Sau Dan §õ¦u´°(Big5) ~{@nJX6X~}(HZ) E-mail: danlee@informatik.uni-freiburg.de Home page: http://www.informatik.uni-freiburg.de/~danlee