[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

FHS - transition



(See also my post to debian-devel about this.  In particular, I'm
opposed to /var/state and think we should ignore the FHS on this
point.)

One of the key changes that the FHS has compared to the FSSTND is the
existence of /usr/share.  I think this is perfectly appropriate, but
it will take some effort.  We need to make sure that everything works
during the transitional period.

The following things should be done in the following order:

1. base-files should be amended to contain /usr/share/man,
/usr/share/doc and similar, as symlinks to /usr/man, etc.
base-files's postinst should check that none of these directories
exist as actual directories in both places and fail with an error
message if they do.

2. Package maintainers should be encouraged to put files in these
locations rather than the old ones directly in /usr.  Such packages
MUST contain a versioned dependency on base-files, or a dependency on
a virtual package (usr-share-subdirs perhaps) provided by the relevant
version of base-files.  dpkg will follow the symlink when installing
them.

3. base-files is changed so that /usr/man et al are symlinks to
/usr/share/man, instead, with check in the preinst to create the new
directories as symlinks if the old ones exist as directories.
Existing systems on which this package is installed will have
everything left alone, but new systems will end up with files in the
new locations.

4. Policy is changed to require the new placements of files, and bug
reports are filed against old packages.

5. Code is added to base-files's postinst to actually swap the
directories and symlinks around.  This needs to be done with great
care, and there will be a race where it's possible for strange states
to exist briefly.  The postinst needs to be able to merge directory
trees in case these strange states persisted due to system crash etc.

Ian.


Reply to: