Bug#787816: Replace FHS 2.3 by FHS 3.0 in the Policy.
- To: 787816@bugs.debian.org
- Subject: Bug#787816: Replace FHS 2.3 by FHS 3.0 in the Policy.
- From: Simon McVittie <smcv@debian.org>
- Date: Tue, 3 Jul 2018 10:56:00 +0100
- Message-id: <[🔎] 20180703095600.GA30197@espresso.pseudorandom.co.uk>
- Reply-to: Simon McVittie <smcv@debian.org>, 787816@bugs.debian.org
- In-reply-to: <87vaa3oyeb.fsf@zephyr.silentflame.com>
- References: <20150605114310.GC26854@falafel.plessy.net> <20180614110432.GA16699@espresso.pseudorandom.co.uk> <877empqnf0.fsf@zephyr.silentflame.com> <20150605114310.GC26854@falafel.plessy.net> <20180628093732.GA21039@espresso.pseudorandom.co.uk> <20150605114310.GC26854@falafel.plessy.net> <87vaa3oyeb.fsf@zephyr.silentflame.com> <20150605114310.GC26854@falafel.plessy.net>
How about the attached patch?
Complete patch series (including non-normative) updated here:
https://salsa.debian.org/smcv/policy/merge_requests/1/diffs
On Thu, 28 Jun 2018 at 14:04:28 +0100, Sean Whitton wrote:
> On Thu, Jun 28 2018, Simon McVittie wrote:
> > On 64-bit architectures, only the dynamic linker and libc are allowed to
> > install files in /lib64.
>
> Let's drop the "On 64-bit architectures..." because it makes the
> requirement simpler.
Done
> So how about adding a bullet point that says that the requirement is
> relaxed to a recommendation? Then it is a normal severity bug at most,
> if not lower.
Done
> > As an exception to the requirement for there to be no subdirectories
> > in ``/usr/bin``, the ``mh`` mail-handling suite may create
> > ``/usr/bin/mh/``, as was allowed in FHS version 2.3. Other
> > subdirectories are not allowed.
>
> LGTM.
Applied
> > I'll check that the version I imported from a web server matches what's
> > in that bzr repository.
It does (I removed an extra file that was only on the web server but
not in bzr, containing links to the various generated documents)
Thanks,
smcv
>From 5205d0a50465cf422f1040d9395d5ea83dbfde5f Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Thu, 14 Jun 2018 11:43:04 +0100
Subject: [PATCH 3/3] Update to FHS v3.0
Notable changes that this causes:
* A GNU-style /usr/libexec is now allowed.
Notable non-changes:
* /usr/games, /usr/share/games and /usr/lib/games were optional in
FHS 2.3, and are still optional. It is up to us whether we want
to keep using those directories.
Drop our special exception for /run, and replace it with a requirement
that /var/run and /var/lock are symlinks to /run and /run/lock
respectively. The FHS does not mandate that these directories are
symlinked or bind-mounted (although I think it should) and some
misguided distributions make /run and /var/run non-equivalent, but they
have always been equivalent on Debian.
Drop our special exception for /sys, which is now standardized in the
FHS.
Relax the requirement to create /usr/local/share/color to a
recommendation to avoid making 6 packages immediately noncompliant.
Add a special exception for /usr/bin/mh/ for now, restoring the FHS
2.3 situation (dropping this might be a good idea, but should be
disussed with the nmh and mailutils-mh maintainers if desired).
Signed-off-by: Simon McVittie <smcv@debian.org>
Closes: #787816
---
policy/ch-opersys.rst | 33 +++++++++++++--------------------
1 file changed, 13 insertions(+), 20 deletions(-)
diff --git a/policy/ch-opersys.rst b/policy/ch-opersys.rst
index f9f878f..cded697 100644
--- a/policy/ch-opersys.rst
+++ b/policy/ch-opersys.rst
@@ -12,7 +12,7 @@ File System Structure
~~~~~~~~~~~~~~~~~~~~~
The location of all files and directories must comply with the
-Filesystem Hierarchy Standard (FHS), version 2.3, with the exceptions
+Filesystem Hierarchy Standard (FHS), version 3.0, with the exceptions
noted below, and except where doing so would violate other terms of
Debian Policy. The following exceptions to the FHS apply:
@@ -34,9 +34,8 @@ Debian Policy. The following exceptions to the FHS apply:
is recommended the configuration files not start with the '.'
character.
-3. The requirement for amd64 to use ``/lib64`` for 64 bit binaries is
- removed. Only the dynamic linker and libc are allowed to use this
- directory.
+3. Only the dynamic linker and libc are allowed to install files
+ in ``/lib64``.
4. The requirement for object files, internal binaries, and libraries,
including ``libc.so.*``, to be located directly under ``/lib{,32}``
@@ -76,20 +75,13 @@ Debian Policy. The following exceptions to the FHS apply:
``/etc``, or at least are symlinked there, is relaxed to a
recommendation.
-8. The additional directory ``/run`` in the root file system is
- allowed. ``/run`` replaces ``/var/run``, and the subdirectory
- ``/run/lock`` replaces ``/var/lock``, with the ``/var`` directories
- replaced by symlinks for backwards compatibility. ``/run`` and
- ``/run/lock`` must follow all of the requirements in the FHS for
- ``/var/run`` and ``/var/lock``, respectively, such as file naming
- conventions, file format requirements, or the requirement that files
- be cleared during the boot process. Files and directories residing
- in ``/run`` should be stored on a temporary file system.
+8. ``/var/run`` is required to be a symbolic link to ``/run``,
+ and ``/var/lock`` is required to be a symbolic link to ``/run/lock``.
-9. The ``/sys`` directory in the root filesystem is additionally
- allowed. [#]_
+9. The ``/var/www`` directory is additionally allowed.
-10. The ``/var/www`` directory is additionally allowed.
+10. The requirement for ``/usr/local/share/color`` to exist if
+ ``/usr/share/color`` exists is relaxed to a recommendation.
11. The requirement for ``/usr/local/libqual`` to exist if ``/libqual``
or ``/usr/libqual`` exists (where ``libqual`` is a variant of
@@ -98,6 +90,11 @@ Debian Policy. The following exceptions to the FHS apply:
12. On GNU/Hurd systems, the following additional directories are
allowed in the root filesystem: ``/hurd`` and ``/servers``. [#]_
+13. As an exception to the requirement for there to be no subdirectories
+ in ``/usr/bin``, the ``mh`` mail-handling suite may create
+ ``/usr/bin/mh/``, as was allowed in FHS version 2.3. Other
+ subdirectories are not allowed.
+
The version of this document referred here can be found in the
``debian-policy`` package or on `FHS (Debian
copy) <https://www.debian.org/doc/packaging-manuals/fhs/>`_ alongside
@@ -1028,10 +1025,6 @@ Debian, so this section has been removed.
This is necessary for architecture-dependent headers file to coexist
in a ``multiarch`` setup.
-.. [#]
- This directory is used as mount point to mount virtual filesystems to
- get access to kernel information.
-
.. [#]
These directories are used to store translators and as a set of
standard names for mount points, respectively.
--
2.18.0
Reply to: