Hi folks, Joey Hess noted a series of place where we need to add caveats to the FHS 2.3, some of which can be gradually removed from the policy. While we have had a number of seconds to this proposal, we have not actually had a complete policy proposal (the devil lies in the details, as we know). Here is a list of current issues I see with FHS 2.3. Please correct me where I am mistaken, and we can use this as basis for creating the exception language for policy.
manoj We need to add an exception for 4), below, and let the X folks decide on the name of the configuration files (optional requirement for the FHS, I think) We need to allow an exception for dot file locations in user home directories in 5) below (again, this is an optional or a should requirement) Allow for /cdrom as an extension in 6) below, and perhaps see if we can move to compliance in later releases Exempt ia64/amd64 from the requirement that is must use /lib64 (8) below). Either have base files create a symlink to /usr/local/share/man, or allow an exception in policy. 9) below. Allow exceptions for having more than one default configuration file, as per 10) below. Let window managers have more flexibility in naming configuration files (11) below) et grub and other boot loader files live outside of /etc (like, in /boot) without symlinks. 12) below. ====================================================================== 1) === FHS 2.3 adds: ====================================================================== 3.3: Specific Options The following directories, or symbolic links to directories, must be in /, if the corresponding subsystem is installed: Directory Description home User home directories (optional) lib<qual> Alternate format essential shared libraries (optional) root Home directory for the root user (optional) Each directory listed above is specified in detail in separate subsections below. ====================================================================== We comply. 2)== In /bin, /bin/ed is no longer mandated, however, /bin/hostname is. (We comply). 3) == Language related to /bin/sh was cleaned up. Mention of Csh removed. [ and test must be in the same dir now. (We comply). 4)== Added optional dirs /etc/sgml and /etc/xml. The number of mandatory files in /etc has dropped. (We comply). It does, however, seem to say we need /etc/X11/XF86Config instead of our XF86Config-4, and want /etc/X11/Xmodmap (optional, thank goodness). /etc/X11/xorg.conf seems not to be covered ********************************NOT COMPLIANT************* 5)== User specific configuration files for applications are stored in the user's home directory in a file that starts with the '.' character (a "dot file"). If an application needs to create more than one dot file then they should be placed in a subdirectory with a name starting with a '.' character, (a "dot directory"). In this case the configuration files should not start with the '.' character. This is a new requirement. While moving the configuration files for various programs may seem like a good idea -- when these programs were being written. It doesn't seem at all worthwhile to endure a transition of existing software for the marginal aesthetic benefits. After all, You have to take into account to that ~/ is not unusually a shared resource, and the rest of the world has not changed. ~/Desktop -- if this is not a configuration file, it seems like out of scope for the FHS. However, since it seems to be a link to ~/.gnome-desktop in some cases, this seems not to be data. ~/lynx_bookmarks.html * bash reads and writes a number of files in ~/ (.bash_profile, .bashrc, .bash_history) * there are several directories related to GNOME (at least ~/.gnome2 and ~/.gnome2_private) gnome: .gnome, .gnome-private as well. Maybe this squeaks by since there are subdirs, not files? * vim has ~/.vimrc, ~/.viminfo (configure IIRC), ~/.vim/ ~/GNUstep * Window Maker stores its configuration across several files and directories under ~/GNUstep (configurable) The default is not going to change. * offlineimap (.offlineimaprc, .offlineimaprc.py, .offlineimap/) * X (.Xauthority, .xinitrc, .xsession, .xsession-errors, .Xresources, .Xmodmap, etc) But perhaps X is more than one "application", dunno. * CVS (.cvsrc, .cvspass) * scummvm (.svummvmrc and .scummvm/) * zsh (.zcompdump, .zlogin, .zshenv, .zshrc) * ion2 (.ion2/.welcome_msg_displayed ; the filename should not start with a dot in order to comply) ~/Maildir -- definitely data * aspell stores user's dictionaries in ~/, and it store several files per language. However, these can be considered data ********************************NOT COMPLIANT************** But this is optional, really. 6)== Allows stuff like /lib64 or the like. /media is added as mount points -- stuff that used to go under /mnt, which is still retained. There a re a number of required subdirectories under /media, which we don't have. Also, /srv should exist. /media exists on new installations /srv does as well. we still have a /cdrom link to /media since some programs (like apt) have not transitioned. ********************************COMPLIANT on new installs?************* 7)== /usr/local/etc may be a link to /etc/local, /var/lib/hwclock/adjtime has been moved here from /etc So, we have a few minor things to tweak (/media, /srv, and the XF86Config stuff, and then we should be OK to move to FHS 2.3 in Etch. 8)== Requires amd64 to use /lib64 for 64 bit binaries. I'm told this is not present in our amd64 architecture. I suspect this is overspecified in the FHS and policy should excempt ia64 from the requirement, although someone should make sure /lib64 works if a extra-Debian source puts a library there. 9)== Requires a /usr/local/share/man be "synonomous" with /usr/local/man. We do not have a /usr/local/share/man, and will need to add such a symlink to comply. 10) We recommend that window managers with only one configuration file which is a default .*wmrc file must name it system.*wmrc (unless there is a widely-accepted alternative name) and not use a subdirectory. Umm, say what? Is this a must directive, or not? 11) Any window manager subdirectories must be identically named to the actual window manager binary. So, fvwm, whose binary is sometimes called fvwm2, needs to move the config files around as the versions upgrade and the alternatives are changed? 12)== Requires boot loader configs in /etc, but does allow them to just be symlinks to the real location (ie, /etc/grub/menu.lst -> /boot/grub/menu.lst). We do not have such symlinks for at least grub, didn't check ia64, powerpc, sparc, and other arches that have bootloader config files. We will need to fix this. manoj -- Microbiology Lab: Staph Only! Manoj Srivastava <[EMAIL PROTECTED]> <http://www.debian.org/%7Esrivasta/> 1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]