ruby-libvirt-catphish 0.7.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4698f3de22d3cd6f3140541ae6060b20acbbaa29e2d333bc7ef9f0e5c60e83ab
4
- data.tar.gz: 9e8615cc43a0441945e57434e235dd47f8d812ee29da31e32da73187df09f56c
3
+ metadata.gz: fd73b727d23f32250891c19ce05616436fef999b7533def9b6d36d252f6902ea
4
+ data.tar.gz: bc79e978eeee61d1f68bed0e9aed32dd0cc03524030ed1d030b7839aee1eab30
5
5
  SHA512:
6
- metadata.gz: 8f85023e1274681434cc04d6bd992acc7a17a237e2192caae410704d8dce2d91429db4c8fb3541b51bfff22b8be9100b31d3c44759c7795f37ba2d9ccb517f50
7
- data.tar.gz: fc7dc419880f212c23651a570496d37e2b5b00ca706c3a9ebba5ab3495944dba8122499ad26de630c09e3873ec61b3e22eca875ad01a9dc9e857438bcd7fa821
6
+ metadata.gz: a6684c55b663323a40b53c74b6971fa1b9f69cbdc687b1faa2eff7e441a771ef75cd9d4d05980aad28dfd8a603505908f3b06790a64f3d8301719e12b7f546b7
7
+ data.tar.gz: f36b0a73e4c452c36bba28bcd73eca96446c07e51860ee515368286883f589a55bb780206047078a93468560ca05a53aeee8911d438b0e4f79075ade1c364f87
data/NEWS CHANGED
@@ -1,3 +1,10 @@
1
+ 2021-11-15 0.8.0
2
+ * Fix default values for node_cpu_stats and node_memory_stats
3
+ * Fix cpumap allocation for virDomainGetVcpus
4
+ * Enforce UTF8 for strings and exceptions
5
+ * Drop local have_const
6
+ * Use sensible default for libvirt_domain_qemu_agent_command
7
+
1
8
  2018-02-18 0.7.1
2
9
  * Fix a bad bug in block_resize (Marius Rieder)
3
10
  * Fix up some problems pointed out by clang
data/Rakefile CHANGED
@@ -21,7 +21,7 @@ require 'rubygems/package_task'
21
21
  require 'rbconfig'
22
22
 
23
23
  PKG_NAME='ruby-libvirt-catphish'
24
- PKG_VERSION='0.7.2'
24
+ PKG_VERSION='0.8.0'
25
25
 
26
26
  EXT_CONF='ext/libvirt/extconf.rb'
27
27
  MAKEFILE="ext/libvirt/Makefile"
@@ -145,7 +145,7 @@ SPEC = Gem::Specification.new do |s|
145
145
  s.author = "David Lutterkort, Chris Lalancette"
146
146
  s.rubyforge_project = "None"
147
147
  s.description = "Ruby bindings for libvirt."
148
- s.license = "LGPLv2"
148
+ s.license = "LGPL-2.1-or-later"
149
149
  end
150
150
 
151
151
  Gem::PackageTask.new(SPEC) do |pkg|
data/ext/libvirt/common.c CHANGED
@@ -24,7 +24,8 @@
24
24
  #endif
25
25
  #include <stdio.h>
26
26
  #include <ruby.h>
27
- #include <st.h>
27
+ #include <ruby/encoding.h>
28
+ #include <ruby/st.h>
28
29
  #include <libvirt/libvirt.h>
29
30
  #include <libvirt/virterror.h>
30
31
  #include "common.h"
