diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..482a46e --- /dev/null +++ b/.mailmap @@ -0,0 +1,5 @@ +# Format of each line: +# + + + diff --git a/AUTHORS b/AUTHORS index 144ff9c..6ee6c9c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -10,30 +10,6 @@ Patches have been received from: -Alexander Larsson -Andrea Bolognani -Christophe Fergeau -Claudio Bley -Cédric Bosdonnat -Daniel P. Berrange -Daniel P. Berrangé -Fabiano Fidêncio -Guido Günther -Ian Main -Jovanka Gulicoska -Marc-André Lureau -Marek Kasik -Martin Kletzander -Michael Catanzaro -Michal Privoznik -Nirbheek Chauhan -Pavel Hrdina -Richa Sehgal -Stefano Facchini -T A Mahadevan -Timm Bäder -Timo Juhani Lindfors -Zeeshan Ali (Khattak) -Zeeshan Ali +#authorslist# ... send patches to get your name added ... diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index e627289..0000000 --- a/ChangeLog +++ /dev/null @@ -1,4337 +0,0 @@ -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