diff --git a/vagrant-libvirt-0.12.2-Replace-CGI.parse-with-URI-equivalent.patch b/vagrant-libvirt-0.12.2-Replace-CGI.parse-with-URI-equivalent.patch new file mode 100644 index 0000000..1e041d2 --- /dev/null +++ b/vagrant-libvirt-0.12.2-Replace-CGI.parse-with-URI-equivalent.patch @@ -0,0 +1,41 @@ +From dfb9fd59bd6eca13f4e22e5038247473f9cd108d Mon Sep 17 00:00:00 2001 +From: Jarek Prokop +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 diff --git a/vagrant-libvirt.spec b/vagrant-libvirt.spec index 0c38496..ad18051 100644 --- a/vagrant-libvirt.spec +++ b/vagrant-libvirt.spec @@ -4,7 +4,7 @@ Name: %{vagrant_plugin_name} Version: 0.11.2 -Release: 8%{?dist} +Release: 11%{?dist} Summary: libvirt provider for Vagrant License: MIT URL: https://github.com/vagrant-libvirt/vagrant-libvirt @@ -33,6 +33,9 @@ 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 @@ -84,6 +87,7 @@ Documentation for %{name}. %patch 2 -p1 %patch 3 -p1 %patch 4 -p1 +%patch 5 -p1 %patch 100 -p1 %build @@ -153,9 +157,21 @@ popd %{vagrant_plugin_instdir}/spec %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 0.11.2-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 0.11.2-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Tue Dec 16 2025 Jarek Prokop - 0.11.2-9 +- Fix Ruby 4.0 compatibility by replacing CGI with URI equivalent. + * Mon Nov 03 2025 Vít Ondruch - 0.11.2-8 - Fix compatibility with REXML 3.4.2+ +* Fri Jul 25 2025 Fedora Release Engineering - 0.11.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sun Jan 19 2025 Fedora Release Engineering - 0.11.2-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild