Compare commits

...
Sign in to create a new pull request.

60 commits

Author SHA1 Message Date
Fedora Release Engineering
139e99ed19 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:20:36 +00:00
Fedora Release Engineering
53115c3445 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 19:45:51 +00:00
Jarek Prokop
217c273050 Fix Ruby 4.0 compatibility by replacing CGI with URI equivalent.
Ruby 4.0 removed CGI gem from bundled gems,
with the exception of CGI #escape and #unescape methods
from the C extension

Instead of adding CGI as a dependency, replace it with URI equivalent
and some data massaging to keep existing behavior.
2025-12-16 12:44:14 +01:00
Vít Ondruch
6391284291 Fix compatibility with REXML 3.4.2+ 2025-11-03 11:56:38 +01:00
Fedora Release Engineering
e3ab63ff28 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 19:56:32 +00:00
Fedora Release Engineering
37311015fc Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 14:04:14 +00:00
Jarek Prokop
92d5b6f6f8 Adjust REXML spec patch to correct line offsets for vagrant 0.11.2. 2025-01-07 18:58:17 +01:00
Jarek Prokop
417965d1a1 Stop warning being emitted due to setting unsupported option in fog-libvirt.
`vagrant up` and `vagrant ssh` emits:
~~~
[fog][WARNING] Unrecognized arguments: libvirt_ip_command
~~~
on CLI. The option is no longer supported by fog-libvirt.
See discussion on https://github.com/vagrant-libvirt/vagrant-libvirt/issues/1831

Main function seem to have been for libvirt < 1.2.8.
EL7.9 includes libvirt 4.5.0, so this should be compatible even for
older systems.
97450dd
2025-01-07 18:51:30 +01:00
6ba3e60764 Add some gem dependency on testsuite for ruby3.4
Support REXML 3.3.2 output behavior change
2024-12-29 21:25:40 +09:00
Fedora Release Engineering
9510742885 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 08:32:08 +00:00
Software Management Team
60b9204d8c Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:47:07 +02:00
Fedora Release Engineering
552ae80485 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 07:26:24 +00:00
Fedora Release Engineering
ef122aab9c Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 17:23:20 +00:00
Jarek Prokop
bf304e3ff9 Update enable-qemu-session-by-default patch for vagrant-libvirt 0.11.2 2023-02-14 13:01:17 +01:00
Jarek Prokop
34906f3e48 Fix test suite for vagrant-libvirt 0.11.2 with qemu session as default.
Adjust Requires and BuildRequires for spec.

