From nobody Tue Feb 10 00:22:22 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=quarantine dis=quarantine) header.from=suse.com ARC-Seal: i=1; a=rsa-sha256; t=1673474813; cv=none; d=zohomail.com; s=zohoarc; b=SBfNAC5eDg9aVzO9VwpQPCBhMRJx/Ek97ZBTfp1pO/q9Ob0bwQBs9/cfAbNQbX0ZmBon3rRWnfrhK2c3FrlRc5W9yr+9+Xd+iyerhc/n1krVCjhY0O4RRAyfP2iMApmck+FhcfqpcJTjdMWWBykt1PxbkE8gToLYM/FhdkfKqKk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1673474813; h=Content-Type:Content-Transfer-Encoding:Cc: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=+hxefcv5TP9AVaEewD1LbIxUdxvGK0mIyr6PUNospBU=; b=HceVJPjumrsMyOWJ1xshOPHyC49U/+BDVf8nX9gvfGunE50tKQhNpewZm78mN2qzJgymw4IuRNoByilWonFaZlkCMAEei8AJ9ZYu9cQssnzv+V6+/+lySmD1DmKBw8G6actp1nBUhP33LkkT90/cgN9dy+VONTpTcU9lpRXuhc4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=quarantine dis=quarantine) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1673474813647582.8183410940712; Wed, 11 Jan 2023 14:06:53 -0800 (PST) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-616-ppJFrXn6MVGnoRKJtr08Yw-1; Wed, 11 Jan 2023 17:06:50 -0500 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E59861C0040F; Wed, 11 Jan 2023 22:06:47 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id CCE51C158BB; Wed, 11 Jan 2023 22:06:47 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id ACAA81946A6D; Wed, 11 Jan 2023 22:06:47 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id E901F19465A3 for ; Wed, 11 Jan 2023 22:06:31 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id DB3C6C158BB; Wed, 11 Jan 2023 22:06:31 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast07.extmail.prod.ext.rdu2.redhat.com [10.11.55.23]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D32C6C15BA0 for ; Wed, 11 Jan 2023 22:06:31 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B4A653C0D84F for ; Wed, 11 Jan 2023 22:06:31 +0000 (UTC) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2074.outbound.protection.outlook.com [40.107.6.74]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-437-WcGyqXRKMd2_WXq6rswKgw-1; Wed, 11 Jan 2023 17:06:28 -0500 Received: from AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) by AM7PR04MB6806.eurprd04.prod.outlook.com (2603:10a6:20b:103::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Wed, 11 Jan 2023 22:06:26 +0000 Received: from AM0PR04MB4899.eurprd04.prod.outlook.com ([fe80::c5dc:fe50:9918:744f]) by AM0PR04MB4899.eurprd04.prod.outlook.com ([fe80::c5dc:fe50:9918:744f%3]) with mapi id 15.20.6002.012; Wed, 11 Jan 2023 22:06:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1673474812; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc: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=+hxefcv5TP9AVaEewD1LbIxUdxvGK0mIyr6PUNospBU=; b=fggrkd1IBI1Qn90Ln1VKTTbUFye/QU0MR7o55zbqkDmiLZNBDf/gzqqk8Z2YamQV5RYhZZ pzomxhjHfd5P9uPT5kmYh4BRbcG2ARtau7NvRg4iLxILMaH1lc1fR/WL4Og3ENX/xvaqur n10lMZuDQO12n/nHQij5cOVAcvFTw58= X-MC-Unique: ppJFrXn6MVGnoRKJtr08Yw-1 X-Original-To: libvir-list@listman.corp.redhat.com X-MC-Unique: WcGyqXRKMd2_WXq6rswKgw-1 From: Jim Fehlig To: libvir-list@redhat.com Subject: [PATCH V8 06/13] spec: Move common files and dependencies to libvirt-daemon-common Date: Wed, 11 Jan 2023 15:05:53 -0700 Message-ID: <20230111220600.29680-7-jfehlig@suse.com> In-Reply-To: <20230111220600.29680-1-jfehlig@suse.com> References: <20230111220600.29680-1-jfehlig@suse.com> X-ClientProxiedBy: FR3P281CA0021.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::11) To AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB4899:EE_|AM7PR04MB6806:EE_ X-MS-Office365-Filtering-Correlation-Id: 85554179-68d2-447a-8191-08daf4201547 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: LBG+E+imx2kNNowC7dNc94GFRVQUfi8BBnWgz6dBRwPXAyOjIA3bn6KJMfG7Rzmdv6qZXo7mqrq8axJiP25IYu551og8ltjC8sxAWMzN0pYdzY+UtQM+gf8kjFkH1IGmPevpep3sRAV9Cb92ftsL9/mI/ls4DmO+B4AaF/lFdaGdnB1IcAOdvM34YpRNz2aAAdHX7jJje1Ru+Ii19PoDERix4JQZbH4Q/EJO9IHuBN21ET0hRChDm0Uf9NDfVlrhDYlVeAfX62jT/YsSO0prUhvhsvwX+vVi5eGsH90TayLV7o/8LTfrTMwuQ2ytnd/LSUtWRXZIcjy5SI5y6QCbDgN3olcj77NdJVAUyD4WAjIq19VShOuI+VjMcuQBSdyuVVENgr5jbhXaV0cYcHvBx0F8f2Snv3a2KDKxANSD5uyK2f9sjuBghL8trZjdcts1/00uoKmKQG65r0MMDq/o5FmED7CMmNCeZO5wmJNcfIXERXePyvC0hJ40BiNQGQEuXOQTSQsE9mzrniNAPg/2gP8ys4q25oPkP9UUE68P1VMNyyYKKowlt6ksUmrsAxsoVYJ5RgIc2ivqrOQAtCbDCEtQkJKOt8idObmyQmT/riEQQ7R8qSkKSXQmQ3W++veN8VnNksnHhMaUVK8sUFP/qg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR04MB4899.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(376002)(346002)(39860400002)(136003)(396003)(366004)(451199015)(38100700002)(8936002)(450100002)(66946007)(2906002)(478600001)(5660300002)(6486002)(2616005)(41300700001)(86362001)(66476007)(66556008)(36756003)(4326008)(6916009)(8676002)(6512007)(26005)(186003)(316002)(83380400001)(6666004)(1076003)(6506007); DIR:OUT; SFP:1101 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?PeSAibJ+3HyaYbXR09zx2t05lREn17C1rvVOpWV3Ljv1HIWPbfAaeYQf9CZc?= =?us-ascii?Q?29xsJyPZIlLmTseCY5RB/vI8tcwWKLSBVQibt9FGxp6cfsBbA/0ZT836bURG?= =?us-ascii?Q?KpSmJBOPfORHbWl8FLWVPK8W7w9xKEHDiEgHUimvgfPEsuSmAPhACbAACTWy?= =?us-ascii?Q?00YIMPBdFM/Z+BObJiXuPBNYMPQZ+NwtcBTT3Hg52lcrIXxqYmyFA3ZPQIHh?= =?us-ascii?Q?Nf3xufIPtsmrKRbkLPQWdu3+wDM0ylhoEzuAPsKQroQLwnWdY2S4NPbtUiaE?= =?us-ascii?Q?BFtlvhBbVpP+HBfo/7HnMbSzegJq7R7MJzkvfrXnpCERbXDNg5KEwZilmPSE?= =?us-ascii?Q?qxFgnOVfKTS4zunO4/qRTDBEnnqyRIm5Z1jnEFLA4Vqu9mD/49chUwklzfVQ?= =?us-ascii?Q?kiTGPgaPM0ZobVSrQqrs53+cz9MLtfDmEGE4j4Reb7azO1BsL92HgZzOku20?= =?us-ascii?Q?SVIOwePU1hMu+4chMC7O+SjzS9pPmJHmwMUYOISw42BZZAZY2rjRYF+V8w76?= =?us-ascii?Q?tzSKsSPJtcZf3kBA3Ee2GZKkSSepAy8v8FYEVA2JBx5652JUynuQB4vODNnI?= =?us-ascii?Q?HYrtbkQJGRBXy/iZ1f7iKuH3QjBnTckGRBp5sYkItSSlAnxIynp4fR7wDb8/?= =?us-ascii?Q?rmnH6h1rVevFddvAHvn3aB3ZltzPUmCZGi1YyzqLIHuy4vk9rIxbIYaHpq/V?= =?us-ascii?Q?ffR/s4XL8OfXiZOLsgnkG2EwpqV6Pq1ff+yxhJ2qP3YkUyqWSzL0H9vWqXK2?= =?us-ascii?Q?sBGs5ALsCZfPjdtQzU3KktOXd6GkMaLD5ZO1orQt82eqSFUhnJZuJ/tPfmK6?= =?us-ascii?Q?1X2lh3ANx3sks2iJ5xJDOOfB6Cyg+Ktc/MYfLKJXmi0giJUH7k+qgY20fDT+?= =?us-ascii?Q?3ZPB6FLR8dspk91sj3dJqpdLpjrXuc47F8For6MCiKqG5sXxNOTSV3Xd1hlo?= =?us-ascii?Q?g53FQj3goCkFeiLBBkqJUK8m3XwX/saEiX+BAawSNgVAnnfG/+JpHZDmbuWx?= =?us-ascii?Q?MugpilbFhxJYN81uY67waogtYRi0FnBXRVw4evIHUQylUxibakRlYE0oGSVA?= =?us-ascii?Q?ZpaMhY4VvArMZa5qEmAIOBjc5ut2A2g9M26JjGjuWtQS6jzGyy1Fx0hD38t1?= =?us-ascii?Q?P4Gp0BH0pw0kEhSIlNrr/+W9MfvXrjuAQlVnr1V9a1yafVwBzXvPcWBZ34Md?= =?us-ascii?Q?R8ygcROKeQIbM8YOfUF/n9zULE8lRagIbWZ3MrwBHv27JjJYhsHBnAYhRU9E?= =?us-ascii?Q?WnJWCsAShTrKeu54Bq2ufDT+or4U7e81GTIjsDe6d386Vg/it4/++l69Xliw?= =?us-ascii?Q?FlJUvlirKyHSUU2ERduD+h4y1ym4+bS5wD7GfXliIj/owe+q3dF24h++ilUT?= =?us-ascii?Q?18y3mbuUDRvRwuEFxFd/erOlpnN5tlHQB8TahLhFH+9z7sHL9ZcwNgChZlK5?= =?us-ascii?Q?WGHqb9rVw9EMRYoqa2K46VZlSA1p/UV+7edN/YIblkMVlXuu6KVceTSqrTZd?= =?us-ascii?Q?i9ADQ1cZ9t0oN/x/P1FDawYUXCE7ivaDcLm1yx1yozrZYoEUWu2yq3Uc7z2+?= =?us-ascii?Q?P3sXzwLioSlkBIcLPVKkXnEXvJMldbTj40oWq6cE?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 85554179-68d2-447a-8191-08daf4201547 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB4899.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Jan 2023 22:06:26.2141 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Kg2tKYK9l+jOadKLo8051zWpWesoJObAxE72HtXRhQ1c+Fx6hKIefjZ/G3aLvfvpoQVyUTReKi6CFeS2/hqoOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6806 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrea Bolognani Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1673474814698100001 Content-Type: text/plain; charset="utf-8" Introduce a new subpackage libvirt-daemon-common and move virt-admin, virt-host-validate, virt-ssh-helper, libvirt-guests and miscellaneous files/directories to it. Also move common dependencies to the new subpackage. These files, utilities, and dependecies are used by other core libvirt daemons Signed-off-by: Jim Fehlig Reviewed-by: Andrea Bolognani --- libvirt.spec.in | 77 ++++++++++++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 29 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index 56cf35ef06..4c2e6e3587 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -432,17 +432,30 @@ Summary: Server side daemon and supporting files for = libvirt library =20 # The client side, i.e. shared libs are in a subpackage Requires: libvirt-libs =3D %{version}-%{release} +Requires: libvirt-daemon-common =3D %{version}-%{release} Requires: libvirt-daemon-lock =3D %{version}-%{release} Requires: libvirt-daemon-plugin-lockd =3D %{version}-%{release} Requires: libvirt-daemon-log =3D %{version}-%{release} Requires: libvirt-daemon-proxy =3D %{version}-%{release} +# for modprobe of pci devices +Requires: module-init-tools +%if %{with_numad} +Requires: numad +%endif + +%description daemon +Server side daemon required to manage the virtualization capabilities +of recent versions of Linux. Requires a hypervisor specific sub-RPM +for specific drivers. + +%package daemon-common +Summary: Files and utilities used by daemons +Requires: libvirt-libs =3D %{version}-%{release} # The libvirt-guests.sh script requires virsh from libvirt-client subpacka= ge, # but not every deployment wants to use libvirt-guests service. Using # Recommends here will install libvirt-client by default (if available), b= ut # RPM won't complain if the package is unavailable, masked, or removed lat= er. Recommends: libvirt-client =3D %{version}-%{release} -# for modprobe of pci devices -Requires: module-init-tools # for /sbin/ip Requires: iproute # for /sbin/tc @@ -454,9 +467,6 @@ Requires: dmidecode %endif # For service management Requires(post): /usr/bin/systemctl -%if %{with_numad} -Requires: numad -%endif # libvirtd depends on 'messagebus' service Requires: dbus # For uid creation during pre @@ -473,10 +483,8 @@ Obsoletes: libvirt-admin < 7.3.0 Provides: libvirt-admin =3D %{version}-%{release} Obsoletes: libvirt-bash-completion < 7.3.0 =20 -%description daemon -Server side daemon required to manage the virtualization capabilities -of recent versions of Linux. Requires a hypervisor specific sub-RPM -for specific drivers. +%description daemon-common +Miscellaneous files and utilities used by other libvirt daemons =20 %package daemon-lock Summary: Server side daemon for managing locks @@ -1435,30 +1443,19 @@ fi \ %define libvirt_daemon_systemd_preun_priv() %systemd_preun %1.service %1-a= dmin.socket %1.socket =20 %pre daemon -%libvirt_sysconfig_pre libvirtd libvirt-guests -# 'libvirt' group is just to allow password-less polkit access to -# libvirtd. The uid number is irrelevant, so we use dynamic allocation -# described at the above link. -getent group libvirt >/dev/null || groupadd -r libvirt -exit 0 +%libvirt_sysconfig_pre libvirtd =20 %post daemon %if ! %{with_modular_daemons} %libvirt_daemon_systemd_post_inet libvirtd %endif -%systemd_post libvirt-guests.service %libvirt_daemon_schedule_restart libvirtd =20 %preun daemon -%systemd_preun libvirt-guests.service %libvirt_daemon_systemd_preun_inet libvirtd =20 -%postun daemon -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -%systemd_postun libvirt-guests.service - %posttrans daemon -%libvirt_sysconfig_posttrans libvirtd libvirt-guests +%libvirt_sysconfig_posttrans libvirtd if test %libvirt_daemon_needs_restart libvirtd then # See if user has previously modified their install to @@ -1493,6 +1490,26 @@ then fi %libvirt_daemon_finish_restart libvirtd =20 +%pre daemon-common +%libvirt_sysconfig_pre libvirt-guests +# 'libvirt' group is just to allow password-less polkit access to libvirt +# daemons. The uid number is irrelevant, so we use dynamic allocation. +getent group libvirt >/dev/null || groupadd -r libvirt +exit 0 + +%post daemon-common +%systemd_post libvirt-guests.service + +%preun daemon-common +%systemd_preun libvirt-guests.service + +%postun daemon-common +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +%systemd_postun libvirt-guests.service + +%posttrans daemon-common +%libvirt_sysconfig_posttrans libvirt-guests + %pre daemon-lock %libvirt_sysconfig_pre virtlockd =20 @@ -1814,12 +1831,18 @@ exit 0 %{_unitdir}/libvirtd-admin.socket %{_unitdir}/libvirtd-tcp.socket %{_unitdir}/libvirtd-tls.socket -%{_unitdir}/virt-guest-shutdown.target -%{_unitdir}/libvirt-guests.service %config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf -%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf %config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf %config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd +%{_datadir}/augeas/lenses/libvirtd.aug +%{_datadir}/augeas/lenses/tests/test_libvirtd.aug +%attr(0755, root, root) %{_sbindir}/libvirtd +%{_mandir}/man8/libvirtd.8* + +%files daemon-common +%{_unitdir}/virt-guest-shutdown.target +%{_unitdir}/libvirt-guests.service +%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf %dir %{_datadir}/libvirt/ %ghost %dir %{_rundir}/libvirt/ %ghost %dir %{_rundir}/libvirt/common/ @@ -1832,21 +1855,17 @@ exit 0 %dir %attr(0755, root, root) %{_libdir}/libvirt/connection-driver/ %dir %attr(0755, root, root) %{_libdir}/libvirt/storage-backend/ %dir %attr(0755, root, root) %{_libdir}/libvirt/storage-file/ -%{_datadir}/augeas/lenses/libvirtd.aug -%{_datadir}/augeas/lenses/tests/test_libvirtd.aug %{_datadir}/polkit-1/actions/org.libvirt.unix.policy %{_datadir}/polkit-1/actions/org.libvirt.api.policy %{_datadir}/polkit-1/rules.d/50-libvirt.rules %dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/ %attr(0755, root, root) %{_libexecdir}/libvirt_iohelper %attr(0755, root, root) %{_bindir}/virt-ssh-helper -%attr(0755, root, root) %{_sbindir}/libvirtd %attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh %{_mandir}/man1/virt-admin.1* %{_mandir}/man1/virt-host-validate.1* %{_mandir}/man8/virt-ssh-helper.8* %{_mandir}/man8/libvirt-guests.8* -%{_mandir}/man8/libvirtd.8* %{_bindir}/virt-host-validate %{_bindir}/virt-admin %{_datadir}/bash-completion/completions/virt-admin --=20 2.38.1