home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / sources / wanted / 4134 < prev    next >
Encoding:
Internet Message Format  |  1992-08-29  |  2.4 KB

  1. Xref: sparky comp.sources.wanted:4134 comp.lang.perl:5597
  2. Path: sparky!uunet!olivea!hal.com!decwrl!pa.dec.com!rdg.dec.com!decvax.dec.com!gsg!lew
  3. From: lew@gsg.UUCP (Paul Lew)
  4. Newsgroups: comp.sources.wanted,comp.lang.perl
  5. Subject: Re: Need tree indexing tool
  6. Keywords: perl index tree
  7. Message-ID: <1191@gsg.UUCP>
  8. Date: 28 Aug 92 06:19:40 GMT
  9. References: <1992Aug27.221948.14004@rtsg.mot.com>
  10. Organization: General Systems Group, Inc., Salem, NH
  11. Lines: 45
  12.  
  13. muegel@rtsg.mot.com (Michael S. Muegel) writes:
  14.  
  15. >Basically I would like to be able to maintain a *very* descriptive
  16. >database on all files in our /usr/local tree except trivial things like
  17. >manual pages, include files, etc. 
  18.  
  19. I find my method extremely flexible and you dont need any program to do
  20. this.  We have over 1000 locally installed programs on our system and yet
  21. there is no problem managing them.
  22.  
  23. The trick is to use symbolic link.  I know, pointer is a sin, but when used
  24. properly the indirection provides unexpected power.  Basically you have one
  25. directory (lets call it 'pkg' here) contains all the local installed package
  26. in a sub-directory.  For example,
  27.     /pkg
  28.         /pkg/README        -- describe each package
  29.         /pkg/ghostview-1.2    
  30.         /pkg/ghostview-1.3    
  31.         /pkg/sc-6.18
  32.         /pkg/perl4.019
  33.         /pkg/perl4.034
  34.  
  35. Then, you create symbolic link to your binary directory, e.g.,
  36.     ln -s /pkg/ghostview-1.2/ghostview /usr/local/bin
  37.     ln -s /pkg/ghostview-1.2/ghostview.man /usr/man/manl/ghostview.l
  38.  
  39. A cron job will find all the symbolic links and put the contents in a file.
  40. If I installed a new version of ghostview, say version 1.3. All I have to
  41. do is to change the pointer:
  42.     grep ghostview-1.2 symbolic.log | relink s/1.2/1.3/
  43.  
  44. This allows you to back out more than 1 version which typical make install
  45. cant provide.  (I think it is critical to be able to backup to a working
  46. version when new version failed.)  It also has a good advantage: by just
  47. doing a 'ls' you will know what version of program you are running or is
  48. the manual match the program.  Since most of the package should have man
  49. page in its own sub-directory, the only file you might want to edit manually
  50. is the README file which can briefly describe each package.
  51.  
  52. Now the hardest one: convience all the programmers to adopt this method
  53. so we dont have to modify every makefile for make install.
  54. -- 
  55. Paul Lew (lew@gsg.com)                  UUCP: uunet----+
  56. General Systems Group, 5 Manor Parkway            oliveb---+--gsg--lew
  57. Salem, NH 03079    (603) 893-1000                decvax---+
  58.