public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Sean Christopherson <seanjc@google.com>
To: Dan Cross <cross@oxidecomputer.com>
Cc: kvm@vger.kernel.org, Paolo Bonzini <pbonzini@redhat.com>,
	Thomas Huth <thuth@redhat.com>, Andrew Jones <drjones@redhat.com>
Subject: Re: [PATCH 2/2] kvm-unit-tests: configure changes for illumos.
Date: Fri, 13 May 2022 14:34:58 +0000	[thread overview]
Message-ID: <Yn5skgiL8SenOHWy@google.com> (raw)
In-Reply-To: <20220513010740.8544-3-cross@oxidecomputer.com>

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@oxidecomputer.com>
> ---
>  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...).

if [ $? -ne 4 ] && [ "$os" != "SunOS" || $? -ne 666 ]; then

  Test if your getopt(1) is this enhanced version or an old version. This
  generates no output, and sets the error status to 4. Other implementations of
  getopt(1), and this version if the environment variable GETOPT_COMPATIBLE is
  set, will return '--' and error status 0.

>      echo "Enhanced getopt is not available, add it to your PATH?"
>      exit 1
>  fi
> -- 
> 2.31.1
> 

  reply	other threads:[~2022-05-13 14:43 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-12 20:45 [PATCH] kvm-unit-tests: Build changes for illumos Dan Cross
2022-05-12 22:05 ` Sean Christopherson
2022-05-13  1:07   ` [PATCH 0/2] kvm-unit-tests: Build changes to support illumos Dan Cross
2022-05-13  1:07     ` [PATCH 1/2] kvm-unit-tests: invoke $LD explicitly in Dan Cross
2022-05-13  1:07     ` [PATCH 2/2] kvm-unit-tests: configure changes for illumos Dan Cross
2022-05-13 14:34       ` Sean Christopherson [this message]
2022-05-19  9:53         ` Thomas Huth
2022-05-24 21:20           ` Dan Cross
2022-05-25  7:41             ` Thomas Huth
2022-05-24 21:22         ` Dan Cross
2022-05-25  7:44           ` Thomas Huth
2022-05-26  7:11             ` Andrew Jones
2022-05-26 17:39               ` [PATCH 0/2] kvm-unit-tests: Build changes to support illumos Dan Cross
2022-05-26 17:39                 ` [PATCH 1/2] kvm-unit-tests: invoke $LD explicitly in Dan Cross
2022-05-26 21:17                   ` Sean Christopherson
2022-06-01  7:03                   ` Thomas Huth
2022-06-01 17:09                     ` Dan Cross
2022-06-01 17:43                       ` Andrew Jones
2022-06-01 21:51                         ` Dan Cross
2022-06-01 21:57                           ` [PATCH v4 0/2] kvm-unit-tests: Build changes to support illumos Dan Cross
2022-06-01 21:57                             ` [PATCH v4 1/2] kvm-unit-tests: configure changes for illumos Dan Cross
2022-06-01 21:57                             ` [PATCH v4 2/2] kvm-unit-tests: invoke $LD explicitly Dan Cross
2022-06-02 10:53                             ` [PATCH v4 0/2] kvm-unit-tests: Build changes to support illumos Thomas Huth
2022-06-02 11:32                               ` Dan Cross
2022-05-26 17:39                 ` [PATCH 2/2] kvm-unit-tests: configure changes for illumos Dan Cross
2022-05-26 21:23                   ` Sean Christopherson
2022-05-26 22:17                     ` Dan Cross
2022-05-27 14:41                       ` Sean Christopherson
2022-05-31 17:02                         ` Dan Cross
2022-05-26 17:40               ` Dan Cross
     [not found]   ` <CAA9fzEGdi0k8bkyXQwvt6gFd-gwHNNFF7A89U4DhtGHjKqe4AQ@mail.gmail.com>
2022-05-13  1:27     ` Fwd: [PATCH] kvm-unit-tests: Build " Dan Cross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yn5skgiL8SenOHWy@google.com \
    --to=seanjc@google.com \
    --cc=cross@oxidecomputer.com \
    --cc=drjones@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox