From nobody Sun Feb 8 10:43:26 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594893930; cv=none; d=zohomail.com; s=zohoarc; b=Y3Qu1y92nW0OgfBkSb+ZmYk5gH9u0sO4LsaAI5N6oadxk6gdfPFT0JhPoo6RtTfu1z7NtC0Nf/T8JNXJXQ2yyY9o+q6Swmhq+co2+l4MPq5MUrjkIAi8kffMr5QOv/+nggbd1l6dWUTd+o4pikVx44mV4oPGP783ocN1/2Bv6qo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594893930; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=mEHO+tSsjYN0BV+Q+r/sjuwl+UwV0iN+nHSfDPMcS2I=; b=S7iQVXI7jLEPuGnEloW8/uRLpDQKUG/0S83DNmvUsmiHRJ76F7zGCr7jUnYJf27gCqFUJFNOnDz+PHj32DfIdwUjpMWCQTmIRqat89QOO49u4G1ucDVlHFWnjB2OG6zkVdi4yP5KkfqZVnzSZwBnNJlNF6LQd6/8pQ2kajt26rM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1594893930881687.6825195727746; Thu, 16 Jul 2020 03:05:30 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-425-RgWH77TnMGiPBTJ7otwF6A-1; Thu, 16 Jul 2020 06:03:32 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 42336108C; Thu, 16 Jul 2020 10:03:26 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1C641610AF; Thu, 16 Jul 2020 10:03:26 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id DBE109625A; Thu, 16 Jul 2020 10:03:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 06GA3MQh017153 for ; Thu, 16 Jul 2020 06:03:22 -0400 Received: by smtp.corp.redhat.com (Postfix) id 77E272B6E2; Thu, 16 Jul 2020 10:03:22 +0000 (UTC) Received: from antique-work.redhat.com (unknown [10.40.194.85]) by smtp.corp.redhat.com (Postfix) with ESMTP id E67622B6DB for ; Thu, 16 Jul 2020 10:03:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594893929; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=mEHO+tSsjYN0BV+Q+r/sjuwl+UwV0iN+nHSfDPMcS2I=; b=hhKP2cnU+Mkrgy9IXVvcQh7HxApYCVvBP6RW5QDLXtvLp0sEUOlEdvGurDJxkttI6qiCKy po9yyNL3lxoV9ABmSrvYvo6mFCfnuIxa8v/+caA+mRngr0+vplSrSj6LQ3B/NYfr6RiGkP TXkeJjNgJ39RzAMQxt5aqmfYmJZ+PN0= X-MC-Unique: RgWH77TnMGiPBTJ7otwF6A-1 From: Pavel Hrdina To: libvir-list@redhat.com Subject: [libvirt PATCH 120/351] meson: add nss build option Date: Thu, 16 Jul 2020 11:55:56 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Pavel Hrdina --- configure.ac | 3 -- m4/virt-nss.m4 | 86 ----------------------------------------------- meson.build | 41 ++++++++++++++++++++++ meson_options.txt | 1 + 4 files changed, 42 insertions(+), 89 deletions(-) delete mode 100644 m4/virt-nss.m4 diff --git a/configure.ac b/configure.ac index cfe0545685f..b1faa47f81c 100644 --- a/configure.ac +++ b/configure.ac @@ -79,7 +79,6 @@ AM_CONDITIONAL([WITH_MACOS], [test "$with_macos" =3D "yes= "]) =20 # Check for compiler and library settings. =20 -LIBVIRT_ARG_NSS LIBVIRT_ARG_PM_UTILS =20 LIBVIRT_CHECK_NWFILTER @@ -105,7 +104,6 @@ LIBVIRT_ARG_SYSCTL_CONFIG LIBVIRT_CHECK_NUMAD LIBVIRT_CHECK_TLS_PRIORITY LIBVIRT_CHECK_SYSCTL_CONFIG -LIBVIRT_CHECK_NSS =20 =20 dnl Need to test if pkg-config exists @@ -164,7 +162,6 @@ AC_MSG_NOTICE([=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D]) AC_MSG_NOTICE([]) AC_MSG_NOTICE([Libraries]) AC_MSG_NOTICE([]) -LIBVIRT_RESULT_NSS LIBVIRT_RESULT_PM_UTILS AC_MSG_NOTICE([]) AC_MSG_NOTICE([Windows]) diff --git a/m4/virt-nss.m4 b/m4/virt-nss.m4 deleted file mode 100644 index b519c36e859..00000000000 --- a/m4/virt-nss.m4 +++ /dev/null @@ -1,86 +0,0 @@ -dnl The libvirt nsswitch plugin -dnl -dnl Copyright (C) 2016 Red Hat, Inc. -dnl -dnl This library is free software; you can redistribute it and/or -dnl modify it under the terms of the GNU Lesser General Public -dnl License as published by the Free Software Foundation; either -dnl version 2.1 of the License, or (at your option) any later version. -dnl -dnl This library is distributed in the hope that it will be useful, -dnl but WITHOUT ANY WARRANTY; without even the implied warranty of -dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -dnl Lesser General Public License for more details. -dnl -dnl You should have received a copy of the GNU Lesser General Public -dnl License along with this library. If not, see -dnl . -dnl - -AC_DEFUN([LIBVIRT_ARG_NSS],[ - LIBVIRT_ARG_WITH([NSS_PLUGIN], - [enable Name Service Switch plugin for resolving guest - IP addresses], [check]) -]) - -AC_DEFUN([LIBVIRT_CHECK_NSS],[ - bsd_nss=3Dno - fail=3D0 - if test "x$with_nss_plugin" !=3D "xno" ; then - if test "x$with_yajl" !=3D "xyes" ; then - if test "x$with_nss_plugin" =3D "xyes" ; then - AC_MSG_ERROR([Can't build nss plugin without yajl]) - else - with_nss_plugin=3Dno - fi - fi - - if test "x$with_network" !=3D "xyes" ; then - if test "x$with_nss_plugin" =3D "xyes" ; then - AC_MSG_ERROR([Can't build nss plugin without network]) - else - with_nss_plugin=3Dno - fi - fi - - if test "x$with_nss_plugin" !=3D "xno" ; then - AC_CHECK_HEADERS([nss.h], [ - with_nss_plugin=3Dyes - ],[ - if test "x$with_nss_plugin" =3D "xyes" ; then - fail =3D 1 - fi - ]) - - if test $fail =3D 1 ; then - AC_MSG_ERROR([Can't build nss plugin without nss.h]) - fi - fi - - if test "x$with_nss_plugin" =3D "xyes" ; then - AC_DEFINE_UNQUOTED([WITH_NSS], 1, [whether nss plugin is enabled]) - - AC_CHECK_TYPE([struct gaih_addrtuple], - [AC_DEFINE([HAVE_STRUCT_GAIH_ADDRTUPLE], [1], - [Defined if struct gaih_addrtuple exists in nss.h])], - [], [[#include - ]]) - - AC_CHECK_TYPES([ns_mtab, nss_module_unregister_fn], - [AC_DEFINE([HAVE_BSD_NSS], - [1], - [whether using BSD style NSS]) - bsd_nss=3Dyes - ], - [], - [#include ]) - fi - fi - - AM_CONDITIONAL(WITH_NSS, [test "x$with_nss_plugin" =3D "xyes"]) - AM_CONDITIONAL(WITH_BSD_NSS, [test "x$bsd_nss" =3D "xyes"]) -]) - -AC_DEFUN([LIBVIRT_RESULT_NSS],[ - LIBVIRT_RESULT([nss], [$with_nss_plugin]) -]) diff --git a/meson.build b/meson.build index 4c7345c81e3..b1bbd0f4351 100644 --- a/meson.build +++ b/meson.build @@ -2106,6 +2106,46 @@ elif get_option('login_shell').enabled() error('virt-login-shell is supported on Linux only') endif =20 +if not get_option('nss').disabled() + use_nss =3D true + if not yajl_dep.found() + if get_option('nss').enabled() + error('Can\'t build nss plugin without yajl') + else + use_nss =3D false + endif + endif + + if use_nss and not conf.has('WITH_NETWORK') + if get_option('nss').enabled() + error('Can\'t build nss plugin without network') + else + use_nss =3D false + endif + endif + + if use_nss and not cc.has_header('nss.h') + if get_option('nss').enabled() + error('Can\'t build nss plugin without nss.h') + else + use_nss =3D false + endif + endif + + if use_nss + conf.set('WITH_NSS', 1) + + if cc.has_type('struct gaih_addrtuple', prefix: '#include ') + conf.set('HAVE_STRUCT_GAIH_ADDRTUPLE', 1) + endif + + if (cc.has_type('ns_mtab', prefix: '#include ') and + cc.has_type('nss_module_unregister_fn', prefix: '#include ')) + conf.set('WITH_BSD_NSS', 1) + endif + endif +endif + =20 # define top include directory =20 @@ -2200,6 +2240,7 @@ libs_summary =3D { 'macvtap': conf.has('WITH_MACVTAP'), 'netcf': netcf_dep.found(), 'NLS': have_gnu_gettext_tools, + 'nss': conf.has('WITH_NSS'), 'numaclt': numactl_dep.found(), 'openwsman': openwsman_dep.found(), 'pciaccess': pciaccess_dep.found(), diff --git a/meson_options.txt b/meson_options.txt index 6a3c98fc697..b7a4fddb8a2 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -97,3 +97,4 @@ option('dtrace', type: 'feature', value: 'auto', descript= ion: 'use dtrace for st option('host_validate', type: 'feature', value: 'auto', description: 'buil= d virt-host-validate') option('init_script', type: 'combo', choices: ['systemd', 'openrc', 'check= ', 'none'], value: 'check', description: 'Style of init script to install') option('login_shell', type: 'feature', value: 'auto', description: 'build = virt-login-shell') +option('nss', type: 'feature', value: 'auto', description: 'enable Name Se= rvice Switch plugin for resolving guest IP addresses') --=20 2.26.2