On Sun, Mar 17, 2002 at 11:49:55AM -0500, Richard Kreuter wrote: > On Sun, Mar 17, 2002 at 02:25:08PM +0100, Jeroen Dekkers wrote: > > On Sat, Mar 16, 2002 at 04:21:37PM -0500, Marcus Brinkmann wrote: > > > Before we can really claim FHS compliance, I would guess that > > > some things in the FHS have to change to cater for the Hurd. > > > > I already have some work on this, but it's far from finished. I will > > finish it when I've more time, I can post it if somebody is > > interested in working on it. > > Sure, I'd like to help.
Ok, this are the things I have on my hard disk. I don't claim it is perfect or even makes sense. It's some under development thing. The following things need to change in the FSH itself: 3.1 Prohibiting creating of subdirectories of the root filesystem is too restrictrive, it should be discouraged 3.4.2 We don't have dmesg, kill or umount. I think dmesg is too OS-specific, kill will be in the next shellutils and I'm not sure what to do about umount. Should we provide a frontend just like for mount? 3.5.1 Grub needs its config in /boot and that should be allowed. 3.9.3 I'm not sure /lib/modules is the right place for kernel modules. I think we should move it to the GNU/Linux specific annex. 4.11.3 /usr/share/info should be required in the GNU specific annex, /usr/share/man should be made optional here. We also might add a subsection describing the info dir layout. 5.6.1 says "it not supported under Linux", what is too OS-specific IMHO. 6.1 Should be named "GNU/Linux" instead of "Linux" This the OS specific annex I've written so far. It's not finished and the current things probably need changing. I haven't add numbers to the paragraphs to not have it to change when adding a new paragraph. I'm not sure the /var/spool/cron shouldn't go to the non OS-specific part. 6.2 GNU This is the annex for the GNU operating system. The GNU system is special compared to other UNIX-like operating systems in the way it treats the filesystem namespace. The filesystem namespace is very flexible, you can do anything with it what you want. That's why it is reasonable to specify where you should find directories and files, but not the way those directories and files should get there. 6.2.x / : The Root Filesystem It's allowed to create a new subdirectory of the root filesystem by the distribution creator or user. 6.2.x /boot : Static files of the bootloader 6.2.x /bin : Essential user command binaries (for use by all users) 6.2.x /hurd : The Hurd servers /hurd contains the Hurd server binaries. Servers with .static appended to their name must be statically linked servers, servers without .static appended should be dynamic linked servers. The following servers, or symbolic links to servers, are required in /hurd. auth[.static] The standard authentication server. exec[.static] The standard execution server. init[.static] The standard initialization and state maintaining server. proc[.static] The standard process server. 6.2.x /libexec : Executables only run by other programs The directory for installing executable programs to be run by other programs rather than by users. 6.2.x /sbin : Add parted. 6.2.x /servers : Standard location where Hurd servers translate This is the directory Hurd servers translate rendezvous filesystem nodes in standard locations, so that other programs can easily find them and use server-specific interfaces. /servers/exec The node where the exec sever translates. /servers/password The node where the password server translates. /servers/socket/1 The node where the pflocal server translates. /servers/socket/2 The node where the pfinet server translates. 6.2.x /usr : Secondary Hierarchy In the GNU system the current practice is to have /usr a symbolic link to /. The / and /usr directory have thus the namesame and names of files and directories within must not conflict. It's recommended to have the symbolink link. BEGIN RATIONALE The GNU Hurd has a special filesystem, called shadowfs, which can "merge" directories. Thus everything from different sources can be merged (both static and variable data) and /usr isn't really needed.d /usr, everything will be found under /. END RATIONALE 6.2.x /usr/share/info : GNU Info system's primary directory This directory is required. 6.2.x /usr/X11R6 : X Window System, Version 11 Release 6 This directory should not be used. Instead the X Window System should be placed in /usr. 6.2.x /var/spool/cron : cron and at jobs This directory contains the variable data for the cron and at programs. Jeroen Dekkers -- Jabber supporter - http://www.jabber.org Jabber ID: [EMAIL PROTECTED] Debian GNU supporter - http://www.debian.org http://www.gnu.org IRC: jeroen@openprojects
msg01821/pgp00000.pgp
Description: PGP signature
