On 2025-06-12 12:16 a.m., Eli Schwartz wrote:
On 6/11/25 11:49 PM, Brad Smith wrote:
On 2025-06-11 11:42 p.m., Collin Funk wrote:
Hi Brad,
Brad Smith <brad@xxxxxxxxxxxx> writes:
Building on Solaris I noticed the following two issues with Solaris sed.
GEN version-def.h
sed: Missing newline at end of file standard input.
GEN config-list.h
sed: illegal option -- E
Usage: sed [-n] script [file...]
sed [-n] [-e script]...[-f script_file]...[file...]
https://github.com/git/git/commit/
e1b81f54da80267edee2cb8fd0d0f75f03023019
The second issue being introduced fairly recently. Not sure what
would be
appropriate fixes. Just pointing them out if someone has an
suggestions for
fixes.
I noticed these as well, but just ignored them since it seems to build
fine.
The first one seems like just a warning? Probably something to do with
POSIX defining a "Text File" as "A file that contains characters
organized into zero or more lines" where a line is "A sequence of zero
or more non- <newline> characters plus a terminating <newline>
character."
It looks as if it is just a warning to me. I wasn't worrying about that
one as much
as I was the second issue.
The second is more tricky. The '-E' option to use EREs was not added to
the specification for 'sed' until POSIX.1-2024 [1]. Maybe the script
could check for the 'gsed' command? All of the (few) Solaris machines I
use will have many GNU programs installed like that.
I can't comment on that especially as the build bits support pretty old
releases and
I have no idea how long Sun / Oracle have been shipping GNU bits like
this. I do not
believe this has always been a thing.
The Solaris box I have a shell on, has gsed installed as a purely
optional third-party addon from a third-party package feed. As far as I
know, Solaris never did nor plans to ship "GNU bits like this".
Of course, the Git project *could* declare users must first build GNU
sed, then build Git. Or only build on boxes where the admin is a GNU
enthusiast. But that option seems unlikely and unattractive...
To clarify what I meant. Solaris 11 from the looks of it includes GNU
sed with
the base OS. That was not the case with 10 and older.
The documentation for 11.4 for example mentions both versions of sed.
https://docs.oracle.com/cd/E88353_01/html/E37839/sed-1.html
https://docs.oracle.com/cd/E88353_01/html/E37839/sed-1g.html