--On Friday, October 25, 2019 6:39 PM -0700 Kenneth Porter shiva@sewingwitch.com wrote:
I may have to pull the coreutils-8.30-6.el8.x86_64 sources to see how ls makes these decisions.
I pulled the coreutils SRPM and it won't build because it wants texinfo and dnf says it doesn't exist, using either the builddep or search subcommands. (There may be other builddep issues but texinfo is notable for being in the vault's SRPMs but not on the mirrors.)
I think the problem likes in the strmode API used in ls.c and it seems like that comes from libbsd, but I can't be sure until I get a workable build tree so the coreutils SRPM will install.
BTW, another data point: I chmod'd a file to 0000 and now all I get is "-." for the mode string. It completely chops everything but the file type and the ACL indicator. OTOH, if I set it to 0660, I get the full string. It doesn't truncate the last octet.
[ken@rocinante src]$ chmod 0000 yes.c [ken@rocinante src]$ ls -l yes.c -. 1 ken ken 3895 May 13 2018 yes.c [ken@rocinante src]$ chmod 0006 yes.c [ken@rocinante src]$ ls -al yes.c -rw-. 1 ken ken 3895 May 13 2018 yes.c [ken@rocinante src]$ chmod 0060 yes.c [ken@rocinante src]$ ls -al yes.c ----rw----. 1 ken ken 3895 May 13 2018 yes.c [ken@rocinante src]$ chmod 0600 yes.c [ken@rocinante src]$ ls -al yes.c -rw-. 1 ken ken 3895 May 13 2018 yes.c