@@ -38,8 +39,9 @@ struct rb_exc_new2_arg {
38
39
  static VALUE ruby_libvirt_exc_new2_wrap(VALUE arg)
39
40
  {
40
41
  struct rb_exc_new2_arg *e = (struct rb_exc_new2_arg *)arg;
42
+ VALUE ruby_msg = ruby_libvirt_str_new2_wrap((VALUE)&e->msg);
41
43
 
42
- return rb_exc_new2(e->error, e->msg);
44
+ return rb_exc_new3(e->error, ruby_msg);
43
45
  }
44
46
 
45
47
  VALUE ruby_libvirt_ary_new2_wrap(VALUE arg)
@@ -66,8 +68,11 @@ VALUE ruby_libvirt_ary_store_wrap(VALUE arg)
66
68
  VALUE ruby_libvirt_str_new2_wrap(VALUE arg)
67
69
  {
68
70
  char **str = (char **)arg;
71
+ VALUE ruby_msg = rb_str_new2(*str);
72
+ int enc = rb_enc_find_index("UTF-8");
69
73
 
70
- return rb_str_new2(*str);
74
+ rb_enc_associate_index(ruby_msg, enc);
75
+ return ruby_msg;
71
76
  }
72
77
 
73
78
  VALUE ruby_libvirt_str_new_wrap(VALUE arg)
@@ -144,7 +149,7 @@ void ruby_libvirt_raise_error_if(const int condition, VALUE error,
144
149
  rb_iv_set(ruby_errinfo, "@libvirt_level", INT2NUM(err->level));
145
150
  if (err->message != NULL) {
146
151
  rb_iv_set(ruby_errinfo, "@libvirt_message",
147
- rb_str_new2(err->message));
152
+ ruby_libvirt_str_new2_wrap((VALUE)&err->message));
148
153
  }
149
154
  }
150
155
 
data/ext/libvirt/common.h CHANGED
@@ -56,7 +56,7 @@ void ruby_libvirt_raise_error_if(const int condition, VALUE error,
56
56
  } \
57
57
  } \
58
58
  else { \
59
- result = rb_str_new2(str); \
59
+ result = ruby_libvirt_str_new2_wrap((VALUE)&str); \
60
60
  } \
61
61
  return result; \
62
62
  } while(0)
@@ -2290,9 +2290,7 @@ static struct ruby_libvirt_typed_param memory_allowed[] = {
2290
2290
  {VIR_NODE_MEMORY_SHARED_PAGES_UNSHARED, VIR_TYPED_PARAM_ULLONG},
2291
2291
  {VIR_NODE_MEMORY_SHARED_PAGES_VOLATILE, VIR_TYPED_PARAM_ULLONG},
2292
2292
  {VIR_NODE_MEMORY_SHARED_FULL_SCANS, VIR_TYPED_PARAM_ULLONG},
2293
- #if HAVE_CONST_VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES
2294
2293
  {VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES, VIR_TYPED_PARAM_UINT},
2295
- #endif
2296
2294
  };
2297
2295
 
2298
2296
  /*
data/ext/libvirt/domain.c CHANGED
@@ -24,7 +24,7 @@
24
24
  #include <ruby.h>
25
25
  #include <ruby/thread.h>
26
26
  /* we need to include st.h since ruby 1.8 needs it for RHash */
27
- #include <st.h>
27
+ #include <ruby/st.h>
28
28
  #include <libvirt/libvirt.h>
29
29
  #if HAVE_VIRDOMAINQEMUMONITORCOMMAND
30
30
  #include <libvirt/libvirt-qemu.h>
