home *** CD-ROM | disk | FTP | other *** search
- .Ch "Directory Layout and PATH in C News"
- .Ix directories
- .Ix PATH
- .Ix /usr/lib/news
- .Ix /usr/lib/newsbin
- .Ix /usr/spool/news
- .SH
- Intro
- .LP
- C News
- is constrained by historical compatibility with
- B News,
- but we also want to provide more flexibility for local news administrators.
- Accordingly, our directory organization is a little different from that
- of B News.
- We also make a lot of use of subordinate programs rather than lumping
- everything into a few giant lumps,
- and this means we need a notion of
- search paths.
- .LP
- See also ``Configuration Mechanisms in C News'',
- which talks about how
- to alter the defaults for these paths and such.
- .SH
- Directory organization
- .LP
- We retain the notion that a single directory
- (usually /usr/spool/news)
- is the top of the news-article database.
- We also use subdirectories of this directory,
- using names including `.' to
- ensure that they cannot collide with newsgroup names,
- to hold incoming batches and outgoing batch control files.
- One can debate whether this is the right place for these activities,
- but in practice
- /usr/spool/news
- tends to be where people want to put
- potentially-big traffic-handling directories,
- and it's not worth providing for separate variation of the location.
- .LP
- We do split the former
- /usr/lib/news
- into two,
- however.
- We reserve
- /usr/lib/news
- itself for control files that are logically
- part of the database.
- (It would make sense to put those under some subdirectory of
- /usr/spool/news,
- but that would break a lot of programs that think these
- files live in
- /usr/lib/news.)
- The programs\(emthose which don't need to be directly executable by
- users or \fIuucp\fR\(emlive in
- /usr/lib/newsbin.
- Actually,
- they usually live in subdirectories thereof,
- with each significant subsystem having its own subdirectory to keep the
- individual directories manageable in complexity.
- There are occasional general-purpose utilities at the top level;
- there aren't enough of them to be worth a separate directory.
- .SH
- PATH
- .LP
- In general,
- things are organized to permit sharing of
- /usr/lib/newsbin
- among multiple databases.
- It doesn't make sense to share
- /usr/lib/news
- among multiple databases,
- as much of the stuff that lives there is logically part of the database.
- .LP
- There is a possibility that an individual database will want to override
- specific decisions made by the programs,
- i.e. will want its own version
- of some programs.
- Accordingly,
- provision is made for a `bin' directory under
- /usr/lib/news.
- News software should set its PATH to something on the order of
- .DS
- .ft B
- /usr/lib/news/bin:/usr/lib/newsbin/xxx:/usr/lib/newsbin:/bin:/usr/bin
- .ft
- .DE
- (See the ``Configuration Mechanisms'' document for how this
- should \fIactually\fR be written,
- to facilitate configuration changes
- and local customization.)
- That is,
- first look in the database's bin directory for overrides,
- then in some subdirectory of
- /usr/lib/newsbin
- for the subsystem's
- programs,
- then in
- newsbin
- itself for news-wide utilities,
- then in the standard system directories for standard Unix utilities.
-