From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [PATCH 05/26] configure, meson: convert pam detection to meson
Date: Tue, 8 Jun 2021 21:20:53 +0100 [thread overview]
Message-ID: <YL/RJUcRTCzlLq2y@redhat.com> (raw)
In-Reply-To: <08135c0f-ce6b-53ad-be57-eba428fbfbf5@linaro.org>
On Tue, Jun 08, 2021 at 12:45:51PM -0700, Richard Henderson wrote:
> On 6/8/21 4:22 AM, Paolo Bonzini wrote:
> > +pam = not_found
> > +if not get_option('auth_pam').auto() or have_system
> > + pam = cc.find_library('pam', has_headers: ['security/pam_appl.h'],
>
> The condition doesn't look right.
> Why are we looking for pam if --disable-pam-auth?
>
> Surely
>
> if not get_option('auth_pam').disabled() and have_system
This isn't entirely obvious at first glance, but the line after
the one you quote with the 'required' param makes it "do the
right thing (tm)".
The 'auth_pam' option is a tri-state taking 'enabled', 'disabled'
and 'auto', with 'auto' being the default state. When a tri-state
value is passed as the value of the 'required' parameter, then
required==enabled is interpreted as 'required=true'
required==auto is interpreted as 'required=false'
required==disabled means the entire call is a no-op
So this logic:
if not get_option('auth_pam').auto() or have_system
pam = cc.find_library('pam', has_headers: ['security/pam_appl.h'],
required: get_option('auth_pam'),
...)
Means
=> If 'auto' is set, then only look for the library if we're
building system emulators. In this case 'required:' will
evaluate to 'false', and so we'll gracefully degrade
if the library is missing.
=> If 'enabled' is set, then we'll look for the library
and if it is missing then it is a fatal error as
'required' will evaluate to 'true'.
=> If 'disabled' is set, then the 'find_library' call
will not look for anything, immediately return a
'not found' result and let the caller carry on.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
next prev parent reply other threads:[~2021-06-08 20:21 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-08 11:22 [PATCH 00/22] Convert more checks to Meson Paolo Bonzini
2021-06-08 11:22 ` [PATCH 01/26] meson: drop unused CONFIG_GCRYPT_HMAC Paolo Bonzini
2021-06-08 17:37 ` Richard Henderson
2021-06-15 13:53 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 02/26] configure: drop unused variables for xts Paolo Bonzini
2021-06-08 12:15 ` Philippe Mathieu-Daudé
2021-06-08 17:38 ` Richard Henderson
2021-06-15 13:55 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 03/26] configure, meson: convert crypto detection to meson Paolo Bonzini
2021-06-08 19:16 ` Richard Henderson
2021-06-15 14:01 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 04/26] configure, meson: convert libtasn1 " Paolo Bonzini
2021-06-08 19:32 ` Richard Henderson
2021-06-15 14:04 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 05/26] configure, meson: convert pam " Paolo Bonzini
2021-06-08 19:45 ` Richard Henderson
2021-06-08 19:47 ` Richard Henderson
2021-06-08 20:20 ` Daniel P. Berrangé [this message]
2021-06-09 15:46 ` Richard Henderson
2021-06-09 15:57 ` Daniel P. Berrangé
2021-06-09 16:47 ` Richard Henderson
2021-06-15 13:58 ` Paolo Bonzini
2021-06-15 14:05 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 06/26] configure, meson: convert libusb " Paolo Bonzini
2021-06-15 14:06 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 07/26] configure, meson: convert libcacard " Paolo Bonzini
2021-06-15 14:08 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 08/26] configure, meson: convert libusbredir " Paolo Bonzini
2021-06-15 14:09 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 09/26] configure, meson: convert vte " Paolo Bonzini
2021-06-15 14:24 ` Daniel P. Berrangé
2021-06-15 15:12 ` Paolo Bonzini
2021-06-08 11:22 ` [PATCH 10/26] configure, meson: convert virgl " Paolo Bonzini
2021-06-15 14:25 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 11/26] configure, meson: convert libdaxctl " Paolo Bonzini
2021-06-15 14:37 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 12/26] configure, meson: convert libpmem " Paolo Bonzini
2021-06-15 14:37 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 13/26] configure, meson: convert liburing " Paolo Bonzini
2021-06-15 14:38 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 14/26] configure, meson: convert libxml2 " Paolo Bonzini
2021-06-15 14:44 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 15/26] meson: sort header tests Paolo Bonzini
2021-06-08 12:15 ` Philippe Mathieu-Daudé
2021-06-15 14:47 ` Daniel P. Berrangé
2021-06-15 15:16 ` Paolo Bonzini
2021-06-15 15:50 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 16/26] meson: remove preadv from summary Paolo Bonzini
2021-06-15 14:48 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 17/26] configure, meson: move CONFIG_IVSHMEM to meson Paolo Bonzini
2021-06-15 14:50 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 18/26] configure: convert HAVE_BROKEN_SIZE_MAX " Paolo Bonzini
2021-06-15 14:51 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 19/26] configure: convert compiler tests to meson, part 1 Paolo Bonzini
2021-06-15 14:59 ` Daniel P. Berrangé
2021-06-15 15:15 ` Paolo Bonzini
2021-06-08 11:22 ` [PATCH 20/26] meson: store dependency('threads') in a variable Paolo Bonzini
2021-06-15 15:02 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 21/26] configure: convert compiler tests to meson, part 2 Paolo Bonzini
2021-06-15 15:03 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 22/26] configure: convert compiler tests to meson, part 3 Paolo Bonzini
2021-06-15 15:08 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 23/26] configure: convert CONFIG_STATIC_ASSERT tests to meson Paolo Bonzini
2021-06-08 12:17 ` Philippe Mathieu-Daudé
2021-06-15 15:08 ` Daniel P. Berrangé
2021-06-08 11:22 ` [PATCH 24/26] configure: convert compiler tests to meson, part 4 Paolo Bonzini
2021-06-15 15:13 ` Daniel P. Berrangé
2021-06-08 11:23 ` [PATCH 25/26] configure: convert compiler tests to meson, part 5 Paolo Bonzini
2021-06-15 15:15 ` Daniel P. Berrangé
2021-06-08 11:23 ` [PATCH 26/26] configure: convert compiler tests to meson, part 6 Paolo Bonzini
2021-06-15 15:17 ` Daniel P. Berrangé
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=YL/RJUcRTCzlLq2y@redhat.com \
--to=berrange@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/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;
as well as URLs for NNTP newsgroup(s).