On 13/05/2022 16.34, Sean Christopherson wrote:
Adding the official KUT maintainers, they undoubtedly know more about the getopt
stuff than me.
On Fri, May 13, 2022, Dan Cross wrote:
This change modifies the `configure` script to run under illumos
Nit, use imperative mood. KUT follows the kernel's rules/guidelines for the most
part. From Linux's Documentation/process/submitting-patches.rst:
Describe your changes in imperative mood, e.g. "make xyzzy do frotz"
instead of "[This patch] makes xyzzy do frotz" or "[I] changed xyzzy
to do frotz", as if you are giving orders to the codebase to change
its behaviour.
E.g.
Exempt illumos, which reports itself as SunOS, from the `getopt -T` check
for enhanced getopt. blah blah blah...
by not probing for, `getopt -T` (illumos `getopt` supports the
required functionality, but exits with a different return status
when invoked with `-T`).
Signed-off-by: Dan Cross <cross@xxxxxxxxxxxxxxxxx>
---
configure | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index 86c3095..7193811 100755
--- a/configure
+++ b/configure
@@ -15,6 +15,7 @@ objdump=objdump
ar=ar
addr2line=addr2line
arch=$(uname -m | sed -e 's/i.86/i386/;s/arm64/aarch64/;s/arm.*/arm/;s/ppc64.*/ppc64/')
+os=$(uname -s)
host=$arch
cross_prefix=
endian=""
@@ -317,9 +318,9 @@ EOF
rm -f lib-test.{o,S}
fi
-# require enhanced getopt
+# require enhanced getopt everywhere except illumos
getopt -T > /dev/null
-if [ $? -ne 4 ]; then
+if [ $? -ne 4 ] && [ "$os" != "SunOS" ]; then
What does illumos return for `getopt -T`? Unless it's a direct collision with
the "old" getopt, why not check for illumos' return? The SunOS check could be
kept (or not). E.g. IMO this is much more self-documenting (though does $? get
clobbered by the check? I'm terrible at shell scripts...).
According to https://illumos.org/man/1/getopt :
NOTES
getopt will not be supported in the next major release.
...
So even if we apply this fix now, this will likely break soon again. Is
there another solution to this problem?
Thomas