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 <s...@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 <s...@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