@@ -1972,12 +1972,8 @@ static struct ruby_libvirt_typed_param domain_scheduler_allowed[] = {
1972
1972
  {VIR_DOMAIN_SCHEDULER_CPU_SHARES, VIR_TYPED_PARAM_ULLONG},
1973
1973
  {VIR_DOMAIN_SCHEDULER_VCPU_PERIOD, VIR_TYPED_PARAM_ULLONG},
1974
1974
  {VIR_DOMAIN_SCHEDULER_VCPU_QUOTA, VIR_TYPED_PARAM_LLONG},
1975
- #if HAVE_CONST_VIR_DOMAIN_SCHEDULER_EMULATOR_PERIOD
1976
1975
  {VIR_DOMAIN_SCHEDULER_EMULATOR_PERIOD, VIR_TYPED_PARAM_ULLONG},
1977
- #endif
1978
- #if HAVE_CONST_VIR_DOMAIN_SCHEDULER_EMULATOR_QUOTA
1979
1976
  {VIR_DOMAIN_SCHEDULER_EMULATOR_QUOTA, VIR_TYPED_PARAM_LLONG},
1980
- #endif
1981
1977
  {VIR_DOMAIN_SCHEDULER_WEIGHT, VIR_TYPED_PARAM_UINT},
1982
1978
  {VIR_DOMAIN_SCHEDULER_CAP, VIR_TYPED_PARAM_UINT},
1983
1979
  {VIR_DOMAIN_SCHEDULER_RESERVATION, VIR_TYPED_PARAM_LLONG},
@@ -3286,9 +3282,7 @@ static struct ruby_libvirt_typed_param iotune_allowed[] = {
3286
3282
  {VIR_DOMAIN_BLOCK_IOTUNE_TOTAL_IOPS_SEC, VIR_TYPED_PARAM_ULLONG},
3287
3283
  {VIR_DOMAIN_BLOCK_IOTUNE_READ_IOPS_SEC, VIR_TYPED_PARAM_ULLONG},
3288
3284
  {VIR_DOMAIN_BLOCK_IOTUNE_WRITE_IOPS_SEC, VIR_TYPED_PARAM_ULLONG},
3289
- #if HAVE_CONST_VIR_DOMAIN_BLOCK_IOTUNE_SIZE_IOPS_SEC
3290
3285
  {VIR_DOMAIN_BLOCK_IOTUNE_SIZE_IOPS_SEC, VIR_TYPED_PARAM_ULLONG},
3291
- #endif
3292
3286
  };
3293
3287
 
3294
3288
  /*
@@ -3799,6 +3793,10 @@ static VALUE libvirt_domain_qemu_agent_command(int argc, VALUE *argv, VALUE d)
3799
3793
 
3800
3794
  rb_scan_args(argc, argv, "12", &command, &timeout, &flags);
3801
3795
 
3796
+ if (NIL_P(timeout)) {
3797
+ timeout = INT2NUM(VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT);
3798
+ }
3799
+
3802
3800
  ret = virDomainQemuAgentCommand(ruby_libvirt_domain_get(d),
3803
3801
  StringValueCStr(command),
3804
3802
  ruby_libvirt_value_to_int(timeout),
@@ -3890,16 +3888,14 @@ static struct ruby_libvirt_typed_param migrate3_allowed[] = {
3890
3888
  {VIR_MIGRATE_PARAM_DEST_XML, VIR_TYPED_PARAM_STRING},
3891
3889
  {VIR_MIGRATE_PARAM_BANDWIDTH, VIR_TYPED_PARAM_ULLONG},
3892
3890
  {VIR_MIGRATE_PARAM_GRAPHICS_URI, VIR_TYPED_PARAM_STRING},
3893
- #if HAVE_CONST_VIR_MIGRATE_PARAM_LISTEN_ADDRESS
3894
3891
  {VIR_MIGRATE_PARAM_LISTEN_ADDRESS, VIR_TYPED_PARAM_STRING},
3895
- #endif
3896
3892
  };
3897
3893
 
3898
3894
  /*
3899
3895
  * call-seq:
3900
3896
  * dom.migrate3(dconn, Hash=nil, flags=0) -> Libvirt::Domain
3901
3897
  *
3902
- * Call virDomainMigrate3[http://www.libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrate2]
3898
+ * Call virDomainMigrate3[http://www.libvirt.org/html/libvirt-libvirt-domain.html#virDomainMigrate3]
3903
3899
  * to migrate a domain from the host on this connection to the connection
3904
3900
  * referenced in dconn.
3905
3901
  */
@@ -4566,6 +4562,14 @@ void ruby_libvirt_domain_init(void)
4566
4562
  #if HAVE_CONST_VIR_DOMAIN_UNDEFINE_NVRAM
4567
4563
  rb_define_const(c_domain, "UNDEFINE_NVRAM",
4568
4564
  INT2NUM(VIR_DOMAIN_UNDEFINE_NVRAM));
4565
+ #endif
4566
+ #if HAVE_CONST_VIR_DOMAIN_UNDEFINE_KEEP_NVRAM
4567
+ rb_define_const(c_domain, "UNDEFINE_KEEP_NVRAM",
4568
+ INT2NUM(VIR_DOMAIN_UNDEFINE_KEEP_NVRAM));
4569
+ #endif
4570
+ #if HAVE_CONST_VIR_DOMAIN_UNDEFINE_CHECKPOINTS_METADATA
4571
+ rb_define_const(c_domain, "UNDEFINE_CHECKPOINTS_METADATA",
4572
+ INT2NUM(VIR_DOMAIN_UNDEFINE_CHECKPOINTS_METADATA));
4569
4573
  #endif
4570
4574
  rb_define_attr(c_domain, "connection", 1, 0);
4571
4575
 
@@ -345,6 +345,8 @@
345
345
  #define HAVE_CONST_VIR_DOMAIN_DEFINE_VALIDATE 1
346
346
  #define HAVE_CONST_VIR_DOMAIN_PASSWORD_ENCRYPTED 1
347
347
  #define HAVE_CONST_VIR_DOMAIN_TIME_SYNC 1
348
+ #define HAVE_CONST_VIR_DOMAIN_UNDEFINE_KEEP_NVRAM 1
349
+ #define HAVE_CONST_VIR_DOMAIN_UNDEFINE_CHECKPOINTS_METADATA 1
348
350
  #define HAVE_CONST_VIR_FROM_VMWARE 1
349
351
  #define HAVE_CONST_VIR_FROM_AUDIT 1
350
352
  #define HAVE_CONST_VIR_FROM_SYSINFO 1
@@ -381,6 +383,7 @@
381
383
  #define HAVE_VIRDOMAINQEMUMONITORCOMMAND 1
382
384
  #define HAVE_VIRDOMAINQEMUATTACH 1
383
385
  #define HAVE_VIRDOMAINQEMUAGENTCOMMAND 1
386
+ #define HAVE_CONST_VIR_DOMAIN_QEMU_AGENT_COMMAND_SHUTDOWN 1
384
387
  #define HAVE_CONST_VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK 1
385
388
  #define HAVE_CONST_VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT 1
386
389
  #define HAVE_CONST_VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWAIT 1
@@ -4,38 +4,6 @@ RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC']
4
4
  RbConfig::MAKEFILE_CONFIG['CCDLFLAGS'] = ENV['CFLAGS'] if ENV['CFLAGS']
5
5
  RbConfig::MAKEFILE_CONFIG['EXTDLDFLAGS'] = ENV['CFLAGS'] if ENV['CFLAGS']
6
6
 
7
- # older mkmf does not have checking_message, so implement our own here
8
- def libvirt_checking_message(target, place = nil, opt = nil)
9
- [["in", place], ["with", opt]].inject("#{target}") do |msg, (pre, noun)|
10
- if noun
11
- [[:to_str], [:join, ","], [:to_s]].each do |meth, *args|
12
- if noun.respond_to?(meth)
13
- break noun = noun.send(meth, *args)
14
- end
15
- end
16
- msg << " #{pre} #{noun}" unless noun.empty?
17
- end
18
- msg
19
- end
20
- end
21
-
22
- def have_const(const, headers = nil, opt = "", &b)
23
- checking_for libvirt_checking_message(const, headers, opt) do
24
- headers = cpp_include(headers)
25
- if try_compile(<<"SRC", opt, &b)
26
- #{COMMON_HEADERS}
27
- #{headers}
28
- /*top*/
29
- static int t = #{const};
30
- SRC
31
- $defs.push(format("-DHAVE_CONST_%s", const.strip.upcase.tr_s("^A-Z0-9_", "_")))
32
- true
33
- else
34
- false
35
- end
36
- end
37
- end
38
-
39
7
  extension_name = '_libvirt'
40
8
 
41
9
  # this is a poor-man's dir_config, but is a bit more flexible. In particular,
@@ -58,22 +26,23 @@ extension_name = '_libvirt'
58
26
  include = with_config("libvirt-include")
59
27
  lib = with_config("libvirt-lib")
60
28
  if include and lib
29
+ print "Looking for libvirt in " + include + " and " + lib + "\n"
61
30
  $LIBPATH = [lib] | $LIBPATH
62
31
  $CPPFLAGS += " -I" + include
63
- have_library("virt", "virConnectOpen", "libvirt/libvirt.h")
64
-
65
- # if we are using custom libvirt libraries, we have to suppress the default
66
- # library path so have_func() only picks up the custom ones, not the installed
67
- # ones
68
- $DEFLIBPATH = []
69
32
  elsif (include and not lib) or (not include and lib)
70
33
  raise "Must specify both --with-libvirt-include and --with-libvirt-lib, or neither"
71
34
  else
35
+ print "Looking for libvirt using pkg-config\n"
72
36
  unless pkg_config("libvirt")
73
37
  raise "libvirt library not found in default locations"
74
38
  end
75
39
  end
76
40
 
41
+ # Quick sanity check: if we can't find the virConnectOpen() function,
42
+ # there's no way anything will work and we might as well give up now
43
+ unless have_library("virt", "virConnectOpen", "libvirt/libvirt.h")
44
+ raise "No working libvirt installation found"
45
+ end
77
46
 
78
47
  libvirt_types = [ 'virNetworkPtr',
79
48
  'virStoragePoolPtr',
@@ -409,11 +378,7 @@ libvirt_consts = [ 'VIR_MIGRATE_LIVE',
409
378
  'VIR_DOMAIN_BLOCK_JOB_FAILED',
410
379
  'VIR_DOMAIN_BLOCK_JOB_CANCELED',
411
380
  'VIR_DOMAIN_BLOCK_JOB_READY',
412
- 'VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES',
413
381
  'VIR_CONNECT_LIST_NODE_DEVICES_CAP_SCSI_GENERIC',
414
- 'VIR_MIGRATE_PARAM_LISTEN_ADDRESS',
415
- 'VIR_DOMAIN_SCHEDULER_EMULATOR_PERIOD',
416
- 'VIR_DOMAIN_SCHEDULER_EMULATOR_QUOTA',
417
382
  'VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT',
418
383
  'VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE',
419
384
  'VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC',
@@ -430,17 +395,17 @@ libvirt_consts = [ 'VIR_MIGRATE_LIVE',
430
395
  'VIR_DOMAIN_BLOCK_COMMIT_ACTIVE',
431
396
  'VIR_DOMAIN_BLOCK_COMMIT_RELATIVE',
432
397
  'VIR_DOMAIN_BLOCK_COMMIT_BANDWIDTH_BYTES',
433
- 'VIR_DOMAIN_BLOCK_IOTUNE_SIZE_IOPS_SEC',
434
398
  'VIR_STORAGE_POOL_CREATE_NORMAL',
435
399
  'VIR_STORAGE_POOL_CREATE_WITH_BUILD',
436
400
  'VIR_STORAGE_POOL_CREATE_WITH_BUILD_OVERWRITE',
437
401
  'VIR_STORAGE_POOL_CREATE_WITH_BUILD_NO_OVERWRITE',
438
402
  'VIR_STORAGE_VOL_CREATE_REFLINK',
439
403
  'VIR_STORAGE_VOL_DELETE_WITH_SNAPSHOTS',
440
- 'VIR_DOMAIN_QEMU_AGENT_COMMAND_SHUTDOWN',
441
404
  'VIR_DOMAIN_DEFINE_VALIDATE',
442
405
  'VIR_DOMAIN_PASSWORD_ENCRYPTED',
443
406
  'VIR_DOMAIN_TIME_SYNC',
407
+ 'VIR_DOMAIN_UNDEFINE_KEEP_NVRAM',
408
+ 'VIR_DOMAIN_UNDEFINE_CHECKPOINTS_METADATA',
444
409
  ]
445
410
 
446
411
  virterror_consts = [
@@ -480,6 +445,7 @@ virterror_consts = [
480
445
  ]
481
446
 
482
447
  libvirt_qemu_consts = [
448
+ 'VIR_DOMAIN_QEMU_AGENT_COMMAND_SHUTDOWN',
483
449
  'VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK',
484
450
  'VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT',
485
451
  'VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWAIT',
@@ -492,13 +458,13 @@ libvirt_funcs.each { |f| have_func(f, "libvirt/libvirt.h") }
492
458
  libvirt_consts.each { |c| have_const(c, ["libvirt/libvirt.h"]) }
493
459
  virterror_consts.each { |c| have_const(c, ["libvirt/virterror.h"]) }
494
460
  if find_header("libvirt/libvirt-qemu.h")
495
- have_library("virt-qemu", "virDomainQemuMonitorCommand")
461
+ have_library("virt-qemu", "virDomainQemuMonitorCommand", "libvirt/libvirt-qemu.h")
496
462
  libvirt_qemu_funcs.each { |f| have_func(f, "libvirt/libvirt-qemu.h") }
497
463
  libvirt_qemu_consts.each { |c| have_const(c, ["libvirt/libvirt-qemu.h"]) }
498
464
  end
499
465
 
500
466
  if find_header("libvirt/libvirt-lxc.h")
501
- have_library("virt-lxc", "virDomainLxcOpenNamespace")
467
+ have_library("virt-lxc", "virDomainLxcOpenNamespace", "libvirt/libvirt-lxc.h")
502
468
  libvirt_lxc_funcs.each{ |f| have_func(f, "libvirt/libvirt-lxc.h") }
503
469
  end
504
470
 
data/tests/test_domain.rb CHANGED
@@ -606,6 +606,7 @@ sleep 1
606
606
  expect_too_many_args(newdom, "name", 1)
607
607
 
608
608
  expect_success(newdom, "no args", "name") {|x| x == "rb-libvirt-test"}
609
+ expect_success(newdom, "is UTF-8", "name") {|x| x.encoding.name == "UTF-8"}
609
610
 
610
611
  newdom.destroy
611
612
 
@@ -909,6 +910,7 @@ expect_too_many_args(newdom, "lookup_snapshot_by_name", 1, 2, 3)
909
910
  expect_too_few_args(newdom, "lookup_snapshot_by_name")
910
911
  expect_invalid_arg_type(newdom, "lookup_snapshot_by_name", 1)
911
912
  expect_invalid_arg_type(newdom, "lookup_snapshot_by_name", 'foo', 'bar')
913
+ expect_utf8_exception_msg(newdom, Libvirt::RetrieveError, "lookup_snapshot_by_name", "__non_existing_snapshot")
912
914
 
913
915
  expect_success(newdom, "name arg", "lookup_snapshot_by_name", "foo")
914
916
 
data/tests/test_utils.rb CHANGED
@@ -166,6 +166,24 @@ def expect_fail(object, errtype, errmsg, func, *args)
166
166
  end
167
167
  end
168
168
 
169
+ def expect_utf8_exception_msg(object, errtype, func, *args)
170
+ begin
171
+ object.__send__(func, *args)
172
+ rescue NoMethodError
173
+ puts_skipped "#{$test_object}.#{func} does not exist"
174
+ rescue errtype => e
175
+ if e.message.encoding.name == 'UTF-8'
176
+ puts_ok "#{$test_object}.#{func} threw #{errtype.to_s} with UTF-8 encoding"
177
+ else
178
+ puts_fail "#{$test_object}.#{func} threw #{errtype.to_s} with #{e.message.encoding.name} encoding"
179
+ end
180
+ rescue => e
181
+ puts_fail "#{$test_object}.#{func} expected to throw #{errtype.to_s}, but instead threw #{e.class.to_s}: #{e.to_s}"
182
+ else
183
+ puts_fail "#{$test_object}.#{func} expected to throw #{errtype.to_s}, but threw nothing"
184
+ end
185
+ end
186
+
169
187
  def expect_too_many_args(object, func, *args)
170
188
  expect_fail(object, ArgumentError, "too many args", func, *args)
171
189
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-libvirt-catphish
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Lutterkort, Chris Lalancette
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-01 00:00:00.000000000 Z
11
+ date: 2022-02-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby bindings for libvirt.
14
14
  email: libvir-list@redhat.com
@@ -59,9 +59,9 @@ files:
59
59
  - tests/test_utils.rb
60
60
  homepage: http://libvirt.org/ruby/
61
61
  licenses:
62
- - LGPLv2
62
+ - LGPL-2.1-or-later
63
63
  metadata: {}
64
- post_install_message:
64
+ post_install_message:
65
65
  rdoc_options: []
66
66
  require_paths:
67
67
  - lib
@@ -76,8 +76,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  requirements: []
79
- rubygems_version: 3.0.8
80
- signing_key:
79
+ rubygems_version: 3.2.32
80
+ signing_key:
81
81
  specification_version: 4
82
82
  summary: Ruby bindings for LIBVIRT
83
83
  test_files: []