Delete sed commands relating to SimpleCov and test
suite disabling, they are no longer required.
2023-02-14 13:01:04 +01:00
Bart Kus
5aa17a63e1 Update to vagrant-libvirt 0.11.2
Should resolve rhbz#2075223
2023-02-13 18:15:49 +01:00
03b9c0ef9a Backport upstream fix for ruby3.2 compatibility
(File.exists? removal, URI#parse host name result change)
2023-01-20 14:23:54 +09:00
Fedora Release Engineering
42b0ffa094 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 11:39:03 +00:00
Vít Ondruch
2c12f9fd86 Add BR: rubygem(rake) to fix FTBFS.
This used to be pulled in via `rubygem(rspec-core)`, but it is not
anymore:

https://src.fedoraproject.org/rpms/rubygem-rspec-core/c/15e3de8d5ccf32c7199d9f39e45d536fa6159a48
2022-04-11 14:53:41 +02:00
Fedora Release Engineering
54aad82274 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 03:45:38 +00:00
Pavel Valena
eb118f573c Update to vagrant-libvirt 0.7.0.
Resolves: rhbz#1963360

Also rename patch0 to patch100
 * vagrant-libvirt-0.7.0-enable-qemu-session-by-default.patch

Tests / compatibility fix:
 - Allow the connection.client.libversion call
   https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1416
 - Reduce patching for distro default session use
   https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1424
2021-12-13 12:33:06 +01:00
Fedora Release Engineering
9fa7fba364 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 20:16:27 +00:00
Pavel Valena
169b5c9438 Fix forward_ports with ruby 3.0.
Resolves: rhbz#1947885
2021-05-17 14:56:30 +02:00
Pavel Valena
f1d5617da7 Remove patch added by mistake,
it's content is already included in vagrant-libvirt-0.0.45-enable-qemu-session-by-default.patch
2021-05-14 18:46:26 +02:00
Pavel Valena
e48f6aaf68 Add missing patch and .gitignore entry. 2021-05-12 23:48:34 +02:00
Pavel Valena
b9cb3a99c3 Update to vagrant-libvirt 0.4.1
also add dependency on rexml
https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1277

Resolves: rhbz#1884945
Resolves: rhbz#1945740
2021-05-12 23:00:41 +02:00
Fedora Release Engineering
b7aa5f3f96 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 22:52:51 +00:00
Vít Ondruch
fa18e92108 Drop dependency on Erubis. 2020-08-19 12:28:27 +02:00
Vít Ondruch
dcfc1c123c Keep the changelog dates ordered.
This makes RPM happy and corresponds to the day of build instead of day
of opening PR.
2020-08-18 17:12:42 +02:00
Pavel Valena
3992e36a99 Update to vagrant-libvirt 0.1.2.
also enhance spec readability.

Resolves: rhbz#1833807
2020-07-29 18:22:03 +02:00
Fedora Release Engineering
d21060073e - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 13:31:21 +00:00
Fedora Release Engineering
9a1cbe12b7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 02:53:47 +00:00
Tadej Janež
340301a8a8
Backport/Add useful features and fixes from upstream
- Allow customizing of virt-sysprep behaviour on package.
- Use fetch to obtain environment variable value in package_domain.
- Halt a domain before packaging it as a box to avoid hard to debug
  issues.
2019-09-08 14:40:02 +02:00
Fedora Release Engineering
da0059d3d0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-27 02:45:05 +00:00
Pavel Valena
dbf5e2dc79 Enable QEMU Session by default. 2019-02-14 08:02:27 +01:00
Pavel Valena
f9c61f3373 Update to vagrant-libvirt 0.0.45
also simplify tests.
2019-02-14 08:02:16 +01:00
Fedora Release Engineering
ca22cfdbde - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-03 11:03:16 +00:00
Pavel Valena
90dbacc756 Relax fog-core dependency to work with recently rebased one. 2018-11-02 12:37:37 +01:00
Pavel Valena
80c9462cc6 Update to vagrant-libvirt 0.0.43.
Also enhance .spec and .gitignore files,
update to latest vagrant-spec commit(in sync with vagrant),
and relax dependencies for vagrant-spec in %check.

Uses %gemspec_* macro to replace gemspec dependency.

Also use actual .gemspec for tests and a dummy Gemfile
2018-10-24 16:34:19 +02:00
Fedora Release Engineering
6049a038eb - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-14 08:23:35 +00:00
Fedora Release Engineering
41f0b03327 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-09 20:16:28 +00:00
Pavel Valena
974e0af6db Fix invalid XML creation on custom domain name.
https://bugzilla.redhat.com/show_bug.cgi?id=1518899
https://github.com/vagrant-libvirt/vagrant-libvirt/issues/831
2017-12-08 16:58:50 +01:00
Fedora Release Engineering
4880503ccb - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-27 21:09:15 +00:00
Vít Ondruch
2b1336fadb Update to vagrant-libvirt 0.0.40. 2017-06-20 12:05:16 +02:00
Vít Ondruch
7a72b873e1 Add missing patch. 2017-02-24 16:03:39 +01:00
Vít Ondruch
eabbe2a86d Fix Vagrant error when network is specified (rhbz#1426565). 2017-02-24 15:59:13 +01:00
Vít Ondruch
a700e9f2d1 Fix compatiblity with Vagrant 1.9.1. 2017-02-14 17:54:44 +01:00
Vít Ondruch
bc962f4758 Prefer file dependnecy. 2017-02-06 13:51:49 +01:00
Vít Ondruch
54ab9ef546 Recommends libguestfs required by "vagrant package" (rhbz#1292217). 2017-02-06 12:56:37 +01:00
Vít Ondruch
1d43259d6a Update to vagrant-libvirt 0.0.37. 2017-02-06 12:56:34 +01:00
Vít Ondruch
fe220f8d7b Fix compatibility with latest Bundler. 2017-01-05 16:39:32 +01:00
bab548be40 Relax nokogiri dependency 2017-01-01 22:16:25 +09:00
Vít Ondruch
e6ad492c37 Update to vagrant-libvirt 0.0.36. 2016-10-10 13:34:19 +02:00
Vít Ondruch
8ed4b8a5c1 Update to vagrant-libvirt 0.0.35. 2016-10-04 15:14:20 +02:00
Vít Ondruch
ab475b9cbe Update to vagrant-libvirt 0.0.33.
- Drop the polkit rules. Use libvirt group instead.
2016-08-08 13:22:00 +02:00
Fedora Release Engineering
cc38ec3034 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-05 02:31:27 +00:00
Josef Stribny
c86727a67b Update to 0.0.32 2015-10-14 13:58:59 +02:00
Josef Stribny
8472fef622 Update to 0.0.31 2015-10-05 16:08:37 +02:00
Josef Stribny
d12f1ab87c Drop the rest of libvirt deps 2015-09-14 13:23:03 +02:00
Josef Stribny
6644bfdd05 Drop unnecessary explicit libvirt require 2015-09-14 12:07:04 +02:00
12 changed files with 732 additions and 147 deletions

6
.gitignore vendored
View file

@ -1,4 +1,2 @@
/vagrant-libvirt-0.0.24.gem
/vagrant-libvirt-0.0.25.gem
/vagrant-libvirt-0.0.26.gem
/vagrant-libvirt-0.0.30.gem
/vagrant-libvirt-*.gem
/vagrant-spec-*.tar.gz

View file

@ -1,11 +0,0 @@
/*
* Allow users in vagrant group to manage libvirt without authentication.
* Copy this file to /usr/share/polkit-1/rules.d/ to activate.
*/
polkit.addRule(function(action, subject) {
if ((action.id == "org.libvirt.unix.manage"
|| action.id == "org.libvirt.unix.monitor")
&& subject.isInGroup("vagrant")) {
return polkit.Result.YES;
}
});

View file

@ -1 +1,2 @@
c4c953ced538dd2c4e90116b676728dd vagrant-libvirt-0.0.30.gem
SHA512 (vagrant-libvirt-0.11.2.gem) = f66be1c8301ad4a9e731cf65c2ea3181f3c5e4c1d252411465060ab8ddabc294beab40e214fa8c9c5a7aa1e116030f60cea2e337121d95123c724ec6e529bfbc
SHA512 (vagrant-spec-259c55e204674f2b006700c6d351d04250d13b04.tar.gz) = 7938a6f8091b7dd76266e63d2cb653820e55a262091be0aaae2f5515321fa4d50301f547ab925771208b8616c7fc819cb642b3b9d444cd7a722ba712538cf68f

View file

@ -0,0 +1,28 @@
From f87d4330953effdea41355d2daedb6b9659f39d3 Mon Sep 17 00:00:00 2001
From: Jarek Prokop <jprokop@redhat.com>
Date: Fri, 10 Feb 2023 16:24:07 +0100
Subject: [PATCH] Allow a mock object to receive synced_folders when using qemu
session.
When using qemu session, there is another code path
regarding 9p and virtiofs that wasn't considered.
---
spec/unit/config_spec.rb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/spec/unit/config_spec.rb b/spec/unit/config_spec.rb
index d205214..e606b89 100644
--- a/spec/unit/config_spec.rb
+++ b/spec/unit/config_spec.rb
@@ -770,6 +770,8 @@ describe VagrantPlugins::ProviderLibvirt::Config do
let (:vm) { double('vm') }
before do
machine.config.instance_variable_get("@keys")[:vm] = vm
+
+ allow(vm).to receive(:synced_folders).and_return({})
end
it 'is valid with valid mac' do
--
2.39.1

View file

@ -0,0 +1,53 @@
From 799acbebe6a506c85c93f384610e646d801bea1a Mon Sep 17 00:00:00 2001
From: Jarek Prokop <jprokop@redhat.com>
Date: Fri, 10 Feb 2023 17:43:18 +0100
Subject: [PATCH 1/2] Enable QEMU Session by default
Default `@qemu_use_session` to true.
---
lib/vagrant-libvirt/config.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/vagrant-libvirt/config.rb b/lib/vagrant-libvirt/config.rb
index d4763be..0bbdef0 100644
--- a/lib/vagrant-libvirt/config.rb
+++ b/lib/vagrant-libvirt/config.rb
@@ -931,9 +931,9 @@ module VagrantPlugins
@socket = nil if @socket == UNSET_VALUE
# If uri isn't set then let's build one from various sources.
- # Default to passing false for qemu_use_session if it's not set.
+ # Default to passing true for qemu_use_session if it's not set.
if @uri == UNSET_VALUE
- @uri = _generate_uri(@qemu_use_session == UNSET_VALUE ? false : @qemu_use_session)
+ @uri = _generate_uri(@qemu_use_session == UNSET_VALUE ? true : @qemu_use_session)
end
finalize_from_uri
From b695838c24e5669c58ef5984dc26f31277c7dd10 Mon Sep 17 00:00:00 2001
From: Jarek Prokop <jprokop@redhat.com>
Date: Fri, 10 Feb 2023 17:43:55 +0100
Subject: [PATCH 2/2] Use qemu:///session instead of qemu:///system in test
suite.
---
spec/unit/config_spec.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spec/unit/config_spec.rb b/spec/unit/config_spec.rb
index d205214..fce7521 100644
--- a/spec/unit/config_spec.rb
+++ b/spec/unit/config_spec.rb
@@ -72,7 +72,7 @@ describe VagrantPlugins::ProviderLibvirt::Config do
# settings
[ # all default
{},
- {:uri => "qemu:///system"},
+ {:uri => "qemu:///session"},
],
# explicit uri settings
--
2.39.1

View file

@ -0,0 +1,116 @@
From ec4daf33cf6135f9a29c48a61dd8a6e8b9bf0dc1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Fri, 31 Oct 2025 17:35:48 +0100
Subject: [PATCH] Fix REXML 3.4.2+ compatibility
REXML 3.4.2+ deprecated accepting array as an element in `XPath.match`
[[1]]. This led to test errors such as:
~~~
3) VagrantPlugins::ProviderLibvirt::Action::ResolveDiskSettings#call when vm box is in use when box metadata is not available when multiple volumes in domain config should populate domain volumes with devices
Failure/Error:
expect(env[:domain_volumes]).to match(
[
hash_including(
device: 'vda',
absolute_path: '/var/lib/libvirt/images/vagrant-test_default.img'
),
hash_including(
device: 'vdb',
absolute_path: '/var/lib/libvirt/images/vagrant-test_default_1.img'
),
expected [{absolute_path: "/var/lib/libvirt/images/vagrant-test_default.img", bus: "virtio", cache: "default", device: "vda", name: "vagrant-test_default.img"}] to match [#<RSpec::Mocks::ArgumentMatchers::HashIncludingMatcher:0x00007fff921b3db8 @expected={device: "vda", absolute_path: "/var/lib/libvirt/images/vagrant-test_default.img"}>, #<RSpec::Mocks::ArgumentMatchers::HashIncludingMatcher:0x00007fff921b3d40 @expected={device: "vdb", absolute_path: "/var/lib/libvirt/images/vagrant-test_default_1.img"}>, #<RSpec::Mocks::ArgumentMatchers::HashIncludingMatcher:0x00007fff921b3cc8 @expected={device: "vdc", absolute_path: "/var/lib/libvirt/images/vagrant-test_default_2.img"}>]
Diff:
@@ -1,4 +1,6 @@
-[hash_including(device: "vda", absolute_path: "/var/lib/libvirt/images/vagrant-test_default.img"),
- hash_including(device: "vdb", absolute_path: "/var/lib/libvirt/images/vagrant-test_default_1.img"),
- hash_including(device: "vdc", absolute_path: "/var/lib/libvirt/images/vagrant-test_default_2.img")]
+[{absolute_path: "/var/lib/libvirt/images/vagrant-test_default.img",
+ bus: "virtio",
+ cache: "default",
+ device: "vda",
+ name: "vagrant-test_default.img"}]
# ./spec/unit/action/resolve_disk_settings_spec.rb:200:in 'block (6 levels) in <top (required)>'
# ./spec/support/unit_context.rb:51:in 'block (3 levels) in <top (required)>'
# ./spec/support/unit_context.rb:43:in 'block (2 levels) in <top (required)>'
# ./spec/support/unit_context.rb:51:in 'block (3 levels) in <top (required)>'
# ./spec/support/unit_context.rb:43:in 'block (2 levels) in <top (required)>'
~~~
This changes the logic in a way, that XPath is matching against whole
XML document, instead of array of XML elements.
[1]: https://github.com/ruby/rexml/pull/252
---
lib/vagrant-libvirt/action/destroy_domain.rb | 10 ++++++----
lib/vagrant-libvirt/action/resolve_disk_settings.rb | 9 +++++----
2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/lib/vagrant-libvirt/action/destroy_domain.rb b/lib/vagrant-libvirt/action/destroy_domain.rb
index 4d6cc6ee8..fba6aee6d 100644
--- a/lib/vagrant-libvirt/action/destroy_domain.rb
+++ b/lib/vagrant-libvirt/action/destroy_domain.rb
@@ -59,7 +59,7 @@ def call(env)
domain_xml = libvirt_domain.xml_desc(1)
xml_descr = REXML::Document.new(domain_xml)
disks_xml = REXML::XPath.match(xml_descr, '/domain/devices/disk[@device="disk"]')
- have_aliases = !(REXML::XPath.match(disks_xml, './alias[@name="ua-box-volume-0"]').first).nil?
+ have_aliases = !REXML::XPath.match(xml_descr, '/domain/devices/disk[@device="disk"]/alias[@name="ua-box-volume-0"]').first.nil?
if !have_aliases
env[:ui].warn(I18n.t('vagrant_libvirt.domain_xml.obsolete_method'))
end
@@ -73,7 +73,9 @@ def call(env)
# the additional storage devices are.
detected_box_volumes = 0
if have_aliases
- REXML::XPath.match(disks_xml, './alias[contains(@name, "ua-box-volume-")]').each do |box_disk|
+ REXML::XPath.match(xml_descr,
+ '/domain/devices/disk[@device="disk"]/alias[contains(@name, "ua-box-volume-")]'
+ ).each do |box_disk|
diskname = box_disk.parent.elements['source'].attributes['file'].rpartition('/').last
detected_box_volumes += 1
@@ -130,13 +132,13 @@ def call(env)
# look for exact match using aliases which will be used
# for subsequent domain creations
if have_aliases
- domain_disk = REXML::XPath.match(disks_xml, './alias[@name="ua-disk-volume-' + index.to_s + '"]').first
+ domain_disk = REXML::XPath.match(xml_descr, '/domain/devices/disk[@device="disk"]/alias[@name="ua-disk-volume-' + index.to_s + '"]').first
domain_disk = domain_disk.parent if !domain_disk.nil?
else
# otherwise fallback to find the disk by device if specified by user
# and finally index counting with offset and hope the match is correct
if !disk[:device].nil?
- domain_disk = REXML::XPath.match(disks_xml, './target[@dev="' + disk[:device] + '"]').first
+ domain_disk = REXML::XPath.match(xml_descr, '/domain/devices/disk[@device="disk"]/target[@dev="' + disk[:device] + '"]').first
domain_disk = domain_disk.parent if !domain_disk.nil?
else
domain_disk = disks_xml[offset + index]
diff --git a/lib/vagrant-libvirt/action/resolve_disk_settings.rb b/lib/vagrant-libvirt/action/resolve_disk_settings.rb
index f1a3f6755..add3e1021 100644
--- a/lib/vagrant-libvirt/action/resolve_disk_settings.rb
+++ b/lib/vagrant-libvirt/action/resolve_disk_settings.rb
@@ -50,18 +50,19 @@ def call(env)
domain_xml = libvirt_domain.xml_desc(1)
xml_descr = REXML::Document.new(domain_xml)
domain_name = xml_descr.elements['domain'].elements['name'].text
- disks_xml = REXML::XPath.match(xml_descr, '/domain/devices/disk[@device="disk"]')
- have_aliases = !REXML::XPath.match(disks_xml, './alias[@name="ua-box-volume-0"]').first.nil?
+ have_aliases = !REXML::XPath.match(xml_descr, '/domain/devices/disk[@device="disk"]/alias[@name="ua-box-volume-0"]').first.nil?
env[:ui].warn(I18n.t('vagrant_libvirt.domain_xml.obsolete_method')) unless have_aliases
if have_aliases
- REXML::XPath.match(disks_xml,
- './alias[contains(@name, "ua-box-volume-")]').each_with_index do |alias_xml, idx|
+ REXML::XPath.match(xml_descr,
+ '/domain/devices/disk[@device="disk"]/alias[contains(@name, "ua-box-volume-")]'
+ ).each_with_index do |alias_xml, idx|
domain_volumes.push(volume_from_xml(alias_xml.parent, domain_name, idx))
end
else
# fallback to try and infer which boxes are box images, as they are listed first
# as soon as there is no match, can exit
+ disks_xml = REXML::XPath.match(xml_descr, '/domain/devices/disk[@device="disk"]')
disks_xml.each_with_index do |box_disk_xml, idx|
diskname = box_disk_xml.elements['source'].attributes['file'].rpartition('/').last

View file

@ -0,0 +1,31 @@
From 5bb08ec8150ee3ceca74c772f4c72b49b61f988f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Janek=20Ziele=C5=BAnicki?= <janek.zieleznicki@gmail.com>
Date: Mon, 18 Nov 2024 19:16:07 +0100
Subject: [PATCH 1/2] Remove config unsupported by fog-libvirt
fog-libvirt dropped support for libvirt < 1.2.8 in version v0.13.0
This config is no longer supported nor needed
---
lib/vagrant-libvirt/driver.rb | 5 -----
1 file changed, 5 deletions(-)
diff --git a/lib/vagrant-libvirt/driver.rb b/lib/vagrant-libvirt/driver.rb
index 73f0f7a45..90e0e6118 100644
--- a/lib/vagrant-libvirt/driver.rb
+++ b/lib/vagrant-libvirt/driver.rb
@@ -32,14 +32,9 @@ def connection
config = @machine.provider_config
uri = config.uri
- # Setup command for retrieving IP address for newly created machine
- # with some MAC address. Get it from dnsmasq leases table
- ip_command = %q( awk "/$mac/ {print \$1}" /proc/net/arp )
-
conn_attr = {
provider: 'libvirt',
libvirt_uri: uri,
- libvirt_ip_command: ip_command,
}
conn_attr[:libvirt_username] = config.username if config.username
conn_attr[:libvirt_password] = config.password if config.password

View file

@ -0,0 +1,41 @@
From dfb9fd59bd6eca13f4e22e5038247473f9cd108d Mon Sep 17 00:00:00 2001
From: Jarek Prokop <jprokop@redhat.com>
Date: Tue, 16 Dec 2025 12:18:01 +0100
Subject: [PATCH] Replace CGI.parse with URI equivalent.
For Ruby 4.0 compatibility, where CGI is no longer a part
of the upstream Ruby distribution.
Replace the CGI.parse with URI.decode_www_form and some filtering
on top so that the replacement keeps existing behavior.
---
lib/vagrant-libvirt/config.rb | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/lib/vagrant-libvirt/config.rb b/lib/vagrant-libvirt/config.rb
index cdee174..96261ca 100644
--- a/lib/vagrant-libvirt/config.rb
+++ b/lib/vagrant-libvirt/config.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-require 'cgi'
+require 'uri'
require 'vagrant'
require 'vagrant/action/builtin/mixin_synced_folders'
@@ -1335,8 +1335,12 @@ module VagrantPlugins
@username = nil if @username == UNSET_VALUE
@username = uri.user if uri.user
if uri.query
- params = CGI.parse(uri.query)
- @id_ssh_key_file = params['keyfile'].first if params.has_key?('keyfile')
+ params = URI
+ .decode_www_form(uri.query)
+ .select { |k, v| k == 'keyfile' }
+ .map { |_,v| v }
+ .first
+ @id_ssh_key_file = params if params
end
finalize_id_ssh_key_file

View file

@ -1,69 +0,0 @@
From ee7afab369dc7e80128ff35a2ff11f6eab23d368 Mon Sep 17 00:00:00 2001
From: Dan Williams <dcbw@redhat.com>
Date: Tue, 30 Jun 2015 16:24:30 -0500
Subject: [PATCH] Read MAC address from libvirt and pass up to Vagrant
Configuring networks based solely on slot numbers doesn't work very
well, since there's no way to guarantee that the interface Vagrant
finds is the same one that vagrant-libvirt created at that index.
For example, Vagrant's Fedora configure_networks action does this:
machine.communicate.sudo("ls /sys/class/net | grep -v lo") do |_, result|
interface_names = result.split("\n")
end
interface_names = networks.map do |network|
"#{interface_names[network[:interface]]}"
end
which means that if your image has 'docker' pre-installed, then
interface_names[0] = "docker0" and hilarity ensues, with the first
non-management network being assigned to the vagrant-libvirt
management interface.
Since interface names are very unreliable (they can be renamed by
udev at will or when hardware changes) the only way to ensure that
the interface vagrant-libvirt attaches to the domain maps to the
correct one inside the VM is by MAC address. Pull the MAC address
out of the libvirt config once the interface has been attached and
pass that up to Vagrant so we have a chance of doing the right thing.
---
lib/vagrant-libvirt/action/create_network_interfaces.rb | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/lib/vagrant-libvirt/action/create_network_interfaces.rb b/lib/vagrant-libvirt/action/create_network_interfaces.rb
index 35886ad..cbe7562 100644
--- a/lib/vagrant-libvirt/action/create_network_interfaces.rb
+++ b/lib/vagrant-libvirt/action/create_network_interfaces.rb
@@ -96,6 +96,21 @@ def call(env)
raise Errors::AttachDeviceError,
:error_message => e.message
end
+
+ # Re-read the network configuration and grab the MAC address
+ if !@mac
+ xml = Nokogiri::XML(domain.xml_desc)
+ if iface_configuration[:iface_type] == :public_network
+ if @type == 'direct'
+ @mac = xml.xpath("/domain/devices/interface[source[@dev='#{@device}']]/mac/@address")
+ else
+ @mac = xml.xpath("/domain/devices/interface[source[@bridge='#{@device}']]/mac/@address")
+ end
+ else
+ @mac = xml.xpath("/domain/devices/interface[source[@network='#{@network_name}']]/mac/@address")
+ end
+ iface_configuration[:mac] = @mac.to_s
+ end
end
# Continue the middleware chain.
@@ -116,7 +131,7 @@ def call(env)
network = {
:interface => slot_number,
:use_dhcp_assigned_default_route => options[:use_dhcp_assigned_default_route],
- #:mac => ...,
+ :mac_address => options[:mac],
}
if options[:ip]

View file

@ -0,0 +1,111 @@
From 517bf7792a4f2d9f7d6062efeec9089e78c5458e Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Thu, 19 Jan 2023 16:39:17 +0900
Subject: [PATCH 1/2] Replace File.exists? with File.exist?
File.exists? is deprecated since ruby2.1 and is removed with ruby3.2.
Replace with File.exist? .
---
spec/support/libvirt_acceptance_context.rb | 2 +-
spec/support/matchers/have_file_content.rb | 2 +-
spec/unit/action/clean_machine_folder_spec.rb | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/spec/support/matchers/have_file_content.rb b/spec/support/matchers/have_file_content.rb
index 9970f6b8d..20215180a 100644
--- a/spec/support/matchers/have_file_content.rb
+++ b/spec/support/matchers/have_file_content.rb
@@ -45,7 +45,7 @@
# end
RSpec::Matchers.define :have_file_content do |expected|
match do |actual|
- next false unless File.exists?(actual)
+ next false unless File.exist?(actual)
@actual = File.read(actual).chomp
@expected = if expected.is_a? String
diff --git a/spec/unit/action/clean_machine_folder_spec.rb b/spec/unit/action/clean_machine_folder_spec.rb
index faad98cde..b8ed8acc6 100644
--- a/spec/unit/action/clean_machine_folder_spec.rb
+++ b/spec/unit/action/clean_machine_folder_spec.rb
@@ -20,7 +20,7 @@
expect(subject.call(env)).to be_nil
- expect(File.exists?(machine.data_dir)).to eq(true)
+ expect(File.exist?(machine.data_dir)).to eq(true)
expect(Dir.entries(machine.data_dir)).to match_array([".", ".."])
end
end
@@ -38,7 +38,7 @@
expect(subject.call(env)).to be_nil
- expect(File.exists?(machine.data_dir)).to eq(true)
+ expect(File.exist?(machine.data_dir)).to eq(true)
expect(Dir.entries(machine.data_dir)).to match_array([".", ".."])
end
end
@@ -51,7 +51,7 @@
expect(subject.call(env)).to be_nil
- expect(File.exists?(machine.data_dir)).to eq(true)
+ expect(File.exist?(machine.data_dir)).to eq(true)
expect(Dir.entries(machine.data_dir)).to match_array([".", ".."])
end
end
From 578d3ae4296a78c8b276ff2bc5471fa045a61736 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Thu, 19 Jan 2023 17:07:39 +0900
Subject: [PATCH 2/2] Set empty host when nil on finalize_from_uri
With ruby3.2, URI.parse now sets empty host instead of nil via:
https://github.com/ruby/ruby/commit/dd5118f8524c425894d4716b787837ad7380bb0d
Adjust test case so, also with ruby <= 3.1, forcely set empty string for host
when nil to make finalize_from_uri behavior consistent between different
host ruby versions.
---
lib/vagrant-libvirt/config.rb | 4 ++--
spec/unit/config_spec.rb | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/vagrant-libvirt/config.rb b/lib/vagrant-libvirt/config.rb
index 471d40dce..dfaef6167 100644
--- a/lib/vagrant-libvirt/config.rb
+++ b/lib/vagrant-libvirt/config.rb
@@ -1320,8 +1320,8 @@ def finalize_from_uri
end
end
- # Extract host values from uri if provided, otherwise nil
- @host = uri.host
+ # Extract host values from uri if provided, otherwise set empty string
+ @host = uri.host || ""
@port = uri.port
# only override username if there is a value provided
@username = nil if @username == UNSET_VALUE
diff --git a/spec/unit/config_spec.rb b/spec/unit/config_spec.rb
index 951b3ce58..f43de4df9 100644
--- a/spec/unit/config_spec.rb
+++ b/spec/unit/config_spec.rb
@@ -86,7 +86,7 @@
],
[ # connect explicit to unix socket
{:uri => "qemu+unix:///system"},
- {:uri => "qemu+unix:///system", :connect_via_ssh => false, :host => nil, :username => nil},
+ {:uri => "qemu+unix:///system", :connect_via_ssh => false, :host => "", :username => nil},
],
[ # via libssh2 should enable ssh as well
{:uri => "qemu+libssh2://user@remote/system?known_hosts=/home/user/.ssh/known_hosts"},
@@ -139,7 +139,7 @@
],
[ # with session and using ssh infer connect by ssh and ignore host as not provided
{},
- {:uri => "qemu+ssh:///session", :qemu_use_session => true, :connect_via_ssh => true, :host => nil},
+ {:uri => "qemu+ssh:///session", :qemu_use_session => true, :connect_via_ssh => true, :host => ""},
{
:env => {'LIBVIRT_DEFAULT_URI' => "qemu+ssh:///session"},
}

View file

@ -0,0 +1,81 @@
From fcafe97cee012e4c3ae1996bb78f8d88a1077dcb Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Sun, 29 Dec 2024 18:41:57 +0900
Subject: [PATCH] TEST: Support REXML 3.3.2 output change
With https://github.com/ruby/rexml/pull/167
REXML::Document.write may chomp output string compared to before.
This change affects VagrantPlugins::ProviderLibvirt::Action::StartDomain#call
internal behavior.
Modify rspec testsuite to support this REXML behavior change.
Closes #1836 .
---
spec/unit/action/start_domain_spec.rb | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/spec/unit/action/start_domain_spec.rb b/spec/unit/action/start_domain_spec.rb
index 330612beb..af9999cf9 100644
--- a/spec/unit/action/start_domain_spec.rb
+++ b/spec/unit/action/start_domain_spec.rb
@@ -364,7 +364,8 @@
it 'should add the nvram element' do
expect(ui).to_not receive(:warn)
- expect(connection).to receive(:define_domain).with(updated_domain_xml).and_return(libvirt_domain)
+ arg_domain_xml = REXML::VERSION >= "3.3.2" ? updated_domain_xml.chomp : updated_domain_xml
+ expect(connection).to receive(:define_domain).with(arg_domain_xml).and_return(libvirt_domain)
expect(libvirt_domain).to receive(:xml_desc).and_return(domain_xml, updated_domain_xml)
expect(libvirt_domain).to receive(:autostart=)
expect(domain).to receive(:start)
@@ -385,7 +385,8 @@
it 'should keep the XML element' do
expect(ui).to_not receive(:warn)
- expect(connection).to receive(:define_domain).with(updated_domain_xml).and_return(libvirt_domain)
+ arg_domain_xml = REXML::VERSION >= "3.3.2" ? updated_domain_xml.chomp : updated_domain_xml
+ expect(connection).to receive(:define_domain).with(arg_domain_xml).and_return(libvirt_domain)
expect(libvirt_domain).to receive(:xml_desc).and_return(domain_xml, updated_domain_xml)
expect(libvirt_domain).to receive(:autostart=)
expect(domain).to receive(:start)
@@ -399,7 +399,8 @@
it 'should delete the XML element' do
expect(ui).to_not receive(:warn)
- expect(connection).to receive(:define_domain).with(updated_domain_xml).and_return(libvirt_domain)
+ arg_domain_xml = REXML::VERSION >= "3.3.2" ? updated_domain_xml.chomp : updated_domain_xml
+ expect(connection).to receive(:define_domain).with(arg_domain_xml).and_return(libvirt_domain)
expect(libvirt_domain).to receive(:xml_desc).and_return(domain_xml, updated_domain_xml)
expect(libvirt_domain).to receive(:autostart=)
expect(domain).to receive(:start)
@@ -424,7 +424,8 @@
it 'should modify the domain tpm_path' do
expect(ui).to_not receive(:warn)
expect(logger).to receive(:debug).with('tpm config changed')
- expect(connection).to receive(:define_domain).with(updated_domain_xml).and_return(libvirt_domain)
+ arg_domain_xml = REXML::VERSION >= "3.3.2" ? updated_domain_xml.chomp : updated_domain_xml
+ expect(connection).to receive(:define_domain).with(arg_domain_xml).and_return(libvirt_domain)
expect(libvirt_domain).to receive(:xml_desc).and_return(domain_xml, updated_domain_xml)
expect(libvirt_domain).to receive(:autostart=)
expect(domain).to receive(:start)
@@ -446,7 +446,8 @@
it 'should modify the domain tpm_path' do
expect(ui).to_not receive(:warn)
expect(logger).to receive(:debug).with('tpm config changed')
- expect(connection).to receive(:define_domain).with(updated_domain_xml).and_return(libvirt_domain)
+ arg_domain_xml = REXML::VERSION >= "3.3.2" ? updated_domain_xml.chomp : updated_domain_xml
+ expect(connection).to receive(:define_domain).with(arg_domain_xml).and_return(libvirt_domain)
expect(libvirt_domain).to receive(:xml_desc).and_return(domain_xml, updated_domain_xml)
expect(libvirt_domain).to receive(:autostart=)
expect(domain).to receive(:start)
@@ -509,7 +509,8 @@
it 'should modify the domain' do
expect(ui).to_not receive(:warn)
expect(logger).to receive(:debug).with('tpm config changed')
- expect(connection).to receive(:define_domain).with(updated_domain_xml).and_return(libvirt_domain)
+ arg_domain_xml = REXML::VERSION >= "3.3.2" ? updated_domain_xml.chomp : updated_domain_xml
+ expect(connection).to receive(:define_domain).with(arg_domain_xml).and_return(libvirt_domain)
expect(libvirt_domain).to receive(:xml_desc).and_return(domain_xml, updated_domain_xml)
expect(libvirt_domain).to receive(:autostart=)
expect(domain).to receive(:start)

View file

@ -1,46 +1,78 @@
%global vagrant_plugin_name vagrant-libvirt
%global vagrant_spec_commit 259c55e204674f2b006700c6d351d04250d13b04
Name: %{vagrant_plugin_name}
Version: 0.0.30
Release: 3%{?dist}
Version: 0.11.2
Release: 11%{?dist}
Summary: libvirt provider for Vagrant
Group: Development/Languages
License: MIT
URL: https://github.com/pradels/vagrant-libvirt
URL: https://github.com/vagrant-libvirt/vagrant-libvirt
Source0: https://rubygems.org/gems/%{vagrant_plugin_name}-%{version}.gem
Source1: 10-vagrant-libvirt.rules
# The library has no official release yet. But since it is just test
# dependency, it should be fine to include the source right here.
# wget https://github.com/mitchellh/vagrant-spec/archive/03d88fe2467716b072951c2b55d78223130851a6/vagrant-spec-03d88fe2467716b072951c2b55d78223130851a6.tar.gz
Source1: https://github.com/mitchellh/vagrant-spec/archive/%{vagrant_spec_commit}/vagrant-spec-%{vagrant_spec_commit}.tar.gz
# Pass MAC addresses up to vagrant to ensure interfaces are configured correctly
# https://github.com/pradels/vagrant-libvirt/pull/408
Patch0: vagrant-libvirt-match-interface-by-mac.patch
# https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1709
# ruby3.2 fix wrt File.exits? removal and URI.split host result change
# A bit modified: spec/support/libvirt_acceptance_context.rb does not exist
# with 0.7.0 yet
Patch0: vagrant-libvirt-pr1709-ruby32-File_exists-URL-parse.patch
# Allow a mock object to receive synced_folders in config validation spec.
# We do not care about synced folder check when testing MAC configuration.
# https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1721
Patch1: vagrant-libvirt-0.11.2-Allow-a-mock-object-to-receive-synced_folders.patch
# https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1837
# related to https://github.com/ruby/rexml/pull/167
Patch2: vagrant-libvirt-pr1837-testsuite-support-rexml-332.patch
# Get rid of a warning generated due to usage of option
# no longer supported by fog-libvirt
# https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1835
Patch3: vagrant-libvirt-0.12.2-Remove-config-unsupported-by-fog-libvirt.patch
# Fix compatibility with REXML 3.4.2+
# https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1861
Patch4: vagrant-libvirt-0.12.2-Fix-REXML-3-4-2-compatibility.patch
# Replace CGI, removed from Ruby 4.0 bundled gems with URI.
# https://github.com/vagrant-libvirt/vagrant-libvirt/pull/1866
Patch5: vagrant-libvirt-0.12.2-Replace-CGI.parse-with-URI-equivalent.patch
# Enable QEMU Session by default
# https://github.com/vagrant-libvirt/vagrant-libvirt/pull/969
Patch100: vagrant-libvirt-0.11.2-enable-qemu-session-by-default.patch
Requires(pre): shadow-utils
Requires(posttrans): vagrant
Requires(preun): vagrant
Requires: ruby(release)
Requires: ruby(rubygems)
Requires: rubygem(fog-libvirt)
Requires: rubygem(nokogiri) => 1.6.0
Requires: rubygem(nokogiri) < 1.7
Requires: rubygem(multi_json)
Requires: libvirt
# vagrant-libvirt supports only kvm and qemu for now.
# https://github.com/pradels/vagrant-libvirt#provider-options
Requires: libvirt-daemon-kvm
Requires: polkit
Requires: vagrant
BuildRequires: vagrant
BuildRequires: rubygem(rspec) < 3
Requires: rubygem(diffy)
Requires: rubygem(fog-libvirt) >= 0.6.0
Requires: rubygem(nokogiri) >= 1.6
Requires: rubygem(rexml)
Requires: rubygem(xml-simple)
# Vagrant changed packaging scriptlets in version 1.9.1.
Requires: vagrant >= 1.9.1
# Required by "vagrant package" command (rhbz#1292217).
Recommends: %{_bindir}/virt-sysprep
BuildRequires: vagrant >= 1.9.1
BuildRequires: rubygem(bundler)
BuildRequires: rubygem(diffy)
BuildRequires: rubygem(fog-libvirt)
BuildRequires: rubygem(rake)
BuildRequires: rubygem(rdoc)
BuildRequires: rubygem(rexml)
BuildRequires: rubygem(rspec)
BuildRequires: rubygem(thor)
BuildRequires: rubygem(xml-simple)
BuildRequires: rubygems-devel
BuildRequires: %{_bindir}/ps
BuildArch: noarch
Provides: vagrant(%{vagrant_plugin_name}) = %{version}
%description
libvirt provider for Vagrant.
%package doc
Summary: Documentation for %{name}
Group: Documentation
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
@ -48,16 +80,18 @@ BuildArch: noarch
Documentation for %{name}.
%prep
gem unpack %{SOURCE0}
%setup -q -n %{vagrant_plugin_name}-%{version} -b 1
%setup -q -D -T -n %{vagrant_plugin_name}-%{version}
gem spec %{SOURCE0} -l --ruby > %{vagrant_plugin_name}.gemspec
%patch0 -p1
%patch 0 -p1
%patch 1 -p1
%patch 2 -p1
%patch 3 -p1
%patch 4 -p1
%patch 5 -p1
%patch 100 -p1
%build
gem build %{vagrant_plugin_name}.gemspec
gem build ../%{vagrant_plugin_name}-%{version}.gemspec
%vagrant_plugin_install
%install
@ -65,55 +99,226 @@ mkdir -p %{buildroot}%{vagrant_plugin_dir}
cp -a .%{vagrant_plugin_dir}/* \
%{buildroot}%{vagrant_plugin_dir}/
# polkit rule for vagrant group.
#mkdir -p %{buildroot}%{_datadir}/polkit-1/rules.d
#install -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/polkit-1/rules.d/
mkdir -p %{buildroot}%{vagrant_plugin_docdir}/polkit
install -m 0644 %{SOURCE1} %{buildroot}%{vagrant_plugin_docdir}/polkit
%check
pushd .%{vagrant_plugin_instdir}
sed -i '/:git/ s|:git.*$|:path => "%{vagrant_dir}"|' Gemfile
sed -i '/pry/d' Gemfile
sed -i '/rspec/ s|\[\".*\"]|["~> 2.0"]|' vagrant-libvirt.gemspec
# Edit gemspec of vagrant-spec
pushd ../vagrant-spec-%{vagrant_spec_commit}
# Remove the git reference, which is useless in our case.
sed -i '/git / s/^/#/' vagrant-spec.gemspec
bundle exec rspec2 spec
# Relax the dependencies, since Fedora ships with newer versions.
sed -i '/thor/ s/~>/>=/' vagrant-spec.gemspec
sed -i '/rspec/ s/~>/>=/' vagrant-spec.gemspec
popd
%pre
getent group vagrant >/dev/null || groupadd -r vagrant
# Use actual gemspec for tests
cp ../%{vagrant_plugin_name}-%{version}.gemspec .%{vagrant_plugin_instdir}/%{vagrant_plugin_name}.gemspec
%posttrans
%vagrant_plugin_register %{vagrant_plugin_name}
pushd .%{vagrant_plugin_instdir}
# Create dummy Gemfile and load dependencies via gemspec file
cat > Gemfile <<EOG
gem 'vagrant'
gem 'base64'
gem 'logger'
gem 'ostruct'
gem 'rdoc'
gem 'rexml'
gem 'vagrant-spec', :path => '%{_builddir}/vagrant-spec-%{vagrant_spec_commit}'
gemspec
EOG
%preun
%vagrant_plugin_unregister %{vagrant_plugin_name}
# Unless rsync binary is present, vagrant-libvirt
# decides to use other methods of folder sync in tests,
# breaking set expectations for the test environment.
# https://github.com/vagrant-libvirt/vagrant-libvirt/issues/1415#issuecomment-985272836
# Luckily, it just needs `rsync` in $PATH for tests to pass.
tmpdir=$(mktemp -d)
touch "${tmpdir}/rsync"
chmod +x "${tmpdir}/rsync"
# Suppress deprecation warnings
GEM_PATH=%{vagrant_plugin_dir}:`ruby -e "print Gem.path.join(':')"` \
PATH="$PATH:${tmpdir}" \
bundle exec rspec spec
popd
%files
%dir %{vagrant_plugin_instdir}
%exclude %{vagrant_plugin_instdir}/.*
%license %{vagrant_plugin_instdir}/LICENSE
%doc %{vagrant_plugin_instdir}/README.md
%{vagrant_plugin_libdir}
%{vagrant_plugin_instdir}/locales
%{vagrant_plugin_instdir}/tools
%exclude %{vagrant_plugin_cache}
%exclude %{vagrant_plugin_instdir}/.gitignore
%{vagrant_plugin_spec}
# polkit
# TODO: Disabled for now, since this might have security implications.
#%exclude %{_datadir}/polkit-1/rules.d/10-vagrant-libvirt.rules
%files doc
%doc %{vagrant_plugin_docdir}
%doc %{vagrant_plugin_instdir}/example_box
%doc %{vagrant_plugin_instdir}/CHANGELOG.md
%{vagrant_plugin_instdir}/Rakefile
%{vagrant_plugin_instdir}/Gemfile
%{vagrant_plugin_instdir}/vagrant-libvirt.gemspec
%doc %{vagrant_plugin_instdir}/README.md
%{vagrant_plugin_instdir}/spec
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.2-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Tue Dec 16 2025 Jarek Prokop <jprokop@redhat.com> - 0.11.2-9
- Fix Ruby 4.0 compatibility by replacing CGI with URI equivalent.
* Mon Nov 03 2025 Vít Ondruch <vondruch@redhat.com> - 0.11.2-8
- Fix compatibility with REXML 3.4.2+
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Jan 07 2025 Jarek Prokop <jprokop@redhat.com> - 0.11.2-5
- Stop warning being emitted due to setting unsupported option in fog-libvirt.
* Sun Dec 29 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.11.2-5
- Add some gem dependency on testsuite for ruby3.4
- Support REXML 3.3.2 output behavior change
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.11.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sun Jan 29 2023 Bart Kus <me@bartk.us> - 0.11.2-1
- Update to vagrant-libvirt 0.11.2.
* Fri Jan 20 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.7.0-5
- Backport upstream fix for ruby3.2 compatibility
(File.exists? removal, URI#parse host name result change)
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Apr 11 2022 Vít Ondruch <vondruch@redhat.com> - 0.7.0-3
- Add `BR: rubygem(rake)` to fix FTBFS.
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Sep 14 2021 Pavel Valena <pvalena@redhat.com> - 0.7.0-1
- Update to vagrant-libvirt 0.7.0.
Resolves: rhbz#1963360
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon May 17 2021 Pavel Valena <pvalena@redhat.com> - 0.4.1-2
- Fix forward_ports with ruby 3.0.
Resolves: rhbz#1947885
* Fri Apr 16 2021 Pavel Valena <pvalena@redhat.com> - 0.4.1-1
- Update to vagrant-libvirt 0.4.1.
Resolves: rhbz#1884945
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Aug 18 2020 Vít Ondruch <vondruch@redhat.com> - 0.1.2-2
- Drop dependency on Erubis.
* Thu Aug 06 2020 Pavel Valena <pvalena@redhat.com> - 0.1.2-1
- Update to vagrant-libvirt 0.1.2.
Resolves: rhbz#1833807
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.45-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.45-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Sep 08 2019 Tadej Janež <tadej.j@nez.si> - 0.0.45-3
- Backport/Add useful features and fixes from upstream:
- Allow customizing of virt-sysprep behaviour on package.
- Use fetch to obtain environment variable value in package_domain.
- Halt a domain before packaging it as a box to avoid hard to debug issues.
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.45-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Feb 14 2019 Pavel Valena <pvalena@redhat.com> - 0.0.45-1
- Update to vagrant-libvirt 0.0.45.
- Enable QEMU Session by default
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.43-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Nov 02 2018 Pavel Valena <pvalena@redhat.com> - 0.0.43-2
- Relax fog-core dependency to work with recently rebased one.
* Mon Oct 01 2018 pvalena <pvalena@redhat.com> - 0.0.43-1
- Update to vagrant-libvirt 0.0.43.
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.40-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.40-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Dec 08 2017 Pavel Valena <pvalena@redhat.com> - 0.0.40-3
- Fix invalid XML creation on custom domain name (rhbz#1518899).
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.40-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Mon Jun 19 2017 Vít Ondruch <vondruch@redhat.com> - 0.0.40-1
- Update to vagrant-libvirt 0.0.40.
* Fri Feb 24 2017 Vít Ondruch <vondruch@redhat.com> - 0.0.37-4
- Fix Vagrant error when network is specified (rhbz#1426565).
* Mon Feb 13 2017 Vít Ondruch <vondruch@redhat.com> - 0.0.37-3
- Fix compatiblity with Vagrant 1.9.1.
* Mon Feb 06 2017 Vít Ondruch <vondruch@redhat.com> - 0.0.37-2
- Use file dependency rather then package dependency.
* Wed Feb 01 2017 Vít Ondruch <vondruch@redhat.com> - 0.0.37-1
- Update to vagrant-libvirt 0.0.37.
- Recommends libguestfs required by "vagrant package" (rhbz#1292217).
* Thu Jan 05 2017 Vít Ondruch <vondruch@redhat.com> - 0.0.36-2
- Fix compatibility with latest Bundler (rhbz#1409381).
* Sun Jan 1 2017 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.0.36-2
- Relax nokogiri dependency
* Mon Oct 10 2016 Vít Ondruch <vondruch@redhat.com> - 0.0.36-1
- Update to vagrant-libvirt 0.0.36.
* Tue Oct 04 2016 Vít Ondruch <vondruch@redhat.com> - 0.0.35-1
- Update to vagrant-libvirt 0.0.35.
* Wed Aug 03 2016 Vít Ondruch <vondruch@redhat.com> - 0.0.33-1
- Update to vagrant-libvirt 0.0.33.
- Drop the polkit rules. Use libvirt group instead.
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.32-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Oct 14 2015 Josef Stribny <jstribny@redhat.com> - 0.0.32-1
- Update to 0.0.32
* Mon Oct 05 2015 Josef Stribny <jstribny@redhat.com> - 0.0.31-1
- Update to 0.0.31
* Mon Sep 14 2015 Josef Stribny <jstribny@redhat.com> - 0.0.30-5
- Drop the rest of libvirt deps, they should be pulled via ruby-libvirt
* Mon Sep 14 2015 Josef Stribny <jstribny@redhat.com> - 0.0.30-4
- Drop unnecessary explicit libvirt require
* Fri Jul 10 2015 Dan Williams <dcbw@redhat.com> - 0.0.30-3
- Fix: pass MAC addresses to vagrant to configure interfaces correctly