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