opnsense-src/etc/mtree
Dag-Erling Smørgrav 08e8554c4a env: Add a handful of test cases.
MFC after:	3 days
Sponsored by:	Klara, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D46996

(cherry picked from commit 334af5e4131b21c658203635bf713d6a59846585)

env: Improve documentation.

* The `env` utility's inability to run a command whose name contains an
  equal sign is a feature, not a bug, so move that paragraph up from the
  BUGS section to the DESCRIPTION section.

* Mention that this can be worked around by prefixing the command name
  with `command`, and add an example of this to the EXAMPLE section.

* Add a test case which verifies that `env` does not run a command with
  an equal sign in its name even if it exists, and also demonstrates the
  workaround.

MFC after:	3 days
Sponsored by:	Klara, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D46997

(cherry picked from commit a0dfb0668b45506de97beb4c7acbe3fd1ba69fc8)

env: Add an option to change the directory.

This mirrors the equivalent option in GNU coreutils env, but does not
add support for long options.

MFC after:	3 days
Relnotes:	yes
Sponsored by:	Klara, Inc.
Reviewed by:	0mp, bcr
Differential Revision:	https://reviews.freebsd.org/D47008

(cherry picked from commit 6f6166e49c78f6460732c02bbbba6fcc218221cf)

env: Check the status of stdout.

MFC after:	3 days
Sponsored by:	Klara, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D47009

(cherry picked from commit c2d93a803acef634bd0eede6673aeea59e90c277)
2024-10-15 05:25:15 +00:00
..
BSD.debug.dist Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb 2024-04-19 23:12:03 +02:00
BSD.include.dist Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb 2024-04-19 23:12:03 +02:00
BSD.lib32.dist Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
BSD.release.dist Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
BSD.root.dist mtree: Add missing directories generated by certctl 2024-05-22 15:29:19 -06:00
BSD.sendmail.dist Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
BSD.tests.dist env: Add a handful of test cases. 2024-10-15 05:25:15 +00:00
BSD.usr.dist BSD.usr.dist: remove empty /usr/libdata/gcc directory 2024-05-01 15:42:57 -03:00
BSD.var.dist Remove remnants of portsnap(8) 2024-05-09 15:52:53 +09:00
Makefile etc: remove leftover leading empty comments, blank lines 2023-08-22 13:03:28 -05:00
README etc: remove leftover leading empty comments, blank lines 2023-08-22 13:03:28 -05:00

Note: If you modify these files, please keep hier(7) updated!

These files are used to create empty file hierarchies for building the
system into.  Some notes about working with them are placed here to try
and keep them in good working order.

    a)  The files use 4 space indentation, and other than in the header
        comments, should not contain any tabs.  An indentation of 4 is
        preferable to the standard indentation of 8 because the indentation
        of levels in these files can become quite deep causing the line to
        overflow 80 characters.

        This also matches with the files generated when using the
        mtree -c option, which was implemented that way for the same reason.

    b)  Only directories should be listed here.

    c)  The listing should be kept in filename sorted order.

    d)  Sanity checking changes to these files can be done by following
        this procedure (the sed -e is ugly, but fixing mtree -c to
        not emit the trailing white space would be even uglier):

            mkdir /tmp/MTREE
            mtree -deU -f BSD.X.dist -p /tmp/MTREE
            mtree -cdin -k uname,gname,mode -p /tmp/MTREE | \
		sed -e 's/ *$//' >BSD.X.new
            diff -u BSD.X.dist BSD.X.new
            rm -r /tmp/MTREE

        Note that you will get some differences about /set lines,
        and uname= gname= on certain directory areas, mainly man page
        sections.  This is caused by mtree not having a look ahead
        mechanism for making better selections for these as it
        traverses the hierarchy.

        The BSD.X.new file should NOT be committed, as it will be missing
        the correct header, and important keywords like ``nochange''.
        Simply use the diff for a sanity check to make sure things are in
        the correct order and correctly indented.

    e)  Further sanity checking of the system builds with DESTDIR=/someplace
        are more complicated, but can often catch missing entries in these
        files.  I tend to run this more complete sanity check shortly after
        the target date for a new release is announced.

        If you want details on it bug me about it via email to
        rgrimes@FreeBSD.org.