tail(1): Almost sync with FreeBSD
The most important change is that the '-F' flag now supports files that
are not yet exist; it will persist in trying to open the files instead
of giving up. This behavior is the same as GNU tail.
Another major fix is that "tail -f" now works on non-local filesystems.
Things excluded from the sync:
- long options
- style changes
- capability/capsicum support
- expand_number(3) support (our libutil(3) doesn't have it)
In addition, improve the BOOTSTRAPPING handling a bit. The program
simply exits when -f/-F is specified.
tail(1): Fix '-r' (reverse) to work on pseudo filesystems
Pseudo filesystems (e.g., procfs) advertize a zero file size. Fix
reverse() to handle such a case so that '-r' works on pseudo
filesystems.
lagg.4: Improve the wired-wireless failover example
Adjust the failover example to change the MAC address of the *wired*
device instead of the *wireless* device, because some common wireless
devices do not support to change the MAC address.
Obtained-from: FreeBSD
nrelease - Preliminary Makefile adjustment to use dsynth (2)
* Add "binpkgs" option back in
* Add www/chromium to the gui build
* Use the -t option to du (calculate apparent size) so it does not
undercount the size of the root on a compressed H2 volume in order
to size a USB stick that is currently formatting UFS.
(we really need to adjust that whole mess to a dual-partition scheme
and use hammer2, but for now its still all in one UFS partition).
* Improve console output
dsynth - Don't auto-upgrade on basic directives, exit code on FAILUREs
* Don't auto-upgrade with the "build" and "force" directives. The
"install" and "upgrade-system" directives will will issue the
upgrade.
* Exit with code 1 if any builds fail with "FAILURE". Skipped packages
alone do not cause an exit code of 1.
nrelease - Preliminary Makefile adjustment to use dsynth
* Use dsynth to build packages. Note that we still have to bootstrap
"pkg" (chicken-and-egg issue).
* dsynth environment is placed in /usr/obj/release/build and is null-mounted
into the chroot.
* dsynth is run from the chroot to build and install packages.
* Output from buildworld/buildkernel/installworld/installkernel now written
to log files in /usr/obj/release instead of spewing to the console
to reduce clutter.