2019-11-26 Daniel P. Berrangé Bump version & update NEWS for 3.0.0 release 2019-10-01 Fabiano Fidêncio gconfig-domain-video: Add bochs video device https://bugzilla.redhat.com/show_bug.cgi?id=1753670 Reviewed-by: Daniel P. Berrangé 2019-09-05 Fabiano Fidêncio tests,test-gconfig: Check _domain_os_get_machine() Let's add one more simple check for gvir_config_domain_os_get_machine(). Reviewed-by: Michal Privoznik gconfig: Add _domain_os_get_firmware() Add a way to get the value of which has been set to the domain XML. Reviewed-by: Michal Privoznik 2019-08-19 Daniel P. Berrangé Set desired glib min/max API versions Setting GLIB_VERSION_MAX_ALLOWED ensures we get warnings if we use APIs that are newer than our declared minimum glib version. Setting GLIB_VERSION_MIN_REQUIRED ensures that we get warnings if we use APIs deprecated in versions preceeding this. If the latter is omitted then we get warnings for all deprecations in glib, which is undesirable if we want to keep compat with older versions. This avoids a build error with latest glib ./../libvirt-gconfig/libvirt-gconfig-capabilities-cpu-model.c: In function 'gvir_config_capabilities_cpu_model_init': ../../libvirt-gconfig/libvirt-gconfig-capabilities-cpu-model.c:44:13: error: G_ADD_PRIVATE [-Werror] 44 | model->priv = GVIR_CONFIG_CAPABILITIES_CPU_MODEL_GET_PRIVATE(model); | ^~~~~~~~~~~~~~~ Caused by G_TYPE_INSTANCE_GET_PRIVATE being deprecated. Reviewed-by: Michal Privoznik gobject: remove use of G_PARAM_PRIVATE This enum field is a deprecated synonym for G_PARAM_STATIC_NAME which is already set by G_PARAM_STATIC_STRINGS. Reviewed-by: Michal Privoznik 2019-05-27 Fabiano Fidêncio gtk-doc.make: Remove the file Now that we're using gtkdocisze as part of autogen.sh, there's no reason to keep our own gtk-doc.make file. Reviewed-by: Michal Privoznik autogen.sh: Simplify autogen.sh Let's use an autogen.sh based on libosinfo's one, which is cleaner and matches the current GNOME guidelines. Reviewed-by: Michal Privoznik docs: explicitly link against libvirt-g{config,lib,object} Let's explicitly link against the built libvirt-gconfig, libvirt-glib, and libvirt-gobject libtool files for introspecting the gobjects. In case it's *not* done we can run into some issues when where we try to link against installed library, causing failures related to undefined reference of the new symbols. Reviewed-by: Andrea Bolognani 2019-05-23 Fabiano Fidêncio event-test: Change sha-bang line to use python3 Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik event-test: Handle exceptions in a py3 compatible way Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik event-test: Use print() in a py3 compatible way Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik event-test: Ensure the right versions of LibvirtGLib and Gtk get loaded Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik event-test: Don't use ";" in the end of lines Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik event-test: LibvirtGLib.init() takes (at maximum) 1 argment The previous behaviour with pygobject required 2 arguments to be passed to LibvirtGLib.init(). As it's been changed, whenever we try to run event-test we'd get: ``` Using uri:qemu:///system Traceback (most recent call last): File "event-test.py", line 62, in main() File "event-test.py", line 51, in main LibvirtGLib.init(0, "") TypeError: LibvirtGLib.init() takes exactly 1 argument (2 given) ``` Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik 2019-05-20 Fabiano Fidêncio conn-test: Change sha-bang line to use python3 Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik conn-test: Handle exceptions in a py3 compatible way Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik conn-test: Use print() in a py3 compatible way Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik conn-test: Ensure the right versions of LibvirtGObject and Gtk get loaded Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik conn-test: Don't use ";" in the end of lines Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik config-demo: Change sha-bang line to use python3 Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik config-demo: Use octal when setting mode Basically, just change 0744 to 0o744 in order to be compatible with python3. Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik config-demo: Use print() in a py3 compatible way Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik config-demo: Ensure the right LibvirtGConfig version gets loaded Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik config-demo: Don't use ";" in the end of lines Reviewed-by: Daniel P. Berrangé Reviewed-by: Michal Privoznik gobject: Wrap virConnectGetDomainCapabilities() In order to do so, 3 new APIs have been added: - gvir_connection_get_domain_capabilities(); - gvir_connection_get_domain_capabilities_async(); - gvir_connection_get_domain_capabilities_finish(); The returned object is a GVirConfigDomainCapabilities, from which consumers will be able to access a few other objects representing the XML returned by virConnectGetDomainCapabilities(). Reviewed-by: Michal Privoznik tests: Add basic test for domain capabilities This basic test only ensures that we can properly parse: bios efi Reviewed-by: Michal Privoznik gconfig: Add _domain_capabilities_os_get_firmwares() Add a way to access the element's conent from . Reviewed-by: Michal Privoznik gconfig: Add _domain_capabilities_get_os() Add a way to access the object which represents the element from the . Reviewed-by: Michal Privoznik gconfig: Add GVirConfigDomainCapabilitiesOs GVirConfigDomainCapabilitiesOs object has been introduced in order to represent the element under . For now it's not used anywhere, but it's addition allows us to start building the needed machinery for: - Returning a representation os element; - Having the most basic machinery to start adding functions to return any child element we may need to query from element; Reviewed-by: Michal Privoznik gconfig: Add GVirConfigDomainCapabilities GVirConfigDomainCapabilities object has been introduced in order to represent the output of virConnectGetDomainCapabilities(). For now it's not used anywhere, but its addition allows us to start building the needed machinery for: - Creating a wrapper around virConnectGetDomainCapabilities(); - Creating new objects that will be used to return each of the elements present in the output of virConnectGetDomainCapabilities(), accordingly to the consumers of this library's need; Reviewed-by: Michal Privoznik gobject: Use the proper return type in _connection_get_capabilities_finish() Instead of returning FALSE, return NULL. Reviewed-by: Michal Privoznik gconfig: Add _domain_os_set_firmware() Add a way to set to the domain XML. Reviewed-by: Michal Privoznik 2019-02-20 Daniel P. Berrangé po: refresh translations from zanata po: minimize uk ur vi wba yo zh_CN zh_HK zh_TW zu po: minimize sq sr@latin sr sv ta te tg th tr tw po: minimize or pa pl pt_BR pt ro ru si sk sl po: minimize mn mr ms nb nds ne nl nn nso po: minimize kw_GB kw@kkcor kw kw@uccor ky lt lv mai mk ml po: minimize id ilo is it ja ka kk km kn ko po: minimize fr gl gu he hi hr hu ia po: minimize de el en_GB eo es et eu fa fi po: minimize bn bo br brx bs ca cs cy da de_CH po: minimize af am anp ar as ast bal be bg bn_IN po: minimize & canonicalize translations stored in git Similar to the libvirt-glib.pot, .po files contain line numbers and file names identifying where in the source a translatable string comes from. The source locations in the .po files are thrown away and replaced with content from the libvirt-glib.pot whenever msgmerge is run, so this is not precious information that needs to be stored in git. When msgmerge processes a .po file, it will add in any msgids from the libvirt-glib.pot that were not already present. Thus, if a particular msgid currently has no translation, it can be considered redundant and again does not need storing in git. When msgmerge processes a .po file and can't find an exact existing translation match, it will try todo fuzzy matching instead, marking such entries with a "# fuzzy" comment to alert the translator to take a look and either discard, edit or accept the match. Looking at the existing fuzzy matches in .po files shows that the quality is awful, with many having a completely different set of printf format specifiers between the msgid and fuzzy msgstr entry. Fortunately when msgfmt generates the .gmo, the fuzzy entries are all ignored anyway. The fuzzy entries could be useful to translators if they were working on the .po files directly from git, but Libvirt-Glib outsourced translation to the Fedora Zanata system, so keeping fuzzy matches in git is not much help. Finally, by default msgids are sorted based on source location. Thus, if a bit of code with translatable text is moved from one file to another, it may shift around in the .po file, despite the msgid not itself changing. If the msgids were sorted alphabetically, the .po files would have stable ordering when code is refactored. This patch takes advantage of the above observations to canonicalize and minimize the content stored for .po files in git. Instead of storing the real .po files, we now store .mini.po files. The .mini.po files are the same file format as .po files, but have no source location comments, are sorted alphabetically, and all fuzzy msgstrs and msgids with no translation are discarded. This cuts the size of content in the po directory. Users working from a libvirt-glib git checkout who need the full .po files can run "make update-po", which merges the libvirt-glib.pot and .mini.po file to create a .po file containing all the content previously stored in git. Conversely if a full .po file has been modified, for example, by downloading new content from Zanata, the .mini.po files can be updated by running "make update-mini-po". The resulting diffs of the .mini.po file will clearly show the changed translations without any of the noise that previously obscured content. Being able to see content changes clearly actually identified a bug in the zanata python client where it was adding bogus "fuzzy" annotations to many messages: https://bugzilla.redhat.com/show_bug.cgi?id=1564497 Users working from libvirt-glib releases should not see any difference in behaviour, since the tarballs only contain the full .po files, not the .mini.po files. As an added benefit, generating tarballs with "make dist", will no longer cause creation of dirty files in git, since it won't touch the .mini.po files, only the .po files which are no longer kept in git. The languages are minimized in the following commit since it is a large mechanical process. po: add rules for integration with zanata Add rules to handle pushing libvirt-glib.pot to zanata, and refreshing .po files with new content from zanata. po: remove language list from zanata configuration The element in zanata.xml is no longer relevant as this info is recorded server side. po: provide custom make rules for po file management Historically we have relied on intltool to install a standard po/Makefile.in.in which has very limited scope for customization. intltool is deprecated in favour of standard gettextize tools, but these share the same disadvantages. Writing make rules for po file management is no more difficult than any other rules libvirt-glib has, so stop using intltool and don't use gettextize ether. 2019-02-14 Christophe Fergeau events: Mark 'eventlock' as static It's not used outside of the libvirt-glib-event.c file, so there is no good reason for not having it static. As it was not listed in libvirt-glib.sym, this will make no change to the publicly exported symbols (ie this is not an ABI change). Reviewed-by: Fabiano Fidêncio object: Fix gvir_connection_create_storage_pool() leak We need to free the string returned by gvir_config_object_to_xml() after using it. Reviewed-by: Fabiano Fidêncio config: Fix gvir_config_xml_node_to_string() leak If xmlNodeDump() fails, we would be leaking the xmlBuffer we created. This commit ensures we don't return early before this buffer is freed. Reviewed-by: Fabiano Fidêncio 2019-02-12 Christophe Fergeau gconfig: Add gvir_config_storage_vol_target_set_features Only one feature is supported at the moment, 'lazy refcount' Reviewed-by: Cole Robinson 2018-10-12 Daniel P. Berrangé Bump version to 2.0.0 for new release Re-add script for doing release build testing Refresh translations from zanata 2018-10-12 Fabiano Fidêncio tests: Add tests for _domain_os_{set, get}_machine() Reviewed-by: Cole Robinson Reviewed-by: Daniel P. Berrangé gconfig: add _domain_os_get_machine() Reviewed-by: Cole Robinson Reviewed-by: Daniel P. Berrangé gconfig-domain-sound: Add ich9 sound device Reviewed-by: Cole Robinson Reviewed-by: Daniel P. Berrangé 2018-10-03 Fabiano Fidêncio domain: Introduce gvir_config_domain_set_custom_xml_ns_children() gvir_config_domain_set_custom_xml_ns_children() basically has the same functionallity as gvir_config_domain_set_custom_xml() but also sets the namespace to the nodes' children. object: Also add the ns to the node's children With the current code, we can only create a custom XML that looks like: installed http://centos.org/centos/7.0:0 /home/fidencio/Downloads/CentOS-7-x86_64-DVD-1804.iso Although it works well for some use cases, there are use cases where we'd like to have something a bit more complex libosinfo or nova examples: 512 10 And for the latter case we'd have to go through the node's children and also set the namespace for each children. gconfig, gobject: Use G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE Commit 7190c5024d introduced the usage of new GObject define macros with private. However as the conversion hasn't been done for abstract types (G_DEFINE_ABSTRACT_TYPE) and the addition of the private classes for the abstract types has been removed as part of the commit, crashes can be seen in Apps consuming libvirt-glib, as this one from GNOME Boxes: Thread 1 "gnome-boxes" received signal SIGSEGV, Segmentation fault. 0x00007ffff7ef2b35 in g_type_check_instance_is_fundamentally_a () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (gdb) bt #0 0x00007ffff7ef2b35 in g_type_check_instance_is_fundamentally_a () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #1 0x00007ffff7ed2e75 in g_object_unref () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #2 0x00007ffff6ef094e in gvir_domain_device_set_property (object=0x555556680950, prop_id=2, value=0x7fffffffcbe0, pspec=0x555556772540) at libvirt-gobject-domain-device.c:89 #3 0x00007ffff7ed3b19 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #4 0x00007ffff7ed5624 in g_object_new_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #5 0x00007ffff7ed5959 in g_object_new () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #6 0x00005555555d8257 in boxes_libvirt_machine_get_domain_disk (self=0x5555560e6790, error=0x55555615a630) at /run/build/gnome-boxes/src/libvirt-machine.vala:547 #7 0x00005555555d0e7e in boxes_libvirt_machine_update_io_stat_co (_data_=0x55555615a320) at /run/build/gnome-boxes/src/libvirt-machine.vala:280 #8 0x00005555555d09b2 in boxes_libvirt_machine_update_io_stat (self=0x5555560e6790, info=0x555555f25990, stat=0x555556736a90, _callback_=0x5555555d2992 , _user_data_=0x555556736a50) at /run/build/gnome-boxes/src/libvirt-machine.vala:5 #9 0x00005555555d3120 in boxes_libvirt_machine_update_stats_co (_data_=0x555556736a50) at /run/build/gnome-boxes/src/libvirt-machine.vala:332 #10 0x00005555555d29dd in boxes_libvirt_machine_update_stats_ready (source_object=0x5555567bb840, _res_=0x55555677ae00, _user_data_=0x555556736a50) at /run/build/gnome-boxes/src/libvirt-machine.vala:328 #11 0x00007ffff72adc89 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #12 0x00007ffff72adcc9 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #13 0x00007ffff7dec948 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #14 0x00007ffff7decd38 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #15 0x00007ffff7decdcc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #16 0x00007ffff72c2dbd in g_application_run () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #17 0x00005555556004b6 in _vala_main (args=0x7fffffffd4f8, args_length1=1) at /run/build/gnome-boxes/src/main.vala:84 #18 0x0000555555600517 in main (argc=1, argv=0x7fffffffd4f8) at /run/build/gnome-boxes/src/main.vala:68 In order to solve the issue, let's just replace G_DEFINE_ABSTRACT_TYPE by G_DEFINE_ABSTRACT_TYPE_WITH_PRIVATE. 2018-08-16 Michal Privoznik configure: Drop GLIB2_TEST_REQUIRED Introduced in eb1f97a4b49a6e it is not needed anymore. The minimal required version of glib is now the same as the one required for tests. This practically reverts the referenced commit. Reviewed-by: Andrea Bolognani Use new GObject define macros with private G_ADD_PRIVATE was added in 2.38 and older functions are getting deprecated: https://gitlab.gnome.org/GNOME/glib/merge_requests/7/commits This also means, that the minimal required glib version is increased to 2.38. Reviewed-by: Andrea Bolognani 2018-04-24 Daniel P. Berrangé git: add config file telling git-publish how to send patches The "git-publish" tool is a useful git extension for sending patch series for code review. It automatically creates versioned tags each time code on a branch is sent, so that there is a record of each version. It also remembers the cover letter so it does not need re-entering each time the series is reposted. With this config file present it is now sufficient[1] to run $ git publish to send all patches in a branch to the list for review, with the correct subject prefix added for this non-core libvirt module. [1] Assuming your $HOME/.gitconfig has an SMTP server listed at least e.g. [sendemail] smtpserver = smtp.example.com 2018-02-20 Daniel P. Berrangé m4: disable gcc8 -Wcast-function-type warnings from -Wextra The -Wextra flag bundle gained a new warning -Wcast-function-type. This complains if you cast between two function prototypes where the number of parameters or their data types are not compatible. Unfortunately we need such "bad" function casts for our event callbacks. It is possible to silence the warning by first casting to the generic "void (*)(void)" function prototype, but that is rather ugly to add throughout libvirt code. 2018-01-17 Daniel P. Berrange remove bogus casts of arg to g_object_ref Latest version of glib uses typeof() magic to cast the return value of g_object_ref to match its argument, instead of returning a 'void *'. A few places in the code were casting the arg to G_OBJECT() which was then incompatible with the variable we assigned the result to. The parameter casts were always redundant so just remove them. 2017-12-04 Daniel P. Berrange Refresh po files from zanata 2017-10-30 Marek Kasik spec: Enable unit tests during build Enable unit tests so that we can catch some problems soon enough before the package gets to the users. Show test suite log if a test fail. 2017-09-21 Andrea Bolognani scripts: Fix sha-bang lines This is particularly useful on operating systems that don't ship Perl or Python as part of the base system (eg. FreeBSD) while still working just as well as it did before on Linux. While at it, make it explicit that our scripts are only going to work with Python 2, add a couple of missing sha-bang lines and tweak a couple more that just didn't look very nice. Reviewed-by: Daniel P. Berrange tests: Don't rely on non-portable paths The test-events program sets up a watch on /bin/true; however, that path is not portable: FreeBSD uses /usr/bin/true for example. Remove the portability issue by using /dev/null instead. Reviewed-by: Daniel P. Berrange configure: Look for Perl interpreter path The $(PERL) variable is used in several places, but configure is not actually looking for the Perl interpreter path, so it will always end up being empty. Reviewed-by: Daniel P. Berrange configure: Bump required libvirt version to 1.2.5 That's the version that introduced VIR_DOMAIN_TIME_SYNC, which we use in the library. Reviewed-by: Daniel P. Berrange maint: Drop autobuild.sh The Test-AutoBuild project, that this script is supposed to be used with, hasn't seen any activity in ~6 years; libvirt's own CI, which also performs periodic builds of libvirt-glib, is running on Jenkins with a completely independent setup that doesn't use the script at all. Reviewed-by: Daniel P. Berrange 2017-08-14 Daniel P. Berrange Set LC_CTYPE when running glib-mkenums Revert "Don't set LC_ALL=C during build as that breaks python apps" This reverts commit dae25f53293919bb2c22419c236bef5aa628e9be. 2017-07-25 Daniel P. Berrange Don't set LC_ALL=C during build as that breaks python apps Setting LC_ALL=C breaks python apps doing I/O on UTF-8 source files. In particular this broke glib-mkenums GEN libvirt-gconfig-enum-types.h Traceback (most recent call last): File "/usr/bin/glib-mkenums", line 669, in process_file(fname) File "/usr/bin/glib-mkenums", line 406, in process_file line = curfile.readline() File "/usr/lib64/python3.6/encodings/ascii.py", line 26, in decode return codecs.ascii_decode(input, self.errors)[0] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 849: ordinal not in range(128) 2017-05-30 Daniel P. Berrange Add missing dep on intltool Libvirt-glib requires intltool at build time. Previously it was pulled in transitively via another RPM dependancy. As of Fedora 26, this no longer happens, exposing the missing RPM dep. 2017-03-25 Guido Günther examples: make detail strings match event details 2016-11-04 Daniel P. Berrange Post release version bump to 1.1.0 NB, this will change to 2.0.0 if no new release is made during 2016 Update NEWS for 1.0.0 release bump release to 1.0.0 to match libvirt numbering scheme Switch to follow the libvirt release numbering scheme - Major is incremented at start of each year - Minor is incremented each release during a year - Micro is reserved for stable branch releases (if any) 2016-11-04 Christophe Fergeau tests: Don't leak xml data in test-gconfig-device-unknown 2016-11-04 Zeeshan Ali gconfig,tests: Add test case for unknown devices 2016-11-03 Zeeshan Ali gconfig,tests: Separate XML loading function We'll need to load XML from file in another function, that will be added in a following patch. gconfig: Create objects for all domain device nodes Currently we can and do get into serious trouble with this kind of code: devices = gvir_config_domain_get_devices(domain); gvir_config_domain_set_devices(domain, domain); since the first call above won't return a complete list of objects present in the domain but only the ones we have specific classes for and the second call above overwrites all device nodes under the domain. This lately made Boxes break against the latest libvirt, where a new device node was made compulsory[1]. Although we should add support for all know domain devices ASAP, new devices will be added in future and this can happen again. So let's first ensure that gvir_config_domain_get_devices() always returns all devices under the domain. All unknown/unimplemented devices will now be returned as the very generic DomainDevice objects. Once we add support for a particular device, there will be no API/ABI breakage since the new class will inherit from DomainDevice class. [1] https://bugzilla.redhat.com/show_bug.cgi?id=1388091 2016-11-01 Zeeshan Ali gconfig: DomainDevice now instantiable We'll need to instatiate DomainDevice baseclass itself for unknown (think new devices added to libvirt XML) devices in a following patch. This change makes that possible. This doesn't break any API or ABI to the best of my knowledge and this assumption was confirmed by Emmanuele Bassi and Tim-Philipp Muller. gconfig: Allow schema to be NULL Validation (if attempted) should just fail in this case instead of crashing. 2016-08-02 Daniel P. Berrange Delete the manually written python binding The python binding only supports python2, only supports 1 single API in libvirt-glib and has not even been enabled in RPM builds since Fedora 15. Any distro these days should have gobject introspection and pygobject available, so there's no compelling reason to continue to have the python binding exist. 2016-07-28 Daniel P. Berrange Remove accidental debug code which changed version Fix check for libvirt optional functions The checks for virDomainOpenGraphicsFD and virNetworkGetDHCPLeases in configure are simply trying to compile and link a test program. This was assuming that libvirt was installed in /usr/lib & /usr/include, which is not always the case. Using a pkg-config version check avoids needing to compile and thus avoids the bad assumptions about install locations. Avoid unused variable in DHCP lease finalize method If the network DHCP lease support is not detected, the build will generate a warning / error: libvirt-gobject-network-dhcp-lease.c: In function 'gvir_network_dhcp_lease_finalize': libvirt-gobject-network-dhcp-lease.c:99:27: error: unused variable 'lease' [-Werror=unused-variable] GVirNetworkDHCPLease *lease = GVIR_NETWORK_DHCP_LEASE(object); ^~~~~ cc1: all warnings being treated as errors 2016-07-27 Guido Günther docs: Document gvir_connection_get_{storage_pools,networks,domains} In contrast to libvirt itself all get_* methods need to prefetch the corresponding information first so document this. Acked-by: Christophe Fergeau 2016-07-25 Zeeshan Ali (Khattak) tests: Add test for GVirConfigDomainHostdevPci API 2016-07-25 Christophe Fergeau gconfig: Add GVirConfigDomainAddressPci getters They will be useful to do more checks in the GVirDomainDeviceHostdev unit test. 2016-07-25 Zeeshan Ali (Khattak) gconfig: Add GVirConfigDomainHostdevPci Add API to read and write PCI hostdev nodes. 2016-07-22 Zeeshan Ali (Khattak) gconfig: Add GVirConfigDomainHostdev Add API to read and write domain/devices/hostdev nodes. This patch only adds the baseclass and hence is not useful on it's own. A more specific subclass to represent PCI devices will be added in a following patch. 2016-07-21 Christophe Fergeau gconfig: Add gvir_config_object_has_child 2016-07-21 Zeeshan Ali (Khattak) gconfig: Add gvir_config_domain_video_get_model() Add a getter for model of domain video device. 2016-02-26 Marc-André Lureau config: add accel3d setter Learn to set the accel3d attribute on video model. config: add virtio video model config: add spice gl child Learn to set "gl" on spice (to have -spice gl=on on qemu) tests: fix potential crash The idle source is not always removed and may crash next tests 2016-02-14 Marc-André Lureau build-sys: fix gir introspection warnings Enable GIR warnings and fix them, since they are all useful. 2015-12-26 Michal Privoznik libvirt-glib-1.0.pc.in: Correctly mark variable In the pkg-config file for libvirt-glib we have a typo: Libs.private: @LIBVIRT_LIBS @GLIB2_LIBS@ Noticed the missing '@' after LIBVIRT_LIBS? Well, I just did. 2015-12-16 Daniel P. Berrange Post release version bump Update NEWS for 0.2.3 release Refresh translations from zanata 2015-12-07 Michal Privoznik Drop unused finalize function After 1225a160ac3b4 where I'm dropping some unused variables, the functions I was touching became sort of redundant too. Specifically, gvir_domain_disk_finalize() and gvir_domain_interface_finalize(). 2015-12-05 Michal Privoznik gobject: Drop some unused variables After abe983ddf8a569 there are some variables, that are unused: CC libvirt_gobject_1_0_la-libvirt-gobject-domain-disk.lo CC libvirt_gobject_1_0_la-libvirt-gobject-domain-interface.lo CC libvirt_gobject_1_0_la-libvirt-gobject-domain.lo CC libvirt_gobject_1_0_la-libvirt-gobject-interface.lo ../../libvirt-gobject/libvirt-gobject-domain-interface.c: In function 'gvir_domain_interface_finalize': ../../libvirt-gobject/libvirt-gobject-domain-interface.c:54:26: error: unused variable 'self' [-Werror=unused-variable] GVirDomainInterface *self = GVIR_DOMAIN_INTERFACE(object); ^ cc1: all warnings being treated as errors Makefile:724: recipe for target 'libvirt_gobject_1_0_la-libvirt-gobject-domain-interface.lo' failed make[3]: *** [libvirt_gobject_1_0_la-libvirt-gobject-domain-interface.lo] Error 1 make[3]: *** Waiting for unfinished jobs.... ../../libvirt-gobject/libvirt-gobject-domain-disk.c: In function 'gvir_domain_disk_finalize': ../../libvirt-gobject/libvirt-gobject-domain-disk.c:54:21: error: unused variable 'self' [-Werror=unused-variable] GVirDomainDisk *self = GVIR_DOMAIN_DISK(object); ^ cc1: all warnings being treated as errors Makefile:717: recipe for target 'libvirt_gobject_1_0_la-libvirt-gobject-domain-disk.lo' failed 2015-12-04 Zeeshan Ali (Khattak) gobject,gconfig: Drop redundant debug logging The g_debug messages in libvirt-gobject creation/destruction were to aid troubleshooting of object reference leaks. GObject has built-in systemtap probes that allow the same to be achieved in a more flexible manner, so the g_debug calls can be removed 2015-11-26 Zeeshan Ali (Khattak) gobject: Port to GTask API Drop usage of deprecated GSimpleAsyncResult API. 2015-11-23 Zeeshan Ali (Khattak) gobject,gconfig: Drop redundant glib compatibility code We already require and use glib >= 2.36 so there is no reason to keep around code to ensure compatibility with glib older than that. gobject: Add wrapper virDomainSetTime() 2015-09-23 Zeeshan Ali (Khattak) gobject: Correct docs for gvir_storage_pool_get_info() The returned GVirStoragePoolInfo pointer is not a GObject so it must not be unrefed using g_object_unref(). Since gvir_storage_pool_info_free() is private function, callers must either use g_slice_free() or g_boxed_free(). 2015-07-24 Daniel P. Berrange configure.ac: update min required versions Based on the distro target policy we have the following min versions in various distros libvirt glib2 gobject-introspection RHEL 7.0: 1.1.1 2.36.3 1.36.0 Fedora 21: 1.2.9 2.42.1 1.42.0 Ubuntu 14.10: 1.2.8 2.42.0 1.41.0 Ubuntu LTS 14.04: 1.2.2 2.40.0 1.40.0 Suse 12.0: 1.2.5 2.38.2 1.38.0 OpenSUSE 13.1: 1.1.2 2.38.2 1.38.0 Debian 8: 1.2.9 2.42.0 1.42.0 Which means we can reasonably depend on libvirt >= 1.1.1 glib2 >= 2.36.0 gobject-introspection >= 1.36.0 NB, choosen 2.36.0 rather than 2.36.3 because they are API compatible, the micro digit just indicates a bug fix release. README: formally document intended platform support targets Give users an indication of what distro platforms the project intends to be buildable on. This policy will be used to decide when it is appropriate to increase the minimum required versions of external dependancies. As an example, as of July 1st 2015, this policy would aim to pick the min versions based on what's available across the following sample distros: - RHEL: 7.0, 7.1 - Fedora: 21, 22 - Ubuntu LTS: 14.04 (Trusty) - Ubuntu: 14.10 (Utopic), 15.04 (Vivid) - Suse: 12.0 - OpenSUSE: 13.1, 13.2 - Debian: 8.0 (Jessie) 2015-07-22 Christophe Fergeau examples: Don't leak mainloop in conn-test.c The program exits right after this, so it's no big deal, but this gives us a clean valgrind --leak-check=full output. gconfig: Use GVirConfigObject helpers for