GNOME Bugzilla – Bug 560442
GNOME Goal: Remove deprecated GLib symbols
Last modified: 2009-12-21 02:11:09 UTC
See http://live.gnome.org/GnomeGoals/RemoveDeprecatedSymbols/Glib Here are the files+lines using deprecated GLib symbols in this module: gstreamer/tests/old/testsuite/caps/intersection.c:60: g_mem_chunk_info (); gstreamer/tests/old/testsuite/caps/intersection.c:65: g_mem_chunk_info (); gstreamer/tests/old/testsuite/plugin/loading.c:15: g_mem_chunk_info (); gstreamer/tests/old/testsuite/plugin/loading.c:33: g_mem_chunk_info (); gstreamer/tests/old/testsuite/plugin/loading.c:52: g_mem_chunk_info ();
Those are: * Not used in distributed code (since they're tests) * Those tests aren't even used nowadays (they were for 0.8) Luis, Are those two reasons acceptable for marking this bug as NOTABUG ? Regarding your testing logic, you might want to figure out if the symbols are used in the *compiled* binaries/libraries instead of the code.
As there's an awful *lot* of modules to check (the whole GNOME stack, and some external dependencies too), I'm using egrep to find the symbols, doing some kind of static analysis. Doing so makes easier for newcommers to contribute to the GNOME Goals: they don't need to compile a module to know wether a module uses deprecated symbols or not. I can also tell them which module they can fix, without building the whole GNOME stack myself. Static analysis is much also much faster: calling 'jhbuild update' and then egrep to find deprecated symbols allows me to easily know the state of each module. Compare this to the time required to build the whole GNOME stack... I understand that removing "false positives" (comments, calls in dead code) can be seen as tedious and useless, because it's not a "bug". But doing so will make subsequent checks easier, making GNOME 3.0 transition smoother (this goal concerns GLib, but the same will be applied to GTK, GDK, and gdk-pixbuf in another GNOME Goal). The only workaround I could see is to use the build brigade to compile GNOME with deprecated symbols disabled by default, and have them notify people when the build breaks. But results may vary, according to build options, and it become harder to involve people that way... In conclusion, if your tests are neither used nor distributed, why don't you drop them ? SVN will keep them for you in case you need to pick some stuff from there. But is there really a good reason to keep them around ?
* tests/old/testsuite/caps/intersection.c: (main): * tests/old/testsuite/plugin/loading.c: (main): Remove references to deprecated API g_mem_chunk*. Fixes #560442.
Reopening - according to http://www.gnome.org/~fpeters/299.html this module currently contains one deprecated GLib symbol. See http://library.gnome.org/devel/glib/stable/glib-Windows-Compatibility-Functions.html#g-win32-get-package-installation-directory Note that the substitute requires GLib 2.16. List of deprecated symbols: "g_win32_get_package_installation_directory" ./gst/gst.c: base_dir = g_win32_get_package_installation_directory (NULL, See http://library.gnome.org/devel/glib/stable/glib-Windows-Compatibility-Functions.html#g-win32-get-package-installation-directory Note that the substitute requires GLib 2.16.
We can't depend on GLib 2.16 at this point so this bug needs to stay open for some more months unfortunately
We already depend on GLib 2.16 in git master. I guess we'd need someone with a win32 setup to add a DllMain function so we can save the handle, and actually test that code.
Created attachment 136771 [details] [review] Removes deprecated win32-compatibility function Adds DllMain, which stores the HMODULE, which is later used to get GStreamer installation directory with g_win32_get_package_installation_directory_of_module(). Builds correctly. Seems to be working correctly too (tested on gst-launch and gst-inspect)
LRN: thanks! commit 7ad8d2e54c36962f1379d245398dc2f9d52ee600 Author: Руслан Ижбулатов <lrn1986@gmail.com> Date: Wed Jun 17 00:29:40 2009 +0400 Replaced deprecated win32-compatibility function with undeprecated one. Fixes #560442.
Reopening - according to http://www.gnome.org/~fpeters/299.html this module currently contains one deprecated GLib symbol: g_mapped_file_free
Created attachment 149028 [details] [review] Use g_mapped_file_unref
commit a4193a326729bfb78772fd46557c93f41ef9387d Author: Javier Jardón <jjardon@gnome.org> Date: Thu Dec 3 19:48:11 2009 +0100 registry: Substitute deprecated GLib symbol: g_mapped_file_free Use g_mapped_file_unref if Glib >= 2.22 is available Fixes bug #560442.
*** Bug 605100 has been marked as a duplicate of this bug. ***