I run macOS 10.14.6, "Mojave". I've been studying man screen
to make some changes to its default behavior. The 2nd & 4th paragraphs under CUSTOMIZATION
read:
When screen is invoked, it executes initialization commands from the files "/usr/local/etc/screenrc" and ".screenrc" in the user's home directory. These are the "programmer's defaults" that can be overridden in the following ways: for the global screenrc file screen searches for the environment variable $SYSS-CREENRC (this override feature may be disabled at compile-time). The user specific screenrc file is
searched in $SCREENRC, then $HOME/.screenrc. The command line option -c takes precedence over the above
user screenrc files.
4th para:
Two configuration files are shipped as examples with your screen distribution: "etc/screenrc" and
"etc/etcscreenrc". They contain a number of useful examples for various commands.
But it seems there are some discrepancies:
/usr/local/etc
does not exist$SYSSCREENRC
is not defined (echo $SYSSCREENRC
=> null)$SCREENRC
is not definedetc/screenrc
does not exist (nor doesprivate/etc/screenrc
)etc/etcscreenrc
does not exist (nor doesprivate/etc/etcscreenrc
)
I've assumed that all the "Unix stuff" in macOS is maintained by Apple, and updated when required, just as the "other stuff" is. However, as my system is up-to-date, that may not be the case.
Question…
Is there a separate update process in macOS required to get updates for the Unix tools and system manuals? For example, according to man screen
Apple packages screen
ver 4.0.2 (January 2004 vintage) with macOS 10.14.6; that release was 16 years ago this month.
Is there a process outside macOS for updating this part of the system that's "sanctioned" by Apple? (By "sanctioned" I only mean a procedure designated by Apple to maintain system integrity.)
If not, has Apple acknowledged this situation? By that I'm only trying to learn if I missed something.
Best Answer
No. There is no separate process to update Unix tools/utilities.
It’s just very unlikely that the Unix tools will be updated past the versions you’re seeing now.
Why? GPL Licensing.
Using
screen
as an example, it will likely remain on version 4.0.2 because that was the last version that used the less restrictive GPLv2 public license. Version 4.2 (2007) and subsequent releases use the GPLv3 which Apple generally doesn’t want to comply with.See Is macOS mostly closed source? for more info.
As to the issues you raised regarding
screen
:/usr/local/etc
is a BSD directory. A lot of macOS has BSD underpinnings, but this directory is not used.There’s nothing to acknowledge as this was done intentionally by Apple. If you want to “update” to the latest version of a Unix utility, you either have to compile it from source, use MacPorts or HomeBrew. You’ll have to manage the updating of them, however.
Are macOS man pages outdated?
No. They are the correct man pages for the versions of the utilities that ship with macOS.