🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.misc.discuss
Article #73290

GNU directory structure proposal

#73290
From: Andrew Wilcox
Date: Mon, 14 Oct 1991 01:55
39 lines
2757 bytes
I don't think that GNU should put program files in different
subdirectories the way that Unix does.  In the Unix model, files
are grouped together by category; binaries in one directory, info
files in another, libraries files in another, and so on.  When
installing a new program on a Unix system, the new files are scattered
around the file system.  This makes it difficult to find out how much
disk space a program is using up, to remove a program, or to replace
it with a new version.

Unix systems usually have a system administrator, whose job it is to
remember that `etags' comes with Emacs.  Many people are now using
their own computers and have to do these administration tasks
themselves.  I would like to see all the installed files of a program
stored together in its own directory.

Shells already hash the location of programs.  The GNU implementation
would probably want to hash the location of other kinds of files as well.

Here is a sample directory structure.  The top level directory is
"/programs".  Within "/programs" is a subdirectory for each package
that is released with its own version number.  Thus we have
"/programs/emacs-18.56", "/programs/binutils-1.2", and so on.  Within
the package directory you would have "executable" (for binary
programs, shell scripts, and perl programs that can be run), "info"
(for the info files), "manual_pages" (for the UNIX style man pages),
"libraries" (for the libxxx.a files), and "sources" (this is what you
would read from the tar file), as well as any extra directories that
the package needs ("lisp").

If you are using a virtual file system like Prospero, there is no need
to use a PATH variable (or a MANPATH, or LD_LIBRARY_PATH, or...),
except for compatibility with Unix.  The default "/programs" would
contain the packages that users normally use.  To make your own
programs accessible from the shell, you would make your own view of
"/programs" that includes the directories that contain your programs.

Andrew Wilcox
Department of Astronomy & Astrophysics, Pennsylvania State University
(awilcox@astro.psu.edu)
Technical Details
Message-ID: <ANDREW.91Oct13205548@multiwave.astro.psu.edu>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!wupost!psuvax1!psuvax1!andrew

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 1025b4,82933968bd844197,start
X-Google-Attributes: gid1025b4,public
X-Google-ArrivalTime: 1991-10-14 03:59:52 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!wupost!psuvax1!psuvax1!andrew
From: andrew@astro.psu.edu (Andrew Wilcox)
Newsgroups: gnu.misc.discuss
Subject: GNU directory structure proposal
Message-ID: <ANDREW.91Oct13205548@multiwave.astro.psu.edu>
Date: 14 Oct 91 01:55:48 GMT
Sender: news@cs.psu.edu (Usenet)
Distribution: gnu
Organization: Department of Astronomy and Astrophysics, Penn State University
Lines: 39
Nntp-Posting-Host: multiwave.astro.psu.edu