From 0140d3c4f1b08a63cb7971dc222e90e79e5d1af9 Mon Sep 17 00:00:00 2001 From: Marc Deslauriers Date: Thu, 8 Jun 2023 10:15:59 -0400 Subject: [PATCH] Import Debian changes 2.72.4-0ubuntu2.2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit glib2.0 (2.72.4-0ubuntu2.2) jammy-security; urgency=medium . * SECURITY UPDATE: multiple GVariant security issues - debian/patches/gvariant-security-*.patch: backported upstream fixes for GVariant normalization issues. - CVE-2023-24593, CVE-2023-29499, CVE-2023-25180, CVE-2023-32611, CVE-2023-32636, CVE-2023-32643, CVE-2023-32665 . glib2.0 (2.72.4-0ubuntu2) jammy; urgency=medium . * d/p/0001-gio-Make-portal-support-aware-of-snaps.patch: - Make portal support aware of snaps (LP: #1998267) . glib2.0 (2.72.4-0ubuntu1) jammy; urgency=medium . * New upstream release (LP: #1980408) * Update testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch for new testfilemonitor test. . glib2.0 (2.72.1-1) unstable; urgency=medium . [ Jeremy Bicha ] * New upstream release (LP: #1969115) - Includes workaround for meson #1008382 * Add patch to recognize GNOME Console as a terminal app * Refresh patch * debian/libglib2.0-0.symbols: Add new symbol . [ Johannes Schauer Marin Rodrigues ] * debian/libglib2.0-0.postinst.in: only run clean-up-unmanaged-libraries on upgrades and not on new installations (Closes: #1008096) . glib2.0 (2.72.0-1) unstable; urgency=medium . * New upstream release - Fix assertion failure with time zone offsets >= 25 hours (Closes: #1007226) - Various unit test fixes - Fix a memory leak with an invalid format in g_vasprintf() - Translation updates * Merge 2.71.x release history from experimental - d/gbp.conf, d/control.in: Update branch for upload to unstable * Upload to unstable . glib2.0 (2.70.5-1) unstable; urgency=medium . * New upstream release - Fix assertion failure with time zone offsets >= 25 hours (Closes: #1007226) - Fix possible buffer overflow in g_canonicalize_filename() . glib2.0 (2.70.4-1) unstable; urgency=medium . * New upstream release * Adjust Lintian overrides for newer Lintian . glib2.0 (2.71.3-1) experimental; urgency=medium . * New upstream development release . glib2.0 (2.71.2-1) experimental; urgency=medium . * New upstream development release * Update symbols file. Ignore removal of g_debug_controller_dup_default, which was only added during this development cycle. GLib doesn't guarantee ABI stability within x.odd.z branches. * d/p/debian/tests-Skip-debugcontroller-test.patch: Add patch to skip another unreliable unit test while it's investigated upstream . glib2.0 (2.71.1-1) experimental; urgency=medium . * New upstream development release * Merge packaging changes from unstable - Use debhelper 13 features instead of dh-exec * Update symbols file . glib2.0 (2.70.3-1) unstable; urgency=medium . * New upstream release - Do not allow empty structs (tuples) in D-Bus messages, resolving a denial-of-service vulnerability for private GDBus servers that accept messages from untrusted clients (glib#2557) - Do not allow deep recursion in serialized GVariant binary data, resolving a denial of service for anything that loads untrusted GVariant binary data (glib#2572) - Fix file descriptor handling when launching subprocesses - Don't skip fsync when writing out files on btrfs. This was based on a kernel behaviour that was guaranteed prior to 2014, but is no longer considered to be a guarantee. - Translation updates * Use debhelper 13 features instead of dh-exec debhelper now has ${DEB_HOST_MULTIARCH} substitutions, so we don't need to use dh-exec for those. After that, the one remaining dh-exec feature in use was a conditional installation for the FAM GIO module for Hurd. Open-code this in d/rules instead. * d/gbp.conf: Use upstream/2.70.x branch for packaging. We have already had a 2.71.x release. . glib2.0 (2.71.0-2) experimental; urgency=medium . * Merge packaging updates from unstable . glib2.0 (2.70.2-1) unstable; urgency=medium . * New upstream release * Build-Depend on dh-sequence-gnome and dh-sequence-python3 * debian/rules: Drop environment variable clearing now done for us by dh13 . glib2.0 (2.71.0-1) experimental; urgency=medium . * New upstream development release * Unfuzz patch series * Update symbols file . glib2.0 (2.70.1-1) unstable; urgency=medium . * New upstream release - Functionally equivalent to previous releases to Debian, except for Windows-specific changes * Drop patches that came from upstream * d/upstream/metadata: Add * Use debhelper compat level 13 - Drop override for dh_missing --fail-missing, which is now the default . glib2.0 (2.70.0-3) unstable; urgency=medium . * d/rules: Remove internal_pcre build option, which no longer exists. Meson 0.60.0 no longer tolerates this. . glib2.0 (2.70.0-2) unstable; urgency=medium . * d/patches: Update to upstream glib-2-70 branch commit 2.70.0-41-g359a837ee. Among other fixes, this makes sure we receive change-notification from NetworkManager (>= 1.31.5), which dropped its legacy PropertiesChanged signal in favour of using standard D-Bus Properties. (LP: #1946196) * Add Breaks on older versions of glib-networking-tests. With this GLib, the old way glib-networking's tests used to mock up a particular negotiated protocol no longer works. * Add Breaks on versions of gnome-keyring that had elevated capabilities. Security hardening in GLib 2.70.0 interferes with their ability to connect to D-Bus in some system configurations. (See #994961) * Remove vestigial triggers for /usr/lib/gio/modules. We no longer load files from that directory (since Debian 11 and Ubuntu 20.04), but we still had a trigger for it, and the postinst still created a module cache if it existed. * d/libglib2.0-0.postinst.in: Clean up /usr/lib/gio/modules on upgrade. This directory would still exist if older versions of GLib created a cache there. * d/libglib2.0-0.postinst.in: Add comments indicating when other workarounds can be removed * Add Lintian override for a unit test depending on a private library * Skip memory-monitor-dbus test by default, and add extra debug info. Helps: #995178 . glib2.0 (2.70.0-1) unstable; urgency=medium . * New upstream release * d/rules: Make shared objects in installed-tests non-executable * Remove shebang from taptestrunner.py differently - Remove shebang from installed file using sed. This avoids missing the fact that there are two copies in the source, of which we only patched one. - d/p/debian/taptestrunner-Stop-looking-like-an-executable-script.patch: Drop, no longer necessary * Add Lintian override for #970275 * d/copyright, d/libglib2.0-0.symbols: Update * d/gbp.conf: Switch upstream branch * Unfuzz patch series * Standards-Version: 4.6.0 (no changes required) . glib2.0 (2.68.4-1) unstable; urgency=medium . * New upstream release - Avoid a deadlock while finalizing a GLocalFileMonitor - Correctly use 3 parameters for close_range(), fixing build with glibc 2.34 - Fix global trash directory detection - Make g_string_replace() with empty search string behave sensibly (matching Python str.replace()) - Translation updates: oc, zh_CN, zh_TW * tests: Specify charset for generated locales to fix FTBFS with new glibc. glibc 2.31-14 dropped support for all non-UTF-8 locales, so we can't use /usr/share/i18n/SUPPORTED to choose a suitable charset any more. * d/rules: Override dh_fixperms to set correct permissions on /usr/libexec. Making everything executable is not quite right for installed-tests. . glib2.0 (2.68.3-2) unstable; urgency=medium . * Merge from experimental branch * Changes relative to 2.68.3-1 in experimental: - d/watch: Only watch for stable (2.even.z) releases - d/p/debian/61_glib-compile-binaries-path.patch: Remove. This patch turns out to be unnecessary, and is harmful for cross-compiling. Thanks to Helmut Grohne (Closes: #982213) * Changes relative to previous version in unstable: - New upstream stable release branch 2.68.x - Fix maintainer scripts' handling of /usr/lib/MULTIARCH/gio/modules (Closes: #987913, see 2.68.1-2 changelog) - Mark dbus as . Several of the installed-tests won't be built unless dbus-daemon is available, so is insufficient. - Move test-dependencies to Build-Depends-Arch. We don't run the majority of the tests when we're only building the documentation. - Remove an unused Lintian override - Add more Lintian overrides for test data - Use d/tests/run-with-locales for better locale-sensitive test coverage * d/rules: Fix dead link when documenting why we use -Wl,--no-as-needed * Bump minimum GLib version for callers of g_dbus_server_new_sync() Programs that call this function might be passing in the new flag G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER, which is security-significant. Don't allow such programs to be built against GLib 2.68 and run with GLib 2.66 or older. * Add Breaks on libsoup2.4-tests before 2.72.0-3. Older versions of the libsoup test suite had an assertion that would only succeed because of a GLib bug, which is fixed in 2.68.x. Newer versions tolerate the bug, but do not require it. . glib2.0 (2.68.3-1) experimental; urgency=medium . * New upstream release 2.68.3, fixing bugs: - GFile: `g_file_replace_contents()` reports `G_IO_ERROR_WRONG_ETAG` when saving from a symlink - glocalfileoutputstream: Fix ETag check when replacing through a symlink - gmacros: check that __cplusplus or _MSC_VER is defined - gmacros: missing check if __STDC_VERSION__ is defined - gthreadedresolver: don't ignore flags in lookup_by_name_with_flags - inotify: Fix a memory leak - json-glib does not build with glib 2.68.1 - testfilemonitor test leaks ip_watched_file_t struct - tlscertificate: Avoid possible invalid read . glib2.0 (2.68.1-2) experimental; urgency=medium . * Fix maintainer scripts' handling of /usr/lib/MULTIARCH/gio/modules: - postrm: Only delete GIO module cache on remove or purge. Despite its name, the postrm can be invoked for reasons other than package removal: in particular, the old version's postrm is run during upgrades. - postinst: Recreate GIO module directory if deleted by an older postrm, to recover from the bug fixed here. - postinst: Don't guard glib-compile-schemas or gio-querymodules with a check for existence of a directory that is shipped in the .deb. If such a directory has somehow gone missing, we want to see a warning. This won't make the postinst fail, because we're ignoring exit status anyway. (Closes: #987913) . glib2.0 (2.68.1-1) experimental; urgency=medium . * New upstream stable release * d/tests/run-with-locales: Avoid FTBFS with locales-all installed . glib2.0 (2.68.0-1) experimental; urgency=medium . * New upstream stable release - Drop dead code from glib-compile-schemas - Improve valgrind suppressions - Fix error in g_bytes_icon_new() documentation - Avoid close(-1) during error handling - Fix copy/paste error in queue test - Translation updates * Add CVE ID references to previous changelog entries. CVE IDs were not yet available at the time these vulnerabilities were initially fixed. . glib2.0 (2.67.6-1) experimental; urgency=medium . * New upstream release - This fixes a symlink attack affecting file-roller. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION to replace a path that is a dangling symlink, previously it would have also created the target of the symlink as an empty file, which could conceivably be security-sensitive if the symlink is attacker-controlled. (Closes: #984969; CVE-2021-28153) * Revert test-dependency on libc6-dev, which should no longer be necessary with the new upstream release. . glib2.0 (2.67.5-2) experimental; urgency=medium . * debian/tests/control: Test-Depend on libc6-dev; the `pollable` test requires it. See [upstream MR !1977][0]. The upstream tests now rely on finding "libutil.so", which is in libc6-dev. Once that MR, or something like it, is merged, we can remove this test-dep as the runtime library will be being used. [0]: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1977 . glib2.0 (2.67.5-1) experimental; urgency=medium . * New upstream release + Fix more issues with `glib_typeof` macro from 2.67.3–2.67.4 (LP: #1916705) + Fix regression with some FD mappings passed to `g_subprocess_launcher_spawnv()` (Closes: #983026) (LP: #1916701) * debian/watch: Fix to not match `..`. The watch file was matching the "Parent directory/" link and considering that the highest, since its target is `..`. Expect 1+ digits to begin the version number. . glib2.0 (2.67.4-1) experimental; urgency=medium . * New upstream release - Among other changes, this should fix FTBFS on armel * d/libglib2.0-0.symbols: Add g_spawn_async_with_pipes_and_fds . glib2.0 (2.67.3+git20210214-1) experimental; urgency=medium . * d/changelog: Add bug reference for GHSL-2021-045 to previous entry * New upstream git snapshot; among other changes: - Fix regressions caused by the GHSL-2021-045 fixes in 2.67.3 - Warn and fail on integer overflow in g_byte_array_new_take() for arrays larger than G_MAXUINT (Closes: #982779; CVE-2021-27218) * d/libglib2.0-0.symbols: Add g_string_replace() * Refresh patch series * d/rules, d/tests: Generate various locales mentioned in the tests * Mark dbus as . Several of the installed-tests won't be built unless dbus-daemon is available, so is insufficient. * Move test-dependencies to Build-Depends-Arch. We don't run the majority of the tests when we're only building the documentation. * Remove an unused Lintian override * Add more Lintian overrides for test data . glib2.0 (2.67.3-1) experimental; urgency=medium . * New upstream release - Fix various integer overflows, some of them potentially exploitable (Closes: #982778; CVE-2021-27219, GHSL-2021-045) * Drop patches that came from upstream or were applied upstream . glib2.0 (2.67.2-1) experimental; urgency=medium . * New upstream release * Refresh patch series * d/patches: Cherry-pick some fixes from upstream git master. This is mostly for parity with the update to 2.66.x that I'm preparing for unstable, which also includes the XDG_CURRENT_DESKTOP fixes. * d/p/spawn-Don-t-set-a-search-path-if-we-don-t-want-to-search-.patch: Make the g_spawn family only search PATH if G_SPAWN_SEARCH_PATH is used. Previously, they would sometimes search /usr/bin:/bin:. for an executable they should have only loaded from the current working directory. In particular, this made gtk+3.0 fail its build-time tests if ImageMagick display(1) happened to be installed. (Closes: #977961) . glib2.0 (2.67.1-1) experimental; urgency=medium . * Branch for experimental and 2.67.x * New upstream development release * Temporarily use git to fetch upstream release. The official tarball release doesn't seem to have made it onto mirrors. * d/rules: Explicitly enable libelf dependency for gresource tool * d/p/Handle-the-case-of-g_object_run_dispose-in-GBinding.patch: Add patch from upstream to fix a regression in GBinding that caused gnome-terminal-server to crash on startup . glib2.0 (2.66.8-1) unstable; urgency=medium . * d/watch: Only watch for 2.66.x versions. 2.68.0 has been released but will not be in bullseye. * New upstream release - Functionally equivalent to 2.66.7-2, except for the version number and a change to Windows-specific code that is not used in Debian * Drop patches that were included in the new upstream release * d/p/glocalfileoutputstream-Tidy-up-error-handling.patch: Add patch from upstream to clean up error handling. After the fix for #984969, this function could end up calling close(-1), which is harmless but gets flagged as an error by static analysis and by error-checking instrumentation. Fixing this will prevent it from obscuring real errors. * Add CVE references in recent changelog entries. CVE IDs for the vulnerabilities were not available at the time they were fixed, but now they are. . glib2.0 (2.66.7-2) unstable; urgency=medium . * d/changelog: Add bug numbers for integer overflows in previous versions * Add patches to fix a symlink attack affecting file-roller. When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION to replace a path that is a dangling symlink, previously it would have also created the target of the symlink as an empty file, which could conceivably be security-sensitive if the symlink is attacker-controlled. (Closes: #984969; CVE-2021-28153) . glib2.0 (2.66.7-1) unstable; urgency=high . * New upstream release - Fix another regression caused by the GHSL-2021-045 fixes in 2.66.6 - Warn and fail on integer overflow in g_byte_array_new_take() for arrays larger than G_MAXUINT (Closes: #982779; CVE-2021-27218) - Disallow using currently-undefined D-Bus connection or server flags, to prevent forward-compatibility problems with new security-sensitive flags that are likely to be introduced in GLib 2.68 * Drop previous patches for GHSL-2021-045 regressions, applied upstream . glib2.0 (2.66.6-2) unstable; urgency=high . * d/patches: Add proposed fixes for regressions in 2.66.6. Two functions that took either a positive length, or -1 to indicate strlen(), had assertions with the wrong sense in 2.66.6, causing some valid uses of those functions to regress. * d/p/debian/61_glib-compile-binaries-path.patch: Remove. This patch turns out to be unnecessary, and is harmful for cross-compiling. Thanks to Helmut Grohne (Closes: #982213) * Set high urgency to get the regression fixes into bullseye . glib2.0 (2.66.6-1) unstable; urgency=high . * New upstream release - Fix various integer overflows, some of them potentially exploitable (Closes: #982778; CVE-2021-27219, GHSL-2021-045) . glib2.0 (2.66.5-1) unstable; urgency=medium . * New upstream release, equivalent to 2.66.4-27-g0051c0635 * Drop patches that were applied upstream . glib2.0 (2.66.4-4) unstable; urgency=medium . * d/patches: Update patch series to upstream commit 2.66.4-27-g0051c0635 - Improve test coverage for #977961 - Stop valgrind reporting memory leaks in GSpawn in most cases - Partially revert security hardening from 2.66.4-2: allow DBUS_SESSION_BUS_ADDRESS to be taken from the environment by setcap executables (to avoid regressing gnome-keyring) and by setgid executables (to avoid regressing msmtp). (Closes: #981420, #981555) Note that this is likely to be reverted in GLib 2.70.x to provide better hardening. The D-Bus session bus is not designed to be used by processes that have elevated privileges. . glib2.0 (2.66.4-3) unstable; urgency=medium . * Improve patch for #977961, and add basic test coverage . glib2.0 (2.66.4-2) unstable; urgency=medium . * d/patches: Update patch series to upstream commit 2.66.4-18-g872181c4f (excluding Windows-specific changes) - Security hardening: in GIO, ignore various environment variables if GIO is (inadvisably) used in a setuid process without sanitizing the environment first, similar to CVE-2012-3524 - Reject very long date strings early, instead of spending time normalizing and parsing them - Fix recursion in GPrivate * d/p/spawn-Don-t-set-a-search-path-if-we-don-t-want-to-search-.patch: Make the g_spawn family only search PATH if G_SPAWN_SEARCH_PATH is used. Previously, they would sometimes search /usr/bin:/bin:. for an executable they should have only loaded from the current working directory. In particular, this made gtk+3.0 fail its build-time tests if ImageMagick display(1) happened to be installed. (Closes: #977961) . glib2.0 (2.66.4-1) unstable; urgency=medium . * New upstream release . glib2.0 (2.66.3-2) unstable; urgency=medium . * Apply packaging changes from experimental to unstable: - postinst: Clean up outdated copies of GLib if present, to avoid infrequent upgrade issues on non-merged-/usr systems. See #911225 and #949395 for more information. (Closes: #896019, #954960, #955331) * Add myself to Uploaders * Standards-Version: 4.5.1 (no changes required) * Swap Homepage field to something more GLib-specific * d/gbp.conf: Change upstream branch to upstream/2.66.x. 2.67.0 was already released, so it's inaccurate to say that 2.66.x is the latest. . glib2.0 (2.66.3-1+exp1) experimental; urgency=medium . * Merge from unstable . glib2.0 (2.66.3-1) unstable; urgency=medium . * Team upload * New upstream release - Improve performance of processing files hidden via ./.hidden - All other changes were already included in 2.66.2-1 * Drop patches that were cherry-picked from upstream * Stop reverting gtk-doc dependency version. We now have a suitable gtk-doc in Debian. * Drop a patch that was not applied upstream. This was hoped to be a workaround for intermittent test failures, but doesn't seem to have had the desired effect in practice. * Mark the DBUS_COOKIE_SHA1 parts of gdbus-server-auth test as flaky. This is not reliable enough to always pass on buildds, but is too intermittent to be able to reproduce the failure in a development environment, and DBUS_COOKIE_SHA1 is not an important enough feature to justify failing the build for this. As with other flaky tests, we still run this as an autopkgtest in an attempt to get more useful information, but we ignore failure. . glib2.0 (2.66.2-1+exp1) experimental; urgency=medium . * Branch for experimental * postinst: Clean up outdated copies of GLib to avoid infrequent upgrade issues on non-merged-/usr systems (Closes: #896019, #954960, #955331) . glib2.0 (2.66.2-1) unstable; urgency=medium . * Team upload * New upstream release - Add some missing (nullable) and (not nullable) annotations * Drop patches that were cherry-picked from upstream * Update patch series to upstream 2.66.2-9-g4daaf303a - Fix race in socketclient-slow test - Cope with sending fds in a D-Bus message that takes multiple writes - Don't skip updating polled fd sources - Add G_GNUC_PRINTF annotation to g_trace_mark() * d/p/glib-tests-fileutils-Make-more-use-of-g_assert_no_errno.patch, d/p/glib-tests-fileutils-Fix-expectations-when-running-as-roo.patch: Add proposed patch to fix a test failure when running as root (Closes: #973271) * d/rules: Remove migration path from legacy -dbg package. This was most recently shipped in Debian 9, and we don't support upgrades from anything older than Debian 10. * Drop obsolete workaround for #887629. We don't support upgrades from versions older than Debian 10, so we can drop workarounds that were only relevant for the upgrade from 9 to 10. . glib2.0 (2.66.1-2) unstable; urgency=medium . * Cherry-pick patches from the glib-2-66 branch upstream - Fixes the regression called out in 2.66.1-1's changelog. * Add-a-test-for-the-6-days-until-EOM-bug.patch, Fix-the-6-days-until-the-end-of-the-month-bug.patch: Cherry-pick upstream mr!1705 to not break on timezones built with `zic -b slim` . glib2.0 (2.66.1-1) unstable; urgency=medium . * Team upload * New upstream release - A performance problem where timezones were reloaded from disk every time a GTimeZone was created has been fixed (upstream issue #2204), but this means that changes to /etc/localtime will not take effect until a process restarts. Future changes in a subsequent 2.66.x release will improve this. - Security fix for incorrect scope/zone ID parsing in URIs - Fix invalid Pointer Arithmetic in g_path_get_basename - Fix cookie lifetimes in GDBus DBUS_COOKIE_SHA1 mechanism - Fix faulty logic in DNS TXT record parsing - trash portal: Handle portal failures - gio-tool-trash: Prevent recursion to speed up emptying trash - glist: Clarify that g_list_free() and friends only free an entire list - gdatetime: Avoid integer overflow creating dates too far in the past - Translation updates * d/p/glocalfile-Never-require-G_LOCAL_FILE_STAT_FIELD_ATIME.patch, d/p/gdbusauthmechanismsha1-Use-the-same-timeouts-as-libdbus.patch: Drop patches that were applied upstream . glib2.0 (2.66.0-2) unstable; urgency=medium . * Team upload * d/p/glocalfile-Never-require-G_LOCAL_FILE_STAT_FIELD_ATIME.patch: Add proposed patch to fix file copying on ZFS and CIFS (Closes: #970228) * d/p/gdbus-server-auth-Don-t-usually-test-non-EXTERNAL-repeate.patch: Add proposed patch to work around DBUS_COOKIE_SHA1 test failures * d/p/Revert-gtk-doc-dependency-to-1.32.patch: Move to debian subdirectory. This patch is not intended to go upstream. . glib2.0 (2.66.0-1) unstable; urgency=medium . * Team upload * New upstream stable release - Fix missing tab in makefile rule - guri: Fix user passed to g_uri_split_with_user() not being NULL'd - Translation updates: * d/watch: Only watch for stable releases * d/p/gdbusauthmechanismsha1-Use-the-same-timeouts-as-libdbus.patch: Add patch to fix intermittent test failures on slower architectures. This narrowly missed the upstream code freeze, and should be in 2.66.1. . glib2.0 (2.65.3-1) experimental; urgency=medium . * New upstream release + Fixes to the new `statx()` calls — note that since GLib 2.65.2 uses `statx()` (if available) instead of `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall sandboxing for third party applications might need to be updated + Also includes "Fix splice behavior on cancellation", a fix for a bug which was affecting tracker - particularly its autopkgtests. . glib2.0 (2.65.2-1) experimental; urgency=medium . * Team upload * New upstream development release * d/rules: Run gtk-doc checks, even if building indep-only. Previously we would only run the gtk-doc checks if building architecture-dependent and -independent packages in the same build, which is done on Ubuntu amd64 buildds, but not on any Debian buildds. * Reduce dependency to the version of gtk-doc-tools from unstable. Instead of being some random snapshot from upstream git, this is the last release plus some selected patches. In particular, it has enough fixes to make the gtk-doc tests pass (Closes: #968975). * d/libglib2.0-tests.lintian-overrides: Update . glib2.0 (2.65.1-1) experimental; urgency=medium . [ Sebastien Bacher ] * debian/control.in: - let libglib2.0-tests Depends on libglib2.0-0 (= ${binary:Version}), otherwise we can end up with failures due to out of sync versions . [ Simon McVittie ] * d/shlibs.local: Upgrade all binary packages in lockstep. Like many projects where one source package builds multiple binary packages, GLib has private headers that share non-public interfaces between its binary packages. Instead of setting this up for individual binary packages, we can tell dpkg-shlibdeps to generate lockstep dependencies whenever one of our binary packages depends on our shared libraries. * d/watch, d/control.in, d/gbp.conf: Branch for experimental * New upstream development release - Require the experimental version of gtk-doc-tools. GLib 2.65.x requires a version that hasn't been released yet. - Update symbols file - Drop patches that were applied upstream . glib2.0 (2.64.4-1) unstable; urgency=medium . * Team upload * New upstream release - Improve async-signal-safety * d/tests/build: Don't exercise static linking for GIO. libmount will no longer support being linked statically from 2.35.2-8 onwards. For now I'm continuing to test that the other libraries can still be statically linked, but please consider them to be "at risk". (Closes: #963933) * Re-enable libmount support. libmount no longer depends on libcryptsetup, avoiding the various crashes that we are working around. Future versions will dlopen it on-demand, which should also avoid those crashes. Bump the build-dependency to a suitable version. * d/p/tests-Use-g_assert_-in-cancellable-test-rather-than-g_ass.patch, d/p/gcancellable-Fix-minor-race-between-GCancellable-and-GCan.patch: Split combined d/p/git_gsource_segfault.patch into its two component upstream commits, and add metadata * d/p/glib-compile-resources-Fix-exporting-on-Visual-Studio.patch, d/p/gdesktopappinfo-Fix-unnecessarily-copied-and-leaked-URI-l.patch: Add post-release bugfixes from upstream . glib2.0 (2.64.3-2) unstable; urgency=medium . * Team upload * Temporarily disable libmount support. Recent Debian revisions of libmount pull in libcryptsetup as a dependency, for dm-verity support. libcryptsetup depends on json-c and OpenSSL, causing crashes due to symbol conflicts with other JSON libraries (jansson and json-glib, for example in firewalld and virt-manager) and with statically-linked copies of OpenSSL (for example in Steam and Minecraft). Until this is resolved in some other way, disable libmount and parse /etc/fstab and /proc/mounts ourselves, as we do in libglib2.0-udeb. Mitigates: #963933, #963932, #963525, #963721 . glib2.0 (2.64.3-1) unstable; urgency=medium . * Team upload . [ Laurent Bigonville ] * Drop the libgio-fam package, and install the fam GIO plugin in libglib2.0-0 on Hurd ports. See: #885011 (Closes: #875915) * Stop building the libgio-fam package on kFreeBSD ports. It is no longer necessary now that gkqueuefilemonitor is available. . [ Simon McVittie ] * Clarify changelog entry regarding Hurd and kFreeBSD * New upstream stable release . glib2.0 (2.64.2-1) unstable; urgency=medium . [ Simon McVittie ] * Add Breaks on older versions of gimp, which used a syntactically invalid property name in a plugin, and would crash when GObject rejects syntactically invalid property names . [ Sebastien Bacher ] * New upstream release * debian/patches/git_gsource_segfault.patch: - backport an upstream git change to fix a signal handler disconnect segfault situation (lp: #1872153) . glib2.0 (2.64.1-1) unstable; urgency=medium . * Team upload * New upstream stable release * d/p/tests-Skip-MemoryMonitor-test-if-GObject-Introspection-is.patch: Drop patch, applied upstream * Add Breaks on glib-networking-tests older than 2.63.2. Those versions had a test that relied on TLS version fallback behaviour that has now been removed. (Closes: #953766) . glib2.0 (2.64.0-2) unstable; urgency=medium . * Team upload * Merge packaging changes from unstable with new upstream release from experimental * d/control.in: Add Breaks on libgladeui-2-6 before 3.22.2. Older versions used a syntactically invalid property name "support warning", which GObject used to canonicalize to "support-warning". GLib 2.64 made this check more strict (see #953010). . glib2.0 (2.64.0-1) experimental; urgency=medium . * Team upload * New upstream release - Fixes a vulnerability where GSocketClient sometimes forgot to use a configured proxy (CVE-2020-6750, Closes: #948554) - Stop installing gio-launch-desktop, which no longer exists - d/p/docs-Don-t-install-object-manager-example-separately.patch: Drop, applied upstream * d/p/debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch: Treat testfilemonitor as a flaky test * Standards-Version: 4.5.0 (no changes required) * New upstream release * d/p/tests-Skip-MemoryMonitor-test-if-GObject-Introspection-is.patch: Skip MemoryMonitor test if GObject-Introspection is too old to know it * Install a shell script implementation of the old gio-launch-desktop executable. While not required for *this* GLib, it is required by old processes that already had the old GLib (2.57.2 to 2.63.5) in memory before the upgrade. This can be removed after Ubuntu 20.04 and Debian 11 are both released. . glib2.0 (2.63.5-2) experimental; urgency=medium . * Skip-unreliable-gdbus-threading-tests--by-default.patch: Skip all of gdbus-threading test_method_calls_in_thread() has become (more?) unreliable too. When skipped, the test bus doesn't get torn down properly - it times out. Let's stop running these tests for now, until they are made reliable. . glib2.0 (2.63.5-1) experimental; urgency=medium . [ Iain Lane ] * New upstream release . [ Philip Withnall ] * Rework 01_gettext-desktopfiles.patch to not add new public API. Downstreams should not be adding new public API to GLib. From some code searching, this doesn’t appear to be used in more than one or two places, so won’t be too inconvenient to drop. The original patch should either be upstreamed (I’d be open to some form of it, if there’s still evidence it’s useful) or dropped. If it’s upstreamed, the new keys should be standardised. The alternative to this was to document the added public API; its addition was causing the new gtk-doc tests in GLib to fail. * Bump gtk-doc-tools dependency to >= 1.32-4 as GLib requires some fixes pushed to gtk-doc after its 1.32 release. * control: Bump Meson dependency to >= 0.52.0 for building the documentation * Drop PKCS#11 APIs added in 2.63.1 (not stable yet) - g_tls_certificate_new_from_pkcs11_uris() * Remove patches applied upstream: - tests-Skip-GMemoryMonitor-tests-if-the-dbusmock-template-.patch - tests-optional-portal.patch * d/p/docs-Don-t-install-object-manager-example-separately.patch: Add patch from upstream to disable incorrect installation of some example documentation * Rework libmount Meson argument as it’s now a feature; see !1344 upstream . glib2.0 (2.63.3-3) experimental; urgency=medium . * debian/control.in: - lower the libglib2.0-tests Depends on xdg-desktop-portal to a Recommends since the portal is not available on some architectures * debian/patches/tests-optional-portal.patch: - skip the new memory monitor tests if the portal is not available, that allows the tests to be still successful on architectures were the portal is not available (e.g Ubuntu/i386) . glib2.0 (2.63.3-2) experimental; urgency=medium . * debian/control.in: - libglib2.0-tests Depends on xdg-desktop-portal, it's required by the new low memory tests (and got enabled by the new python-dbusmock) . glib2.0 (2.63.3-1) experimental; urgency=medium . [ Iain Lane ] * New upstream release + Add a `--glib-min-version` argument to `gdbus-codegen` which controls breaks in the API of generated code + Add `g_clear_list()` API to clear `GList`s to `NULL` + Add a `GMemoryMonitor` API to be notified of memory pressure situations using the low-memory-monitor project + Add support for dispose functions for `GSource` implementations + Tighten up validation of GObject signal and property names, allowing performance improvements * debian/tests/build: Style fixes, thanks to shellcheck. * d/p/d/Disable-some-tests-on-slow-architectures-which-keep-faili.patch: Rebase. Upstream have disabled these tests by default too (unless slow mode is enabled), so we don't need to add a patch to do a similar thing. * debian/libglib2.0-0.symbols: New symbols for 2.63.3 * d/p/tests-Skip-GMemoryMonitor-tests-if-the-dbusmock-template-.patch: Add. We don't have a new enough dbusmock in Debian at the minute (one is not released yet). Skip the test if the required template isn't available. * control: Add Depends for the new memory-monitor tests. There are new tests, written in python, for GMemoryMonitor. They require dbus-python, pygobject, and the GI bindings for GLib and GIO. . [ Steve Langasek ] * debian/tests/build: Make cross-test friendly autopkgtest is soon to get a `-a ARCHITECTURE` switch, which will cross-test autopkgtests. This is to be detected by the presence of the `dpkg-architecture`-style family of variables being set in the environment. For build tests like `glib2.0`'s `build` test, this means that we should test "${DEB_HOST_ARCH}" and invoke the cross toolchain as necessary. (Closes: #946355) . glib2.0 (2.63.2-1) experimental; urgency=medium . * Team upload * Merge packaging changes from unstable - Support for pkg.glib2.0.noinsttest build profile * d/control.in: Refer to debian/experimental branch. This avoids false-positive warnings from vcswatch. * New upstream release - Drop patches that were applied upstream * Rename pkg.glib2.0.noinsttest build profile to noinsttest. This is now registered on . * Update symbols file . glib2.0 (2.63.1-2) experimental; urgency=medium . * d/p/Revert-glocalfileinfo-Only-return-file-mode-not-type-as-U.patch: Revert "glocalfileinfo: Only return file mode, not type, as UNIX_MODE attribute" This reverts commit bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98. This commit changes the semantics of the `unix::mode` attribute, which some things (the one we've noticed is ostree) rely on. * d/p/test_copy_preserve_mode-Adjust-for-revert-semantics.patch: test_copy_preserve_mode: Adjust for revert semantics. Now we're returning the file type again, we need to mask it out to compare with the mode. . glib2.0 (2.63.1-1) experimental; urgency=medium . * New upstream release - Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` APIs - Add `g_get_os_info()` API - Add `GMainContextPusher` API - Add `g_warning_once()` API - Allow passing empty `GValue`s to `g_param_value_set_default()` - Always resolve `localhost` to loopback address in `GResolver` - Escape header guards generated by `gdbus-codegen` better - Fix crash in `g_spawn()` with high FD numbers due to use of `select()` rather than `poll()` - Limit recursion in `g_variant_parse()` - Several usability improvements to command line `gio` tool * debian/libglib2.0-0.symbols: Add new symbols for this release * debian/patches/*: - Drop backports we had which are in this release. - Update to upstream master at cc1b53f74. There are several test fixes that we might as well grab now. . glib2.0 (2.62.5-1) unstable; urgency=medium . * Team upload * New upstream release - Fixes a vulnerability where GSocketClient sometimes forgot to use a configured proxy (CVE-2020-6750, Closes: #948554) * Build-depend on libnss-myhostname | netbase if running tests. This is an attempt to work around localhost not being a resolvable name in some build environments, notably reproducible-builds. (See #948834) * Put the result of `getent ahosts localhost` and `getent ahosts $(hostname)` in the build log, to check whether those names are resolvable in the build environment. * d/p/debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch: Treat testfilemonitor as a flaky test * Standards-Version: 4.5.0 (no changes required) . glib2.0 (2.62.4-2) unstable; urgency=medium . * Team upload * Adjust dependencies to avoid broken partial upgrades on arm64 during libffi7 transition: - Bump versioned Depends on libffi-dev to get a guarantee that we'll depend on libffi7 - Add Breaks on libgirepository-1.0-1 (<< 1.62.0-4~) so we cannot get a GObject built with libffi7 but a libgirepository built with libffi6 . glib2.0 (2.62.4-1) unstable; urgency=medium . * Team upload . [ Steve Langasek ] * debian/tests/build: Make cross-test friendly (Closes: #946355) . [ Iain Lane ] * debian/tests/build: Style fixes . [ Simon McVittie ] * New upstream release . glib2.0 (2.62.3-2) unstable; urgency=medium . * Team upload * Rename pkg.glib2.0.noinsttest build profile to noinsttest. This is now registered on . . glib2.0 (2.62.3-1) unstable; urgency=medium . * Team upload * New upstream release - Drop patches that were applied upstream * Don't build libglib2.0-tests under pkg.glib2.0.noinsttest build profile. This is a prototype of the proposed standard build profile noinsttest. If the build profiles include both nocheck and pkg.glib2.0.noinsttest, we can drop the libdbus-1-dev build-dependency without harming test coverage or altering the contents of binary packages. * d/gbp.conf: Use upstream/2.62.x branch . glib2.0 (2.62.2-3) unstable; urgency=medium . * Team upload . [ Iain Lane ] * control: Drop `debian/experimental` from Vcs-* . [ Simon McVittie ] * Build-depend on libdbus-1-dev for better test coverage * Update to upstream commit 2.62.2-28-g3cf25070e: - d/p/goption-Relax-assertion-to-avoid-being-broken-by-kdeinit5.patch: Fix assertion failure when called from a process that overwrites its argv, such as kdeinit5 - d/p/gdbus-peer-Specifically-listen-on-127.0.0.1.patch: Improve reliability of gdbus-peer test in some container environments - d/p/gdbusserver-Delete-socket-and-nonce-file-when-stopping-se.patch, d/p/gdbusserver-Keep-a-strong-reference-to-the-server-in-call.patch, d/p/gdbusauthmechanismsha1-Remove-unnecessary-g_warning-calls.patch, d/p/gdbusauthmechanismsha1-Create-.dbus-keyrings-directory-re.patch, d/p/tests-Move-main-loop-and-test-GUID-into-test-functions-in.patch, d/p/tests-Isolate-directories-in-gdbus-peer-test.patch, d/p/gdbus-peer-test-Improve-diagnostics-if-g_rmdir-fails.patch, d/p/gdbus-peer-test-Stop-GDBusServer-before-tearing-down-temp.patch, d/p/gdbus-peer-test-Use-unix-dir-address-if-exact-format-does.patch, d/p/gdbus-server-auth-test-Create-temporary-directory-for-Uni.patch: Mark as applied upstream in 2.62.x branch * d/p/gdbus-server-auth-test-Include-gcredentialsprivate.h.patch: Apply patch from 2.63.x to fix missing coverage in test for #941018 * d/p/Make-ld-executable-configurable.patch: Apply patch from 2.63.x to use cross ld where necessary * d/p/gdbus-server-auth-test-Create-temporary-directory-for-Uni.patch: Mark as applied upstream in 2.63.x branch * Improve patch metadata: use more URLs for bug references . glib2.0 (2.62.2-2) unstable; urgency=medium . * Team upload * Update to upstream commit 2.62.2-14-gfcbb88823: - d/p/gdesktopappinfo-Allocate-DesktopFileDir-structs-dynamical.patch, d/p/gdesktopappinfo-Cancel-file-monitor-when-resetting-a-Desk.patch, d/p/glocalfilemonitor-Keep-a-weak-ref-to-the-monitor-in-GFile.patch: Fix intermittent test failures for GDesktopAppInfo (Closes: #941550) - d/p/gvariant-Limit-recursion-in-g_variant_parse.patch: Ensure that parsing a text-format GVariant does not run out of stack space - d/p/tests-Use-objcopy-from-the-cross-compilation-file-if-conf.patch, d/p/docs-Add-objcopy-to-example-cross-compilation-file.patch: Use the appropriate architecture's objcopy when cross-compiling - d/p/gtestutils-Add-additional-non-NULL-check-in-g_assert_cmpm.patch: Avoid false positive NULL dereference warnings in g_assert_cmpmem() - d/p/gspawn-Port-to-g_poll-from-select.patch: Fix launching subprocesses when a very large number of fds are open - d/p/gcredentialsprivate-Document-the-various-private-macros.patch, d/p/credentials-Invalid-Linux-struct-ucred-means-no-informati.patch, d/p/GDBus-prefer-getsockopt-style-credentials-passing-APIs.patch: Ensure libdbus clients can authenticate with a GDBusServer like the one in ibus (Closes: #941018) * d/p/gdbusserver-Delete-socket-and-nonce-file-when-stopping-se.patch, d/p/gdbusserver-Keep-a-strong-reference-to-the-server-in-call.patch, d/p/Add-a-test-for-GDBusServer-authentication.patch: Backport regression test for #941018 from upstream git master * d/p/gdbusauthmechanismsha1-Remove-unnecessary-g_warning-calls.patch, d/p/gdbusauthmechanismsha1-Create-.dbus-keyrings-directory-re.patch, d/p/tests-Move-main-loop-and-test-GUID-into-test-functions-in.patch, d/p/tests-Isolate-directories-in-gdbus-peer-test.patch: Backport reliability fixes for gdbus-peer test from upstream git master * d/p/gdbus-peer-test-Improve-diagnostics-if-g_rmdir-fails.patch, d/p/gdbus-peer-test-Stop-GDBusServer-before-tearing-down-temp.patch, d/p/gdbus-peer-test-Use-unix-dir-address-if-exact-format-does.patch, d/p/gdbus-server-auth-test-Create-temporary-directory-for-Uni.patch: Add some proposed patches to improve GDBus unit tests * d/p/debian/mimeapps-test-Mark-as-flaky.patch: Drop patch, hopefully no longer needed with #941550 fixed * d/p/debian/taptestrunner-Stop-looking-like-an-executable-script.patch: Make taptestrunner non-executable to avoid a Lintian warning . glib2.0 (2.62.2-1) unstable; urgency=medium . * New upstream release + Fixes use after free when calling g_dbus_connection_flush_sync() in a dedicated thread (LP: #1848202) . glib2.0 (2.62.1-1) unstable; urgency=medium . * Team upload * d/watch: Only watch for even-numbered (stable) releases * New upstream release - Fix regression that made G_FILE_COPY_TARGET_DEFAULT_PERMS result in private permissions rather than respecting umask (Closes: #505398) - d/p/g_file_info_get_modification_date_time-Calculate-in-integ.patch, d/p/Always-build-tests-if-we-enabled-installed-tests.patch: Drop patches that were applied upstream * d/p/debian/mimeapps-test-Mark-as-flaky.patch: Mark mimeapps test as flaky (see #941550) . glib2.0 (2.62.0-3) unstable; urgency=medium . * Team upload * Merge packaging from 2.60.x branch previously in unstable - No changes since 2.62.0-2, except in d/changelog - d/p/debian/Disable-an-optimization-when-building-with-gcc-9.patch: Remove workaround for #931921, which turned out to be a clutter bug * d/p/Always-build-tests-if-we-enabled-installed-tests.patch: Add patch to fix installation of installed-tests in cross-builds (Closes: #941509) * d/p/g_file_info_get_modification_date_time-Calculate-in-integ.patch: Add patch to fix intermittent g-file-info test failures on i386 (Closes: #941547) * libglib2.0-dev: Suggest libgirepository1.0-dev, for the GIR files (Closes: #914152) * d/gbp.conf: Use debian/master branch * Standards-Version: 4.4.1 (no changes required) . glib2.0 (2.60.6-2) unstable; urgency=medium . * Team upload * d/rules: Edit debcrossgen output instead of using a modified version. This fixes use of CFLAGS, etc. during cross-compilation. (Closes: #933560) * Remove obsolete permissions fixing. Issue 1539 was fixed upstream. * d/p/debian/Disable-an-optimization-when-building-with-gcc-9.patch: Disable an optimization when building with gcc-9, instead of forcing gcc-8. This avoids depending on an old gcc, and should be easier to deal with for cross-compilation. (Workaround for #931921) * d/p/gmessages-Only-use-structured-logs-if-GLIB_VERSION_MAX_AL.patch: Update to upstream glib-2-60 branch at commit 2.60.6-2-ga365528f6 - Don't use structured logging if GLIB_VERSION_MAX_ALLOWED < 2.56 . glib2.0 (2.62.0-2) unstable; urgency=medium . * Team upload. * Upload to unstable. (Closes: #940161) . glib2.0 (2.62.0-1) experimental; urgency=medium . * New upstream release + Fix new `GFileInfo` APIs to work when `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC` was not queried . glib2.0 (2.61.3-1) experimental; urgency=medium . * New upstream release * d/p: Drop cherry-picks from upstream branch which we now have * d/p/d/Disable-an-optimization-when-building-with-gcc-9.patch: Drop, clutter has been fixed now (thanks Simon) * d/p/*: Refresh via gbp-pq as necessary . glib2.0 (2.61.2-2) experimental; urgency=medium . * Team upload * d/p/cond-test-Don-t-make-assumptions-about-struct-sigaction-m.patch: Add proposed patch to fix FTBFS due to a test failure on mips* . glib2.0 (2.61.2-1) experimental; urgency=medium . * Team upload * New upstream release * d/patches: Update to upstream git master, commit 2.61.2-23-g870b30bd7 - Fix regression in g_mkdir_with_permissions() - Fix a memory leak - Update translations: es, id, ro * Merge changes from unstable * Refresh patch series * d/p/debian/06_thread_test_ignore_prctl_fail.patch: Use g_test_skip() when skipping test * d/p/GIO-tests-Don-t-do-clever-tricks-with-objcopy.patch: Drop workaround for #932287, and build-depend on fixed binutils on mips64el instead * d/rules: Edit debcrossgen output instead of using a modified version. This fixes use of CFLAGS, etc. during cross-compilation. (Closes: #933560) * d/libglib2.0-0.symbols: Update * Remove obsolete permissions fixing. Issue 1539 was fixed upstream. * libglib2.0-tests: Depend on libglib2.0-dev-bin. This is required for the new mkenums and genmarshal tests. * d/p/debian/Disable-an-optimization-when-building-with-gcc-9.patch: Disable an optimization when building with gcc-9, instead of forcing gcc-8. This avoids depending on an old gcc, and should be easier to deal with for cross-compilation. (Workaround for #931921) . glib2.0 (2.60.6-1) unstable; urgency=medium . * Team upload * New upstream release, functionally equivalent to 2.60.5 with the patches we were already applying - d/p/portal-Add-a-getter-for-dconf-access.patch, d/p/settings-Tweak-priorities-for-keyfile-backend.patch, d/p/key-file-Handle-filename-being-NULL.patch: Drop, applied upstream * d/p/tests-Fix-data-race-in-gmenumodel-test.patch, d/p/tests-Fix-data-race-in-task-test.patch: Add patches from upstream git master to fix data races in tests. In particular, the one for gmenumodel might solve an unreproducible test failure on i386 (see #932678). * d/p/debian/gmenumodel-test-Mark-as-flaky.patch, d/p/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch: Skip more tests at build-time and during the non-flaky autopkgtest. The unreproducible gmenumodel test failure on i386 might in fact be fixed by d/p/tests-Fix-data-race-in-gmenumodel-test.patch, but it's hard to be sure about that. The gvariant fuzz test is catastrophically slow on certain mips CPUs and so is impractical to run there. (Closes: #932678) * Standards-Version: 4.4.0 (no changes required) * Use debhelper compat level 12 - Stop explicitly passing -V to dh_makeshlibs, it is now the default - Disable dh_dwz for libglib2.0-udeb. This avoids an apparent debhelper bug in which dh_dwz generates multifiles for udebs, but dh_strip does not remove them from the udeb's staging directory. (Workaround for #933212) * Stop overriding libexecdir. Since FHS 3.0 (Policy 4.1.5), /usr/libexec is considered valid, and since debhelper compat level 12 it is the default. In this particular package this only affects the installed-tests. * Remove an obsolete Lintian override . glib2.0 (2.60.5-1) unstable; urgency=medium . * Team upload * Prepare GLib 2.60.x stable branch for unstable * New upstream release * d/p/portal-Add-a-getter-for-dconf-access.patch, d/p/settings-Tweak-priorities-for-keyfile-backend.patch, d/p/key-file-Handle-filename-being-NULL.patch: Add post-release fixes from upstream glib-2-60 branch * d/p/GIO-tests-Don-t-do-clever-tricks-with-objcopy.patch: Don't do strange things with objcopy while testing GResource, while we work out what is going on in mips64el builds. Mitigates: #932287 . glib2.0 (2.61.1-2) experimental; urgency=medium . * control, rules: Build with gcc-8. See #931921 - when we're built with gcc-9, some applications that use GLib might start hanging. . glib2.0 (2.61.1-1) experimental; urgency=medium . * New upstream release + `g_unichar_isxdigit()` and `g_unichar_xdigit_value()` now handle full-width characters (U+FF21–U+FF26 and U+FF41–U+FF46) + Deprecate `gtester` utility and its test reporting format and enable TAP output by default instead — the `--tap` option to tests is now a no-op + Add `g_test_summary()` to allow test authors to programmatically summarise what each unit test in a test suite does * Upgrade to Unicode Character Database v12.1 + More IPv6 Happy Eyeballs fixes to `GNetworkAddress` and `GSocketClient` + Fix valgrind and gdb support for the new `GHashTable` changes + Fix GTask wait times growing faster than the number of task threads + Add `g_autoqueue()` helper macros, similar to `g_autolist()` + Add pre-allocated link helpers for `GList` and `GQueue`: - `g_list_insert_before_link()` - `g_queue_insert_before_link()` - `g_queue_insert_after_link()` + Improve network availability detection with NetworkManager to treat lower levels of connectivity as having reduced availability + Add `g_clear_signal_handler()` to allow disconnecting from a `GObject` signal and clearing the signal handler ID to zero in a single call + Add `g_autoptr()` support for `GRWLock` * 81-skip-monitor-test-on-non-linux.patch: Drop. This test was removed upstream. * debian/libglib2.0-0.symbols: Update . glib2.0 (2.60.4-1) experimental; urgency=medium . * New upstream release (LP: #1832457) + Fixes to improved network status detection with NetworkManager (#1788) + Leak fixes to some `glib-genmarshal` generated code + Further fixes to the Happy Eyeballs (RFC 8305) implementation + File system permissions fix to clamp down permissions in a small time window when copying files (CVE-2019-12450) + Bugs fixed: - Please revert #535 gmacros: Try to use the standard __func__ first in G_STRFUNC * gfile-Limit-access-to-files-when-copying.patch: Drop. It's in this version upstream. * d/p/*: Refresh through gbp pq . glib2.0 (2.60.3-2) experimental; urgency=medium . * Team upload * d/p/gfile-Limit-access-to-files-when-copying.patch: Backport patch from upstream to ensure files don't temporarily have less restrictive permissions during copying (Closes: #929753, CVE-2019-12450) * Drop d/p/debian/04_homedir_env.patch: Remove legacy support for Debian-specific G_HOME environment variable. GLib has respected the HOME environment variable in the conventional way since wheezy. Only two packages (pygtk and ruby-graphviz) still set G_HOME without also setting HOME. * Drop d/p/debian/90_gio-modules-multiarch-compat.patch: Remove legacy support for loading modules from /usr/lib/gio/modules. All the known packages containing GIO modules (dconf, glib-networking and gvfs) migrated to /usr/lib/${DEB_HOST_MULTIARCH}/gio/modules before wheezy. * Register documentation in doc-base via symlinks in /usr/share/doc. The doc-base specification requires this, presumably for the benefit of tools that export /usr/share/doc via HTTP (see #925200), and Lintian 2.12 added a warning for not doing so. . glib2.0 (2.60.3-1) experimental; urgency=medium . * New upstream releases 2.60.1 2.60.2 2.60.3, fixing many bugs: + build: Fix a typo in the test whether _NL_ABALTMON_n is supported + Critical in g_socket_client_async_connect_complete + Fix crash when displaying notifications on macOS (!786) + Fix documentation for `gdbus-tool wait` to use correct units + Fix typo in German translation + glib/date test fails + glib/gconstructor.h: Include stdlib.h for MSVC builds + GNetworkAddressAddressEnumerator unsafely modifies cache in GNetworkAddress + gnetworkaddress: Fix parallel enumerations interfering with eachother + gnetworkmonitornm: Fix network available detection + GResource generation test incompatible with stable LLVM on Linux + gschema.dtd: Add target attribute to alias + gsocketclient: Fix a leak in the connection code + Improve network status detection with NetworkManager + Leaks in gsocketclient.c connection code + test_month_names: assertion failed + tests: Update month name check for Greek locale + Update gdb pretty-printer for GHashTable + Various fixes to small key/value support in `GHashTable` + New GHashTable implementation confuses valgrind + more GHashTable fixes + GDB pretty-printer for GHashTable no longer works + ghash: Disable small-arrays under valgrind . glib2.0 (2.60.0-1) experimental; urgency=medium . * New upstream release + Further fixes to the Happy Eyeballs (RFC 8305) implementation + Add support for the XDG trash portal * Call dh_python3 for all packages and add Depends to libglib2.0-tests. The tests now ship a "static-link.py" test. While it early-exits currently, we still need the right dependencies to be able to do that. Call dh_python3 for libglib2.0-test's private directory, and while we're here make sure that it is called for all packages too. * flaky autopkgtest: `closures` has been renamed to `closure-refcount` * Refresh and drop patches. - d/p/flaky-socket-service-test/*: Drop, applied upstream. - d/p/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch: Refresh. . glib2.0 (2.59.3-2) experimental; urgency=medium . [ Philip Withnall ] * debian: Drop GVariant alignment patches which are no longer needed. The upstream 2.59.0 release contained commit 0f2a6c61c9c5e34d57293fb6987b21f3d1feb1cb, which automatically aligns GVariants at construction time. The realignment in the tests was a workaround for this. See upstream issue https://gitlab.gnome.org/GNOME/glib/issues/1342. . [ Iain Lane ] * Cherry-pick fixes for upstream bug #1679 to fix a flaky test. This is apparently more flaky on the autopkgtest machines than elsewhere - it's quite consistently failing there. . glib2.0 (2.59.3-1) experimental; urgency=medium . * New upstream release + Fix support for g_get_user_special_dir() on macOS, including support for the Downloads directory + Ensure that cancelling a GTask cannot cause its callback to be called synchronously (in the same call chain as the original *_async() call) + Further fixes to the Happy Eyeballs (RFC 8305) implementation + Various fixes for installation of installed tests * Refresh and drop patches. Drop gio-tests-Install-test1.overlay-file-when-building-instal.patch, tests-Install-the-slow-connect-preload.so-library-and-use.patch, fixed upstream. . glib2.0 (2.59.2-2) experimental; urgency=medium . * Install `test1.overlay' file, which is needed for the installed tests. * tests: Install the slow-connect-preload.so library and use it . glib2.0 (2.59.2-1) experimental; urgency=medium . * New upstream release + Fix check on GDBusMessage size when reading it. + Add async GIO API: g_file_query_default_handler_async(), g_app_info_launch_uris_async() + Fix some bugs in the Happy Eyeballs implementation. + Install a new generated header with enum types for Unicode enums. + Support the XDG trash portal. + Autotools support is gone. + g_format_size() now uses a no-break space to separate digits and units; translations will need to be updated accordingly. + New g_queue_clear_full() API. + Fix argument quoting on win32 when spawning subprocesses. + Allow polling more than 64 handles on win32 using g_poll(). + Tag various tests as ‘flaky’. These are no longer run routinely on our upstream CI machines, and downstream packagers may want to not run them (or not treat those test failures as package build failures) on their test machines either. They are in the `flaky` test suite. + Add overlay support to g_resources_get_info(). + Support defaults and locks in the keyfile GSettings backend. This will be used for flatpaks. + Accept unquoted strings in the keyfile GSettings backend to simplify things for sysadmins. + Update our contribution guidelines (`CONTRIBUTING.md`). + Add writev() and writev_all() APIs to GOutputStream and GPollableOutputStream, and provide implementations of them for many subclasses. * Refresh patches, drop trash test patches which are upstream now * build-time tests: Run "flaky" suite separately and non fatally * debian/libglib2.0-0.symbols: Add new symbols from 2.59.{1,2} . glib2.0 (2.59.0-1) experimental; urgency=medium . * New upstream release * Update patches and drop upstreamed ones * debian/control: Update meson BD to ≥ 0.48.0 per upstream * debian/rules: enable-selinux takes "enabled" or "disabled" now. Not true/false. * debian/*: Update for experimental * debian/libglib2.0-0.symbols: Update with new symbols for this release . glib2.0 (2.58.3-3) unstable; urgency=medium . * control, rules: Build with gcc-8. See #931921 - when we're built with gcc-9, some applications that use GLib might start hanging. . glib2.0 (2.58.3-2) unstable; urgency=medium . * Team upload * d/p/gfile-Limit-access-to-files-when-copying.patch: Backport patch from upstream to ensure files don't temporarily have less restrictive permissions during copying (Closes: #929753, CVE-2019-12450) * d/watch: Only watch for 2.58.x releases now that 2.60.x is out * Add cross-reference to #919777 in previous changelog entry . glib2.0 (2.58.3-1) unstable; urgency=medium . * Team upload . [ Iain Lane ] * debian/gbp.conf: Use upstream/2.58.x . [ Simon McVittie ] * New upstream release - Fix crashes related to the GUnixMount API (Closes: #919777) - Make G_DEFINE_INTERFACE compatible with g++ -Wint-in-bool-context - Drop patches that were applied upstream * d/p/gdbusmessage-Fix-check-on-upper-limit-of-message-size.patch: Add patch from upstream glib-2-58 branch to limit the maximum size of D-Bus messages according to the protocol specification (the limit was 256M, and is now the correct 128M) . glib2.0 (2.58.2-4) unstable; urgency=medium . [ Simon McVittie ] * Update patch metadata . [ Iain Lane ] * trash-test-Don-t-assume-that-.local-exists.patch, trash-test-Don-t-rely-on-being-able-to-determine-mount-po.patch: Cherry pick two patches by Simon McVittie (slightly modified by Iain Lane) to fix the trash test on Launchpad autobuilders. . glib2.0 (2.58.2-3) unstable; urgency=medium . * Team upload * Release to unstable * Standards-Version: 4.3.0 (no changes required) * d/p/gvariant-test-Also-force-alignment-for-tuple-test-data.patch: Mark as forwarded * debian/Skip-unreliable-test_threaded_singleton-by-default.patch: Don't run test_threaded_singleton() at build-time or in the part of the autopkgtest run that must succeed. Run it from d/tests/flaky instead. . glib2.0 (2.58.2-2) experimental; urgency=medium . * Team upload * d/p/gvariant-test-Also-force-alignment-for-tuple-test-data.patch: Fix gvariant test failure on s390x by forcing more test data to be aligned (Closes: #917980) * d/p/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch, d/tests/flaky: Only run closures test on arm* as part of a separate, flaky autopkgtest. This test does not seem to be reliable enough for its failures to be treated as release-critical, at least on arm*. If we run too many iterations, it fails on CPUs where 16-bit accesses are slow; if we run too few, it occasionally fails when one thread starves another. (Closes: #917983) * d/p/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch, d/p/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch: d/tests/flaky: Use g_test_skip() for flaky tests, and run them from d/tests/flaky . glib2.0 (2.58.2-1) experimental; urgency=medium . * Team upload * New upstream release * Drop many patches that were applied upstream * d/p/tests-Allocate-gvariant-data-from-the-heap-to-guarantee-a.patch: Add patch from upstream to fix alignment of GVariant test data * d/libglib2.0-0.symbols: Update for new ABI * d/tests/installed-tests: Log execution environment * postinst: Convert triggers into a function * postinst: Quote strings with #TOKENS# to fix syntax highlighting * postinst: Add a vim modeline . glib2.0 (2.58.1-6) experimental; urgency=medium . * Team upload * d/p/closures-test-Avoid-timeout-on-ARM64-CPUs.patch: Rename from d/p/debian/closures-test-Run-fewer-iterations-on-ARM64-and-armhf.patch, increase the test timeout to prevent this test from timing out on Cortex-A57 CPUs when building with Meson, and mark as forwarded upstream * Disable xattr support on kFreeBSD. kFreeBSD has stub implementations of getxattr() etc. which will always fail. Autoconf considers these to be present, but Meson detects them and treats them as absent, resulting in configuration failure. . glib2.0 (2.58.1-5) experimental; urgency=medium . * Team upload * d/p/*: Update to upstream glib-2-58 branch as of 2.58.1-89-g7aa52a7d5, except for translations * d/p/mainloop-test-Fix-race-conditions.patch: Add patch from upstream git master to fix race conditions in mainloop test * d/p/meson-Define-__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4-on-GNU-Li.patch: Add proposed patch to fix detection of atomic operations on armel * Respect nocheck in DEB_BUILD_OPTIONS * Adjust test timeouts: - Increase armel, armhf, hppa timeout multiplier from x3 to x5 - Reduce mips*, sparc* timeout multiplier from x10 to x5 - Reduce timeout multiplier for architectures known to have qemu buildds from x50 to x20 * d/rules: Set Meson cross properties using a modified debcrossgen. This avoids embedding a local copy of GNUlib (v)(sn)printf when cross-compiling. (Workaround for #912559) . glib2.0 (2.58.1-4) experimental; urgency=medium . * Team upload * d/rules: Deduplicate test invocation * Use `meson test` directly, instead of going via `ninja test` * Multiply Meson test timeouts. Use x3 timeouts for most architectures (in general the timeouts in the upstream Meson build system are somewhat optimistic), x10 for the mips and sparc families, and x50 for architectures known to use qemu for buildds. * Enable FAM support on Hurd and kFreeBSD. In the Autotools build system this was auto-detected, but in Meson it is off by default and must be explicitly enabled if wanted. * d/p/meson-Mark-1bit-emufutex-test-as-slow.patch: Increase timeout for the 1bit-emufutex test . glib2.0 (2.58.1-3) experimental; urgency=medium . * Team upload * Upload to experimental to check that everything is OK with the switch to Meson * Switch build system to Meson as recommended by upstream - Stop removing .la files: Meson doesn't build those - d/p/debian/61_glib-compile-binaries-path.patch: Change the same path if we build with Meson - d/patches: Apply patches proposed for backport from master to glib-2-58 in upstream MR 392. These fix various build issues, mostly around Meson. Some of these patch Windows-specific code, but they are likely to be in 2.58.2 and upstream asked for wider testing, so I'm applying them anyway, to test the complete set. - d/p/Spelling-*.patch: MR 392 also applies patches from upstream git master to fix various spelling mistakes detected by Lintian * Always generate testmarshal.h, even when cross-compiling (Closes: #908334) * Fix static linking and make sure it won't regress, prompted by comparing the Autotools and Meson builds: - Add missing -dev dependencies on libffi-dev, libmount-dev, libselinux1-dev - d/p/Autotools-Move-libmount-from-Libs.private-to-Requires.pri.patch: Add patch from upstream git master to fix static linking with libgio - d/tests/build: Exercise all libraries - d/tests/build-static: Exercise static linking * d/rules: Fix some permissions (equivalent of #1539 upstream) * Add Lintian override for a spelling-error-in-binary false positive * Add some Lintian overrides for hardening-no-fortify-functions. These objects mostly don't use libc directly. * Remove /usr/bin/gio-launch-desktop symlink. It's an implementation detail of libgio, and isn't intended to be run directly. Removing it from PATH silences a Lintian warning about it not having a man page. * Don't delete compiled GSettings schemas during purge if the dpkg reference count is greater than 1. This avoids deleting and regenerating it unnecessarily if another architecture's libglib2.0-0 is still installed. (Closes: #775854) * d/tests/installed-tests: Replace deprecated $ADTTMP with $AUTOPKGTEST_TMP * d/tests/control: Mark build tests as superficial (see #904979) . glib2.0 (2.58.1-2) unstable; urgency=medium . * Fix dh_missing rule for arch:all build with compat 11 . glib2.0 (2.58.1-1) unstable; urgency=medium . * New upstream release * Drop patches applied in new release: - Fix-g_icon_to_string-regression-doc-inconsistency.patch - tests-timer-Skip-test_timeval_to_iso8601_overflow-if-we-c.patch * Refresh 61_glib-compile-binaries-path.patch * Bump Standards-Version to 4.2.1 * Bump debhelper compat to 11 . glib2.0 (2.58.0-4) unstable; urgency=medium . [ Simon McVittie ] * Adjust installation path of gdb scripts to match GLib itself. We used to put libglib-2.0.so.0 in /lib/MULTIARCH, but this is no longer the case since 2.56.0-5. * Wrap and sort (build-)dependency lists (wrap-and-sort -a) * Wrap and sort file lists (wrap-and-sort -a) * Install HTML in /usr/share/gtk-doc/html with symlinks in /usr/share/doc. The gtk-doc documentation is technically a functionally significant part of the package (it affects cross-reference generation during build of other packages) so according to Policy §12.3 it is not appropriate for /usr/share/doc. Using the upstream default installation path for the HTML also makes it more straightforward to switch to the Meson build system, because the Meson build does not have an equivalent of --with-html-dir. - d/debian/libglib2.0-doc.maintscript: Add migration steps * d/p/debian/Look-for-gio-launch-desktop-in-libdir-glib-2.0.patch: Also patch meson build system . [ Jeremy Bicha ] * Cherry-pick Fix-g_icon_to_string-regression-doc-inconsistency.patch - Have g_icon_new_for_string() go back to only returning a single name when created with a single name since some apps assume that behavior. (Closes: #908705) . glib2.0 (2.58.0-3) unstable; urgency=medium . [ Iain Lane ] * Run fewer iterations of clousures test on armhf too . glib2.0 (2.58.0-2) unstable; urgency=medium . * Cherry-pick upstream patch to fix test_timeval_to_iso8601_overflow on 32-bit, fixing FTBFS there. . glib2.0 (2.58.0-1) unstable; urgency=medium . [ Jeremy Bicha ] * New upstream release * Drop patches applied in new release: - date-test-Use-g_test_skip-not-g_test_incomplete.patch - g_binding_unbind-make-it-more-introspection-friendly-allo.patch: * Release to unstable . [ Simon McVittie ] * d/p/debian/closures-test-Run-fewer-iterations-on-ARM64.patch: Update metadata * libglib2.0-dev-bin: Add Suggests for the packages containing xmllint and gdk-pixbuf-pixdata, which are sometimes invoked by glib-compile-resources (Closes: #834998) * Invoke dh_python3 twice so that we correctly rewrite the shebang line for /usr/bin scripts (Closes: #876009) * Don't install very old changelogs and NEWS files * Install README.md instead of stub README . glib2.0 (2.57.2-2) experimental; urgency=medium . * Cherry-pick g_binding_unbind-make-it-more-introspection-friendly-allo.patch to fix pygobject build (LP: #1787474) . glib2.0 (2.57.2-1) experimental; urgency=medium . * Team upload * New upstream development release * d/watch: Look for odd-numbered releases * Rebase patch series * Install gio-launch-desktop in libglib2.0-0's private libdir to avoid a circular dependency between libglib2.0-0 and libglib2.0-bin - d/p/debian/Look-for-gio-launch-desktop-in-libdir-glib-2.0.patch: Look for it there * d/copyright: Update * d/libglib2.0-0.symbols: Update * Use upstream autogen.sh for autoreconf * Don't clean org.gtk.test.gschema.override.orig * d/gbp.conf: Use upstream/latest branch * d/p/Drop-a-questionable-test-from-the-refstring-suite.patch: Add patch to fix FTBFS on i386 * d/p/date-test-Use-g_test_skip-not-g_test_incomplete.patch: Add patch to fix autopkgtest failures without locales-all * d/gbp.conf: Don't number patches . glib2.0 (2.56.1-2) unstable; urgency=medium . [ Tim Lunn ] * libglib2.0-0.triggers:use interest-await trigger for schemas . [ Iain Lane ] * debian/patches/tests-network-monitor-Always-use-the-dummy-proxy-res.patch: Take patch from upstream to ignore the system's proxy settings for the network-monitor test - it's testing an "abstract" network unrelated to the system's network, and these settings interfere with that. This fixes a failure in the Ubuntu autopkgtest machines, which have a proxy set. . glib2.0 (2.56.1-1) unstable; urgency=medium . [ Tim Lunn ] * New upstream release * Drop patches included in new release * libglib2.0-0.triggers: Use interest-noawait triggers, generating caches doesn't need to block configuration. flagged by lintian uses-implicit-await-trigger warning. . [ Simon McVittie ] * Explicitly use autoconf build system, even with debhelper 11.2 (see #895174) . glib2.0 (2.56.0-6) unstable; urgency=medium . * Team upload * d/p/0002-gapplication-Tighten-up-application-ID-validation.patch: Transliterate commit message into ASCII so git-buildpackage doesn't export it as a blob of base64 * d/p/g_test_dbus_down-Ensure-next-test-does-not-use-old-c.patch: Add patch to address a race condition that sometimes makes D-Bus-based tests fail (Closes: #894677) * d/patches: Improve metadata on various patches . glib2.0 (2.56.0-5) unstable; urgency=medium . [ Simon McVittie ] * Use `set -e` in the (empty) prerm to avoid a Lintian warning * Add Lintian override for the empty prerm used to work around #887629 . [ Michael Biebl ] * Stop installing libglib to /lib. Late mounting of /usr is no longer supported, so this is not necessary anymore. * Drop maintscript migration code from pre-jessie. * Drop obsolete Breaks. . glib2.0 (2.56.0-4) unstable; urgency=medium . * Fix typo: libglib2.0-dev-bin Depends on python3-distutils, not distuils (Closes: #893773) * Restore `set -x` in debian/tests/build . glib2.0 (2.56.0-3) unstable; urgency=medium . [ Iain Lane ] * debian/tests/build: Add Restrictions: allow-stderr. We run this test with `set -x', which outputs to stderr, and would like to continue doing so. . [ Jeremy Bicha ] * Depend and Build-Depend on python3-distutils to fix build failures since python3 no longer depends on python3-distutils (Closes: #893736) . glib2.0 (2.56.0-2) unstable; urgency=medium . [ Simon McVittie ] * Merge from experimental to unstable * d/tests/build: Don't rely on having unmerged /usr * d/watch: Only watch for stable releases * d/gbp.conf: Use debian/master, upstream/2.56.x branches * d/control: Update Vcs-* for default branch . glib2.0 (2.56.0-1) experimental; urgency=medium . * Team upload * New upstream stable release 2.56.0 * d/p/000?-gdbus-tool-*.patch: Drop patches that came from upstream * Refresh remaining patches * d/p/0001-tests-Use-modern-test-assertions-in-GApplication-tes.patch, d/p/0002-gapplication-Tighten-up-application-ID-validation.patch: Cherry-pick GApplication ID fixes from upstream 2.56 branch (GNOME #793400) . glib2.0 (2.55.2-2) experimental; urgency=medium . * Merge changes from unstable, in particular: + d/libglib2.0-dev.prerm: Add an empty prerm to make sure that we have a way to recover from #887629 in stretch (Closes: #887863) * d/p/0001-gdbus-tool-Ignore-unknown-options-for-the-emit-subco.patch, d/p/0002-gdbus-tool-Make-dest-optional-for-emit-again.patch, d/p/0003-gdbus-tool-Don-t-repeatedly-complete-signal.patch, d/p/0004-gdbus-tool-Factor-out-common-GOptionContext-construc.patch: Cherry-pick from upstream. Fix `gdbus emit' to not require `--dest', and improve its bash completion. Should fix the dbus-test-runner autopkgtest, which relied on this behaviour. . glib2.0 (2.55.2-1) experimental; urgency=medium . * debian/control{,.in}: Update Vcs-* to specify debian/experimental branch. * New upstream release 2.55.2: + GFile now has API to get the path without copying * debian/patches/gdbus-threading-test-Allow-even-longer-for-test_method_ca.patch, debian/patches/gdatetime-Avoid-repeated-floating-point-multiplies-w.patch, debian/patches/gdatetime-Mark-the-usecs-as-volatile.patch: Drop, applied upstream in this release. * debian/libglib2.0-0.symbols: New symbols for 2.55.2 . glib2.0 (2.55.1-1) experimental; urgency=medium . * debian/gbp.conf, debian/watch: Update for experimental * New upstream development release 2.55.1 * debian/libglib2.0-0.symbols: Update with new symbols in this release. * debian/patches/gdatetime-Avoid-repeated-floating-point-multiplies-w.patch, debian/patches/gdatetime-Mark-the-usecs-as-volatile.patch: Cherry-pick two patches from upstream. Fix some precision problems within GDateTime, that in some cases resulted in incorrect answers on i386. . glib2.0 (2.54.3-2) unstable; urgency=medium . * Team upload * d/libglib2.0-dev.prerm: Add an empty prerm to make sure that we have a way to recover from #887629 in stretch (Closes: #887863) * d/p/gdbus-threading-test-Allow-even-longer-for-test_method_ca.patch: Mark as applied upstream * d/p/gmain-Partial-revert-of-recent-wakeup-changes-to-gmain.c.patch: Apply patch from upstream glib-2-54 branch to revert GWakeup changes that appear to have broken WebKit and/or LibreOffice (Closes: #887492) . glib2.0 (2.54.3-1) unstable; urgency=medium . [ Simon McVittie ] * Move Vcs-* to salsa.debian.org * New upstream stable release - Fix a race condition when a GCancellable is cancelled in another thread (Closes: #884654) - Drop patches for #884661, fixed upstream * d/p/gdbus-peer-Skip-test-during-Debian-package-build.patch: Drop. We should no longer need to skip this test now that #884654 is fixed. * d/p/Do-not-attempt-to-autolaunch-a-session-dbus-daemon-w.patch: Drop patch. It has not been necessary since 2.50. * d/p/0001-Fix-trashing-on-overlayfs.patch, d/p/0001-timer-test-use-volatile-for-locals.patch, d/p/gdbus-threading-test-Allow-even-longer-for-test_method_ca.patch: Mark as forwarded upstream * d/patches: Move non-upstreamable patches (Debian-specific changes and workarounds) to d/p/debian, and to the bottom of d/p/series * d/watch: Only watch for the upstream stable branch . [ Iain Lane ] * debian/gbp.conf: Update upstream branch to upstream/2.54.x following DEP-14. . glib2.0 (2.54.2-5) unstable; urgency=medium . * Set Rules-Requires-Root to no. This package builds successfully with the same content in that mode. * d/p/61_glib-compile-binaries-path.patch: Only use the multiarch path for glib-compile-schemas, not for glib-compile-resources * Install glib-compile-resources into PATH in libglib2.0-dev-bin, not libglib2.0-bin: it is a development tool used at compile-time - libglib2.0-dev-bin Breaks/Replaces older libglib2.0-bin * Install the glib-compile-resources binary in libglib2.0-dev-bin, not libglib2.0-0. This means we get an executable version of that binary when cross-compiling (Closes: #885019) * Bump Standards-Version to 4.1.3 . glib2.0 (2.54.2-4) unstable; urgency=medium . * Team upload * d/p/closures-test-Run-fewer-iterations-on-ARM64.patch: Run more iterations on ARM64 than in 2.54.2-3, but fewer than in 2.54.2-2. If we don't run enough iterations, we get an assertion failure when the main thread starves the other threads. * d/p/gmenumodel*.patch: Mark as upstreamed in 2.54.3 and 2.55.1 * d/rules: Set DEB_BUILD_TIME_TESTS when running dh_auto_test, so that tests can distinguish between autopkgtest and `make check` * d/p/gdbus-peer-Skip-test-during-Debian-package-build.patch: Skip the gdbus-peer test during package build, so that its known race condition does not cause intermittent FTBFS (mitigates: #884654) . glib2.0 (2.54.2-3) unstable; urgency=medium . * Team upload * d/patches: Re-export with gbp pq * d/patches: Use `gbp pq export`-style metadata, retrieving authors and dates from d/changelog where needed * d/p/closures-test-Run-fewer-iterations-on-ARM64.patch: New patch. tests/refcount/closures: Run fewer iterations on ARM64 (mitigates: #880883) * d/p/gdbus-threading-test-Allow-even-longer-for-test_method_ca.patch: New patch. Allow even longer for the gdbus-threading test, and re-enable it on 32-bit ARM now that the timeout is longer (Closes: #884660) * d/p/gmenumodel-test-If-something-goes-wrong-don-t-wait-foreve.patch, d/p/gmenumodel-test-Wait-for-the-expected-events-to-happen.patch: Add patches to make the GMenuModel test more patient (Closes: #884661) * d/p/gwakeuptest-Be-less-parallel-unless-invoked-with-m-slow.patch: Reduce number of threads and number of operations in response to timeout on reproducible-builds infrastructure (mitigates: #884659) . glib2.0 (2.54.2-2) unstable; urgency=medium . * Update Vcs fields for conversion to git * Add debian/gbp.conf * Bump Standards-Version to 4.1.2 . glib2.0 (2.54.2-1) unstable; urgency=medium . [ Jeremy Bicha ] * New upstream release . [ Didier Roche ] * debian/patches/01_gettext-desktopfiles.patch: - fix untranslated desktop action names when using gettext (Closes: #877761) . [ Simon McVittie ] * Skip gtk-doc documentation unless we are building libglib2.0-doc, fixing cross-builds (Closes: #870346) - Note that gtk-doc-tools is still in Build-Depends, not Build-Depends-Indep, because we need it for autoreconf * Explicitly disable documentation for the udeb build * Skip build-time tests for Arch:all builds - testing once per architecture is sufficient * Remove unused lintian override for an example file that is no longer installed . glib2.0 (2.54.1-1) unstable; urgency=medium . [ Jeremy Bicha ] * New upstream release * Bump Standards-Version to 4.1.1 . [ Michael Biebl ] * Drop uploaders.mk include as it breaks the clean target. Updating the Uploaders list is already handled by the gnome dh addon. . glib2.0 (2.54.0-1) unstable; urgency=medium . * New upstream stable release. . glib2.0 (2.53.7-1) unstable; urgency=medium . * New upstream release. * debian/patches/81-skip-monitor-test-on-non-linux.patch: + Refreshed. * debian/control.in: drop automake and autotools-dev build dependencies, dh-autoreconf does that for us. * Bump Standards-Version to 4.1.0; no changes needed. . glib2.0 (2.53.6-1) unstable; urgency=medium . * New upstream release. * git_glib-mkenums-utf8.patch, git_glib-mkenums-flags.patch: Drop, now applied upstream. * debian/rules: Don't pass -X.la to dh_auto_install - it can easily lead to unwanted removals (not claiming this is happening here) * debian/rules: Fix arguments to dh_auto_test so tests are run again * debian/rules, debian/control{,.in}: Use dh_missing and not dh_install --list-missing. Also upgrade this check to --fail-missing. * debian/rules: Don't run the tests under fakeroot; it makes them fail with dbus-related authentication problems. . glib2.0 (2.53.4-3) unstable; urgency=medium . [ Matthias Klumpp ] * Update Vcs-* URLs . [ Jeremy Bicha ] * Bump Breaks/Replaces: libglib2.0-dev to 2.53 (Closes: #867679) * Add git_glib-mkenums-utf8.patch: - Backport commit to fix "glib-mkenums: UnicodeDecodeError" (Closes: #870310) * Add git_glib-mkenums-flags.patch: - Backport commit to fix mate-panel FTBFS (Closes: #870212) . glib2.0 (2.53.4-2) unstable; urgency=medium . * Upload to unstable . glib2.0 (2.53.4-1) experimental; urgency=medium . * New upstream release 2.53.4 + Unicode support has been updated to Unicode 10.0.0 + glib-genmarshal and glib-mkenums have been rewritten in python + GLib can now be built with meson. autotools are still supported . glib2.0 (2.53.3-1) experimental; urgency=medium . * New upstream release 2.53.3. * d/p/0001-gdatetime-Fix-a-potential-overflow-in-overflow-calcu.patch, d/p/0002-tests-Fix-GDateTime-overflow-tests-on-32-bit-archite.patch, d/p/0003-tests-Fix-overflows-in-find_maximum_supported_tv_sec.patch: Cherry-picks to fix some overflow problems in GDateTime on 32 bit arches. . glib2.0 (2.53.2-1) experimental; urgency=medium . * New upstream release 2.53.2 + A few new number parsing functions have been added: - g_ascii_string_to_signed - g_ascii_string_to_unsigned These have better error handling than the existing ones. + glib-mkenums now supports /*< private >*/ and /*< public >*/ + GSettings now consider XDG_DATA_HOME in addition to XDG_DATA_DIRS. * debian/libglib2.0-0.symbols: Add new symbols for 2.53.1. * debian/patches/skip-broken-dbus-appinfo-test.patch: Drop - this test works now. . glib2.0 (2.53.1-1) experimental; urgency=medium . * New upstream release 2.53.1 + The gdbus tool gained a wait command + g_unix_signal_source_new support SIGWINCH now + There are now g_enum_to_string and g_flags_to_string functions + A new function to instantiate objects: g_objet_new_with_properties + GParameter and related APIs have been deprecated * debian/libglib2.0-0.symbols: Add new symbols for 2.53.1. . glib2.0 (2.52.0-1) experimental; urgency=medium . * New upstream release 2.52.0 * d/p/tests-gdatetime-Use-a-real-rather-than-invented-time.patch: Drop, applied in this release. . glib2.0 (2.51.5-1) experimental; urgency=medium . * New upstream release 2.51.5 * Drop patches applied upstream in this release: - Install-gdb-Python-helpers-as-data-not-as-executable.patch - glib-mkenums-Sort-input-files-for-more-deterministic.patch * debian/patches/tests-gdatetime-Use-a-real-rather-than-invented-time.patch: Cherry-pick a patch from upstream to fix GDateTime tests when tzdata ≥ 2017a is in use. * debian/libglib2.0-dev.install: Install the gdb script for libglib-2.0.so.* into .../lib instead of .../usr/lib - it needs to match the installed path of the library and we put libglib-2.0.so.* into /lib. * debian/libglib2.0-0.symbols: Add g_content_type_is_mime_type . glib2.0 (2.51.4-1) experimental; urgency=medium . * Team upload * New upstream release 2.51.4 (and 2.51.3) * Build with dh instead of cdbs - Move to debhelper compat level 10 - Use dpkg-buildflags variables to extend LDFLAGS - Enable bindnow hardening - Remove indirection via $(SHARED_PKG), etc. variables - Let dh_gnome_clean update the Uploaders instead of reinventing it - Install some missing files detected by dh_install --list-missing - Fix lintian warnings about useless use of dh-exec - debian/dh_listmissing.pl: Remove * Improve packaging for cross-compiling (Closes: #648621, #842442) - Move glib-genmarshal and related files to a new M-A:foreign package libglib2.0-dev-bin. Thanks to Helmut Grohne for the patch. - Additionally move gdbus-codegen and gtester-report to libglib2.0-dev-bin. They are architecture-independent, so in particular clearly Multi-Arch: foreign; they aren't large enough to justify a separate Architecture: all package. This works around dh_python3's postinst snippet failing when used in a Multi-Arch: same package with more than one instance installed. - Move gtester to libglib2.0-dev-bin. It is a test-runner that can operate on any executable, and does not rely on a matching architecture. - Move gobject-query to libglib2.0-dev-bin. It prints the same things on all architectures, and it isn't clear what use it is; glib-2.0.m4 checks for it and AC_SUBSTs it, but according to codesearch.debian.net no package actually seems to run it. - Make libglib2.0-dev Multi-Arch: same * Move gdb helpers from libglib2.0-0-dbg to libglib2.0-dev, move detached debug symbols from libglib2.0-0-dbg to autogenerated -dbgsym packages, and remove the libglib2.0-0-dbg binary package * Add support for noudeb build profile - Do not do the udeb build if the noudeb profile is selected, for faster test-builds * Fix assorted Lintian warnings - Add missing build-dependency on dh-python + remove obsolete Lintian override for mmissing B-D on python - Add Lintian overrides for some intentionally weird scripts used in tests - Do not install glib_gdb.py, gobject_gdb.py executable. They are libraries to be imported by the gdb hooks, not scripts. - Don't generate a ldconfig trigger for libglib2.0-tests, which does not contain any public shared libraries * Add patch to make glib-mkenums output more reproducible (Closes: #809152) * Explicitly build-depend on automake so that the aspcud resolver used for experimental does not decide automake1.11 is the best solution to a dependency on automake | automaken . glib2.0 (2.51.2-1) experimental; urgency=medium . * New upstream release 2.51.2 (& 2.51.1). + Minimal support for UUIDs has been added + A new file attribute, G_FILE_ATTRIBUTE_RECENT_MODIFIED has been added to improve sorting of recent files + glib-compile-resources grew a --generate-phony-targets flag + GLib now installs a valgrind suppressions file for GLib and GIO * debian/patches/skip-brokwn-dbus-appinfo-test.patch: Refresh (and fix the typo in the filename) * debian/libglib2.0-0.symbols: Add g_uuid* symbols which are new in this release . glib2.0 (2.51.0-2) experimental; urgency=medium . * Merge changes from 2.50.2-2: + debian/rules: disable libmount on !linux (Closes: #844052) + debian/patches/0001-Fix-trashing-on-overlayfs.patch: Update with new version from the upstream report to hopefully fix trashing of files in directories which are symlinks to different devices. (Closes: #800047) (LP: #1638245) . glib2.0 (2.51.0-1) experimental; urgency=medium . * debian/control{,.in}: Branch to experimental * debian/watch: Track unstable releases again. * New upstream release 2.51.0 + glib-genmarshal and glib-mkenums have gained --output options for better build system integration + New API: g_utf8_make_valid * Update debian/libglib2.0-0.symbols. . glib2.0 (2.52.3-1) unstable; urgency=medium . * New upstream release. * skip-brokwn-dbus-appinfo-test.patch, tests-gdatetime-Use-a-real-rather-than-invented-time.patch: + Dropped, applied upstream. * debian/libglib2.0-0.symbols: + Add new symbols. . glib2.0 (2.50.3-2) unstable; urgency=medium . * debian/patches/tests-gdatetime-Use-a-real-rather-than-invented-time.patch: Cherry-pick a patch from upstream to fix GDateTime tests when tzdata ≥ 2017a is in use. (Closes: #858214) . glib2.0 (2.50.3-1) unstable; urgency=medium . * New upstream release. . glib2.0 (2.50.2-2) unstable; urgency=medium . * debian/rules: disable libmount on !linux (Closes: #844052) * debian/patches/0001-Fix-trashing-on-overlayfs.patch: Update with new version from the upstream report to hopefully fix trashing of files in directories which are symlinks to different devices. (Closes: #800047) . glib2.0 (2.50.2-1) unstable; urgency=medium . * New upstream release. * Track stable releases in debian/watch. . glib2.0 (2.50.1-1) unstable; urgency=medium . [ Jason Crain ] * libglib2.0-bin: includes a new 'gio' commandline tool (Closes: #840164) . [ Andreas Henriksson ] * New upstream release. . glib2.0 (2.50.0-2) unstable; urgency=medium . [ Simon McVittie ] * Build-depend on tzdata, which is no longer transitively Essential. One test needs it. (Closes: #839487) . [ Michael Biebl ] * Fix Vcs-* to point to unstable. * Mark dependencies which are required to run the test-suite with . * Add explicit Build-Depends on xsltproc, docbook-xml and docbook-xsl. Besides libxml2-utils, those are needed for building the man pages. * Drop Build-Depends on dbus-x11. The test-suite uses a mock version of dbus-launch nowadays, so this dependency is no longer needed. (Closes: #835884) * Use dh-exec to substitute ${DEB_HOST_MULTIARCH} in .install, .links and .dirs files. . glib2.0 (2.50.0-1) unstable; urgency=medium . * New upstream release. * Refresh patches. . glib2.0 (2.49.7-1) unstable; urgency=medium . * New upstream release. * Update debian/libglib2.0-0.symbols with one addition. . glib2.0 (2.49.6-1) unstable; urgency=low . * New upstream release. * Limit the libmount-dev build-depedency to [linux-any]. . glib2.0 (2.49.5-2) experimental; urgency=medium . * debian/rules: Disable libmount for the udeb build; there's no libmount-udeb, no immediate plans to provide one, and the functionality in glib isn't that interesting in the d-i context at the present time. . glib2.0 (2.49.5-1) experimental; urgency=medium . [ Simon McVittie ] * Merge packaging from unstable. . [ Iain Lane ] * New upstream release 2.49.5 * debian/patches/gregex-loosen-behaviour-testing.patch: Drop this patch - it's in 2.49.5. * debian/libglib2.0-0.symbols: Add symbols for async g_app_info_launch_default_for_uri. * debian/control{,.in}, debian/rules: Enable libmount support . glib2.0 (2.48.1-3) unstable; urgency=medium . * debian/tests/control: do not fail on stderr output from installed-tests. If gvfs happens to be installed, it gets D-Bus-activated (even if it's disabled via GIO_USE_VFS and GIO_USE_VOLUME_MONITOR), resulting in logging from dbus-daemon. (Closes: #821031) * debian/tests/installed-tests: explicitly select built-in VFS and volume monitor * d/p/gregex-loosen-behaviour-testing.patch: add patch from upstream bug 767240 (not applied yet) to relax assertions about PCRE's behaviour, which changed in 8.38 (Closes: #834272) * d/rules: unset XDG_CONFIG_HOME, XDG_CACHE_HOME, XDG_DATA_HOME, XDG_CONFIG_DIRS, XDG_DATA_DIRS so that they are based on the temporary HOME. This avoids FTBFS if the user doing the build has these variables already set in their build environment (Closes: #834334) . glib2.0 (2.48.1-2) unstable; urgency=medium . * Remove refdbg variant. Thanks to Jonny Lamb for the patch. Closes: #827269. * Switch to python3. . glib2.0 (2.49.4-1) experimental; urgency=medium . * New upstream release. * debian/patches/add-missing-gio-xml.patch: + Dropped, gio.xml is now shipped in the tarballs. * debian/patches/0001-Fix-gio-tests-socket-listener.patch: + Dropped, included upstream. . glib2.0 (2.49.3-1) experimental; urgency=medium . * Switch to python3. * New upstream release. * d/p/0001-gsettings-test-Wrap-guint64-literals-in-G_GUINT64_CO.patch: + Dropped, applied upstream. * debian/patches/add-missing-gio-xml.patch: + Add gio.xml file, which is missing from the tarball. Needed for the documentation build. * debian/patches/0001-Fix-gio-tests-socket-listener.patch: + Fix a test hang. * debian/libglib2.0-0.symbols: + Update with new symbols. * Standards-Version is 3.9.8. No changes needed. . glib2.0 (2.49.2-2) experimental; urgency=medium . * d/p/0001-gsettings-test-Wrap-guint64-literals-in-G_GUINT64_CO.patch: Cherry-pick from upstream to fix test failure on non-64 bit arches. . glib2.0 (2.49.2-1) experimental; urgency=medium . [ Emilio Pozuelo Monfort ] * Remove refdbg variant. Thanks to Jonny Lamb for the patch. Closes: #827269. . [ Iain Lane ] * Update Vcs-* for experimental * New upstream release 2.49.2 + GDesktopAppInfo now allows bus activation with dashes. This is not technically allowed per the Desktop Entry specification, but it happens in the wild. Rather than forcing people to go through another traumatic desktop file rename, accept it and translate - to _. + The support for giving names to threads has been improved. Thread names are now supported on Solaris as well, and the Linux support no longer uses prctl() but the pthread api. + GIO resources can now be overridden at runtime, using the G_RESOURCE_OVERLAYS environment variable. + gdbus-codegen can now generate autocleanup definitions for the types it generates. Use the --c-generate-autocleanup option to control this + GMainContext and GTask have gained more systemtap probes * debian/watch: Update to find unstable versions * debian/patches/04_homedir_env.patch: Refresh to apply correctly * debian/libglib2.0-0.symbols: Update for this release . glib2.0 (2.48.1-1) unstable; urgency=medium . * New upstream release. * Refresh patches. * Drop obsolete Conflicts, Breaks and Replaces from pre-wheezy. * Drop obsolete preinst maintainer scripts which cleaned up the /usr/share/doc symlinks. * Drop version requirement for pkg-config dependency. (Closes: #734479) . glib2.0 (2.48.0-1) unstable; urgency=medium . * New upstream stable release 2.48.0 + a minor build fix in the name of determinism (Closes: #812876) + a few coverity fixes . glib2.0 (2.47.92-1) experimental; urgency=medium . * New upstream release. . glib2.0 (2.47.6-1) experimental; urgency=medium . * New upstream release. - GString is missing (transfer none) annotations on many of its methods - systemtap and gdb scripts install in wrong place - Documentation: various small improvements - gdbusobjectmanagerserver: Clarify recommended ObjectManager paths - Fix some annotations - Cannot build with default flags under Fedora rawhide (-Werror=format-nonliteral) - gmacros.h is testing attributes with __has_feature (when compiling with clang) * debian/libglib2.0-0-dbg.install.in: Upstream now installs the gdb auto-loaded scripts in the right place by themselves - no need for us to move them about. . glib2.0 (2.47.5-1) experimental; urgency=medium . * debian/watch: Use download.gnome.org, seems ftp.gnome.org is not updating properly currently. * New upstream release 2.47.5 + the system copy of PCRE is now used by default to implement GRegex. Configure with --with-pcre=internal if a system PCRE version is unavailable or undesired. + interfaces for DTLS support have been added. A new version of glib-networking will also be required. + GDBusMethodInvocation now drops replies if the sender set the NO_REPLY_EXPECTED flag + several GApplication fixes, including fixes for commandline arguments in interpreted languages on Windows * debian/libglib2.0-0.symbols: Update with new symbols for this release. * 0001-regex-test-expect-ASSERTION_EXPECTED-for-ab-with-PCR.patch: Drop, it's included in this release. . glib2.0 (2.47.4-1) experimental; urgency=medium . * New upstream release + The GApplication documentation has been improved in several areas. * 0001-tests-fix-a-test-on-32-bit-builds.patch, 0001-gtypes.h-move-G_STATIC_ASSERT-to-function-scope.patch: Drop, applied upstream in this release. * 0001-regex-test-expect-ASSERTION_EXPECTED-for-ab-with-PCR.patch: Fix regex tests to assert the right errors as of pcre 8.38. Cherry-pick from upstream. (Closes: #808842) * Don't build automatic dbgsym package for -refdbg . glib2.0 (2.47.3-3) experimental; urgency=medium . * debian/patches/0001-gtypes.h-move-G_STATIC_ASSERT-to-function-scope.patch: Another cherry-pick. Should fix g-ir-scanner. . glib2.0 (2.47.3-2) experimental; urgency=medium . * debian/patches/0001-tests-fix-a-test-on-32-bit-builds.patch: Cherry-pick from upstream. Fix tests (and therefore the build) on 32 bit arches. . glib2.0 (2.47.3-1) experimental; urgency=medium . * New upstream release + New API: hardware-assisted helpers for overflow-checked integer math. + Fixes: Invalid free in g_local_file_trash() (LP: #1512826) * d/p/{Doc-copy-included-example-files.patch, Doc-Fix-missing-glibconfig.h-when-builddir-srcdir.patch, Build-gdbus-example-objectmanager-server-again.patch}: Remove - in this upstream release. . glib2.0 (2.47.1-1) experimental; urgency=medium . * New upstream release. + The Unicode support has been updated to version 8.0 of the Unicode standard + GDesktopAppInfo no longer sets the DISPLAY environment variable when launching apps. This is now done in the GAppLaunchContext implementations when appropriate. * debian/watch: Look for development versions too. * debian/patches/90_gio-modules-multiarch-compat.patch: Refresh to apply on this version. * debian/patches/0001-GDateTime-test-fix-occasional-failures.patch: Drop, upstream in this release. * debian/libglib2.0-0.symbols: Update with new symbols for this release. . glib2.0 (2.46.2-3) unstable; urgency=medium . * Add debian/patches/disable-failing-test-for-pcre838.patch - disable regexp test that fails with new system pcre 8.38 which just hit Debian unstable. Needs further investigation but lets not leave the build broken during the holidays. . glib2.0 (2.46.2-2) unstable; urgency=medium . [ Iain Lane ] * Fix typo in previous changelog entry. . [ Andreas Henriksson ] * Add debian/patches/bug712848-volume-monitor-deadlock-kfreebsd.patch - patch by and big thanks to Steven Chamberlain for debugging this! - given lack of feedback from upstream, which would be very welcome for deep changes like this, use an ifdef to only change on *FreeBSD for now... (Closes: #712848) * Add --no-ddebs arg to dh_strip for refdbg package build which otherwise fails and I doubt we need ddeb/dbgsym for our debug package. . glib2.0 (2.46.2-1) unstable; urgency=medium . * Fix Vcs-* to point to unstable. * New upstream stable release 2.46.2. + Fixes cross compilation (Closes: #800610) * Drop changes from 2.46.1-2, which are all in this upstream release. * Drop debian/patches/0001-GDateTime-test-fix-occasional-failures.patch, applied upstream. . glib2.0 (2.46.1-2) unstable; urgency=medium . * Team upload. * Cherry-pick patches from upstream glib-2-46 branch to fix incomplete documentation (Closes: #659977) * debian/gdbus-example-objectmanager-server.c: add missing example file from upstream git; it was accidentally omitted from upstream tarballs . glib2.0 (2.46.1-1) unstable; urgency=medium . [ Michael Biebl ] * Drop clean-la.mk from debian/rules, no longer required. . [ Iain Lane ] * New upstream release 2.46.1 + Remove system_header pragma (should fix lack of warnings with things like g_return_if_fail) + move GStrv typedef (and auto-cleanup) from libgobject to libglib + fix order of trashing files to be closer to what is required in the specification. Namely, trashinfo files are written first. This should fix issues with the gvfs trash backend failing to correctly read the info for recently trashed files (preventing 'restore'). (Closes: #800491) (LP: #1495943) + tweak mime logic to return text/plain on all empty files instead of returning application/octet-stream. This includes files that have extensions that imply that they may be other types of files, which is a slight change of behaviour with respect to old GLib versions. (LP: #1497170) * debian/patches/0001-Revert-list-store-Fix-a-parameter-check.patch: Drop - this is applied upstream in this release. * debian/patches/0001-GDateTime-test-fix-occasional-failures.patch: Take patch from bgo#754994 to resolve intermittent test failures in the GDateTime tests. . glib2.0 (2.46.0-2) unstable; urgency=medium . * debian/patches/0001-Revert-list-store-Fix-a-parameter-check.patch: Cherry-pick from upstream to fix GSequence (this at least makes GStreamer's testsuite fail). . glib2.0 (2.46.0-1) unstable; urgency=medium . [ Iain Lane ] * New upstream stable release 2.46.0 + Disable runtime-deprecation warnings + Fix marshalling of flags on bigendian 64bit architectures . [ Simon McVittie ] * Change section of libglib2.0-refdbg from debug to devel, so that it isn't kicked out into a separate mirror network when we get automatic -dbgsym packages (Closes: #796836) . glib2.0 (2.45.8-1) experimental; urgency=medium . * New upstream development release. * Update debian/libglib2.0-0.symbols with one addition: g_param_spec_get_name_quark . glib2.0 (2.45.7-1) experimental; urgency=medium . * New upstream release 2.45.7 + Add G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE for use by non-POSIX-like backends (e.g. cloud storage). + GFileMonitor: Make the inotify backend work with atomic renames again + GSettings: change notification is again working unconditionally + GListStore has a sort function now + Test infrastructure: - Tests are now required to have unique names - TAP support has been improved - A macro for asserting that two memory regions have identical content has been added * debian/libglib2.0-0.symbols: Add new symbol for this release. . glib2.0 (2.45.6-1) experimental; urgency=medium . * New upstream releases 2.45.5 and 2.45.6 + GNetworkMonitor now provides information about metered networks + g_mem_set_vtable has been deprecated; it has not been working for quite a while. The recommendation is to use valgrind, or replace malloc itself. * debian/patches/0001-GOptionContext-Don-t-crash-without-main-group.patch: Drop, applied upstream. * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.45.4-2) experimental; urgency=medium . * debian/patches/0001-GOptionContext-Don-t-crash-without-main-group.patch: Cherry-pick. Don't crash in GOptionContext if there's no main group. Fixes crash when running (for example) gdbus. . glib2.0 (2.45.4-1) experimental; urgency=medium . * New upstream release 2.45.4 * d/p/0001-gio-tests-appmonitor-Delete-file-before-checking-for.patch, d/p/0001-glocalfilemonitor-Send-DELETED-event-when-there-is-n.patch: Drop, applied upstream. * d/p/07_disable_tests_on_slow_archs.patch: Refresh to apply cleanly. * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.45.3-1) experimental; urgency=medium . [ Simon McVittie ] * d/p/regex-if-PCRE-is-8.34-or-later-disable-auto-possessi.patch: mark as applied upstream in 2.45.3 . [ Iain Lane ] * New upstream release 2.45.3. + Improve performance of g_signal_handler_disconnect for signals with many handlers + GDBus has gained a new call flag to allow interactive authorization + GSettings: - New API: g_settings_schema_list_keys - Deprecated: g_settings_list_keys * debian/libglib2.0-0.symbols: Update with new symbols from this release. * debian/patches/regex-if-PCRE-is-8.34-or-later-disable-auto-possessi.patch: Delete, applied upstream. * d/p/0001-gio-tests-appmonitor-Delete-file-before-checking-for.patch: Cherry-pick upstream patch to fix testsuite failure causing FTBFS. . glib2.0 (2.45.2-1) experimental; urgency=medium . [ Simon McVittie ] * Correctly attribute previous upload to Iain * d/p/0001-Fix-trashing-on-overlayfs.patch: add upstream bug reference * d/p/0001-glocalfilemonitor-Send-DELETED-event-when-there-is-n.patch: add upstream bug reference * d/p/10_kfreebsd_issetugid_prototype.patch, d/p/11_kfreebsd_pthread_condattr_setclock_prototype.patch, d/p/13_sparc_prlimit_prototype.patch: drop workarounds for #635205, #703545, #703559 which were all fixed in jessie * d/p/81-skip-monitor-test-on-non-linux.patch: add DEP-3 information * d/p/90_gio-modules-multiarch-compat.patch: add DEP-3 information . [ Iain Lane ] * New upstream release 2.45.2 + Improve error reporting in glib-compile-schemas. + Add introspection annotations to GListStore. * GDBus-tests-change-progress-noise-from-if-not-quiet-.patch, gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch, gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch, regex-test-do-not-assert-that-system-PCRE-still-has-.patch, gdbus-serialization-use-check_serialization-instead-.patch, gdbus-peer-test-let-GDBusServer-start-before-notifyi.patch, gdatetime-test-don-t-assume-that-time-stands-still.patch: Delete, applied upstream. * 07_disable_tests_on_slow_archs.patch: Refresh to defuzz . glib2.0 (2.45.1-2) experimental; urgency=medium . [ Simon McVittie ] * d/p/regex-if-PCRE-is-8.34-or-later-disable-auto-possessi.patch: update to my latest version submitted upstream, which fixes undefined behaviour in the unlikely event that G_REGEX_OPTIMIZE is combined with g_regex_match_all(). * d/p/regex-test-do-not-assert-that-system-PCRE-still-has-.patch: update to my latest version submitted upstream, which asserts that a newer-than-8.32 system PCRE does not have the bug in question. * d/p/gdbus-serialization-use-check_serialization-instead-.patch: add patch to fix FTBFS in non-minimal environments (libdbus-1-dev installed). Applied upstream for 2.45.2. . [ Iain Lane ] * d/p/0001-Fix-trashing-on-overlayfs.patch: Take patch from upstream bug to fix trashing on overlayfs. * d/p/0001-glocalfilemonitor-Send-DELETED-event-when-there-is-n.patch: Take patch from upstream bug to send the right event when moving files outside a monitored directory. . glib2.0 (2.45.1-1) experimental; urgency=medium . * New upstream release 2.45.1 + The GSettings schema compiler, glib-compile-schemas has been changed to reject schema xml that has duplicate or elements. Such elements typically occur when translations are merged into the schema, with xml:lang attributes. This is not the correct way to translate schemas. Instead keep the translations in the .mo file and set the gettext-domain attribute on the element. To avoid breaking already-installed schemas, this change is only taking effect when you use the --strict option. + The file monitoring infrastructure has been rewritten, and all backends have seen major improvements. + The inotify backend is reporting events with less delay (no event will be delayed more than 10ms) and wakeups due to file monitoring have been significantly reduced. A CHANGES_DONE event will also be sent when new files appear. + The poll implementation is now using the thread default main context. + The fam implmentation is now running in the worker thread. + The fen implementation has been removed, since it was unmaintained. + The hardcoded 10-thread limit of GTask's thread pool has been removed, since it was prone to causing deadlocks. The thread pool is now allowed to grow dynamically and will shrink back over time. + GSimpleAsyncResult has been deprecated in favor of GTask. + The algorithm used by GAppInfo to find default handlers for mime types has been tweaked to prefer apps that handle the specific subtype over default handlers for a generic supertype. * d/p/regex-test-do-not-assert-that-system-PCRE-allows-P-1.patch: Drop, applied upstream. * debian/control{,.in}: Update Vcs-* for experimental. * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.44.1-1) unstable; urgency=medium . * New upstream release 2.44.1 + Improve the default application algorithm + Bump the number of children a GType can have + Various testsuite improvements . glib2.0 (2.44.0-3) unstable; urgency=medium . * Team upload. . [ Simon McVittie ] * d/p/regex-test-do-not-assert-that-system-PCRE-allows-P-1.patch: update to the version that went upstream in 2.45.1. No functional change. * d/p/regex-if-PCRE-is-8.34-or-later-disable-auto-possessi.patch: update to my latest version submitted upstream, which fixes undefined behaviour in the unlikely event that G_REGEX_OPTIMIZE is combined with g_regex_match_all(). * d/p/regex-test-do-not-assert-that-system-PCRE-still-has-.patch: update to my latest version submitted upstream, which asserts that a newer-than-8.32 system PCRE does not have the bug in question. * d/p/gdbus-serialization-use-check_serialization-instead-.patch: add patch to fix FTBFS in non-minimal environments (libdbus-1-dev installed). Applied upstream for 2.45.2. * d/p/gdbus-peer-test-let-GDBusServer-start-before-notifyi.patch: add patch fixing a race condition in the gdbus-peer test. Applied upstream for 2.45.2. * d/p/GDBus-tests-change-progress-noise-from-if-not-quiet-.patch: add patch fixing potential test failures caused by corrupt TAP output. Applied upstream for 2.45.2. * d/p/gdatetime-test-don-t-assume-that-time-stands-still.patch: add patch fixing potential test failures at the boundary between one second and the next. Applied upstream for 2.45.2. * d/p/10_kfreebsd_issetugid_prototype.patch, d/p/11_kfreebsd_pthread_condattr_setclock_prototype.patch, d/p/13_sparc_prlimit_prototype.patch: drop workarounds for #635205, #703545, #703559 which were all fixed in jessie * d/p/81-skip-monitor-test-on-non-linux.patch: add DEP-3 information * d/p/90_gio-modules-multiarch-compat.patch: add DEP-3 information . [ Iain Lane ] * d/p/0001-Fix-trashing-on-overlayfs.patch: Take patch from upstream bug to fix trashing on overlayfs. . glib2.0 (2.44.0-2) unstable; urgency=medium . * Upload to unstable. * debian/watch: Consider stable versions only. . glib2.0 (2.44.0-1) experimental; urgency=medium . * New upstream release 2.44.0 + gsocket: Document FD ownership with g_socket_new_from_fd() . glib2.0 (2.43.92-1) experimental; urgency=medium . * New upstream release 2.43.92 + GUnixMountMonitor now properly supports multiple main contexts + many documentation improvements and cleanups. + new support for HTTP proxies in GIO + new GTask:completed property + use "private" futexes in order to further improve the performance of the contended case of GMutex and g_bit_lock() * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.43.91-1) experimental; urgency=medium . * New upstream release 2.43.91 - We have now added 'g_autofree' as a libgsystem-style autocleanup macro that calls g_free() on the content of a local variable when it leaves scope (working only on GCC and clang). - GApplication now has an "is-busy" property, allowing one to query the effective busy state. * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.43.90-1) experimental; urgency=medium . * New upstream release 2.43.90 + new GSimpleIOStream class to construct a GIOStream from an arbitrary GInputStream and GOutputStream + GApplication: new API for marking 'busy' state according to the value of a boolean property on another object + GOptionGroup: add binding support (boxed type, annotation fixes, etc.) * debian/patches/gdbus-Let-the-pending-read-finish-before-closing-the.patch: Drop this cherry-pick from an upstream bug - should be fixed differently in this release (bgo #743990). * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.43.4-1) experimental; urgency=medium . * New upstream release 2.43.4 + GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE, G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which significantly reduce the boilerplate needed for GObject types and interfaces. + g_autoptr and g_auto are macros for declaring variables with automatic cleanup. They only work with gcc and clang. + GListModel is a new interface that represents a dynamic list of GObjects. + GListStore is a GSequence-based implementation of GListModel. + g_simple_action_set_state_hint: New function to set the state hint of GSimpleActions + g_settings_schema_list_children and g_settings_schema_key_get_name are new functions to complete the GSettingsSchema API. * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.43.3-1) experimental; urgency=medium . [ Laurent Bigonville ] * debian/control.in, debian/libglib2.0-dev.install.in, debian/libglib2.0-0-dbg.install.in: Install the gdb python scripts in the proper locations, move them to the -dbg package and add the needed Breaks/Replaces (Closes: #774024) . [ Iain Lane ] * New upstream release 2.43.3 + add g_set_object() convenience function + GNetworkMonitor: check if NM is not running and don't crash + fix some races with g_mkdir_with_parents + avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order to save on static strings + fix some content type vs. mime issues * 07_disable_tests_on_slow_archs.patch: Refresh . glib2.0 (2.43.2-1) experimental; urgency=medium . [ Laurent Bigonville ] * debian/control.in: Switch build-dependency from libelfg0-dev to libelf-dev (Closes: #769408) . [ Iain Lane ] * New upstream release 2.43.2 + New function: g_strv_contains + New function: g_network_address_new_loopback + New function: g_socket_send_messages + A new GNetworkMonitor implementation using NetworkManager provides more detailed connectivity information * 0001-GSettings-fix-check-for-delaying-backend-subscriptio.patch, 0001-gmain-fix-poll-record-comparison.patch: gmain: fix the sorting of: Drop, applied in this release. * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.43.1-2) experimental; urgency=medium . * 0001-GSettings-fix-check-for-delaying-backend-subscriptio.patch: Cherry-pick patch from upstream. Check signal detail too when looking for pending signal handlers, so that subscribing to changed signals with a detail works again. * 0001-gmain-fix-poll-record-comparison.patch: gmain: fix the sorting of poll records. Resolves FTBFS on ppc64el. . glib2.0 (2.43.1-1) experimental; urgency=medium . * New upstream release 2.43.1, changes since 2.42.1: + GQueue now accepts NULL as a sibling in g_queue_insert_before() and g_queue_insert_after() + GObject gained a debug option to provide instance counts. To use it, set GOBJECT_DEBUG=instance-count and call g_type_get_instance_count(). + GOption now has a strict POSIX mode in which it stops parsing arguments as soon as a non-option argument is encountered. * debian/control{,.in}: Bump Standards-Version to 3.9.6, no changes required. * debian/libglib2.0-0.symbols: Add new symbols for this release. . glib2.0 (2.42.1-1) unstable; urgency=medium . [ Iain Lane ] * Pass --enable-debug=minimum not minimal - this is what configure.ac expects. . [ Emilio Pozuelo Monfort ] * New upstream bugfix release. * d/p/0001-properties-disable-default-deprecation-warnings.patch: + Removed, merged upstream. . glib2.0 (2.42.0-2) unstable; urgency=medium . [ Andreas Henriksson ] * Update Vcs-* to use unstable instead of experimental branch . [ Iain Lane ] * 0001-properties-disable-default-deprecation-warnings.patch: Backport from upstream stable branch - silences warnings that are shown to users on stderr, and which also cause some testsuite failures and consequent FTBFS. . glib2.0 (2.42.0-1) unstable; urgency=medium . * New upstream release . glib2.0 (2.41.5-2) unstable; urgency=medium . * Upload to unstable. . glib2.0 (2.41.5-1) experimental; urgency=medium . [ Andreas Henriksson ] * Make libglib2.0-0 recommend xdg-user-dirs - needed to set up ~/.config/user-dirs.dirs to get default XDG_*_DIR set. . [ Iain Lane ] * New upstream release 2.41.5 - GDesktopAppInfo: avoid polling on missing desktop dirs . glib2.0 (2.41.4-1) experimental; urgency=medium . * New upstream release * debian/libglib2.0-0.symbols: + Add g_application_add_main_option symbol . glib2.0 (2.41.3-1) experimental; urgency=medium . * New upstream release 2.41.3 * debian/tests/installed-tests: Revert the previous change - require dbus >= 1.8 and always use dbus-run-session. . glib2.0 (2.41.2-1) experimental; urgency=medium . * New upstream release - The Unicode support has been updated to version 7.0 of the Unicode standard - GNotification now supports priorities for notifications - GMutex now uses a faster, native implementation on Linux * 0001-gvariant-tests-workaround-libc-compiler-issue.patch: Drop, applied upstream in this release. * Add new symbols for this release. * Merge in changes from 2.40.0-4 + Adapt for system pcre3/1:8.35 (Closes: #755439): - a PCRE 8.31 bug in case-insensitivity has been fixed, so do not assert bug-for-bug compatibility with 8.31 - named match groups' names cannot start with a digit any more, so (?P<1>.) is no longer allowed; do not assert that it is - turn off a new optimization that would reduce the result set when called from g_match_all(_full), to preserve existing functionality + Build-depend on pcre3/1:8.35 so that the new optimization is known to be turned off in the built binaries + Add patch from upstream to fix mis-optimization in gvariant test with gcc 4.9 (Closes: #756272) + Avoid using dbus-launch for regression tests (Closes: #737488): - run installed-tests under dbus-run-session from dbus (>= 1.8) - do not run build-time tests under dbus-launch: those that use D-Bus all create their own session bus instances now (i.e. remove 05_run-gio-tests-with-a-dbus-session.patch) - set a deliberately invalid DBUS_SESSION_BUS_ADDRESS to make sure nothing in the build is still inheriting it from the environment + Override Lintian false positive #733733: we build-depend on python:any but Lintian doesn't yet understand :any syntax * Make the installed tests still run dbus-launch if we don't have dbus-run-session (i.e. if the installed dbus is << 1.8). . glib2.0 (2.41.1-2) experimental; urgency=medium . * 0001-gvariant-tests-workaround-libc-compiler-issue.patch: Cherry-pick patch from upstream to fix/workaround a new compiler optimisation in gcc-4.9 which occurs when passing a null pointer / zero size to memcmp. Should fix FTBFS on many arches in unstable. . glib2.0 (2.41.1-1) experimental; urgency=medium . * New upstream release * 0001-Prevent-an-invalid-CARBON_LIBS-from-appearing-in-the.patch: Drop, included in this release. * Update symbols file with the new symbol in this release. . glib2.0 (2.41.0-2) experimental; urgency=medium . [ Andreas Henriksson ] * Bump python:any build-dependency to >= 2.7.5-5~ (Closes: #747928) . [ Emilio Pozuelo Monfort ] * Use the default compiler on sparc, since it's already >> 4.7. Closes: #751313. . [ Iain Lane ] * 0001-Prevent-an-invalid-CARBON_LIBS-from-appearing-in-the.patch: Cherry-pick patch from upstream to fix an invalid "@CARBON_LIBS@" token appearing in Libs.private in the pcfile. (LP: #1330033) . glib2.0 (2.41.0-1) experimental; urgency=medium . [ Emilio Pozuelo Monfort ] * debian/libglib2.0-doc.links: + The symlink for the gtk docs is broken at the moment, and even if fixed, it will still be broken if libgtk2.0-doc isn't installed on a system, so just drop it. Closes: #746782. . [ Iain Lane ] * New upstream release 2.41.0 - Many bugfixes found by static analysis, including potential fd leaks and NULL pointer dereferences. - Increased use of (nullable) attribute on out values and return types now that it is supported (mostly from porting Vala metadata). - use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop files, deprecating g_desktop_app_info_set_desktop_env() - add support for g_desktop_app_info_get_implementations() to find desktop files that have an Implements= line for a given interface - GHmac has gained SHA-512 support - support the new mimeapps specification (most notably, moving the assoications/defaults configuration to ~/.config/mimeapps.list). - libgobject is now linked -Wl,-z,nodelete when possible to avoid errors when gobject is used from a module for a program that does not itself use gobject and that module is unloaded/reloaded * debian/watch: Use http://ftp.gnome.org; it's more up-to-date. * Update symbols file with new symbols for this release. . glib2.0 (2.40.0-4) unstable; urgency=medium . * Team upload . [ Emilio Pozuelo Monfort ] * Use the default compiler on sparc, since it's already >> 4.7. Closes: #751313. . [ Iain Lane ] * Fix Vcs-* for the unstable branches . [ Simon McVittie ] * Adapt for system pcre3/1:8.35 (Closes: #755439): - a PCRE 8.31 bug in case-insensitivity has been fixed, so do not assert bug-for-bug compatibility with 8.31 - named match groups' names cannot start with a digit any more, so (?P<1>.) is no longer allowed; do not assert that it is - turn off a new optimization that would reduce the result set when called from g_match_all(_full), to preserve existing functionality * Build-depend on pcre3/1:8.35 so that the new optimization is known to be turned off in the built binaries * Add patch from upstream to fix mis-optimization in gvariant test with gcc 4.9 (Closes: #756272) * Avoid using dbus-launch for regression tests (Closes: #737488): - run installed-tests under dbus-run-session from dbus (>= 1.8) - do not run build-time tests under dbus-launch: those that use D-Bus all create their own session bus instances now (i.e. remove 05_run-gio-tests-with-a-dbus-session.patch) - set a deliberately invalid DBUS_SESSION_BUS_ADDRESS to make sure nothing in the build is still inheriting it from the environment * Override Lintian false positive #733733: we build-depend on python:any but Lintian doesn't yet understand :any syntax . glib2.0 (2.40.0-3) unstable; urgency=medium . [ Rico Tzschichholz ] * debian/libglib2.0-bin.install: - Install /usr/bin/gapplication . glib2.0 (2.40.0-2) unstable; urgency=medium . [ Iain Lane ] * gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch: Take latest version from upstream bug to resolve some test failures. * Add xauth test-dep, needed for xvfb-run . [ Emilio Pozuelo Monfort ] * Upload to unstable. . glib2.0 (2.40.0-1) experimental; urgency=medium . * New upstream release. . glib2.0 (2.39.92-2) experimental; urgency=medium . * test_timer_basic is still broken. Skip it. . glib2.0 (2.39.92-1) experimental; urgency=medium . * New upstream release. * 0001-timer-test-use-volatile-for-locals.patch: Take patch from bgo #722604 to workaround gcc's intentional spec violation in the timer tests. + Remove debian/patches/80-skip-timer-test.patch accordingly; it should now work. . glib2.0 (2.39.91-1) experimental; urgency=medium . * New upstream release. * d/p/0001-asyncqueue-fix-timeout-math-on-32bit-systems.patch: + Dropped, merged upstream. * debian/patches/81-skip-monitor-test-on-non-linux.patch: + New patch, skip the monitor test on non-linux as it currently hangs. * debian/libglib2.0-0.symbols: + Add a new symbol. . glib2.0 (2.39.90-2) experimental; urgency=medium . * debian/control.in: + Bump gtk-doc-tools build-dependency per configure.ac. * debian/patches/Don-t-use-a-parallel-build-for-the-documentation.patch: + Removed, no longer needed with gtk-doc 1.20. * d/p/0001-asyncqueue-fix-timeout-math-on-32bit-systems.patch: + Patch from git, fix an overflow in g_async_queue_timed_pop_unlocked on 32 bits systems. * debian/patches/80-skip-timer-test.patch: + Skip the timer test which currently fails on x86 because of float precission errors. * debian/rules: + Make the test suite fatal on linux. + Run the test suite on !linux, but ignore test suite errors for now. . glib2.0 (2.39.90-1) experimental; urgency=medium . * New upstream release. * Drop patches now included in upstream release: - 0001-glib-tests-collate.c-run-to-completion-when-skipping.patch - 0002-g_test_run-return-0-if-all-tests-are-skipped-in-TAP-.patch * Fix fuzz to make debian/patches/04_homedir_env.patch apply again. * Use quilt to refresh remaining patches. * debian/libglib2.0-0.symbols: Add new symbols. . glib2.0 (2.39.4-1) experimental; urgency=medium . * New upstream development release. * debian/rules: + Tell dh_clean not to remove org.gtk.test.gschema.xml.orig, otherwise the build fails as that fail is missing. Apparently dh_clean removes everything that ends with .orig. * debian/libglib2.0-0.symbols: + Add new symbols. * d/p/valgrind_h_add_r0_to_the_clobber_list_on_PPC.patch, d/p/tests-move-param-implement-to-m-slow.patch, d/p/Fix-races-in-unix-signal-dispatch.patch: + Dropped, applied upstream. * d/p/0001-glib-tests-collate.c-run-to-completion-when-skipping.patch, d/p/0002-g_test_run-return-0-if-all-tests-are-skipped-in-TAP-.patch: + Add patches from upstream to fix test suite errors. * debian/patches/*: + Refreshed. * debian/rules: + Don't run the test suite in parallel as some tests fail otherwise. + Ignore test suite errors for now. There are a few known racy tests that fail randomly, and I'm more interested in whether glib builds fine everywhere. We should make the tests fatal again before 2.40. . glib2.0 (2.38.2-5) unstable; urgency=medium . * Upload to unstable. . glib2.0 (2.38.2-4) experimental; urgency=medium . * Team upload * DEP-3: tag patch for Debian#737501 as sent upstream to GNOME#723653 * d/p/gdbus-Let-the-pending-read-finish-before-closing-the.patch: add patch from Mikhail Zabaluev fixing a test failure on mips, also reproduced on mipsel (Closes: #738290) * d/p/Fix-races-in-unix-signal-dispatch.patch: add patch from upstream to fix what appears to be the root cause of #737380 * d/p/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch, d/p/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch: improve arbitrary timeouts in regression tests, fixing an unreported FTBFS on armhf . glib2.0 (2.38.2-3) experimental; urgency=medium . * Team upload * d/p/Don-t-use-a-parallel-build-for-the-documentation.patch: Disable parallel build for the documentation, hopefully fixing an intermittent FTBFS in which gtk-doc tries to scan Windows-specific objects (Closes: #737501) * d/p/Do-not-attempt-to-autolaunch-a-session-dbus-daemon-w.patch: Refuse to perform D-Bus "autolaunch" if $DISPLAY is unset, in which case it isn't going to work anyway. This works around a process-launching issue in the GApplication test on mipsel (Closes: #737380) * Bump debhelper compat level to 9, resulting in co-installable multiarch debug symbols and ~ 50% smaller installed size for libglib2.0-0-dbg (at the cost of ~ 30% larger .deb size) - mark libglib2.0-0-dbg Multi-Arch: same . glib2.0 (2.38.2-2) experimental; urgency=medium . * Team upload. . [ Emilio Pozuelo Monfort ] * debian/rules: + Enable parallel builds. . [ Laurent Bigonville ] * Add d/p/valgrind_h_add_r0_to_the_clobber_list_on_PPC.patch: Fix FTBFS on PPC (taken from upstream, Closes: #737379) . [ Simon McVittie ] * Add DEP-3 tagging to PPC patch * Add d/p/tests-move-param-implement-to-m-slow.patch to knock out test /param/implement, which upstream describe as "essentially a forkbomb", leading to failures on armel and at least sporadically on mipsel (Closes: #737381) . glib2.0 (2.38.2-1) experimental; urgency=low . * New upstream release - Drop d/p/0001-g_file_copy-Fall-back-to-pathname-queryinfo-to-help-.patch merged upstream * debian/control.in: - Bump Standards-Version to 3.9.5 (no further changes) - Use canonical URL for Vcs-Svn field . glib2.0 (2.38.1-2) experimental; urgency=low . * debian/rules: + Set VERBOSE so we get failing tests' stdout and stderr. This will help us debug the various build failures in different arches. . glib2.0 (2.38.1-1) experimental; urgency=low . * Build-Depend on python:any. python is Multi-Arch: allowed; this BD allows the python from any architecture that can be executed on the builder to satisfy the BD, simplifying cross building of glib2.0. * New upstream bugfix release 2.38.1 + Fix error code checks when SOCK_CLOEXEC is defined but not supported (fix support for GNU/Hurd) + g_settings_list_children: only list viable schemas (fix gsettings list-recursively crashes with invalid schemas installed) + GDBusObjectManagerClient: Fix typo in the /org/freedesktop/DBus path when adding match rules - Remove 0001-gio-Fix-typo-in-the-org-freedesktop-DBus-path.patch * 0001-g_file_copy-Fall-back-to-pathname-queryinfo-to-help-.patch: Cherry-pick gio patch to fall back to g_file_query_info if query_info_on_read is not supported. Fixes copying from backends that don't implement the latter. (Closes: #715436, LP: #1217230) . glib2.0 (2.38.0-1) experimental; urgency=low . * New upstream release * debian/patches/0001-gio-Fix-typo-in-the-org-freedesktop-DBus-path.patch: Cherry-pick patch from upstream to fix object path typo in gio (LP: #1227295) * Add --enable-debug=minimal explicitly to the deb build so the debugging level doesn't change between pre-release and stable versions. . glib2.0 (2.37.93-1) experimental; urgency=low . * New upstream release 2.37.93 (& .92) + new API g_file_measure_disk_usage() similar to du(1) * Add new symbols for g_file_measure_disk_usage API added in this release. . glib2.0 (2.37.7-1) experimental; urgency=low . * New upstream 2.37.7 + GDateTime now supports %:z formatting variations for timezones. This is a GNU date extension. . glib2.0 (2.37.6-1) experimental; urgency=low . * New upstream release 2.37.6 * Update symbols file * Merge changes from unstable, mainly for build / testsuite fixes. . glib2.0 (2.37.5-1) experimental; urgency=low . * New upstream release 2.37.5 (including interesting changes from .3 and .4) + Implement the Desktop Action specification + The gsettings tool now reports failure to write a key (e.g. because the key was locked down) + add a new API for instance private data: G_DEFINE_TYPE_WITH_PRIVATE + add new D-Bus API for async property handling * libglib2.0-tests: Depend on shared-mime-info required by contenttype test. * New upstream release * 0001-Revert-g_file_set_contents-don-t-fsync-on-ext3-4.patch: Drop, now upstream. * debian/tests/installed-tests: Add a new DEP-8 test to run the installed-tests. * Refresh patches. * Update symbols file. * debian/patches/skip-brokwn-dbus-appinfo-test.patch: Skip a broken new dbus-appinfo test which is hanging. . glib2.0 (2.37.2-1) experimental; urgency=low . * New upstream version + add support for installed tests: https://live.gnome.org/GnomeGoals/InstalledTests + add a new g_test_trap_subprocess() that works on Windows as a replacement for the (now deprecated) g_test_trap_fork() + support for explicitly cancelling a gobject property binding + performance improvements for signal argument handling + stop using `quotes' in very many log messages generated by GLib, for favour of 'this style'. This may cause testcases in other packages to fail if they were matching on the previous text. + improve manpages: add missing arguments and flags + Installing properties after class initialization is deprecated, and will trigger a warning. + GApplication Support org.freedesktop.Application, including D-Bus activation from desktop files * Refresh patches. * Update symbols file with new symbols in this release. * Enable installed tests and install into a libglib2.0-tests package. * clean debian/{install,build,stamp-makefile-check} and gio/gdbus-2.0/codegen/*.pyc * Set $XDG_RUNTIME_DIR to a writable directory we control; now required by the testsuite. . glib2.0 (2.36.4-1) unstable; urgency=low . * New upstream release. * Remove 0001-Revert-g_file_set_contents-don-t-fsync-on-ext3-4.patch, merged upstream. * Make test suite linux only again. On kfreebsd the test suite keeps getting stuck and the build is killed after a timeout. . glib2.0 (2.36.3-4) unstable; urgency=low . [ Josselin Mouette ] * Still run the testsuite on !linux, even though non-fatal. . [ Michael Biebl ] * Track stable releases. * Use dh_python2 to properly generate the dependencies for gdbus-codegen, which is shipped in libglib2.0-dev. . glib2.0 (2.36.3-3) unstable; urgency=low . [ Julien Cristau ] * Use gcc-4.8 on sparc to fix misbuild causing test failure (closes: #709781). . [ Josselin Mouette ] * Only make the testsuite fatal on linux. Although the other architectures don’t pass, we have to keep a pair of reverse dependencies working. . glib2.0 (2.36.3-2) unstable; urgency=low . * 0001-Revert-g_file_set_contents-don-t-fsync-on-ext3-4.patch: + Patch from the upstream 2.36 stable branch. Revert a previous commit that dropped calls to fsync() on ext[234] fileystems as that caused data corruption in some cases (e.g. corrupted dconf db on power loss). . glib2.0 (2.36.3-1) unstable; urgency=low . [ Josselin Mouette ] * Make the testsuite fatal on all architectures. If it fails, we need to fix it or drop the architecture, not to ignore it. * Break libgnome-desktop-3-2 < 3.4.2-2 for the thumbnails location change. . [ Emilio Pozuelo Monfort ] * New upstream bugfix release. Closes: #708568. * debian/patches/13_sparc_prlimit_prototype.patch: + Refreshed. . glib2.0 (2.36.1-2) unstable; urgency=low . * Merge experimental branch, upload to unstable. . glib2.0 (2.36.1-1) experimental; urgency=low . * New upstream release * Refresh debian/patches/06_thread_test_ignore_prctl_fail.patch . glib2.0 (2.36.0-2) experimental; urgency=low . * debian/rules: + Don't abort the build if the test suite fails on mipsel. * debian/patches/17_check_abis_mips_symbols.patch: + Also allow _ftext in libgthread. . glib2.0 (2.36.0-1) experimental; urgency=low . * New upstream release. + debian/libglib2.0-0.symbols: - Updated. * debian/rules: + Make the test suite fatal in armel and armhf. * debian/patches/17_check_abis_mips_symbols.patch: + Add _ftext to the list of allowed symbols, since that is leaked on mips. . glib2.0 (2.35.9-2) experimental; urgency=low . * d/p/11_kfreebsd_pthread_condattr_setclock_prototype.patch: + Another patch to fix the build on kfreebsd. Add a prototype for pthread_condattr_setclock() when building on kfreebsd since the prototype there is missing. The glibc bug to add the missing prototype is #703545, we can remove this hack when that is fixed. * debian/patches/13_sparc_prlimit_prototype.patch: + New patch, only use prlimit if the prototype is available. Should fix the build on sparc where prlimit is available but the prototype is missing. Thanks to Julien Cristau for the patch. This works-around #703559 and can be removed when that bug is fixed. * debian/patches/15_gio_desktop_app_info_test_bin_true_path.patch: + Change path for 'true' to /bin/true as that's where it is in Debian. This fixes a testcase that was failing on every arch and was causing the build to fail on ia64 and powerpc as test failures are fatal on those arches. * debian/rules: + Use filter instead of findstring to match the current arch against the list of architectures where the test suite should not be fatal, as the latter matches substrings and so it was making the testsuite non-fatal on amd64 and i386 because they match kfreebsd-amd64 and kfreebsd-i386. . glib2.0 (2.35.9-1) experimental; urgency=low . * debian/control.in: + Break python-gi (<< 3.7.2). Closes: #702603. * New upstream release. + debian/patches/04_homedir_env.patch: - Updated to apply again. * debian/rules: + Set HOME instead G_HOME, as GLib now honors the former. We will eventually remove our local patch to support G_HOME, so packages that need to override the home directory for the test suite should switch to overriding HOME. * debian/libglib2.0-0.symbols: + Bump minimum version for g_get_home_dir() so that users that need HOME to be honored get a proper runtime dependency. * debian/patches/10_kfreebsd_issetugid_prototype.patch: + Untested patch to fix the build on kfreebsd. . glib2.0 (2.35.8-1) experimental; urgency=low . [ Matthias Klose ] * Configure cross builds with --disable-modular-tests --disable-gtk-doc. . [ Iain Lane ] * Merges from unstable branch (Michael Biebl) - Take into account multiarch when removing the cache files in postrm: Remove /usr/lib/gio/modules/giomodule.cache only for the native architecture for which this cache file was created. After removing /usr/share/glib-2.0/schemas/gschemas.compiled on purge, run dpkg-trigger explicitly, so in case libglib2.0-0 is installed for other architectures, the cache file is re-created. (Closes: #696389) - Drop the various Breaks from libglib2.0-0. Those are causing APT to fail on a dist-upgrade from squeeze to wheezy. (Closes: #676485) * Refresh patches and slightly rework debian/patches/04_homedir_env.patch: g_get_home_dir() now respects the HOME environment variable but we'll keep G_HOME for now as packages in Debian rely on it. * gdbus-codegen .py files have moved to /usr/share/glib-2.0 * Update symbols file . [ Martin Pitt ] * New upstream release 2.35.4 * debian/libglib2.0-0.symbols: Update for new upstream release. * Drop 08_disable_gapplication_basic_test.patch, test is now more robust. * Drop 92_revert_appinfo_command_line.patch and add xterm build dependency; xterm is rather lightweight in terms of dependencies and is sufficient to run all the "Terminal=true" tests. * Add 08_fix_closure_invalidation.patch: gsignal: fix closure invalidation code. (GNOME #690118) . [ Emilio Pozuelo Monfort ] * New upstream release 2.35.8. + debian/patches/08_fix_closure_invalidation.patch: - Removed, applied upstream. + debian/patches/*: - Refreshed. + debian/libglib2.0-0.symbols: - Updated for the new symbols. . glib2.0 (2.34.3-1) experimental; urgency=low . * New upstream release. . glib2.0 (2.34.2-1) experimental; urgency=low . * Team upload . [ Martin Pitt ] * debian/rules: Re-enable failing the build on failed tests on armel/armhf on Ubuntu, now that the buildds behave themselves again. . [ Simon McVittie ] * New upstream release - 50_git_gmenuexporter_allow_null_bus_on_name_vanished.patch: remove, applied upstream - 91_kfreebsd_credentials.patch: remove, applied upstream * Override a couple of package-contains-empty-directory lintian tags for deliberate empty directories * Override package-contains-devhelp-file-without-symlink lintian tag for gdbus-object-manager-example, which is deliberately not in devhelp . glib2.0 (2.34.1-2) experimental; urgency=low . * Team upload * Apply patch from unstable to use the FreeBSD credentials-passing code path on kFreeBSD too, fixing (at least) gnome-terminal and lightdm on kFreeBSD (Closes: #581750, #631968) . glib2.0 (2.34.1-1) experimental; urgency=low . [ Josselin Mouette ] * Require libelfg0-dev, not libelf-dev which has nothing to do with it. . [ Iain Lane ] * New upstream release + GTimeZone support for zoneinfo version 1 + Leak in glib-compile-resources + g_settings_bind: use canonical property name + Port gio tests from pygobject to pygi * Switch python-gobject-2 BD to python-gi, folowing porting of tests. * debian/patches/50_git_gmenuexporter_allow_null_bus_on_name_vanished.patch: Cherry-pick upstream patch to fix crash when GBusNameVanishedCallback is called with a NULL GDBusConnection. (LP: #1044322) . glib2.0 (2.34.0-1) experimental; urgency=low . [ Martin Pitt ] * debian/rules: Only run tests for the main flavour; it takes too long for all three and does not give us a lot of extra confidence. * debian/rules: Manually create debian/stamp-makefile-check, as with above change it's not created automatically any more. * Add 07_disable_tests_on_slow_archs.patch: Disable tests on slow architectures which keep failing the tests. These are currently /socket/timed_wait, /mainloop/timeouts, /mainloop/child_sources, /timeout/rounding, and the upper bound on /gdbus/method-calls-in-thread on ARM platforms. * debian/control.in: Bump pcre dependency to >= 1:8.31. * debian/rules: Seems there is no way of making the test suite work reliably with the upgraded Ubuntu ARM builders, so make tests non-fatal on arm{el,hf} until they get less swap happy. . [ Michael Biebl ] * New upstream release. * Drop debian/patches/91_revert_pcre_8.31_test.patch now that we have a recent enough version. . glib2.0 (2.33.14-1) experimental; urgency=low . [ Iain Lane ] * New upstream release + CVE-2012-3524: don't run dbus-launch from setuid binaries + g_content_type_get_generic_icon_name(): new API for getting the icon name for a mime type + Introspection fixes: - GDBusConnection nullability fixes - give a box type to GTimeZone + Drop GVFS_INOTIFY_DIAG + Add a new "Writing GLib Applications" section to the reference documentation with general info on security, threads, etc. + gwin32mount.c: Fix syntax error + gresource tests: srcdir != builddir fixes + tests/gvariant: Fix test on big endian architectures + Fix regression in g_shell_parse_argv() * Dropped 07_tests_gvariant_big_endian.patch: applied upstream. . [ Michael Biebl ] * Bump all 2.33.x symbol versions to 2.33.14 to ensure a tight enough dependency for packages using features from glib 2.33. . glib2.0 (2.33.12-4) experimental; urgency=low . * debian/patches/03_disble_glib_compile_schemas_warning.patch: Add a new patch to disable a warning when compiling schemas which are installed into 'deprecated' locations. Users see this very often due to glib-compile-schemas being called from libglib2.0-0's trigger and it is not very useful for them. . glib2.0 (2.33.12-3) experimental; urgency=low . * debian/control.in: Add Breaks: too glib-networking versions prior to 2.33.12. (LP: #1046319) * debian/rules: Ignore test case failures on hurd-i386 (not a release architecture) and mips (this keeps tripping over a gdbus test race condition). * Replace 07_disable_gvariant_checksum_tests.patch with 07_tests_gvariant_big_endian.patch which fixes the test properly instead of disabling it. Taken from https://bugzilla.gnome.org/show_bug.cgi?id=683384 . glib2.0 (2.33.12-2) experimental; urgency=low . * Drop 10_increase_gapplication_test_delay.patch. We disable the whole test now anyway (08_disable_gapplication_basic_test.patch). * Add 07_disable_gvariant_checksum_tests.patch: 2.33.12 introduced two new checks for GVariant checksum stability. This does not currently work on big-endian machines (https://bugzilla.gnome.org/show_bug.cgi?id=683384), so disable these tests for now. . glib2.0 (2.33.12-1) experimental; urgency=low . [ Sebastien Bacher ] * New upstream version * debian/libglib2.0-0.symbols: - updated * revert_g_file_make_directory_with_parents_error_propagation.patch: - dropped, the issue is fixed in the new version * debian/patches/92_revert_appinfo_command_line.patch: - don't require a vte for test, we don't want an xorg stack there . [ Iain Lane ] * Add revert_g_file_make_directory_with_parents_error_propagation.patch: This reverts upstream commit b0bce4ad41937dabf7e5c94dcce3caf4e88f3f97 which caused applications to segfault. The proper fix will be in the next glib release, so this patch should be dropped then. (LP: #1035688) . [ Martin Pitt ] * Add 07_test_method_calls_on_proxy_bump_max_time.patch: On slower platforms, the overhead of the 240 D-BUS Sleep calls is larger than the current maximum of 6 seconds. Bump maximum time to 8 seconds to be more resilient to this. * Add 08_disable_gapplication_basic_test.patch: Disable /gapplication/basic test. It's full of race conditions and keeps breaking builds. . [ Robert Ancell ] * New upstream bugfix release (LP: #1045608) * Drop 07_test_method_calls_on_proxy_bump_max_time.patch: - Applied upstream . glib2.0 (2.33.8-1) experimental; urgency=low . * New upstream release 2.33.8. - GIO now has a g_file_delete_async function - The defaults for GThreadPools max_unused_threads and max_idle_time values have been changed to 2 and 15*1000, respectively. * debian/control{,.in}: XC-Package-Type → Package-Type, thanks to Lintian. * debian/libglib2.0-0.symbols: Update for new symbols in this release and remove Debian revisions which aren't necessary. . glib2.0 (2.33.6-1) experimental; urgency=low . * New upstream release. * Drop 91_revert_schema_path_warning.patch now, we are not in final freeze in Ubuntu, and this is not aimed at Debian Wheezy. * Add 91_revert_pcre_8.31_test.patch: Revert new regex test from 2.33.4 which depends on pcre 8.31. We still have 8.30, and we are building against the system library instead of the bundled one. . glib2.0 (2.33.4-1) experimental; urgency=low . [ Martin Pitt ] * debian/rules: Make tests always fatal on Ubuntu. . [ Iain Lane ] * New upstream release 2.33.4. * Refresh patches to apply cleanly and remove those applied upstream. * Bump version on libpcre-dev BD in line with upstream. * debian/libglib2.0-0.symbols: Add new symbols in this release. . glib2.0 (2.33.3-2) experimental; urgency=low . * Rename 07_socket_test_timespan_jitter.patch to 00git_* and update changelog with what got committed upstream. * Add 07_contenttype_test_fix_overflow.patch: Call g_content_type_guess() with valid data len. Fixes a segfault when running the test. Forwarded to GNOME #674452. * Add 08_contenttype_known_test_failure.patch: Disable known test failure due to a bug in g_content_type_from_mime_type(). For details, see https://bugzilla.gnome.org/show_bug.cgi?id=678941 * Add 09_valuetransform_ulong_bool.patch: valuetransform: Fix definition of ulong_bool. Thanks Philipp Kern! (Closes: #662057) * Add 10_increase_gapplication_test_delay.patch: /gapplication/basic sometimes fails due to a different order of expected and actual actions; increase delay between them to reduce the race condition. Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=664627 * Add 11_timeout_test_reduce_race.patch: Due to load, particular traits of the architecture, or other circumstances, the /mainloop/timeouts sometimes manages to call the "every 100 ms" timer loop only 9 times in 1050 ms. This is an inherent race-condition in the test; allow it some slack and accept 9 times as well. Forwarded to GNOME #678959. . glib2.0 (2.33.3-1) experimental; urgency=low . * New upstream release. * debian/libglib2.0-0.symbols: Add new symbols from this release. * debian/libglib2.0-bin.install: bash completion is now installed into /usr/share/bash-completion/completions/ by upstream. * Add debian/libglib2.0-bin.maintscript: Clean up old bash completion conffiles on upgrade. Add ${misc:Pre-Depends} to libglib2.0-bin. * Add debian/tests/control: DEP-8 autopkgtest control file. Add XS-Testsuite header to debian/control.in. * Add debian/tests/build: autopkgtest check: Build and run a program against glib, to verify that the headers and pkg-config file are installed correctly. * Add 06_thread_test_ignore_prctl_fail.patch: Do not fail the /thread/thread4 test if prctrl() fails. This happens on the Debian buildds. * debian/rules: Set G_HOME to not clutter $HOME with ~/.dbus-keyrings and avoid failure on the buildds where creating /home/buildd/.dbus-keyrings fails. * debian/rules: Fail the build on failed tests, except on architectures with known current failures (arm*, kfreebsd*, s390x, sparc). * Add 07_socket_test_timespan_jitter.patch: On some buildds the poll duration in the /socket/timed_wait test is slightly lower than the requested 100000. Adjust test to not fail in these cases. Forwarded to GNOME #678881. . glib2.0 (2.33.2-1) experimental; urgency=low . * Track unstable versions in the experimental branch. * New upstream release 2.33.2 - GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version - GIO input and output stream classes have grown GBytes-based methods - GApplication now has hooks to register D-Bus objects before the bus name is taken * Refresh 04_homedir_env.patch to cleanly apply * Add the new symbols from this release (g_app_info_get_supported_types, g_*_bytes, g_type_ensure) . glib2.0 (2.33.1-1) experimental; urgency=low . * debian/control.in: Update Vcs-* for experimental branch. * Drop 03_revert_git_single_include_error.patch. For GNOME 3.5.x we want to properly fix the reverse dependencies. NB this is NOT for Debian wheezy. * New upstream release. * 04_homedir_env.patch: Adjust for new release. * Drop 95_configure-Fix-typo-in-ELF-check.patch and 96_configure-Reset-LIBS-after-ELF-check.patch: upstream now. * debian/libglib2.0-0.symbols: Add new symbols from this release. . glib2.0 (2.33.12+really2.32.4-5) unstable; urgency=low . * Fix the closing fi in the if statement in postrm. . glib2.0 (2.33.12+really2.32.4-4) unstable; urgency=low . * Take into account multiarch when removing the cache files in postrm: Remove /usr/lib/gio/modules/giomodule.cache only for the native architecture for which this cache file was created. After removing /usr/share/glib-2.0/schemas/gschemas.compiled on purge, run dpkg-trigger explicitly, so in case libglib2.0-0 is installed for other architectures, the cache file is re-created. (Closes: #696389) * Drop the various Breaks from libglib2.0-0. Those are causing APT to fail on a dist-upgrade from squeeze to wheezy. (Closes: #676485) . glib2.0 (2.33.12+really2.32.4-3) unstable; urgency=low . * Team upload * 92_kfreebsd_credentials.patch: use the FreeBSD credentials-passing implementation on kFreeBSD too, making gnome-terminal and lightdm work on kFreeBSD (Closes: #631968) . glib2.0 (2.33.12+really2.32.4-2) unstable; urgency=medium . * Revert link adding for gdbus-object-manager-example. While it is useful to have in /usr/share/doc as an example, it must not be shipped with the system documentation. * 20_glib-compile-resources_leak.patch: new patch. Fix a leak introduced in version 2.32.4. Thanks Niels Thykier! * SECURITY: add 11_CVE-2012-3524_setuid.patch from upstream. Prevents using DBus in a setuid binary. Fixes CVE-2012-3524. . glib2.0 (2.33.12+really2.32.4-1) unstable; urgency=low . * New upstream bugfix release. * 10_gdbus_race.patch: stolen from upstream git. Fix a race condition that would make gnome-shell crash on startup under some conditions. * libglib2.0-bin.install: bash completions have moved to /usr/share. * libglib2.0-bin.maintscript: remove old conffiles. * Add appropriate pre-dependency. * libglib2.0-doc.links: add link for gdbus-object-manager-example. . glib2.0 (2.33.12+really2.32.3-2) unstable; urgency=low . * Explicitly set the shlibs version to 2.32.3 to not generate overly strict dependencies for udeb packages. . glib2.0 (2.33.12+really2.32.3-1) unstable; urgency=low . * Brown paper bag upload * Re-upload version previously in unstable to superseded experimental-targetted version previously mistakenly uploaded there. . glib2.0 (2.32.3-1) unstable; urgency=low . * New upstream release. * Remove debian/patches/95_configure-Fix-typo-in-ELF-check.patch and debian/patches/96_configure-Reset-LIBS-after-ELF-check.patch, merged upstream. . glib2.0 (2.32.2-1) unstable; urgency=low . * New upstream release. * Refresh patches. * Remove debian/patches/git_powerpc_gresources.patch, merged upstream. * debian/patches/95_configure-Fix-typo-in-ELF-check.patch: Fix typo in ELF configure check. Patch cherry-picked from upstream Git. * debian/patches/96_configure-Reset-LIBS-after-ELF-check.patch: Reset LIBS after running the ELF checks otherwise we end up linking everything against libelf. Patch cherry-picked from upstream Git. . glib2.0 (2.32.1-1) unstable; urgency=low . * New upstream release. * Refresh patches. * debian/patches/git_powerpc_gresources.patch: Upstream fix for gresource on big endian architectures, i.e powerpc. Closes: #669130 * debian/patches/revert_schema_path_warning.patch: Revert upstream commit which generates a warning for applications using a non-recommended gsettings path. Final freeze is not the time to start fixing the gsettings paths of all packages. This avoids tons of spewage from the gsettings trigger during package installation. . glib2.0 (2.32.0-4) unstable; urgency=low . * Set --sourcedir for the different flavors when running dh_install. This way the .install files can be simplified a lot which makes them much more readable. * Bump Standards-Version to 3.9.3. * Add Breaks against emacs23, eog and gwaei. Those applications were broken due to changes in GApplication and the way they interacted with GdkThreads so they needed to be fixed to correctly work with glib 2.32. Closes: #668019 . glib2.0 (2.32.0-3) unstable; urgency=low . [ Martin Pitt ] * 01_gettext-desktopfiles.patch: Use official "Keywords" key now, X-GNOME-Keywords has been deprecated for a while now. (LP: #949864) * debian/libglib2.0-0.postrm.in: Only remove the compiled schemas on purge, not during upgrades. Otherwise we have no schemas available until the new postinst is run, which leads to applications aborting on missing schemas. . [ Michael Biebl ] * Don't enforce single include for glib/gversionmacros.h since this header is included from glib/gtypes.h which is widely used. . glib2.0 (2.32.0-2) unstable; urgency=low . * Upload to unstable. * Revert upstream commit for now which makes single includes mandatory as the list of affected packages is still a bit too long. . glib2.0 (2.32.0-1) experimental; urgency=low . * New upstream release. * Add single-include guard for gbytes.h. Patch cherry-picked from upstream Git. . glib2.0 (2.31.22-1) experimental; urgency=low . * New upstream development release. * debian/libglib2.0-0.symbols: Add new symbol. . glib2.0 (2.31.20-1) experimental; urgency=low . * New upstream development release. * debian/patches/61_glib-compile-binaries-path.patch: Refreshed. * debian/libglib2.0-0.symbols: Add new symbols. * Override list-missing target with an implementation that better handles multiple flavors (copied from the gtk+3.0 package). . glib2.0 (2.31.18-3) experimental; urgency=low . * debian/control.in: Add Build-Depends on python-dbus, python-gobject-2, and libxml2-utils (xmllint). Required to run the test-suite. . glib2.0 (2.31.18-2) experimental; urgency=low . * debian/control.in: - add libpcre3-dev to the list of dependencies of libglib2.0-dev - add libelf-dev as a build dependency to make gresource able to deal with ELF files . glib2.0 (2.31.18-1) experimental; urgency=low . [ Gustavo Noronha Silva ] * New development release - Yeah, 2.31.8 was a mistake =/ * debian/libglib2.0-0.symbols: - fix version declared for 2.31.8 symbols to not have -1 - updated for 2.31.8 symbols * debian/patches/61_glib-compile-schemas-path.patch, debian/patches/61_glib-compile-binaries-path.patch: - renamed, and updated to also cover glib-compile-resources * debian/libglib2.0-0.install.in: - add glib-compile-resources . [ Michael Biebl ] * debian/libglib2.0-bin.install: Install new gresource binary and the man pages for gresource and glib-compile-resources. * debian/libglib2.0-bin.links.in: Add symlink in /usr/bin for glib-compile-resources since we install the binary in a multiarch path. * debian/rules: Re-enable test-suite on kfreebsd but keep it non-fatal for now. . glib2.0 (2.31.8-1) experimental; urgency=low . * New development release * debian/patches/*: - refreshed; * debian/patches/95-gmain-get-rid-of-poll_waiting.patch, debian/patches/96-fix-one-bit-mutex-test-on-some-platforms.patch, debian/patches/97-silence-compiler-warnings.patch, debian/patches/98-disable-two-more-GDBus-tests-using-fork.patch: - removed; applied upstream * debian/libglib2.0-0.symbols: - updated with new symbols NOTES: + g_simple_action_get_parameter_type (from 2.28.0) was made static in 09429e2c820118918e6132d32884eb02203136d4 + g_unix_resolver_get_type (from 2.22.0) was removed by 5a30712dc7e4adc36b0e8fd82cf5ccec19bbbdc5, with the removal of !g_thread_supported code paths . glib2.0 (2.30.2-7) UNRELEASED; urgency=low . * libglib2.0-0.postinst.in: + Encapsulate gio-querymodules calls in || true statements. Closes: #659588. + Only run gio-querymodules on the non-multiarch path for the host architecture. * rules: add substitution for #ARCH# for the above change. . glib2.0 (2.30.2-6) unstable; urgency=low . * Revert the patches added in 2.30.2-5 which changed the handling of return types from libffi. They didn't actually fix the build failures on s390x and had some unpleasant side effects, like making other packages FTBFS. . glib2.0 (2.30.2-5) unstable; urgency=low . [ Josselin Mouette ] * Drop deprecated build-dependencies on pygobject & python-dbus. * Retain one on python for the script that uses it. . [ Loïc Minier ] * Avoid harmless warnings when processing triggers of libglib2.0-0 ("Unable to open directory /usr/lib/gio/modules: Error opening directory '/usr/lib/gio/modules': No such file or directory"). . [ Michael Biebl ] * Cherry-pick patches from upstream Git which fix handling of ENUMs and integral return types on 64-bit BE platforms. Closes: #653308 - Add d/p/94-closure-fix-handling-of-ENUMs-and-integral-return-ty.patch. - Add d/p/93-gvalue-Add-explicitly-signed-g_value_get_schar-and-g.patch. - Update symbols file accordingly. . glib2.0 (2.30.2-4) unstable; urgency=low . * Upload to unstable. * Disable test suite on kfreebsd-* for now. . glib2.0 (2.30.2-3) experimental; urgency=low . * debian/patches/98-disable-two-more-GDBus-tests-using-fork.patch: - Added. Disable gdbus test which use GMainContext over a fork, see https://bugzilla.gnome.org/show_bug.cgi?id=658999 for more details . glib2.0 (2.30.2-2) experimental; urgency=low . * debian/patches/95-gmain-get-rid-of-poll_waiting.patch: - Added, Fix race conditions with g_main_quit being called from other threads by getting rid of the poll_waiting flag. (Backported from git master) * debian/patches/96-fix-one-bit-mutex-test-on-some-platforms.patch: - Added, Fix the 1 bit mutex failing on platforms that have pointers aligned to 32 bits instead of 64 bits (bgo#201322). * debian/patches/97-silence-compiler-warnings.patch: - Added, Fix various compiler warnings . glib2.0 (2.30.2-1) experimental; urgency=low . * New upstream release. * debian/patches/70-fix-race-in-gdbus-connection-test.patch: - Removed, merged upstream. * debian/patches/80_gtk_doc_out_of_tree.patch: - Removed, merged upstream. . glib2.0 (2.30.1-2) experimental; urgency=low . [ Martin Pitt ] * debian/patches/01_gettext-desktopfiles.patch: - Translate X-GNOME-FullName and X-GNOME-Keywords, too. . [ Sjoerd Simons ] * debian/patches/80_gtk_doc_out_of_tree.patch: - Added. Fix documentation generation when build out of tree . [ Michael Biebl ] * Transition to multiarch, thanks Steve. Closes: #634099 The following modifications were made to the original patch: - Drop the libtool .la files, since we break existing references anyway. - Don't mark libglib2.0-0-dbg as Multi-Arch: same and install into /usr/lib/debug, not /usr/lib//debug. - Guard the for loops in debian/rules with "set -e". * debian/libglib2.0-dev.install.in: - Install gdb auto-load files. . glib2.0 (2.30.1-1) experimental; urgency=low . [ Michael Biebl ] * New upstream release. - Avoid assertion in GDBus if we fail to authenticate twice. Closes: #634312 * Bump debhelper compatibility level to 8. - Bump Build-Depends on debhelper. - Don't pass --dbg-package= without an argument to dh_strip as commands will fail rather than warn when they are passed unknown options. * Don't use brace expansion in debian/libglib2.0-0.install and debian/libglib2.0-dev.install. * debian/control.in - Use architecture wildcard for kfreebsd and hurd. - Bump Standards-Version to 3.9.2. No further changes. - Set pkg-gnome-maintainers@lists.alioth.debian.org as Maintainer. - Add Build-Depends on libffi-dev (>= 3.0.0). * debian/libglib2.0-dev.install - Install gdbus-codegen binary and manpage. - Install gtester and gtester-report manpage. * debian/libglib2.0-bin.install - Install bash completion files for gdbus and gsettings. * debian/libglib2.0-0.symbols - Update symbols file. The GAction API had an incompatible change. As a result g_action_set_state has been renamed to g_action_change_state. See upstream commit 5ff65d869543587d10d78c123698e47effc5fb8c for further details and on the impact of this change. * debian/watch: - Track .xz tarballs. * Update patches - Remove 03_blacklist-directories.patch, merged upstream. - Remove 10_gdesktopappinfo_set_last_used.patch, fixed upstream. - Remove 60_wait-longer-for-threads-to-die.patch, fixed upstream using a counter. - Refresh remaining patches. . [ Josselin Mouette ] * Break gtk3 < 3.0.12 because it uses an internal symbol that ceases to work with glib 2.30. . [ Sjoerd Simons ] * debian/rules: Explicitely build gtk-doc * debian/patches/70-fix-race-in-gdbus-connection-test.patch: - Added, fix race condition in the GDBusConnection life-cycle test . glib2.0 (2.28.8-1) unstable; urgency=low . * New upstream release. * debian/watch: - Update to version 3. - Track .xz tarballs. * Bump debhelper compatibility level to 8. - Bump Build-Depends on debhelper. - Don't pass --dbg-package= without an argument to dh_strip as commands will fail rather than warn when they are passed unknown options. * Don't use brace expansion in debian/libglib2.0-0.install and debian/libglib2.0-dev.install. * debian/control.in - Use architecture wildcard for kfreebsd and hurd. - Bump Standards-Version to 3.9.2. No further changes. - Set pkg-gnome-maintainers@lists.alioth.debian.org as Maintainer. * Refresh patches. . glib2.0 (2.28.6-4) unstable; urgency=low . * Upload to unstable. . glib2.0 (2.28.6-3) experimental; urgency=low . * Break gnome-session < 3.0.0-3 for the updated defaults.list taking x-scheme-* into account. * Break gdm < 3.0.3 to avoid adding a security hole to it. * 10_gdesktopappinfo_set_last_used.patch: new patch. When calling g_app_info_set_as_last_used_for_type, correctly inherit the default filled in the file from the system default. This avoids gnome-control-center breaking file associations just by opening the info dialog. . glib2.0 (2.28.6-2) experimental; urgency=low . * Team upload. * Drop 20_mime_extension_point.patch and add Breaks against gvfs and gnome-control-center to ensure they have been updated at the same time. * Drop Conflicts against pango, it's no longer relevant (even for oldstable). * Fix watch file. * Drop leading article in descriptions as recommended by lintian. * Add lintian overrides for package-name-doesnt-match-sonames, it's a deliberate choice. * Add some copyright holders to debian/copyright to appease lintian. * Drop unneeded section/priority fields as they duplicate the default values. * Add some DEP-3 descriptions to patches that had no description at all. . glib2.0 (2.28.6-1) unstable; urgency=low . * New upstream bugfix release. . glib2.0 (2.28.4-1) unstable; urgency=low . * debian/control.in: + Build depend on dbus, dbus-x11, shared-mime-info, python-gobject and python-dbus, needed by the test suite. + libglib2.0-data doesn't need to depend on libglib2.0-0, since it only ships translations. This will avoid making glib uninstallable on the buildds when it is uploaded until the new version has been built. * d/p/0001-Run-gio-tests-with-a-dbus-session.patch: + New patch. Run gio tests through dbus-launch, since some of them need a running dbus session. * debian/control.in, debian/rules: + Add autoreconf magic, needed by the above patch. * New upstream release. . glib2.0 (2.28.2-1) unstable; urgency=low . * New upstream release. . glib2.0 (2.28.1-1) unstable; urgency=low . * New upstream release. + Fixes g_timeout_add overflowing with large timeouts. Closes: #606618. . glib2.0 (2.28.0-2) unstable; urgency=low . * 20_mime_extension_point.patch: temporary revert the upstream change in URI schemes handling. Closes: #612876. Note for later: it must absolutely be reverted in a synchronized upload with gvfs 1.8 and control-center 3.0. . glib2.0 (2.28.0-1) unstable; urgency=low . * debian/control.in: + Drop obsolete conflicts/replaces with libglib1.3. + Don't suggest libgtk2.0-doc in the doc package. * New upstream stable release. + debian/control.in: - Bump the libpcre3-dev build dependency. + debian/patches/01_gettext-desktopfiles.patch, debian/patches/02_gettext-desktopfiles-ubuntu.patch, debian/patches/04_homedir_env.patch, debian/patches/61_glib-compile-schemas-path.patch: - Refreshed. + debian/libglib2.0-0.symbols: - Updated. . glib2.0 (2.27.91-1) experimental; urgency=low . * debian/rules: - Don't exclude .sgml and .devhelp files from being compressed. The former are already excluded by dh_compress and the later can be compressed now that devhelp can handle them. - Fix variable substitution. * New upstream release. - debian/patches/62_dont_crash_without_desktop_filename.patch: + Removed, included upstream. * debian/control.in: - Standards-Version is 3.9.1, no changes needed. . glib2.0 (2.27.90-2) experimental; urgency=low . * debian/patches/62_dont_crash_without_desktop_filename.patch * Added. Fix crash when launching application without a desktop file (From upstream git) . glib2.0 (2.27.90-1) experimental; urgency=low . * Switch to CDBS' flavors system. * Switch to source format 3.0 (quilt). * Stop symlinking /usr/share/doc/$pkg directories. * debian/rules: - Explicitly link with --no-as-needed, as --as-needed might be the default and is harmful for us. - Run the test suite but don't make it fatal yet. * New upstream release. - debian/libglib2.0-0.symbols: + Updated. . glib2.0 (2.27.5-1) experimental; urgency=low . * New upstream release. + debian/libglib2.0-0.symbols: - Updated. * debian/rules: + Make the shlibs always depend on the latest upstream version. We have symbols file anyway, and manually bumping the shver is error prone. . glib2.0 (2.27.4-2) experimental; urgency=low . * debian/rules: Change --disable-visibility to --disable-Bsymbolic for the refdbg package. . glib2.0 (2.27.4-1) experimental; urgency=low . * New upstream release. + debian/libglib2.0-0.symbols: - Updated. + debian/rules: - Bump the SHVER. . glib2.0 (2.27.3-1) experimental; urgency=low . * New upstream release. + debian/libglib2.0-0.symbols: - Updated. . glib2.0 (2.27.2-1) experimental; urgency=low . * New upstream development release: + debian/patches/*: - Refreshed. + debian/libglib2.0-0.symbols: - Updated + debian/patches/70_dtrace.patch: - Dropped, merged upstream. . glib2.0 (2.27.1-1) experimental; urgency=low . [ Josselin Mouette ] * Drop lynx dependency in the -doc package. Suggest devhelp instead. Closes: #599743. . [ Sebastian Dröge ] * New upstream development release: + debian/patches/70_fix-header-cleaup-fallout.patch: - Dropped, merged upstream. + debian/patches/*: - Refreshed. + debian/libglib2.0-0.symbols: - Updated + debian/patches/70_dtrace.patch: - Patch from upstream GIT to not enable DTrace if it's not available. Fixes the build on kFreeBSD (Closes: #592024). . glib2.0 (2.27.0-1) experimental; urgency=low . [ Sjoerd Simons ] * New upstream experimental release * debian/libglib2.0-0.symbols + Updated * debian/patches/70_fix-header-cleaup-fallout.patch + Added. Fix complilation error (from upstream git) . [ Sebastian Dröge ] * Upload to experimental. * debian/rules: + Update SHVER to 2.27.0. . glib2.0 (2.26.0-1) experimental; urgency=low . * New upstream stable release: + debian/rules, debian/libglib2.0-0.symbols: - Update for the new version. + debian/patches/90_gregex-system-pcre.patch: - Dropped, merged upstream. . glib2.0 (2.25.16-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for the new version. + debian/patches/90_gregex-system-pcre.patch: - Fix GRegex compilation with the system pcre. . glib2.0 (2.25.15-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for the new version. . glib2.0 (2.25.14-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for the new version. . glib2.0 (2.25.13-1) experimental; urgency=low . * New upstream development release: + debian/patches/90_git_glibconfig_build.patch, + debian/patches/99_autoreconf.patch: - Dropped, merged upstream. + debian/rules, debian/libglib2.0-0.symbols: - Update for the new version. + debian/control.in: - (Build-) depend on pkg-config >= 0.16.0. . glib2.0 (2.25.12-2) experimental; urgency=low . [ Sebastien Bacher ] * debian/rules: + clean the distributed glibconfig.h it has 64 bits values which leaded to the issues on 32 bits architectures (Closes: #591075, #591492). * debian/patches/90_git_glibconfig_build.patch: + git change to use the builddir glibconfig.h and not the srcdir one . [ Sebastian Dröge ] * debian/patches/99_autoreconf.patch: + Regenerated autotools files for the above patch. * debian/rules: + Call dh_installdirs to actually use the .dirs files. . glib2.0 (2.25.12-1) experimental; urgency=low . [ Josselin Mouette ] * Don’t run the triggers when executed from a nonexistent directory. Closes: #589693. . [ Sebastian Dröge ] * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API changes. + debian/patches/99_gsocket-create-socket-cloexec.patch: - Dropped, merged upstream. . glib2.0 (2.25.11-3) experimental; urgency=low . * debian/patches/99_gsocket-create-socket-cloexec.patch: Patch by Julien Cristau: Just because SOCK_CLOEXEC was defined at build time doesn't mean the kernel we're running on supports it. So if socket() fails with EINVAL, try again without the flag. . glib2.0 (2.25.11-2) experimental; urgency=low . * debian/control.in, debian/libglib2.0-bin.links, debian/libglib2.0-0.links: + Move links to the -bin package again but let the -dev package depend on the -bin package. Having the links in the shared library package will cause conflicts when the soname changes but the links in /usr/bin must be there at least if the -dev package is installed because build systems might assume that the applications are in $PATH. * debian/patches/61_glib-compile-schemas-path.patch: + Adjust path to glib-compile-schemas in the pkg-config file. . glib2.0 (2.25.11-1) experimental; urgency=low . [ Josselin Mouette ] * Drop type-handling usage. Closes: #587863. * Bump standards version accordingly. * Patch from Ubuntu, thanks Sébastien Bacher. Closes: #587661. * debian/libglib2.0-bin.install: - Install glib-compile-schemas * debian/libglib2.0-bin.postinst: - Run glib-compile-schemas when schemas modified * debian/libglib2.0-bin.triggers: - Watch for schema changes * debian/libglib2.0-dev.install: - glib-compile-schemas moved to libglib2.0-bin * debian/libglib2.0-dev.install: - install the new gdb python macros since the gdb version is recent enough now to use those * Put gio-querymodules and glib-compile-schemas in a private, versioned directory in libglib2.0-0 to avoid a dependency loop. * Move back the triggers to libglib2.0-0. * Add a purge of the necessary files in the postinst. * Stop recommending libglib2.0-bin since the necessary stuff is in libglib2.0-0 now. * Add symlinks to keep the binaries at their place in libglib2.0-bin. * Tighten the dependency between libglib2.0-bin and libglib2.0-0. . [ Sebastian Dröge ] * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API changes. * debian/libglib2.0-0.dirs: + Create empty directories for the triggers to actually work. * debian/libglib2.0-0.links, debian/control.in: + Add links for gio-querymodules and glib-compile-schemas in /usr/bin. . glib2.0 (2.25.10-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API changes. + debian/libglib2.0-dev.install: - Drop gsettings-schema-convert. + debian/patches/*: - Refreshed all patches. . glib2.0 (2.25.9-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API additions. . glib2.0 (2.25.8-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API additions. . glib2.0 (2.25.7-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API additions. . glib2.0 (2.25.6-1) experimental; urgency=low . * New upstream development release. . glib2.0 (2.25.5-1) experimental; urgency=low . * New upstream development release. . glib2.0 (2.25.4-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API additions. + debian/libglib2.0-bin.install: - Add gdbus utility and manpage. . glib2.0 (2.25.3-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API additions. + debian/libglib2.0-dev.install: - gschema-compile was renamed to glib-compile-schemas. + debian/control.in, debian/rules: - Manpages are now properly shipped with the tarballs, drop xsltproc, etc. build dependencies. . glib2.0 (2.25.2-1) experimental; urgency=low . * New upstream development release: + debian/libglib2.0-0.install, debian/libglib2.0-0.triggers, debian/control.in, debian/rules, debian/libglib2.0-bin.install, debian/libglib2.0-bin.triggers: - Move binaries to an unversioned, separate package. - Add new gsettings tool. + debian/rules, debian/libglib2.0-0.symbols: - Update for API additions. . glib2.0 (2.25.1-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Update for API additions. + debian/libglib2.0-dev.install, debian/libglib2.0-0.install: - Install new GSettings utitilies and manpages. * debian/control.in, debian/rules: + Enable manpage generation via xsltproc for now until https://bugzilla.gnome.org/show_bug.cgi?id=616264 is fixed. . glib2.0 (2.24.0-1) unstable; urgency=low . * New upstream stable release: + debian/rules, debian/libglib2.0-0.symbols: - Updated 2.23 symbols to 2.24 to force dependencies on a stable release. + debian/rules: - Remove check-dist.mk include to allow uploads to unstable again. . glib2.0 (2.23.6-1) experimental; urgency=low . [ Emilio Pozuelo Monfort ] * debian/patches/05_gvariant_test_failure.patch: - Backport patch from upstream git to fix a gvariant test that fails randomly on x86. . [ Sebastian Dröge ] * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new API. + debian/patches/05_gvariant_test_failure.patch: - Dropped, merged upstream. * debian/rules: + Make unit test failures non-fatal again because of race conditions in some tests. . glib2.0 (2.23.5-1) experimental; urgency=low . [ Emilio Pozuelo Monfort ] * debian/patches/05-dont-fail-a-couple-of-tests-when-running-as-root.patch: - Updated. * 06-test-for-unexisting-files-in-TMP-and-not-in-HOME.patch: - Added, don't look for an unexisting file in $HOME since it will fail with an unexpected result if it's not writable (which happens on some buildds). Look at $TMP instead. * debian/rules: - Make test suite failures fatal on amd64, i386 and s390. . [ Sebastian Dröge ] * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new API. + debian/patches/05-dont-fail-a-couple-of-tests-when-running-as-root.patch, debian/patches/06-test-for-unexisting-files-in-TMP-and-not-in-HOME.patch: - Dropped, merged upstream. . glib2.0 (2.23.4-1) experimental; urgency=low . [ Emilio Pozuelo Monfort ] * debian/patches/05-dont-fail-a-couple-of-tests-when-running-as-root.patch: - Added, expect a couple of tests that play with file permissions to succeed when running as root. * debian/control.in: - Add desktop-file-utils to build depends to fix another test. - Standards-Version is 3.8.4, no changes needed. - Let libgio-fam depend on ${misc:Depends}. . [ Sebastian Dröge ] * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new API. . glib2.0 (2.23.3-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new API. . glib2.0 (2.23.2-2) experimental; urgency=low . * debian/control.in, debian/libglib2.0-0.triggers, debian/libglib2.0-0.install, debian/libglib2.0-dev.install: + Ship gio-querymodules in the shared library package and triggers calls to every time /usr/lib/gio/modules is touched by a package. . glib2.0 (2.23.2-1) experimental; urgency=low . * New upstream development release: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new API. . glib2.0 (2.23.1-1) experimental; urgency=low . [ Sebastian Dröge ] * debian/control.in: + Let the -dev package depend on zlib1g-dev as it's required by the pkg-config file now. . [ Emilio Pozuelo Monfort ] * New upstream release. + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new API. . glib2.0 (2.23.0-1) experimental; urgency=low . [ Loïc Minier ] * -refdbg package is section/prio debug/extra. * Add note to NOT use -Wl,--as-needed as it might drop a critical -lpthread link in gio (which dlopen()s gvfs); see mid:<1257999019.21780.15.camel@marzipan>. . [ Sebastian Dröge ] * New upstream development release: + debian/patches/90_mimetype-sorting.patch: - Dropped, merged upstream. + debian/rules, debian/libglib2.0-0.symbols: - Update for new API. + debian/control.in: - Build depend on zlib. + debian/rules: - Include check-dist.mk to prevent accidental uploads to unstable. . glib2.0 (2.22.2-2) unstable; urgency=low . * debian/patches/90_mimetype-sorting.patch: + Fix sorting of mimetypes by weight. Highest weight means most important, not the other way around. Patch from upstream GIT. . glib2.0 (2.22.2-1) unstable; urgency=low . [ Emilio Pozuelo Monfort ] * Move libglib2.0-data to section libs. Closes: #549079. . [ Sebastian Dröge ] * New upstream bugfix release. . glib2.0 (2.22.1-1) unstable; urgency=low . * New upstream bugfix release: + debian/patches/10_inotify_init1.patch, debian/patches/30_metadata_symlinks.patch: - Dropped, merged upstream. . glib2.0 (2.22.0-2) unstable; urgency=low . * Don’t install Python GDB macros for now, they only work with an experimental GDB branch. * 30_metadata_symlinks.patch: stolen upstream. Get metadata to work with symbolic links. Closes: #548142. . glib2.0 (2.22.0-1) unstable; urgency=low . [ Josselin Mouette ] * Move libglib-2.0.so.0 to /lib so that DeviceKit (and other potential sources) can work without having /usr mounted. * 11_chmod_symlinks.patch: new patch. Fix potential security issue when manipulating symlink permissions. Thanks Arand Nash for the heads up. . [ Sebastian Dröge ] * New upstream stable release: + debian/patches/11_chmod_symlinks.patch: - Dropped, merged upstream. + debian/libglib2.0-0.symbols, debian/rules: - Update for the new version. . glib2.0 (2.21.6-1) experimental; urgency=low . [ Josselin Mouette ] * 10_inotify_init1.patch: fall back on inotify_init when inotify_init1 does not work, as happens with kernel versions < 2.6.27. Closes: #544354. . [ Sebastian Dröge ] * New upstream development release: + debian/libglib2.0-0.symbols: - Update for the new version. + debian/rules: - Update SHVER to 2.21.6. * debian/control.in: + Updated Standards-Version to 3.8.3, no additional changes needed. . glib2.0 (2.21.5-1) experimental; urgency=low . * New upstream development release: + debian/libglib2.0-0.symbols: - Update for the new version. + debian/rules: - Update SHVER to 2.21.5. * debian/control.in: + Updated Standards-Version to 3.8.2, no additional changes needed. . glib2.0 (2.21.4-1) experimental; urgency=low . * New upstream development release: + debian/rules: - Include check-dist.mk to prevent accidental uploads to unstable. - Update shlib version to 2.21.4. + debian/libglib2.0-0.symbols: - Update for the API additions. * debian/control.in: + Updated Standards-Version to 3.8.1, no additional changes needed. . glib2.0 (2.20.4-1) unstable; urgency=low . * New upstream bugfix release. . glib2.0 (2.20.3-1) unstable; urgency=low . [ Josselin Mouette ] * Only build the libgio-fam package for hurd and kfreebsd, it is totally useless under Linux. * Make it recommend gamin for kqueue support. * Make libgamin-dev the primary build-dependency. Closes: #526219. . [ Sebastian Dröge ] * New upstream bugfix release. . glib2.0 (2.20.1-2) unstable; urgency=low . * Add refdbg package: libglib2.0-0-refdbg. (Closes: #525915) . glib2.0 (2.20.1-1) unstable; urgency=low . * New upstream bugfix release: + 10_log_valist.patch, dropped. . glib2.0 (2.20.0-3) unstable; urgency=low . * Fix debug package section. * 10_log_valist.patch: new patch, stolen upstream. Copy a va_list before using it twice. Closes: #520484. . glib2.0 (2.20.0-2) unstable; urgency=low . * Remove 02_usr_share_gnome_applications.patch, now gnome-session sets XDG_DATA_DIRS accordingly. . glib2.0 (2.20.0-1) unstable; urgency=low . * New upstream stable release. * Upload to unstable, remove check-dist include. This won't block any transitions because of symbol files. * debian/libglib2.0-0.symbols, debian/rules: + Update for the API changes. . glib2.0 (2.19.10-1) experimental; urgency=low . * New upstream development release. . glib2.0 (2.19.8-2) experimental; urgency=low . * debian/patches/01_gettext-desktopfiles.patch, debian/patches/02_gettext-desktopfiles-ubuntu.patch: + Updated from the Ubuntu package, thanks to Martin Pitt for the changes: - 01_gettext-desktopfiles.patch: Merge OpenSUSE's and our patch: - Now prefers inline translations over gettext translations, which fixes a few corner cases (like renaming .desktop files on the user's desktop), is more in line with the recent gconf patch, and more palatable for upstream inclusion. - Use X-GNOME-Gettext-Domain, for preparing upstream inclusion. - Forwarded upstream now. - Add 02_gettext-desktopfiles-ubuntu.patch: Provide backwards compatibility for 01_gettext-desktopfiles.patch for X-{Debian,Ubuntu}-Gettext-Domain. The latter was changed to use X-GNOME-, so this is necessary until all our .desktop files are converted. . glib2.0 (2.19.8-1) experimental; urgency=low . * New upstream development release. . glib2.0 (2.19.7-1) experimental; urgency=low . * New development release . glib2.0 (2.19.6-1) experimental; urgency=low . * New development release * debian/libglib2.0-0.symbols: - updated with new symbols . glib2.0 (2.18.4-2) unstable; urgency=low . * Release to unstable * debian/rules: - bump SHVER, since we are already forcing a 2.18.0 dependecy on the symbols introduced in the development versions * debian/control.in: - added Homepage and Vcs-* control fields . glib2.0 (2.18.4-1) experimental; urgency=low . [ Josselin Mouette ] * 04_homedir_env.patch: new patch. Handle the G_HOME environment variable, to override the passwd entry. This will allow to fix various kinds of build failures due to restricted build environments. . [ Sebastian Dröge ] * New upstream bugfix release. . glib2.0 (2.18.3-1) experimental; urgency=low . * New upstream bugfix release. . glib2.0 (2.18.2-1) experimental; urgency=low . [ Loic Minier ] * Suffix the Debian specific pcre bdep with "~" to allow backports and make lintian happy. * Update doc-base entries for new doc-base secttions: use Programming/C instead of Apps/Programming. * Use uppercase GNOME in doc-base description of glib. * Recommend shared-mime-info for content-type guessing API; see GNOME #554563. * Pass -k to make check. . [ Sebastian Dröge ] * New upstream bugfix release. . glib2.0 (2.18.1-1) experimental; urgency=low . * New upstream bugfix release. * debian/libglib2.0-0.symbols: + Updated all 2.17 symbols to 2.18.0 to get dependencies on the stable versions. . glib2.0 (2.18.0-1) experimental; urgency=low . * New upstream stable release, with API addition. - Update symbols file for new g_object_get_type() symbol and drop g_slice_debug_tree_statistics() which shouldn't have been exported in the first place. - Refresh patches 01_gettext-desktopfiles, 02_usr_share_gnome_applications, and 03_blacklist-directories to apply cleanly. . glib2.0 (2.17.7-1) experimental; urgency=low . * New upstream development release, the new API might still change: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new symbols. . glib2.0 (2.17.6-1) experimental; urgency=low . * New upstream development release, the new API might still change: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new symbols. . glib2.0 (2.17.4-1) experimental; urgency=low . [ Loic Minier ] * List back m68k in arches where we could make the testsuite fatal, following the update on GNOME #481575. * Document why testsuite is currently completely disabled (fails when there's no writable $HOME). . [ Sebastian Dröge ] * New upstream development release, the new API might still change: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new symbols. + debian/patches/90_gio-nautilus-crash.patch: - Dropped, merged upstream. . glib2.0 (2.17.3-2) experimental; urgency=low . * debian/patches/90_gio-nautilus-crash.patch: + Patch from upstream SVN to fix a crash in nautilus 2.22. . glib2.0 (2.17.3-1) experimental; urgency=low . * New upstream development release, the new API might still change: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new symbols. * debian/control.in: + Updated Standards-Version to 3.8.0, no additional changes needed. . glib2.0 (2.17.2-1) experimental; urgency=low . * New upstream development release, the new API might still change: + debian/rules, debian/libglib2.0-0.symbols: - Updated for the new symbols. . glib2.0 (2.17.0-1) experimental; urgency=low . [ Josselin Mouette ] * debian/rules: don't compress .sgml and .devhelp files. . [ Loic Minier ] * Fix broken second dh_strip invocation which was not only acting on the udeb but also on binary packages (-s -pUDEB should have been -pUDEB). . [ Sebastian Dröge ] * New upstream development release, the new API might still change. * debian/rules: + Include check-dist.mk to prevent accidental uploads to unstable. + Bump SHVER to 2.17.0. + Pass -c4 to dh_makeshlibs. * debian/libglib2.0-0.symbols: + Update symbols. . glib2.0 (2.16.3-2) unstable; urgency=low . * debian/rules: Don't add the debug symbols of the udeb in the -dbg package. Makes the debugging info actually usefull again (Closes: #468093) . glib2.0 (2.16.3-1) unstable; urgency=low . [ Sjoerd Simons ] * debian/patches/70_g_timeout_seconds_fix.patch + Added. Fix a rare case where a timeout from g_timeout_add_seconds() is never triggered. See http://bugzilla.gnome.org/show_bug.cgi?id=448943 . [ Sebastian Dröge ] * New upstream bugfix release: + debian/patches/70_g_timeout_seconds_fix.patch: - Dropped, merged upstream. . glib2.0 (2.16.2-1) unstable; urgency=low . [ Loic Minier ] * Drop nautilus conflicts as it triggers a bug in the APT resolver on dist-upgrade. * Update patch 01_gettext-desktopfiles with a newer version taken from the Ubuntu package. * Update and enable patch 01_gettext-desktopfiles to also look for X-Debian-Gettext-Domain if X-Ubuntu-Gettext-Domain isn't present. . [ Sebastian Dröge ] * New upstream bugfix release: + Fixes FTBFS on hurd/i386 (Closes: #472129). + debian/patches/04_nfs4.patch, debian/patches/80_static-mutex-aliasing-warnings.patch, debian/patches/81_c99-inline-warnings.patch: - Dropped, merged upstream. . glib2.0 (2.16.1-2) unstable; urgency=low . [ Josselin Mouette ] * 02_usr_share_gnome_applications.patch: ported from GnomeVFS. Use /usr/share/gnome/applications/defaults.list to obtain the defaults for MIME mapping. Currently this file is still shipped by GnomeVFS. Closes: #469504. * 03_blacklist-directories.patch: ported from GnomeVFS. Blacklist more FHS directories that are commonly found as Unix mount points, including those necessary for live-initramfs. * 04_nfs4.patch: ported from GnomeVFS. Support for nfs4 filesystems. . [ Sebastian Dröge ] * 80_static-mutex-aliasing-warnings.patch: Prevent warnings about breaking strict-aliasing rules when using G_LOCK(). See http://bugzilla.gnome.org/show_bug.cgi?id=316221 * 81_c99-inline-warnings.patch: Fix warnings when using G_INLINE_FUNC in C99 mode (Closes: #470796). See http://bugzilla.gnome.org/show_bug.cgi?id=522292 * Don't ship the old changelogs and news to save some space. . glib2.0 (2.16.1-1) unstable; urgency=low . * New upstream bugfix release. . glib2.0 (2.16.0-1) unstable; urgency=low . * New upstream stable release: + debian/rules: - Update shlibs version to 2.16.0. - Drop check-dist include, upload to unstable. + debian/libglib2.0-0.symbols: - Updated symbols for the new version. . glib2.0 (2.15.6-1) experimental; urgency=low . * New upstream release: + debian/rules: - Update shlibs version to 2.15.6. + debian/libglib2.0-0.symbols: - Updated symbols for the new version. . glib2.0 (2.15.5-1) experimental; urgency=low . * New upstream release: + debian/patches/02_fam-helper.patch: - Dropped, merged upstream. + debian/patches/60_wait-longer-for-threads-to-die.patch: - Updated to apply cleanly again. + debian/libglib2.0-0.symbols: - Update symbols for 2.15.5. . glib2.0 (2.15.4-1) experimental; urgency=low . [ Loic Minier ] * Add a gio gtk-doc symlink. * Add a doc-base file for gio. . [ Sebastian Dröge ] * New upstream release: + debian/libglib2.0-0.symbols: - Update symbols for 2.15.4. + debian/rules: - Update API version to 2.15.4. * debian/patches/02_fam-helper.patch: + Fix build failure when building with FAM and not gamin. See BGO #509419 and BGO #512384 for more details. . glib2.0 (2.15.3-1) experimental; urgency=low . * New upstream release. * debian/rules, debian/libglib2.0-0.symbols: + Update shlibs and all unstable symbols to 2.15.3. . glib2.0 (2.15.2-3) experimental; urgency=low . [ Loic Minier ] * Bump up dpkg-dev build-dep to >= 1.14.13 for Build-Depends-Package; thanks Raphaël Hertzog. * Drop duplicate dpkg-dev bdep. * Let libglib2.0-dev depends on ${shlibs:Depends}; thanks Niko Tyni. . [ Sebastian Dröge ] * debian/libgio-fam.install: + Fix path where we install the GIO FAM plugin. It shouldn't be /usr/lib/gio/gio but /usr/lib/gio. Thanks to Sedat Dilek for reporting. . glib2.0 (2.15.2-2) experimental; urgency=low . * debian/rules: + Disable selinux for the udeb until we have a libselinux1 udeb. . glib2.0 (2.15.2-1) experimental; urgency=low . [ Sebastian Dröge ] * New upstream development release, the new API may still change incompatibly; API additions: + Drop patch 67_gcc43-inline.patch, merged upstream. * Include check-dist again to prevent accidental uploads to unstable. * Disable testsuite for now. * Bump shlibs to 2.15.2. * Add build dependencies for GIO and add libgio-fam package that contains a GIO file/directory monitoring module that uses fam. * debian/rules, debian/libglib2.0-0.symbols, debian/control.in: + Add a symbol file for GLib, generated from 2.12.4, 2.14.3, 2.15.2. This is handled by dh_makeshlibs. Require dpkg-dev (>= 1.14.8) for this. * debian/control.in: + Recommend python on the -dev package for the gtester-report utility. * debian/shlibs.local: + Dropped as pcre is fixed now since 7.4-1 (Closes: #450796). . [ Loic Minier ] * Build-dep on gtk-doc-tools to prevent a spurious warning from gtk-doc.make: "/bin/sh: line 11: test: !=: unary operator expected". * Build udeb against system pcre again (now that it provides an udeb); bump up libpcre build-dep to >= 7.4-1 (Closes: #443067). . glib2.0 (2.14.4-2) unstable; urgency=low . * debian/rules: + Make testsuite failures on sparc non-fatal too as the threadpool-test fails there too, most probably of some timing related bug. See BGO #481573. . glib2.0 (2.14.4-1) unstable; urgency=low . [ Loic Minier ] * Fix disabled patch name 01_gettext-desktopfiles in series. . [ Josselin Mouette ] * Conflict against nautilus < 2.20 according to http://bugzilla.gnome.org/show_bug.cgi?id=440988#c182 . [ Sebastian Dröge ] * New upstream bugfix release. . glib2.0 (2.14.3-1) unstable; urgency=high . [ Sebastian Dröge ] * debian/shlibs.local: + Override libpcre3's shlibs to require at least pcre 7.2 (See: #449289). . [ Loic Minier ] * New upstream stable release; bug fixes and security update. - SECURITY: Update the internal copy of PCRE to 7.4, fixes CVE-2007-4767; the internal copy is used for the udeb. - Drop relibtoolizing patch, 70_relibtoolize, as upstream prepared this tarball with libtool 1.5.24. . glib2.0 (2.14.2-1) unstable; urgency=low . * Add GNOME bug id to 70_relibtoolize. * New upstream stable release; no API change. * Add lpia to the list of arches on which testsuite failures are fatal. . glib2.0 (2.14.1-5) unstable; urgency=low . * Add a relibtoolizing patch, 70_relibtoolize, to get some hurd-i386 fixes in libtool; see Debian #445001. . glib2.0 (2.14.1-4) unstable; urgency=low . * Document that testsuite failure aren't fatal on m68k due to GNOME #481575. * Disable testsuite on arm, mips, powerpc; see GNOME #481573; mipsel was already disabled because its testsuite results were unknown in experimental. * Document that testsuite failure is disabled on hppa, hurd, kfreebsd-amd64, kfreebsd-i386 due to Debian #428674. . glib2.0 (2.14.1-3) unstable; urgency=medium . * Only build the standards debs against the system PCRE, i.e. build the udeb against the builtin PCRE until pcre3 provides an udeb. . glib2.0 (2.14.1-2) unstable; urgency=low . * debian/control.in, debian/rules: + Build against the system PCRE instead of the supplied one. . glib2.0 (2.14.1-1) unstable; urgency=low . [ Loic Minier ] * Mention I added 90_fix-abi-check-with-debug in 2.14.0-1 . [ Sebastian Dröge ] * New upstream major stable release, without API changes. * debian/patches/90_fix-abi-check-with-debug.patch: + Dropped, merged upstream. . glib2.0 (2.14.0-2) unstable; urgency=low . * Upload to unstable; drop check-dist include. . glib2.0 (2.14.0-1) experimental; urgency=low . * Fix double --host/--build flags to configure. * Update patch 67_gcc43-inline to also fix the headers for GCC 4.2. * New upstream major stable release; API additions. - Bump up shlibs to >= 2.14.0. - Drop patch 90_from_svn_fix_missing_pointer_casting, merged upstream. - New patch, 90_fix-abi-check-with-debug, fixes build of testsuite in debug mode; from SVN. . glib2.0 (2.13.7-3) experimental; urgency=low . * debian/patches/90_from_svn_fix_missing_pointer_casting.patch: - patch from SVN, "fixed missing pointer casts when using atomic ops." (Closes: #434853) . glib2.0 (2.13.7-2) experimental; urgency=low . * Bump shlibs to 2.13.7. . glib2.0 (2.13.7-1) experimental; urgency=low . * Drop "libtool_is_fool" snippet patching hardcode_libdir_flag_spec and archive_cmds which is probably dangerous with newer libtools. * Fix flavor name in a comment of debian/rules. * Use -s instead of -a in arch-specific dh_* calls. * New upstream development release; some API additions. - Drop patch 60_output-lines-during-tests, merged upstream. * New patch, 60_wait-longer-for-threads-to-die, to wait 5 seconds instead of one for threads to die in the threadpool test; hopefully fixes hppa and kfreebsd testsuite failures; see #428674 and #431720. * Don't make testsuite failures fatal on hppa; closes: #431720. . glib2.0 (2.13.6-1) experimental; urgency=low . * Don't pass -L to dh_shlibdeps as the shlibs.local trick is enough and this can result in duplicate deps; closes: #317461. * Set myself as maintainer. * Cleanups. * Make the testsuite failures fatal on arches which passed the testsuite with 2.13.5 in experimental (currently: alpha amd64 arm hppa i386 ia64 mips powerpc s390); closes: #291486. * Don't run the testsuite when cross-compiling. * New upstream development release; only API change is to change back the definition of GType for C++ to be gulong. . glib2.0 (2.13.5-1) experimental; urgency=low . * New upstream release - Bump shlibs to >= 2.13.5, as the API was changed . glib2.0 (2.13.4-2) experimental; urgency=low . * New patch, 67_gcc43-inline, fixes FTBFS of apps using glib with GCC 4.3 which uses C99 where the meaning of "inline" changed; patch was adapted from patches in GNOME #315437 and Gentoo #156475; closes: #416863. . glib2.0 (2.13.4-1) experimental; urgency=low . * Also honor parallel=n in DEB_BUILD_OPTIONS. * New upstream release series; these are development releases, the new API may still change incompatibly. - Target at experimental; include check-dist. - Bump up shlibs to >= 2.13.4. * New patch but disabled, 01_gettext-desktopfiles, permits overriding the gettext domain when desktop files have such a field; found in the Ubuntu package. . glib2.0 (2.12.12-1) unstable; urgency=low . * Fix description of the -dbg package. * New upstream release. . glib2.0 (2.12.11-3) unstable; urgency=medium . * Initialize CFLAGS to -Wall -g; pass debian/rules' CFLAGS and LDFLAGS to configure, doh! * Track all stable versions in watch file. * Wrap build-deps and deps. * Add ${misc:Depends}. * New patch 60_output-lines-during-tests, outputs newlines after thousand iterations of the inner-loop of the closures test to avoid the timeout on mips and mipsel buildds. . glib2.0 (2.12.11-2) unstable; urgency=low . * Run "make check" test suite for the deb flavor except if DEB_BUILD_OPTIONS contains the "nocheck" keyword; ignore failures. * Include the new uploaders.mk from gnome-pkg-tools instead of duplicating its logic; build-dep on gnome-pkg-tools >= 0.11. * Drop useless version computations. * Add support for DEB_BUILD_OPTIONS_PARALLEL. * Upload to unstable; drop check-dist include. . glib2.0 (2.12.11-1) experimental; urgency=medium . * New upstream release; no API change. . glib2.0 (2.12.10-1) experimental; urgency=low . * Include the new check-dist Makefile to prevent accidental uploads to unstable; bump build-dep on gnome-pkg-tools to >= 0.10. * New upstream release; no API change. - Rewrite and cleanup the build-system completely to build a set of flavors; drop obsolete targets; drop obsolete files; switch from tar-in-tar and sys-build to regular source and quilt patching; build-depend on quilt; drop DEB_USE_DBS_TARBALL_LAYOUT; create stampdir when necessary; switch from dh_movefiles and dh_installdirs to dh_install. - Drop patch 000_glib-link; merged upstream. * Bump up Debhelper compatibility level to 5. * Only ship README.Debian in libglib2.0-dev. * Empty dependency_libs in the *.la files of libglib2.0-dev. * Override shlibs for the inter-shlibdeps before computing them. * Use >= ${source:Version} and ${binary:Version} for inder-deps; build-dep on dpkg-dev >= 1.13.19. * Fix --dbg-package name. * Use make vars for package names. * Tune udeb description. * Clean /usr/share/doc symlinks generation and move to dh_link generated links. * Cleanup list of invoked dh_* commands. . glib2.0 (2.12.9-2) experimental; urgency=low . * Bump shlibs to >= 2.12.9. * Avoir overwriting the *.la files of the main build with the *.la files of the udeb build; fixes "old_library" in *.la files; thanks Tim Dijkstra; closes: #297741. . glib2.0 (2.12.9-1) experimental; urgency=low . * Add a get-orig-source target to retrieve the upstream tarball. * New upstream releases; no API change. - Fixes documentation of g_key_file_set_string_list(); closes: #405028. - Avoids spewing warnings with gcc 2.95; closes: #303124. - Drop patch 009_accept-space-in-key-names; merged and adapted upstream. . glib2.0 (2.12.7-1) experimental; urgency=low . * New upstream release; no API change; translation updates, bug fixes, build fixes. - Target at experimental for now. - Drop patch 010_restore-old-key-file-syntax-support, merged and adapted upstream. . glib2.0 (2.12.6-2) unstable; urgency=medium . * New patch, 010_restore-old-key-file-syntax-support, reverts strict group names and key names checks introduced between glib 2.12.4 and 2.12.6; instead of failing, critical warnings are output; updates the relevant tests as well; closes: #404888. * New patch, 009_accept-space-in-key-names, adds support for space in key names (independently of 010_restore-old-key-file-syntax-support); updates and add relevant tests as well; closes: #404888 as well. . glib2.0 (2.12.6-1) unstable; urgency=low . * New upstream release; no API or ABI change. - Fixes file-type detection in nautilus; closes: #404015. . glib2.0 (2.12.5-3) unstable; urgency=low . * Upload to unstable. . glib2.0 (2.12.5-2) experimental; urgency=low . * Upload to unstable. . glib2.0 (2.12.5-1) experimental; urgency=low . * Add cross-reference in 2.12.4-2. * New upstream release; no API or ABI change. - Target at experimental for now. - Drop patch 011_glib-gettext-datarootdir, merged upstream. * Drop patch 010_glib2.0.kfreebsd-amd64, is not needed anymore and seems to have been at the wrong level anyway. * Review and comment on the usefulness of patch 000_glib-link. . glib2.0 (2.12.4-2) unstable; urgency=low . * New patch, 011_glib-gettext-datarootdir, to compute datarootdir appropriately for AM_GLIB_DEFINE_LOCALEDIR; GNOME #343825; closes: #370282. . glib2.0 (2.12.4-1) unstable; urgency=low . * New upstream release; no API changes. . glib2.0 (2.12.3-2) unstable; urgency=low . * Upload to unstable . [ Loic Minier] * Merge 2.10.3-3. . glib2.0 (2.12.3-1) experimental; urgency=low . * New upstream release; no public API changes. * Broaden the -data dep on the lib to permit bin NMUs. . glib2.0 (2.12.2-1) experimental; urgency=low . * New upstream release; no API changes. . glib2.0 (2.12.1-1) experimental; urgency=low . * New upstream release. * Sync with overrides and set udeb's Priority to optional instead of extra. * Bump up Standards-Version to 3.7.2. . glib2.0 (2.12.0-1) experimental; urgency=low . * New upstream version: Major new features include: * The Unicode support has been updated to Unicode 5. * GBookmarkFile: a parser for files containing bookmarks stored using the Desktop Bookmark specification * Base64 encoding support * debian/rules: - updated shver number * debian/watch: - updated . glib2.0 (2.10.3-3) unstable; urgency=low . * debian/patches/999_ia64_atomic_ops_broken.patch: - dropped, it's not required with the new gcc and it was breaking the build (Closes: #376260) . [ Loic Minier ] * Sync with overrides and set udeb's Priority to optional instead of extra. . glib2.0 (2.10.3-2) unstable; urgency=medium . * Re-add changes from 2.10.2-2 that were lost in the wild (closes: #361697). . glib2.0 (2.10.3-1) unstable; urgency=low . * New upstream version: Bugs fixed: - g_completion_complete_utf8 crashes when NULL is passed to it - update-desktop-database doesn't handle duplicate entries (Closes: #298668) - Dereferencing NULL value in g_key_file_get_group_comment - GKeyFile set_string_list invalid memory reads - The GObject tutorial say g_object_(un)ref is _not_ thread-safe - Fix a memory leak in GOption . glib2.0 (2.10.2-2) unstable; urgency=low . * debian/control.in, debian/rules: - patch by Frans Pop - Add support for udeb dependency resolution in shlibs file (Closes: #361697). - Simplify debian/rules by making use of udeb support in debhelper. * debian/control.in: - clarify the description for the -data package (Closes: #362316), change suggested Robert Bihlmeyer . glib2.0 (2.10.2-1) unstable; urgency=low . * New upstream version: - Missing check for .dylib - Segmentation Fault when %llu is passed to vasnprintf and HAVE_SNPRINTF is not defined - Add support for write FDs to GIOChannel - Memleak in goption.c::parse_short_option - g_parse_debug_string reads beyond buffer - g_option_context_parse() should not set program name to '' if it is already set - g_main_context_unref calls g_source_destroy_internal with incorrect arguments - Slight performance gains (GList, GAsyncQueue) - Use of unitialised memory in g_mem_profile - make check FAIL: threadpool-test - g_option_context_new parameter lacks better explanation - Some breakages with GThreadPool - gthread/gthread-win32.c: IsDebuggerPresent needs '#define _WIN32_WINDOWS 0x0401' - dlerror() portability issue causes crash on (old) a.out NetBSD platform - g_timer_elapsed docs should mention that microseconds may be NULL - goption + error out params - Documentation should not reference G_HAVE_GINT64, as it's deprecated. * debian/patches/010_glib2.0.kfreebsd-amd64.patch: - patch by Aurelien Jarno , fix build on kfreebsd-amd64 (Closes: #355953) * debian/rules: - use "-g" for CFLAGS, makes -dbg package useful again change by Fabio M. Di Nitto on the Ubuntu package: * Make sure to pass CFLAGS to configure. * Generalize DEB_BUILD_ARCH. . glib2.0 (2.10.1-2) unstable; urgency=low . [ Sjoerd Simons ] * Upload to unstable * Document udeb changes that Josselin did in an earlier experimental package. * debian/patches/999_ia64_atomic_ops_broken.patch + Added. Uses atomic builtins that gcc-4.0 know on ia64, instead of those for gcc-4.1. (Patch by LaMont Jones from the ubuntu package) * Updated debian/watch to use download.gnome.org . [ Josselin Mouette ] * Set the conflict with pango < 1.11, that's where the breakage lies. * Add a XC-Package-Type header to the udeb and set the priority to extra. [debian/control.in] . glib2.0 (2.10.1-1) experimental; urgency=low . * New upstream release (bugfixes, translation updates). * [debian/rules] Bring priority parameter for dpkg-distaddfile for the udeb in line with control.in . . Josselin Mouette : * Conflict with pango < 1.10 to avoid breakage caused by the unicode changes. . glib2.0 (2.10.0-1) experimental; urgency=low . * New upstream release. . glib2.0 (2.8.6-1) unstable; urgency=medium . * New upstream release (bugfixes, translation updates). . glib2.0 (2.8.5-1) unstable; urgency=low . * New upstream release (bugfixes, translation updates, g_object_compat_control() added). * [debian/rules] Bumped shver to 2.8.5 to reflect the API change. . glib2.0 (2.8.4-2) unstable; urgency=high . * Fix shlibs deps that crept in the amd64 package, thanks Kurt Roeckx for all the fish. (Closes: #339685) - Cleanup and clarify upstream version calculations. - Drop dh_makeshlibs -a call as only one package ships shlibs and already has a separate call. - Drop useless shlibs.local generation. - Call dh_shlibdeps with cleaner arguments. [debian/rules] * Fix "fakeroot debian/rules clean" by following find calls with a .svn filter. [debian/scripts/lib] * Fix quoting of unfix.source.patch:START and FAILED messages. [debian/scripts/messages] * Clarify Copyright versus License and update upstream URL. [debian/copyright] . glib2.0 (2.8.4-1) unstable; urgency=low . * New upstream version. . glib2.0 (2.8.3-1) unstable; urgency=medium . * New upstream release (fix an error that crept in with a change to glib-mkenums in 2.8.2, documentation improvements, translation updates). . glib2.0 (2.8.2-1) unstable; urgency=medium . * New upstream release (bug fixes, documentation improvements, translation updates). . glib2.0 (2.8.1-1) unstable; urgency=medium . * New (for Debian) upstream version (bug fixes, documentation improvements, translation updates). * [debian/control.in] Bumped Standards-Version. * [debian/copyright] Updated FSF's address. . glib2.0 (2.8.1-0ubuntu1) breezy; urgency=low . * New upstream version. * debian/watch: - updated. . glib2.0 (2.8.0-1) unstable; urgency=low . * New upstream version. * debian/rules: - updated the shlibs. . glib2.0 (2.7.3-1) experimental; urgency=low . * New upstream version. . glib2.0 (2.7.2-1) experimental; urgency=low . * New upstream version. . glib2.0 (2.7.1-1) experimental; urgency=low . * New upstream version. * debian/rules: - updated the shlib. . glib2.0 (2.7.0-1) experimental; urgency=low . * New upstream version: * GKeyFile: - add unit tests. - accept \r\n as line end. - don't interpret leading zeros as octal numbers. - make key and group removal work. * GOption: - improve formatting of --help output. - accept -?. - warn about duplicate main groups. - treat '-' as non-option argument. - report missing arguments as errors. - add a boxed type for GDate. * GTree: - g_tree_remove() and g_tree_steal() return status information. * Stdio wrappers: - work regardless of large file support. - add g_access(), g_chmod(), g_creat(), g_chdir. * GObject: - implement "toggle references" to help language bindings. - allow to mark names, nicks and blurbs of pspecs as static. - make pspec lookup a bit faster. * add g_listenv() to list all set environment variables. * add g_file_set_contents() to atomically write a file. * add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew(). * add g_utf8_collate_key_for_filename() to sort filenames taking extensions and numeric suffixes into account. * add G_GNUC_NULL_TERMINATED to mark varargs function with NULL-terminated argument lists. * documentation improvements. * new and updated translations. * debian/rules: - updated the shlibs. * debian/watch: - updated. . glib2.0 (2.6.5-1) unstable; urgency=low . * New upstream release again bringing a number of bugfixes, improved documentation and updated translations, including gthread-posix.c (g_thread_create_posix_impl): Allow setstacksize to fail. (GNOME #304790, Michael Banck) (Closes: #312382) * [debian/patches/000_glib-link.patch] Updated. . glib2.0 (2.6.4-1) unstable; urgency=low . * New upstream release bringing a number of bugfixes, improved documentation and updated translations. . glib2.0 (2.6.3-1) unstable; urgency=low . * New upstream release. . glib2.0 (2.6.2-1) unstable; urgency=low . * New upstream release. . glib2.0 (2.6.1-3) unstable; urgency=low . * debian/rules: - use "-plibglib$(apiver)-udeb", fix the libglib2.0-0-dbg package. . glib2.0 (2.6.1-2) unstable; urgency=low . * Upload to unstable. * debian/control.in: - rename libglib2.0-dbg to libglib2.0-0-dbg. - set myself as maintainer. * debian/rules: - use dh_strip to make the debug package. . glib2.0 (2.6.1-1) experimental; urgency=low . * New upstream release. . glib2.0 (2.6.0-1) experimental; urgency=low . * New upstream release. * debian/rules: - updated the shlibs. * debian/watch: - updated. . glib2.0 (2.4.8-1) unstable; urgency=medium . * New upstream bugfix release. . glib2.0 (2.4.7-1) unstable; urgency=medium . * New upstream bugfix release. * [debian/patches/000_glib-link.patch] Updated. * [debian/patches/001_translations.patch] Dropped. . glib2.0 (2.4.6-4) unstable; urgency=medium . * [debian/patches/001_translations.patch] Updated translations from CVS and relibtoolise to use new translations. * [debian/rules] Fixed udeb naming on Hurd. . glib2.0 (2.4.6-3) unstable; urgency=medium . Colin Watson : (Closes: #274053) * [debian/rules] binary-arch depends on binary-arch-udeb. * [debian/rules] Strip udeb! . glib2.0 (2.4.6-2) unstable; urgency=medium . * [debian/patches/001_translations.patch] Updated translations from CVS. * [debian/rules] Tightened "shver" to tighten shlibs, as some incompatibilities with older versions turned up with gconf. (Closes: #265659) . glib2.0 (2.4.6-1) unstable; urgency=medium . * New upstream bugfix release. . glib2.0 (2.4.5-2) unstable; urgency=low . * debian/patches/000_glib-link.patch: - patch from Jurij Smakov to link with all the libs (Closes: #263130). . glib2.0 (2.4.5-1) unstable; urgency=low . * New upstream release. . glib2.0 (2.4.4-1) unstable; urgency=low . * New upstream release. - remove spaces before "#pragma alloca" (Closes: #250667). . glib2.0 (2.4.2-1) unstable; urgency=low . * New upstream release. . glib2.0 (2.4.1-2) unstable; urgency=low . * Upload in unstable. * GNOME Team Upload. * J.H.M. Dassen (Ray) : + [debian/rules] Make the linker work a bit harder so dynamic loading can be done faster; safety measure: ensure the build aborts when the library still has references to undefined symbols. . glib2.0 (2.4.1-1) experimental; urgency=low . * New upstream release. * GNOME Team Upload. * debian/rules: - updated shlib version to 2.4.1. . glib2.0 (2.4.0-2) experimental; urgency=low . * Akira TAGOH - debian/rules: - bumped shlib version to 2.4.0. . glib2.0 (2.4.0-1) experimental; urgency=low . * New upstream release. * debian/rules: - doh. don't claim the newer shlibs. * debian/control: - added Uploaders to maintain as team. - added gnome-pkg-tools to Build-Depends. * debian/docs: - added old ChangeLog and NEWS files. . glib2.0 (2.2.3-1) unstable; urgency=low . * "Welcome back my laptop PC!" release. * New upstream release. * debian/control: - bumped Standards-Version to 3.6.1.0. . glib2.0 (2.2.2-1) unstable; urgency=low . * New upstream release. - Fix portability problems with G_MIN/MAX_INT64 (closes: Bug#195302) * debian/control: - bumped Standards-Version to 3.5.10.0. - changed the sections for libglib2.0-dev and libglib2.0-dbg to libdevel. * debian/compat: - use it instead of DH_COMPAT. . glib2.0 (2.2.1-3) unstable; urgency=low . * debian/control: - rename libglib2.0-0-udeb to libglib2.0-udeb. - delete Recommends line from libglib2.0-udeb. (closes: Bug#183749) - add Provides: libglib2.0-0 for libglib2.0-udeb. * debian/libglib2.0-udeb.files: - contain the libraries and locale data. . glib2.0 (2.2.1-2) unstable; urgency=low . * debian/rules: - create the symlinks on /usr/share/gtk-doc/html. (closes: Bug#183504) - changed DH_COMPAT to 4. * debian/control: - add libglib2.0-0-udeb package for debian-installer. . glib2.0 (2.2.1-1) unstable; urgency=low . * New upstream release. * debian/control: - needed pkg-config (>= 0.14.0). - add autotools-dev to Build-Depends. . glib2.0 (2.2.0-2) unstable; urgency=low . * close to be fixed in the upstream release. (closes: Bug#173508) . glib2.0 (2.2.0-1) unstable; urgency=low . * New upstream release. * debian/control: bumped Standards-Version to 3.5.8. . glib2.0 (2.0.7-1) unstable; urgency=low . * New upstream release. * debian/control: - changed libc6-dev to libc6-dev | libc-dev in -dev's Depends. - bumped Standards-Version and depends debhelper (>> 4). - add libgtk2.0-doc to Suggests for -doc. * debian/rules: - add symlink to fix the missing symlink for gtk. but this release doesn't include the hyperlink for gtk+ (closes: Bug#162845) - support noopt option for DEB_BUILD_OPTIONS. . glib2.0 (2.0.6-1) unstable; urgency=low . * New upstream release. * debian/rules: removed --enable-debug option. conform to the default value now. (closes: Bug#151815) * debian/patches/000_glib2.0-garray.patch: removed because it's merged by the upstream. . glib2.0 (2.0.4-3) unstable; urgency=low . * debian/patches/000_glib2.0-garray.patch: applied to fix g_ptr_array_index() macro. (closes: Bug#150521) . glib2.0 (2.0.4-2) unstable; urgency=low . * debian/libglib2.0-doc.doc-base.gobject: fix the dupplicated title. (closes: Bug#150040) . glib2.0 (2.0.4-1) unstable; urgency=low . * New upstream release. . glib2.0 (2.0.3-1) unstable; urgency=low . * New upstream release. . glib2.0 (2.0.1-2) unstable; urgency=low . * debian/scripts/vars.build: fix bashism. * debian/README.Debian: add static link issue. * debian/rules: add --enable-static. (closes: Bug#142198) . glib2.0 (2.0.1-1) unstable; urgency=low . * New upstream release. . glib2.0 (2.0.0-1) unstable; urgency=low . * Initial Release. --- debian/changelog | 6580 +++++++++++++++++ debian/clean | 6 + debian/clean-up-unmanaged-libraries | 216 + debian/control | 208 + debian/control.in | 204 + debian/copyright | 107 + debian/docs | 2 + debian/gbp.conf | 18 + debian/gio-launch-desktop | 12 + debian/libglib2.0-0.dirs | 2 + debian/libglib2.0-0.install | 7 + debian/libglib2.0-0.lintian-overrides | 7 + debian/libglib2.0-0.postinst.in | 68 + debian/libglib2.0-0.postrm.in | 21 + debian/libglib2.0-0.symbols | 4381 +++++++++++ debian/libglib2.0-0.triggers.in | 2 + debian/libglib2.0-bin.install | 13 + debian/libglib2.0-bin.links | 2 + debian/libglib2.0-bin.lintian-overrides | 2 + debian/libglib2.0-data.install | 1 + debian/libglib2.0-dev-bin.install | 19 + debian/libglib2.0-dev.README.Debian | 15 + debian/libglib2.0-dev.install | 14 + debian/libglib2.0-doc.doc-base.gio | 14 + debian/libglib2.0-doc.doc-base.glib | 12 + debian/libglib2.0-doc.doc-base.gobject | 15 + debian/libglib2.0-doc.install | 3 + debian/libglib2.0-doc.links | 3 + debian/libglib2.0-doc.lintian-overrides | 2 + debian/libglib2.0-doc.maintscript | 6 + debian/libglib2.0-tests.install | 2 + debian/libglib2.0-tests.lintian-overrides | 12 + debian/libglib2.0-udeb.install | 2 + debian/libglib2.0-udeb.lintian-overrides | 2 + ...o-Make-portal-support-aware-of-snaps.patch | 1136 +++ ...1-timer-test-use-volatile-for-locals.patch | 38 + debian/patches/01_gettext-desktopfiles.patch | 167 + .../02_gettext-desktopfiles-ubuntu.patch | 51 + ..._disble_glib_compile_schemas_warning.patch | 36 + .../06_thread_test_ignore_prctl_fail.patch | 33 + ...ra-debug-to-memory-monitor-dbus-test.patch | 70 + ...-slow-architectures-which-keep-faili.patch | 70 + ...bus-test-if-not-specifically-request.patch | 25 + ...rms-some-unreliable-floating-point-c.patch | 32 + ...le-gdbus-threading-tests--by-default.patch | 48 + ...n-arm-unless-flaky-tests-are-allowed.patch | 37 + ...mally-skip-flaky-DBUS_COOKIE_SHA1-te.patch | 35 + ...nize-gnome-console-as-a-terminal-app.patch | 29 + .../gmenumodel-test-Mark-as-flaky.patch | 30 + ...test-Don-t-run-at-build-time-on-mips.patch | 36 + ...-Skip-if-we-are-avoiding-flaky-tests.patch | 117 + .../tests-Skip-debugcontroller-test.patch | 28 + debian/patches/gvariant-security-1-01.patch | 94 + debian/patches/gvariant-security-1-02.patch | 201 + debian/patches/gvariant-security-1-03.patch | 87 + debian/patches/gvariant-security-1-04.patch | 406 + debian/patches/gvariant-security-1-05.patch | 104 + debian/patches/gvariant-security-1-06.patch | 74 + debian/patches/gvariant-security-1-07.patch | 382 + debian/patches/gvariant-security-1-08.patch | 378 + debian/patches/gvariant-security-1-09.patch | 63 + debian/patches/gvariant-security-1-10.patch | 71 + debian/patches/gvariant-security-1-11.patch | 26 + debian/patches/gvariant-security-1-12.patch | 40 + debian/patches/gvariant-security-1-13.patch | 105 + debian/patches/gvariant-security-1-14.patch | 125 + debian/patches/gvariant-security-1-15.patch | 21 + debian/patches/gvariant-security-1-16.patch | 280 + debian/patches/gvariant-security-1-17.patch | 89 + debian/patches/gvariant-security-1-18.patch | 290 + debian/patches/gvariant-security-2-1.patch | 146 + debian/patches/gvariant-security-2-2.patch | 40 + debian/patches/gvariant-security-3-1.patch | 60 + ...-parallel-unless-invoked-with-m-slow.patch | 80 + debian/patches/series | 40 + debian/rules | 296 + debian/set-cross-properties | 22 + debian/shlibs.local | 10 + debian/source/format | 1 + debian/tests/bug896019 | 170 + debian/tests/bug896019-biarch | 2 + debian/tests/build | 143 + debian/tests/build-static | 2 + debian/tests/control | 15 + debian/tests/flaky | 72 + debian/tests/installed-tests | 55 + debian/tests/lib.sh | 124 + debian/tests/run-with-locales | 165 + debian/upstream/metadata | 6 + debian/watch | 7 + 90 files changed, 18290 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/clean create mode 100755 debian/clean-up-unmanaged-libraries create mode 100644 debian/control create mode 100644 debian/control.in create mode 100644 debian/copyright create mode 100644 debian/docs create mode 100644 debian/gbp.conf create mode 100755 debian/gio-launch-desktop create mode 100644 debian/libglib2.0-0.dirs create mode 100644 debian/libglib2.0-0.install create mode 100644 debian/libglib2.0-0.lintian-overrides create mode 100644 debian/libglib2.0-0.postinst.in create mode 100644 debian/libglib2.0-0.postrm.in create mode 100644 debian/libglib2.0-0.symbols create mode 100644 debian/libglib2.0-0.triggers.in create mode 100644 debian/libglib2.0-bin.install create mode 100644 debian/libglib2.0-bin.links create mode 100644 debian/libglib2.0-bin.lintian-overrides create mode 100644 debian/libglib2.0-data.install create mode 100644 debian/libglib2.0-dev-bin.install create mode 100644 debian/libglib2.0-dev.README.Debian create mode 100644 debian/libglib2.0-dev.install create mode 100644 debian/libglib2.0-doc.doc-base.gio create mode 100644 debian/libglib2.0-doc.doc-base.glib create mode 100644 debian/libglib2.0-doc.doc-base.gobject create mode 100644 debian/libglib2.0-doc.install create mode 100644 debian/libglib2.0-doc.links create mode 100644 debian/libglib2.0-doc.lintian-overrides create mode 100644 debian/libglib2.0-doc.maintscript create mode 100644 debian/libglib2.0-tests.install create mode 100644 debian/libglib2.0-tests.lintian-overrides create mode 100644 debian/libglib2.0-udeb.install create mode 100644 debian/libglib2.0-udeb.lintian-overrides create mode 100644 debian/patches/0001-gio-Make-portal-support-aware-of-snaps.patch create mode 100644 debian/patches/0001-timer-test-use-volatile-for-locals.patch create mode 100644 debian/patches/01_gettext-desktopfiles.patch create mode 100644 debian/patches/debian/02_gettext-desktopfiles-ubuntu.patch create mode 100644 debian/patches/debian/03_disble_glib_compile_schemas_warning.patch create mode 100644 debian/patches/debian/06_thread_test_ignore_prctl_fail.patch create mode 100644 debian/patches/debian/Add-extra-debug-to-memory-monitor-dbus-test.patch create mode 100644 debian/patches/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch create mode 100644 debian/patches/debian/Skip-memory-monitor-dbus-test-if-not-specifically-request.patch create mode 100644 debian/patches/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch create mode 100644 debian/patches/debian/Skip-unreliable-gdbus-threading-tests--by-default.patch create mode 100644 debian/patches/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch create mode 100644 debian/patches/debian/gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch create mode 100644 debian/patches/debian/gdesktopappinfo-Recognize-gnome-console-as-a-terminal-app.patch create mode 100644 debian/patches/debian/gmenumodel-test-Mark-as-flaky.patch create mode 100644 debian/patches/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch create mode 100644 debian/patches/debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch create mode 100644 debian/patches/debian/tests-Skip-debugcontroller-test.patch create mode 100644 debian/patches/gvariant-security-1-01.patch create mode 100644 debian/patches/gvariant-security-1-02.patch create mode 100644 debian/patches/gvariant-security-1-03.patch create mode 100644 debian/patches/gvariant-security-1-04.patch create mode 100644 debian/patches/gvariant-security-1-05.patch create mode 100644 debian/patches/gvariant-security-1-06.patch create mode 100644 debian/patches/gvariant-security-1-07.patch create mode 100644 debian/patches/gvariant-security-1-08.patch create mode 100644 debian/patches/gvariant-security-1-09.patch create mode 100644 debian/patches/gvariant-security-1-10.patch create mode 100644 debian/patches/gvariant-security-1-11.patch create mode 100644 debian/patches/gvariant-security-1-12.patch create mode 100644 debian/patches/gvariant-security-1-13.patch create mode 100644 debian/patches/gvariant-security-1-14.patch create mode 100644 debian/patches/gvariant-security-1-15.patch create mode 100644 debian/patches/gvariant-security-1-16.patch create mode 100644 debian/patches/gvariant-security-1-17.patch create mode 100644 debian/patches/gvariant-security-1-18.patch create mode 100644 debian/patches/gvariant-security-2-1.patch create mode 100644 debian/patches/gvariant-security-2-2.patch create mode 100644 debian/patches/gvariant-security-3-1.patch create mode 100644 debian/patches/gwakeuptest-Be-less-parallel-unless-invoked-with-m-slow.patch create mode 100644 debian/patches/series create mode 100755 debian/rules create mode 100755 debian/set-cross-properties create mode 100644 debian/shlibs.local create mode 100644 debian/source/format create mode 100755 debian/tests/bug896019 create mode 100755 debian/tests/bug896019-biarch create mode 100755 debian/tests/build create mode 100755 debian/tests/build-static create mode 100644 debian/tests/control create mode 100755 debian/tests/flaky create mode 100755 debian/tests/installed-tests create mode 100644 debian/tests/lib.sh create mode 100755 debian/tests/run-with-locales create mode 100644 debian/upstream/metadata create mode 100644 debian/watch diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..f3b1f43 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,6580 @@ +glib2.0 (2.72.4-0ubuntu2.2) jammy-security; urgency=medium + + * SECURITY UPDATE: multiple GVariant security issues + - debian/patches/gvariant-security-*.patch: backported upstream fixes + for GVariant normalization issues. + - CVE-2023-24593, CVE-2023-29499, CVE-2023-25180, CVE-2023-32611, + CVE-2023-32636, CVE-2023-32643, CVE-2023-32665 + + -- Marc Deslauriers Thu, 08 Jun 2023 10:15:59 -0400 + +glib2.0 (2.72.4-0ubuntu2) jammy; urgency=medium + + * d/p/0001-gio-Make-portal-support-aware-of-snaps.patch: + - Make portal support aware of snaps (LP: #1998267) + + -- Robert Ancell Wed, 22 Mar 2023 15:52:13 +1300 + +glib2.0 (2.72.4-0ubuntu1) jammy; urgency=medium + + * New upstream release (LP: #1980408) + * Update testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch + for new testfilemonitor test. + + -- Jeremy Bicha Wed, 12 Oct 2022 14:59:04 -0400 + +glib2.0 (2.72.1-1) unstable; urgency=medium + + [ Jeremy Bicha ] + * New upstream release (LP: #1969115) + - Includes workaround for meson #1008382 + * Add patch to recognize GNOME Console as a terminal app + * Refresh patch + * debian/libglib2.0-0.symbols: Add new symbol + + [ Johannes Schauer Marin Rodrigues ] + * debian/libglib2.0-0.postinst.in: only run clean-up-unmanaged-libraries + on upgrades and not on new installations + (Closes: #1008096) + + -- Jeremy Bicha Thu, 14 Apr 2022 09:35:23 -0400 + +glib2.0 (2.72.0-1) unstable; urgency=medium + + * New upstream release + - Fix assertion failure with time zone offsets >= 25 hours + (Closes: #1007226) + - Various unit test fixes + - Fix a memory leak with an invalid format in g_vasprintf() + - Translation updates + * Merge 2.71.x release history from experimental + - d/gbp.conf, d/control.in: Update branch for upload to unstable + * Upload to unstable + + -- Simon McVittie Fri, 18 Mar 2022 09:05:21 +0000 + +glib2.0 (2.70.5-1) unstable; urgency=medium + + * New upstream release + - Fix assertion failure with time zone offsets >= 25 hours + (Closes: #1007226) + - Fix possible buffer overflow in g_canonicalize_filename() + + -- Simon McVittie Thu, 17 Mar 2022 23:28:00 +0000 + +glib2.0 (2.70.4-1) unstable; urgency=medium + + * New upstream release + * Adjust Lintian overrides for newer Lintian + + -- Simon McVittie Tue, 15 Feb 2022 10:08:01 +0000 + +glib2.0 (2.71.3-1) experimental; urgency=medium + + * New upstream development release + + -- Simon McVittie Tue, 08 Mar 2022 19:53:44 +0000 + +glib2.0 (2.71.2-1) experimental; urgency=medium + + * New upstream development release + * Update symbols file. + Ignore removal of g_debug_controller_dup_default, which was only added + during this development cycle. GLib doesn't guarantee ABI stability + within x.odd.z branches. + * d/p/debian/tests-Skip-debugcontroller-test.patch: + Add patch to skip another unreliable unit test while it's investigated + upstream + + -- Simon McVittie Tue, 15 Feb 2022 20:52:33 +0000 + +glib2.0 (2.71.1-1) experimental; urgency=medium + + * New upstream development release + * Merge packaging changes from unstable + - Use debhelper 13 features instead of dh-exec + * Update symbols file + + -- Simon McVittie Thu, 27 Jan 2022 16:43:04 +0000 + +glib2.0 (2.70.3-1) unstable; urgency=medium + + * New upstream release + - Do not allow empty structs (tuples) in D-Bus messages, resolving a + denial-of-service vulnerability for private GDBus servers that accept + messages from untrusted clients (glib#2557) + - Do not allow deep recursion in serialized GVariant binary data, + resolving a denial of service for anything that loads untrusted + GVariant binary data (glib#2572) + - Fix file descriptor handling when launching subprocesses + - Don't skip fsync when writing out files on btrfs. + This was based on a kernel behaviour that was guaranteed prior to + 2014, but is no longer considered to be a guarantee. + - Translation updates + * Use debhelper 13 features instead of dh-exec + debhelper now has ${DEB_HOST_MULTIARCH} substitutions, so we don't need + to use dh-exec for those. + After that, the one remaining dh-exec feature in use was a conditional + installation for the FAM GIO module for Hurd. Open-code this in d/rules + instead. + * d/gbp.conf: Use upstream/2.70.x branch for packaging. + We have already had a 2.71.x release. + + -- Simon McVittie Wed, 26 Jan 2022 20:18:19 +0000 + +glib2.0 (2.71.0-2) experimental; urgency=medium + + * Merge packaging updates from unstable + + -- Simon McVittie Mon, 27 Dec 2021 17:05:59 +0000 + +glib2.0 (2.70.2-1) unstable; urgency=medium + + * New upstream release + * Build-Depend on dh-sequence-gnome and dh-sequence-python3 + * debian/rules: Drop environment variable clearing now done for us by dh13 + + -- Jeremy Bicha Sat, 04 Dec 2021 20:58:45 -0500 + +glib2.0 (2.71.0-1) experimental; urgency=medium + + * New upstream development release + * Unfuzz patch series + * Update symbols file + + -- Simon McVittie Mon, 27 Dec 2021 15:04:01 +0000 + +glib2.0 (2.70.1-1) unstable; urgency=medium + + * New upstream release + - Functionally equivalent to previous releases to Debian, except for + Windows-specific changes + * Drop patches that came from upstream + * d/upstream/metadata: Add + * Use debhelper compat level 13 + - Drop override for dh_missing --fail-missing, which is now the default + + -- Simon McVittie Fri, 05 Nov 2021 15:58:04 +0000 + +glib2.0 (2.70.0-3) unstable; urgency=medium + + * d/rules: Remove internal_pcre build option, which no longer exists. + Meson 0.60.0 no longer tolerates this. + + -- Simon McVittie Mon, 25 Oct 2021 11:25:31 +0100 + +glib2.0 (2.70.0-2) unstable; urgency=medium + + * d/patches: Update to upstream glib-2-70 branch commit + 2.70.0-41-g359a837ee. + Among other fixes, this makes sure we receive change-notification from + NetworkManager (>= 1.31.5), which dropped its legacy PropertiesChanged + signal in favour of using standard D-Bus Properties. (LP: #1946196) + * Add Breaks on older versions of glib-networking-tests. + With this GLib, the old way glib-networking's tests used to mock up + a particular negotiated protocol no longer works. + * Add Breaks on versions of gnome-keyring that had elevated capabilities. + Security hardening in GLib 2.70.0 interferes with their ability to + connect to D-Bus in some system configurations. (See #994961) + * Remove vestigial triggers for /usr/lib/gio/modules. + We no longer load files from that directory (since Debian 11 and Ubuntu + 20.04), but we still had a trigger for it, and the postinst still created + a module cache if it existed. + * d/libglib2.0-0.postinst.in: Clean up /usr/lib/gio/modules on upgrade. + This directory would still exist if older versions of GLib created a + cache there. + * d/libglib2.0-0.postinst.in: Add comments indicating when other + workarounds can be removed + * Add Lintian override for a unit test depending on a private library + * Skip memory-monitor-dbus test by default, and add extra debug info. + Helps: #995178 + + -- Simon McVittie Sun, 24 Oct 2021 22:41:35 +0100 + +glib2.0 (2.70.0-1) unstable; urgency=medium + + * New upstream release + * d/rules: Make shared objects in installed-tests non-executable + * Remove shebang from taptestrunner.py differently + - Remove shebang from installed file using sed. + This avoids missing the fact that there are two copies in the source, + of which we only patched one. + - d/p/debian/taptestrunner-Stop-looking-like-an-executable-script.patch: + Drop, no longer necessary + * Add Lintian override for #970275 + * d/copyright, d/libglib2.0-0.symbols: Update + * d/gbp.conf: Switch upstream branch + * Unfuzz patch series + * Standards-Version: 4.6.0 (no changes required) + + -- Simon McVittie Sun, 19 Sep 2021 17:11:43 +0100 + +glib2.0 (2.68.4-1) unstable; urgency=medium + + * New upstream release + - Avoid a deadlock while finalizing a GLocalFileMonitor + - Correctly use 3 parameters for close_range(), fixing build with + glibc 2.34 + - Fix global trash directory detection + - Make g_string_replace() with empty search string behave sensibly + (matching Python str.replace()) + - Translation updates: oc, zh_CN, zh_TW + * tests: Specify charset for generated locales to fix FTBFS with new glibc. + glibc 2.31-14 dropped support for all non-UTF-8 locales, so we can't + use /usr/share/i18n/SUPPORTED to choose a suitable charset any more. + * d/rules: Override dh_fixperms to set correct permissions on /usr/libexec. + Making everything executable is not quite right for installed-tests. + + -- Simon McVittie Fri, 20 Aug 2021 10:31:42 +0100 + +glib2.0 (2.68.3-2) unstable; urgency=medium + + * Merge from experimental branch + * Changes relative to 2.68.3-1 in experimental: + - d/watch: Only watch for stable (2.even.z) releases + - d/p/debian/61_glib-compile-binaries-path.patch: Remove. + This patch turns out to be unnecessary, and is harmful for + cross-compiling. Thanks to Helmut Grohne (Closes: #982213) + * Changes relative to previous version in unstable: + - New upstream stable release branch 2.68.x + - Fix maintainer scripts' handling of /usr/lib/MULTIARCH/gio/modules + (Closes: #987913, see 2.68.1-2 changelog) + - Mark dbus as . + Several of the installed-tests won't be built unless dbus-daemon is + available, so is insufficient. + - Move test-dependencies to Build-Depends-Arch. + We don't run the majority of the tests when we're only building the + documentation. + - Remove an unused Lintian override + - Add more Lintian overrides for test data + - Use d/tests/run-with-locales for better locale-sensitive test coverage + * d/rules: Fix dead link when documenting why we use -Wl,--no-as-needed + * Bump minimum GLib version for callers of g_dbus_server_new_sync() + Programs that call this function might be passing in the new flag + G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_REQUIRE_SAME_USER, which is + security-significant. Don't allow such programs to be built against + GLib 2.68 and run with GLib 2.66 or older. + * Add Breaks on libsoup2.4-tests before 2.72.0-3. + Older versions of the libsoup test suite had an assertion that would + only succeed because of a GLib bug, which is fixed in 2.68.x. Newer + versions tolerate the bug, but do not require it. + + -- Simon McVittie Sun, 15 Aug 2021 14:57:30 +0100 + +glib2.0 (2.68.3-1) experimental; urgency=medium + + * New upstream release 2.68.3, fixing bugs: + - GFile: `g_file_replace_contents()` reports `G_IO_ERROR_WRONG_ETAG` when + saving from a symlink + - glocalfileoutputstream: Fix ETag check when replacing through a symlink + - gmacros: check that __cplusplus or _MSC_VER is defined + - gmacros: missing check if __STDC_VERSION__ is defined + - gthreadedresolver: don't ignore flags in lookup_by_name_with_flags + - inotify: Fix a memory leak + - json-glib does not build with glib 2.68.1 + - testfilemonitor test leaks ip_watched_file_t struct + - tlscertificate: Avoid possible invalid read + + -- Iain Lane Tue, 29 Jun 2021 15:24:06 +0100 + +glib2.0 (2.68.1-2) experimental; urgency=medium + + * Fix maintainer scripts' handling of /usr/lib/MULTIARCH/gio/modules: + - postrm: Only delete GIO module cache on remove or purge. + Despite its name, the postrm can be invoked for reasons other than + package removal: in particular, the old version's postrm is run + during upgrades. + - postinst: Recreate GIO module directory if deleted by an older + postrm, to recover from the bug fixed here. + - postinst: Don't guard glib-compile-schemas or gio-querymodules with + a check for existence of a directory that is shipped in the .deb. + If such a directory has somehow gone missing, we want to see + a warning. This won't make the postinst fail, because we're ignoring + exit status anyway. + (Closes: #987913) + + -- Simon McVittie Sun, 02 May 2021 14:45:36 +0100 + +glib2.0 (2.68.1-1) experimental; urgency=medium + + * New upstream stable release + * d/tests/run-with-locales: Avoid FTBFS with locales-all installed + + -- Simon McVittie Thu, 15 Apr 2021 09:42:05 +0100 + +glib2.0 (2.68.0-1) experimental; urgency=medium + + * New upstream stable release + - Drop dead code from glib-compile-schemas + - Improve valgrind suppressions + - Fix error in g_bytes_icon_new() documentation + - Avoid close(-1) during error handling + - Fix copy/paste error in queue test + - Translation updates + * Add CVE ID references to previous changelog entries. + CVE IDs were not yet available at the time these vulnerabilities were + initially fixed. + + -- Simon McVittie Sat, 20 Mar 2021 15:42:00 +0000 + +glib2.0 (2.67.6-1) experimental; urgency=medium + + * New upstream release + - This fixes a symlink attack affecting file-roller. + When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION + to replace a path that is a dangling symlink, previously it would + have also created the target of the symlink as an empty file, which + could conceivably be security-sensitive if the symlink is + attacker-controlled. (Closes: #984969; CVE-2021-28153) + * Revert test-dependency on libc6-dev, which should no longer be + necessary with the new upstream release. + + -- Simon McVittie Mon, 15 Mar 2021 18:18:48 +0000 + +glib2.0 (2.67.5-2) experimental; urgency=medium + + * debian/tests/control: Test-Depend on libc6-dev; the `pollable` test + requires it. See [upstream MR !1977][0]. The upstream tests now rely on + finding "libutil.so", which is in libc6-dev. Once that MR, or something + like it, is merged, we can remove this test-dep as the runtime library + will be being used. + [0]: https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1977 + + -- Iain Lane Tue, 02 Mar 2021 18:29:23 +0000 + +glib2.0 (2.67.5-1) experimental; urgency=medium + + * New upstream release + + Fix more issues with `glib_typeof` macro from 2.67.3–2.67.4 (LP: + #1916705) + + Fix regression with some FD mappings passed to + `g_subprocess_launcher_spawnv()` (Closes: #983026) (LP: #1916701) + * debian/watch: Fix to not match `..`. The watch file was matching the + "Parent directory/" link and considering that the highest, since its + target is `..`. Expect 1+ digits to begin the version number. + + + -- Iain Lane Mon, 01 Mar 2021 17:18:36 +0000 + +glib2.0 (2.67.4-1) experimental; urgency=medium + + * New upstream release + - Among other changes, this should fix FTBFS on armel + * d/libglib2.0-0.symbols: Add g_spawn_async_with_pipes_and_fds + + -- Simon McVittie Wed, 17 Feb 2021 09:58:25 +0000 + +glib2.0 (2.67.3+git20210214-1) experimental; urgency=medium + + * d/changelog: Add bug reference for GHSL-2021-045 to previous entry + * New upstream git snapshot; among other changes: + - Fix regressions caused by the GHSL-2021-045 fixes in 2.67.3 + - Warn and fail on integer overflow in g_byte_array_new_take() + for arrays larger than G_MAXUINT + (Closes: #982779; CVE-2021-27218) + * d/libglib2.0-0.symbols: Add g_string_replace() + * Refresh patch series + * d/rules, d/tests: Generate various locales mentioned in the tests + * Mark dbus as . + Several of the installed-tests won't be built unless dbus-daemon is + available, so is insufficient. + * Move test-dependencies to Build-Depends-Arch. + We don't run the majority of the tests when we're only building the + documentation. + * Remove an unused Lintian override + * Add more Lintian overrides for test data + + -- Simon McVittie Sun, 14 Feb 2021 17:27:54 +0000 + +glib2.0 (2.67.3-1) experimental; urgency=medium + + * New upstream release + - Fix various integer overflows, some of them potentially exploitable + (Closes: #982778; CVE-2021-27219, GHSL-2021-045) + * Drop patches that came from upstream or were applied upstream + + -- Simon McVittie Thu, 04 Feb 2021 22:38:42 +0000 + +glib2.0 (2.67.2-1) experimental; urgency=medium + + * New upstream release + * Refresh patch series + * d/patches: Cherry-pick some fixes from upstream git master. + This is mostly for parity with the update to 2.66.x that I'm preparing + for unstable, which also includes the XDG_CURRENT_DESKTOP fixes. + * d/p/spawn-Don-t-set-a-search-path-if-we-don-t-want-to-search-.patch: + Make the g_spawn family only search PATH if G_SPAWN_SEARCH_PATH is used. + Previously, they would sometimes search /usr/bin:/bin:. for an + executable they should have only loaded from the current working + directory. In particular, this made gtk+3.0 fail its build-time tests + if ImageMagick display(1) happened to be installed. (Closes: #977961) + + -- Simon McVittie Wed, 27 Jan 2021 12:57:48 +0000 + +glib2.0 (2.67.1-1) experimental; urgency=medium + + * Branch for experimental and 2.67.x + * New upstream development release + * Temporarily use git to fetch upstream release. + The official tarball release doesn't seem to have made it onto mirrors. + * d/rules: Explicitly enable libelf dependency for gresource tool + * d/p/Handle-the-case-of-g_object_run_dispose-in-GBinding.patch: + Add patch from upstream to fix a regression in GBinding that caused + gnome-terminal-server to crash on startup + + -- Simon McVittie Fri, 11 Dec 2020 11:16:25 +0000 + +glib2.0 (2.66.8-1) unstable; urgency=medium + + * d/watch: Only watch for 2.66.x versions. + 2.68.0 has been released but will not be in bullseye. + * New upstream release + - Functionally equivalent to 2.66.7-2, except for the version number + and a change to Windows-specific code that is not used in Debian + * Drop patches that were included in the new upstream release + * d/p/glocalfileoutputstream-Tidy-up-error-handling.patch: + Add patch from upstream to clean up error handling. + After the fix for #984969, this function could end up calling close(-1), + which is harmless but gets flagged as an error by static analysis and + by error-checking instrumentation. Fixing this will prevent it from + obscuring real errors. + * Add CVE references in recent changelog entries. + CVE IDs for the vulnerabilities were not available at the time they were + fixed, but now they are. + + -- Simon McVittie Sat, 20 Mar 2021 15:35:19 +0000 + +glib2.0 (2.66.7-2) unstable; urgency=medium + + * d/changelog: Add bug numbers for integer overflows in previous versions + * Add patches to fix a symlink attack affecting file-roller. + When g_file_replace() is used with G_FILE_CREATE_REPLACE_DESTINATION to + replace a path that is a dangling symlink, previously it would have also + created the target of the symlink as an empty file, which could + conceivably be security-sensitive if the symlink is attacker-controlled. + (Closes: #984969; CVE-2021-28153) + + -- Simon McVittie Thu, 11 Mar 2021 10:23:38 +0000 + +glib2.0 (2.66.7-1) unstable; urgency=high + + * New upstream release + - Fix another regression caused by the GHSL-2021-045 fixes in 2.66.6 + - Warn and fail on integer overflow in g_byte_array_new_take() + for arrays larger than G_MAXUINT + (Closes: #982779; CVE-2021-27218) + - Disallow using currently-undefined D-Bus connection or server flags, + to prevent forward-compatibility problems with new security-sensitive + flags that are likely to be introduced in GLib 2.68 + * Drop previous patches for GHSL-2021-045 regressions, applied upstream + + -- Simon McVittie Thu, 11 Feb 2021 17:08:14 +0000 + +glib2.0 (2.66.6-2) unstable; urgency=high + + * d/patches: Add proposed fixes for regressions in 2.66.6. + Two functions that took either a positive length, or -1 to indicate + strlen(), had assertions with the wrong sense in 2.66.6, causing some + valid uses of those functions to regress. + * d/p/debian/61_glib-compile-binaries-path.patch: Remove. + This patch turns out to be unnecessary, and is harmful for + cross-compiling. Thanks to Helmut Grohne (Closes: #982213) + * Set high urgency to get the regression fixes into bullseye + + -- Simon McVittie Mon, 08 Feb 2021 19:43:08 +0000 + +glib2.0 (2.66.6-1) unstable; urgency=high + + * New upstream release + - Fix various integer overflows, some of them potentially exploitable + (Closes: #982778; CVE-2021-27219, GHSL-2021-045) + + -- Simon McVittie Thu, 04 Feb 2021 20:24:20 +0000 + +glib2.0 (2.66.5-1) unstable; urgency=medium + + * New upstream release, equivalent to 2.66.4-27-g0051c0635 + * Drop patches that were applied upstream + + -- Simon McVittie Wed, 03 Feb 2021 19:16:01 +0000 + +glib2.0 (2.66.4-4) unstable; urgency=medium + + * d/patches: Update patch series to upstream commit 2.66.4-27-g0051c0635 + - Improve test coverage for #977961 + - Stop valgrind reporting memory leaks in GSpawn in most cases + - Partially revert security hardening from 2.66.4-2: allow + DBUS_SESSION_BUS_ADDRESS to be taken from the environment by + setcap executables (to avoid regressing gnome-keyring) and by + setgid executables (to avoid regressing msmtp). + (Closes: #981420, #981555) + Note that this is likely to be reverted in GLib 2.70.x to provide + better hardening. The D-Bus session bus is not designed to be used + by processes that have elevated privileges. + + -- Simon McVittie Wed, 03 Feb 2021 13:55:41 +0000 + +glib2.0 (2.66.4-3) unstable; urgency=medium + + * Improve patch for #977961, and add basic test coverage + + -- Simon McVittie Thu, 28 Jan 2021 19:05:50 +0000 + +glib2.0 (2.66.4-2) unstable; urgency=medium + + * d/patches: Update patch series to upstream commit 2.66.4-18-g872181c4f + (excluding Windows-specific changes) + - Security hardening: in GIO, ignore various environment variables + if GIO is (inadvisably) used in a setuid process without sanitizing + the environment first, similar to CVE-2012-3524 + - Reject very long date strings early, instead of spending time + normalizing and parsing them + - Fix recursion in GPrivate + * d/p/spawn-Don-t-set-a-search-path-if-we-don-t-want-to-search-.patch: + Make the g_spawn family only search PATH if G_SPAWN_SEARCH_PATH is used. + Previously, they would sometimes search /usr/bin:/bin:. for an + executable they should have only loaded from the current working + directory. In particular, this made gtk+3.0 fail its build-time tests + if ImageMagick display(1) happened to be installed. (Closes: #977961) + + -- Simon McVittie Wed, 27 Jan 2021 11:33:06 +0000 + +glib2.0 (2.66.4-1) unstable; urgency=medium + + * New upstream release + + -- Simon McVittie Fri, 18 Dec 2020 17:26:51 +0000 + +glib2.0 (2.66.3-2) unstable; urgency=medium + + * Apply packaging changes from experimental to unstable: + - postinst: Clean up outdated copies of GLib if present, to avoid + infrequent upgrade issues on non-merged-/usr systems. + See #911225 and #949395 for more information. + (Closes: #896019, #954960, #955331) + * Add myself to Uploaders + * Standards-Version: 4.5.1 (no changes required) + * Swap Homepage field to something more GLib-specific + * d/gbp.conf: Change upstream branch to upstream/2.66.x. + 2.67.0 was already released, so it's inaccurate to say that 2.66.x + is the latest. + + -- Simon McVittie Wed, 02 Dec 2020 12:28:42 +0000 + +glib2.0 (2.66.3-1+exp1) experimental; urgency=medium + + * Merge from unstable + + -- Simon McVittie Thu, 19 Nov 2020 20:47:54 +0000 + +glib2.0 (2.66.3-1) unstable; urgency=medium + + * Team upload + * New upstream release + - Improve performance of processing files hidden via ./.hidden + - All other changes were already included in 2.66.2-1 + * Drop patches that were cherry-picked from upstream + * Stop reverting gtk-doc dependency version. + We now have a suitable gtk-doc in Debian. + * Drop a patch that was not applied upstream. + This was hoped to be a workaround for intermittent test failures, but + doesn't seem to have had the desired effect in practice. + * Mark the DBUS_COOKIE_SHA1 parts of gdbus-server-auth test as flaky. + This is not reliable enough to always pass on buildds, but is too + intermittent to be able to reproduce the failure in a development + environment, and DBUS_COOKIE_SHA1 is not an important enough feature + to justify failing the build for this. + As with other flaky tests, we still run this as an autopkgtest in an + attempt to get more useful information, but we ignore failure. + + -- Simon McVittie Thu, 19 Nov 2020 11:11:06 +0000 + +glib2.0 (2.66.2-1+exp1) experimental; urgency=medium + + * Branch for experimental + * postinst: Clean up outdated copies of GLib to avoid infrequent + upgrade issues on non-merged-/usr systems + (Closes: #896019, #954960, #955331) + + -- Simon McVittie Sun, 01 Nov 2020 13:11:00 +0000 + +glib2.0 (2.66.2-1) unstable; urgency=medium + + * Team upload + * New upstream release + - Add some missing (nullable) and (not nullable) annotations + * Drop patches that were cherry-picked from upstream + * Update patch series to upstream 2.66.2-9-g4daaf303a + - Fix race in socketclient-slow test + - Cope with sending fds in a D-Bus message that takes multiple writes + - Don't skip updating polled fd sources + - Add G_GNUC_PRINTF annotation to g_trace_mark() + * d/p/glib-tests-fileutils-Make-more-use-of-g_assert_no_errno.patch, + d/p/glib-tests-fileutils-Fix-expectations-when-running-as-roo.patch: + Add proposed patch to fix a test failure when running as root + (Closes: #973271) + * d/rules: Remove migration path from legacy -dbg package. + This was most recently shipped in Debian 9, and we don't support + upgrades from anything older than Debian 10. + * Drop obsolete workaround for #887629. + We don't support upgrades from versions older than Debian 10, so we can + drop workarounds that were only relevant for the upgrade from 9 to 10. + + -- Simon McVittie Sat, 31 Oct 2020 13:54:56 +0000 + +glib2.0 (2.66.1-2) unstable; urgency=medium + + * Cherry-pick patches from the glib-2-66 branch upstream + - Fixes the regression called out in 2.66.1-1's changelog. + * Add-a-test-for-the-6-days-until-EOM-bug.patch, + Fix-the-6-days-until-the-end-of-the-month-bug.patch: Cherry-pick upstream + mr!1705 to not break on timezones built with `zic -b slim` + + -- Iain Lane Fri, 16 Oct 2020 17:38:50 +0100 + +glib2.0 (2.66.1-1) unstable; urgency=medium + + * Team upload + * New upstream release + - A performance problem where timezones were reloaded from disk + every time a GTimeZone was created has been fixed (upstream issue + #2204), but this means that changes to /etc/localtime will not take + effect until a process restarts. Future changes in a subsequent + 2.66.x release will improve this. + - Security fix for incorrect scope/zone ID parsing in URIs + - Fix invalid Pointer Arithmetic in g_path_get_basename + - Fix cookie lifetimes in GDBus DBUS_COOKIE_SHA1 mechanism + - Fix faulty logic in DNS TXT record parsing + - trash portal: Handle portal failures + - gio-tool-trash: Prevent recursion to speed up emptying trash + - glist: Clarify that g_list_free() and friends only free an entire list + - gdatetime: Avoid integer overflow creating dates too far in the past + - Translation updates + * d/p/glocalfile-Never-require-G_LOCAL_FILE_STAT_FIELD_ATIME.patch, + d/p/gdbusauthmechanismsha1-Use-the-same-timeouts-as-libdbus.patch: + Drop patches that were applied upstream + + -- Simon McVittie Mon, 12 Oct 2020 09:31:27 +0100 + +glib2.0 (2.66.0-2) unstable; urgency=medium + + * Team upload + * d/p/glocalfile-Never-require-G_LOCAL_FILE_STAT_FIELD_ATIME.patch: + Add proposed patch to fix file copying on ZFS and CIFS (Closes: #970228) + * d/p/gdbus-server-auth-Don-t-usually-test-non-EXTERNAL-repeate.patch: + Add proposed patch to work around DBUS_COOKIE_SHA1 test failures + * d/p/Revert-gtk-doc-dependency-to-1.32.patch: Move to debian subdirectory. + This patch is not intended to go upstream. + + -- Simon McVittie Tue, 15 Sep 2020 22:12:49 +0100 + +glib2.0 (2.66.0-1) unstable; urgency=medium + + * Team upload + * New upstream stable release + - Fix missing tab in makefile rule + - guri: Fix user passed to g_uri_split_with_user() not being NULL'd + - Translation updates: + * d/watch: Only watch for stable releases + * d/p/gdbusauthmechanismsha1-Use-the-same-timeouts-as-libdbus.patch: + Add patch to fix intermittent test failures on slower architectures. + This narrowly missed the upstream code freeze, and should be in 2.66.1. + + -- Simon McVittie Fri, 11 Sep 2020 09:18:58 +0100 + +glib2.0 (2.65.3-1) experimental; urgency=medium + + * New upstream release + + Fixes to the new `statx()` calls — note that since GLib 2.65.2 uses + `statx()` (if available) instead of + `stat()`/`fstat()`/`lstat()`/`fstatat()`, syscall sandboxing for third + party applications might need to be updated + + Also includes "Fix splice behavior on cancellation", a fix for a bug + which was affecting tracker - particularly its autopkgtests. + + -- Iain Lane Thu, 03 Sep 2020 18:55:20 +0100 + +glib2.0 (2.65.2-1) experimental; urgency=medium + + * Team upload + * New upstream development release + * d/rules: Run gtk-doc checks, even if building indep-only. + Previously we would only run the gtk-doc checks if building + architecture-dependent and -independent packages in the same build, + which is done on Ubuntu amd64 buildds, but not on any Debian buildds. + * Reduce dependency to the version of gtk-doc-tools from unstable. + Instead of being some random snapshot from upstream git, this is the + last release plus some selected patches. In particular, it has enough + fixes to make the gtk-doc tests pass (Closes: #968975). + * d/libglib2.0-tests.lintian-overrides: Update + + -- Simon McVittie Tue, 25 Aug 2020 12:44:02 +0100 + +glib2.0 (2.65.1-1) experimental; urgency=medium + + [ Sebastien Bacher ] + * debian/control.in: + - let libglib2.0-tests Depends on libglib2.0-0 (= ${binary:Version}), + otherwise we can end up with failures due to out of sync versions + + [ Simon McVittie ] + * d/shlibs.local: Upgrade all binary packages in lockstep. + Like many projects where one source package builds multiple binary + packages, GLib has private headers that share non-public interfaces + between its binary packages. Instead of setting this up for individual + binary packages, we can tell dpkg-shlibdeps to generate lockstep + dependencies whenever one of our binary packages depends on our shared + libraries. + * d/watch, d/control.in, d/gbp.conf: Branch for experimental + * New upstream development release + - Require the experimental version of gtk-doc-tools. + GLib 2.65.x requires a version that hasn't been released yet. + - Update symbols file + - Drop patches that were applied upstream + + -- Simon McVittie Fri, 07 Aug 2020 15:44:34 +0100 + +glib2.0 (2.64.4-1) unstable; urgency=medium + + * Team upload + * New upstream release + - Improve async-signal-safety + * d/tests/build: Don't exercise static linking for GIO. + libmount will no longer support being linked statically from 2.35.2-8 + onwards. For now I'm continuing to test that the other libraries can + still be statically linked, but please consider them to be "at risk". + (Closes: #963933) + * Re-enable libmount support. + libmount no longer depends on libcryptsetup, avoiding the various + crashes that we are working around. Future versions will dlopen it + on-demand, which should also avoid those crashes. Bump the + build-dependency to a suitable version. + * d/p/tests-Use-g_assert_-in-cancellable-test-rather-than-g_ass.patch, + d/p/gcancellable-Fix-minor-race-between-GCancellable-and-GCan.patch: + Split combined d/p/git_gsource_segfault.patch into its two component + upstream commits, and add metadata + * d/p/glib-compile-resources-Fix-exporting-on-Visual-Studio.patch, + d/p/gdesktopappinfo-Fix-unnecessarily-copied-and-leaked-URI-l.patch: + Add post-release bugfixes from upstream + + -- Simon McVittie Tue, 07 Jul 2020 13:33:01 +0100 + +glib2.0 (2.64.3-2) unstable; urgency=medium + + * Team upload + * Temporarily disable libmount support. + Recent Debian revisions of libmount pull in libcryptsetup as a + dependency, for dm-verity support. libcryptsetup depends on json-c + and OpenSSL, causing crashes due to symbol conflicts with other + JSON libraries (jansson and json-glib, for example in firewalld and + virt-manager) and with statically-linked copies of OpenSSL (for + example in Steam and Minecraft). Until this is resolved in some + other way, disable libmount and parse /etc/fstab and /proc/mounts + ourselves, as we do in libglib2.0-udeb. + Mitigates: #963933, #963932, #963525, #963721 + + -- Simon McVittie Thu, 02 Jul 2020 10:05:03 +0100 + +glib2.0 (2.64.3-1) unstable; urgency=medium + + * Team upload + + [ Laurent Bigonville ] + * Drop the libgio-fam package, and install the fam GIO plugin in + libglib2.0-0 on Hurd ports. See: #885011 (Closes: #875915) + * Stop building the libgio-fam package on kFreeBSD ports. + It is no longer necessary now that gkqueuefilemonitor is available. + + [ Simon McVittie ] + * Clarify changelog entry regarding Hurd and kFreeBSD + * New upstream stable release + + -- Simon McVittie Fri, 29 May 2020 20:24:33 +0100 + +glib2.0 (2.64.2-1) unstable; urgency=medium + + [ Simon McVittie ] + * Add Breaks on older versions of gimp, which used a syntactically + invalid property name in a plugin, and would crash when GObject + rejects syntactically invalid property names + + [ Sebastien Bacher ] + * New upstream release + * debian/patches/git_gsource_segfault.patch: + - backport an upstream git change to fix a signal handler disconnect + segfault situation (lp: #1872153) + + -- Sebastien Bacher Wed, 15 Apr 2020 23:01:50 +0200 + +glib2.0 (2.64.1-1) unstable; urgency=medium + + * Team upload + * New upstream stable release + * d/p/tests-Skip-MemoryMonitor-test-if-GObject-Introspection-is.patch: + Drop patch, applied upstream + * Add Breaks on glib-networking-tests older than 2.63.2. + Those versions had a test that relied on TLS version fallback + behaviour that has now been removed. (Closes: #953766) + + -- Simon McVittie Sun, 15 Mar 2020 18:39:17 +0000 + +glib2.0 (2.64.0-2) unstable; urgency=medium + + * Team upload + * Merge packaging changes from unstable with new upstream release from + experimental + * d/control.in: Add Breaks on libgladeui-2-6 before 3.22.2. + Older versions used a syntactically invalid property name + "support warning", which GObject used to canonicalize to + "support-warning". GLib 2.64 made this check more strict (see #953010). + + -- Simon McVittie Tue, 10 Mar 2020 21:22:18 +0000 + +glib2.0 (2.64.0-1) experimental; urgency=medium + + * Team upload + * New upstream release + - Fixes a vulnerability where GSocketClient sometimes forgot to use + a configured proxy (CVE-2020-6750, Closes: #948554) + - Stop installing gio-launch-desktop, which no longer exists + - d/p/docs-Don-t-install-object-manager-example-separately.patch: + Drop, applied upstream + * d/p/debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch: + Treat testfilemonitor as a flaky test + * Standards-Version: 4.5.0 (no changes required) + * New upstream release + * d/p/tests-Skip-MemoryMonitor-test-if-GObject-Introspection-is.patch: + Skip MemoryMonitor test if GObject-Introspection is too old to know it + * Install a shell script implementation of the old gio-launch-desktop + executable. While not required for *this* GLib, it is required by + old processes that already had the old GLib (2.57.2 to 2.63.5) in + memory before the upgrade. This can be removed after Ubuntu 20.04 + and Debian 11 are both released. + + -- Simon McVittie Fri, 28 Feb 2020 17:16:04 +0000 + +glib2.0 (2.63.5-2) experimental; urgency=medium + + * Skip-unreliable-gdbus-threading-tests--by-default.patch: Skip all of + gdbus-threading test_method_calls_in_thread() has become (more?) + unreliable too. When skipped, the test bus doesn't get torn down properly + - it times out. Let's stop running these tests for now, until they are + made reliable. + + -- Iain Lane Wed, 19 Feb 2020 17:16:16 +0000 + +glib2.0 (2.63.5-1) experimental; urgency=medium + + [ Iain Lane ] + * New upstream release + + [ Philip Withnall ] + * Rework 01_gettext-desktopfiles.patch to not add new public API. + Downstreams should not be adding new public API to GLib. From some code + searching, this doesn’t appear to be used in more than one or two places, + so won’t be too inconvenient to drop. The original patch should either be + upstreamed (I’d be open to some form of it, if there’s still evidence it’s + useful) or dropped. If it’s upstreamed, the new keys should be + standardised. The alternative to this was to document the added public + API; its addition was causing the new gtk-doc tests in GLib to fail. + * Bump gtk-doc-tools dependency to >= 1.32-4 as GLib requires some fixes + pushed to gtk-doc after its 1.32 release. + * control: Bump Meson dependency to >= 0.52.0 for building the documentation + * Drop PKCS#11 APIs added in 2.63.1 (not stable yet) + - g_tls_certificate_new_from_pkcs11_uris() + * Remove patches applied upstream: + - tests-Skip-GMemoryMonitor-tests-if-the-dbusmock-template-.patch + - tests-optional-portal.patch + * d/p/docs-Don-t-install-object-manager-example-separately.patch: Add patch + from upstream to disable incorrect installation of some example + documentation + * Rework libmount Meson argument as it’s now a feature; see !1344 upstream + + -- Iain Lane Mon, 17 Feb 2020 17:47:17 +0000 + +glib2.0 (2.63.3-3) experimental; urgency=medium + + * debian/control.in: + - lower the libglib2.0-tests Depends on xdg-desktop-portal to a + Recommends since the portal is not available on some architectures + * debian/patches/tests-optional-portal.patch: + - skip the new memory monitor tests if the portal is not available, + that allows the tests to be still successful on architectures were + the portal is not available (e.g Ubuntu/i386) + + -- Sebastien Bacher Wed, 22 Jan 2020 09:36:27 +0200 + +glib2.0 (2.63.3-2) experimental; urgency=medium + + * debian/control.in: + - libglib2.0-tests Depends on xdg-desktop-portal, it's required by the + new low memory tests (and got enabled by the new python-dbusmock) + + -- Sebastien Bacher Thu, 16 Jan 2020 10:28:46 +0100 + +glib2.0 (2.63.3-1) experimental; urgency=medium + + [ Iain Lane ] + * New upstream release + + Add a `--glib-min-version` argument to `gdbus-codegen` which controls + breaks in the API of generated code + + Add `g_clear_list()` API to clear `GList`s to `NULL` + + Add a `GMemoryMonitor` API to be notified of memory pressure situations + using the low-memory-monitor project + + Add support for dispose functions for `GSource` implementations + + Tighten up validation of GObject signal and property names, allowing + performance improvements + * debian/tests/build: Style fixes, thanks to shellcheck. + * d/p/d/Disable-some-tests-on-slow-architectures-which-keep-faili.patch: + Rebase. Upstream have disabled these tests by default too (unless slow + mode is enabled), so we don't need to add a patch to do a similar thing. + * debian/libglib2.0-0.symbols: New symbols for 2.63.3 + * d/p/tests-Skip-GMemoryMonitor-tests-if-the-dbusmock-template-.patch: Add. + We don't have a new enough dbusmock in Debian at the minute (one is not + released yet). Skip the test if the required template isn't available. + * control: Add Depends for the new memory-monitor tests. + There are new tests, written in python, for GMemoryMonitor. They require + dbus-python, pygobject, and the GI bindings for GLib and GIO. + + [ Steve Langasek ] + * debian/tests/build: Make cross-test friendly + autopkgtest is soon to get a `-a ARCHITECTURE` switch, which will + cross-test autopkgtests. This is to be detected by the presence of the + `dpkg-architecture`-style family of variables being set in the + environment. + For build tests like `glib2.0`'s `build` test, this means that we should + test "${DEB_HOST_ARCH}" and invoke the cross toolchain as necessary. + (Closes: #946355) + + -- Iain Lane Wed, 18 Dec 2019 14:02:00 +0000 + +glib2.0 (2.63.2-1) experimental; urgency=medium + + * Team upload + * Merge packaging changes from unstable + - Support for pkg.glib2.0.noinsttest build profile + * d/control.in: Refer to debian/experimental branch. + This avoids false-positive warnings from vcswatch. + * New upstream release + - Drop patches that were applied upstream + * Rename pkg.glib2.0.noinsttest build profile to noinsttest. + This is now registered on . + * Update symbols file + + -- Simon McVittie Sat, 30 Nov 2019 10:55:48 +0000 + +glib2.0 (2.63.1-2) experimental; urgency=medium + + * d/p/Revert-glocalfileinfo-Only-return-file-mode-not-type-as-U.patch: + Revert "glocalfileinfo: Only return file mode, not type, as UNIX_MODE + attribute" This reverts commit bfdc5fc4fc84ef8518d2d1a328c8482cf5a38e98. + This commit changes the semantics of the `unix::mode` attribute, which + some things (the one we've noticed is ostree) rely on. + * d/p/test_copy_preserve_mode-Adjust-for-revert-semantics.patch: + test_copy_preserve_mode: Adjust for revert semantics. Now we're returning + the file type again, we need to mask it out to compare with the mode. + + -- Iain Lane Mon, 18 Nov 2019 13:59:35 +0000 + +glib2.0 (2.63.1-1) experimental; urgency=medium + + * New upstream release + - Add `g_array_steal()`, `g_ptr_array_steal()` and `g_byte_array_steal()` + APIs + - Add `g_get_os_info()` API + - Add `GMainContextPusher` API + - Add `g_warning_once()` API + - Allow passing empty `GValue`s to `g_param_value_set_default()` + - Always resolve `localhost` to loopback address in `GResolver` + - Escape header guards generated by `gdbus-codegen` better + - Fix crash in `g_spawn()` with high FD numbers due to use of `select()` + rather than `poll()` + - Limit recursion in `g_variant_parse()` + - Several usability improvements to command line `gio` tool + * debian/libglib2.0-0.symbols: Add new symbols for this release + * debian/patches/*: + - Drop backports we had which are in this release. + - Update to upstream master at cc1b53f74. There are several test fixes + that we might as well grab now. + + -- Iain Lane Wed, 06 Nov 2019 16:37:24 +0000 + +glib2.0 (2.62.5-1) unstable; urgency=medium + + * Team upload + * New upstream release + - Fixes a vulnerability where GSocketClient sometimes forgot to use + a configured proxy (CVE-2020-6750, Closes: #948554) + * Build-depend on libnss-myhostname | netbase if running tests. + This is an attempt to work around localhost not being a resolvable + name in some build environments, notably reproducible-builds. + (See #948834) + * Put the result of `getent ahosts localhost` and + `getent ahosts $(hostname)` in the build log, to check whether those + names are resolvable in the build environment. + * d/p/debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch: + Treat testfilemonitor as a flaky test + * Standards-Version: 4.5.0 (no changes required) + + -- Simon McVittie Tue, 25 Feb 2020 12:19:00 +0000 + +glib2.0 (2.62.4-2) unstable; urgency=medium + + * Team upload + * Adjust dependencies to avoid broken partial upgrades on arm64 during + libffi7 transition: + - Bump versioned Depends on libffi-dev to get a guarantee that we'll + depend on libffi7 + - Add Breaks on libgirepository-1.0-1 (<< 1.62.0-4~) so we cannot + get a GObject built with libffi7 but a libgirepository built with + libffi6 + + -- Simon McVittie Mon, 03 Feb 2020 15:12:40 +0100 + +glib2.0 (2.62.4-1) unstable; urgency=medium + + * Team upload + + [ Steve Langasek ] + * debian/tests/build: Make cross-test friendly (Closes: #946355) + + [ Iain Lane ] + * debian/tests/build: Style fixes + + [ Simon McVittie ] + * New upstream release + + -- Simon McVittie Mon, 30 Dec 2019 13:01:04 +0000 + +glib2.0 (2.62.3-2) unstable; urgency=medium + + * Team upload + * Rename pkg.glib2.0.noinsttest build profile to noinsttest. + This is now registered on . + + -- Simon McVittie Sun, 01 Dec 2019 16:05:01 +0000 + +glib2.0 (2.62.3-1) unstable; urgency=medium + + * Team upload + * New upstream release + - Drop patches that were applied upstream + * Don't build libglib2.0-tests under pkg.glib2.0.noinsttest build profile. + This is a prototype of the proposed standard build profile noinsttest. + If the build profiles include both nocheck and pkg.glib2.0.noinsttest, + we can drop the libdbus-1-dev build-dependency without harming test + coverage or altering the contents of binary packages. + * d/gbp.conf: Use upstream/2.62.x branch + + -- Simon McVittie Mon, 25 Nov 2019 08:47:58 +0000 + +glib2.0 (2.62.2-3) unstable; urgency=medium + + * Team upload + + [ Iain Lane ] + * control: Drop `debian/experimental` from Vcs-* + + [ Simon McVittie ] + * Build-depend on libdbus-1-dev for better test coverage + * Update to upstream commit 2.62.2-28-g3cf25070e: + - d/p/goption-Relax-assertion-to-avoid-being-broken-by-kdeinit5.patch: + Fix assertion failure when called from a process that overwrites its + argv, such as kdeinit5 + - d/p/gdbus-peer-Specifically-listen-on-127.0.0.1.patch: + Improve reliability of gdbus-peer test in some container environments + - d/p/gdbusserver-Delete-socket-and-nonce-file-when-stopping-se.patch, + d/p/gdbusserver-Keep-a-strong-reference-to-the-server-in-call.patch, + d/p/gdbusauthmechanismsha1-Remove-unnecessary-g_warning-calls.patch, + d/p/gdbusauthmechanismsha1-Create-.dbus-keyrings-directory-re.patch, + d/p/tests-Move-main-loop-and-test-GUID-into-test-functions-in.patch, + d/p/tests-Isolate-directories-in-gdbus-peer-test.patch, + d/p/gdbus-peer-test-Improve-diagnostics-if-g_rmdir-fails.patch, + d/p/gdbus-peer-test-Stop-GDBusServer-before-tearing-down-temp.patch, + d/p/gdbus-peer-test-Use-unix-dir-address-if-exact-format-does.patch, + d/p/gdbus-server-auth-test-Create-temporary-directory-for-Uni.patch: + Mark as applied upstream in 2.62.x branch + * d/p/gdbus-server-auth-test-Include-gcredentialsprivate.h.patch: + Apply patch from 2.63.x to fix missing coverage in test for #941018 + * d/p/Make-ld-executable-configurable.patch: + Apply patch from 2.63.x to use cross ld where necessary + * d/p/gdbus-server-auth-test-Create-temporary-directory-for-Uni.patch: + Mark as applied upstream in 2.63.x branch + * Improve patch metadata: use more URLs for bug references + + -- Simon McVittie Wed, 06 Nov 2019 09:02:14 +0000 + +glib2.0 (2.62.2-2) unstable; urgency=medium + + * Team upload + * Update to upstream commit 2.62.2-14-gfcbb88823: + - d/p/gdesktopappinfo-Allocate-DesktopFileDir-structs-dynamical.patch, + d/p/gdesktopappinfo-Cancel-file-monitor-when-resetting-a-Desk.patch, + d/p/glocalfilemonitor-Keep-a-weak-ref-to-the-monitor-in-GFile.patch: + Fix intermittent test failures for GDesktopAppInfo (Closes: #941550) + - d/p/gvariant-Limit-recursion-in-g_variant_parse.patch: + Ensure that parsing a text-format GVariant does not run out of stack + space + - d/p/tests-Use-objcopy-from-the-cross-compilation-file-if-conf.patch, + d/p/docs-Add-objcopy-to-example-cross-compilation-file.patch: + Use the appropriate architecture's objcopy when cross-compiling + - d/p/gtestutils-Add-additional-non-NULL-check-in-g_assert_cmpm.patch: + Avoid false positive NULL dereference warnings in g_assert_cmpmem() + - d/p/gspawn-Port-to-g_poll-from-select.patch: + Fix launching subprocesses when a very large number of fds are open + - d/p/gcredentialsprivate-Document-the-various-private-macros.patch, + d/p/credentials-Invalid-Linux-struct-ucred-means-no-informati.patch, + d/p/GDBus-prefer-getsockopt-style-credentials-passing-APIs.patch: + Ensure libdbus clients can authenticate with a GDBusServer like the + one in ibus (Closes: #941018) + * d/p/gdbusserver-Delete-socket-and-nonce-file-when-stopping-se.patch, + d/p/gdbusserver-Keep-a-strong-reference-to-the-server-in-call.patch, + d/p/Add-a-test-for-GDBusServer-authentication.patch: + Backport regression test for #941018 from upstream git master + * d/p/gdbusauthmechanismsha1-Remove-unnecessary-g_warning-calls.patch, + d/p/gdbusauthmechanismsha1-Create-.dbus-keyrings-directory-re.patch, + d/p/tests-Move-main-loop-and-test-GUID-into-test-functions-in.patch, + d/p/tests-Isolate-directories-in-gdbus-peer-test.patch: + Backport reliability fixes for gdbus-peer test from upstream git master + * d/p/gdbus-peer-test-Improve-diagnostics-if-g_rmdir-fails.patch, + d/p/gdbus-peer-test-Stop-GDBusServer-before-tearing-down-temp.patch, + d/p/gdbus-peer-test-Use-unix-dir-address-if-exact-format-does.patch, + d/p/gdbus-server-auth-test-Create-temporary-directory-for-Uni.patch: + Add some proposed patches to improve GDBus unit tests + * d/p/debian/mimeapps-test-Mark-as-flaky.patch: + Drop patch, hopefully no longer needed with #941550 fixed + * d/p/debian/taptestrunner-Stop-looking-like-an-executable-script.patch: + Make taptestrunner non-executable to avoid a Lintian warning + + -- Simon McVittie Wed, 30 Oct 2019 08:45:56 +0000 + +glib2.0 (2.62.2-1) unstable; urgency=medium + + * New upstream release + + Fixes use after free when calling g_dbus_connection_flush_sync() in a + dedicated thread (LP: #1848202) + + -- Iain Lane Fri, 25 Oct 2019 10:54:42 +0100 + +glib2.0 (2.62.1-1) unstable; urgency=medium + + * Team upload + * d/watch: Only watch for even-numbered (stable) releases + * New upstream release + - Fix regression that made G_FILE_COPY_TARGET_DEFAULT_PERMS result in + private permissions rather than respecting umask (Closes: #505398) + - d/p/g_file_info_get_modification_date_time-Calculate-in-integ.patch, + d/p/Always-build-tests-if-we-enabled-installed-tests.patch: + Drop patches that were applied upstream + * d/p/debian/mimeapps-test-Mark-as-flaky.patch: + Mark mimeapps test as flaky (see #941550) + + -- Simon McVittie Mon, 07 Oct 2019 09:46:24 +0100 + +glib2.0 (2.62.0-3) unstable; urgency=medium + + * Team upload + * Merge packaging from 2.60.x branch previously in unstable + - No changes since 2.62.0-2, except in d/changelog + - d/p/debian/Disable-an-optimization-when-building-with-gcc-9.patch: + Remove workaround for #931921, which turned out to be a clutter bug + * d/p/Always-build-tests-if-we-enabled-installed-tests.patch: + Add patch to fix installation of installed-tests in cross-builds + (Closes: #941509) + * d/p/g_file_info_get_modification_date_time-Calculate-in-integ.patch: + Add patch to fix intermittent g-file-info test failures on i386 + (Closes: #941547) + * libglib2.0-dev: Suggest libgirepository1.0-dev, for the GIR files + (Closes: #914152) + * d/gbp.conf: Use debian/master branch + * Standards-Version: 4.4.1 (no changes required) + + -- Simon McVittie Wed, 02 Oct 2019 09:13:12 +0100 + +glib2.0 (2.60.6-2) unstable; urgency=medium + + * Team upload + * d/rules: Edit debcrossgen output instead of using a modified version. + This fixes use of CFLAGS, etc. during cross-compilation. + (Closes: #933560) + * Remove obsolete permissions fixing. + Issue 1539 was fixed upstream. + * d/p/debian/Disable-an-optimization-when-building-with-gcc-9.patch: + Disable an optimization when building with gcc-9, instead of forcing + gcc-8. This avoids depending on an old gcc, and should be easier to + deal with for cross-compilation. (Workaround for #931921) + * d/p/gmessages-Only-use-structured-logs-if-GLIB_VERSION_MAX_AL.patch: + Update to upstream glib-2-60 branch at commit 2.60.6-2-ga365528f6 + - Don't use structured logging if GLIB_VERSION_MAX_ALLOWED < 2.56 + + -- Simon McVittie Tue, 13 Aug 2019 10:32:40 +0100 + +glib2.0 (2.62.0-2) unstable; urgency=medium + + * Team upload. + * Upload to unstable. (Closes: #940161) + + -- Andreas Henriksson Mon, 30 Sep 2019 12:33:16 +0200 + +glib2.0 (2.62.0-1) experimental; urgency=medium + + * New upstream release + + Fix new `GFileInfo` APIs to work when + `G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC` was not queried + + -- Iain Lane Mon, 09 Sep 2019 15:41:48 +0100 + +glib2.0 (2.61.3-1) experimental; urgency=medium + + * New upstream release + * d/p: Drop cherry-picks from upstream branch which we now have + * d/p/d/Disable-an-optimization-when-building-with-gcc-9.patch: Drop, + clutter has been fixed now (thanks Simon) + * d/p/*: Refresh via gbp-pq as necessary + + -- Iain Lane Wed, 04 Sep 2019 17:29:23 +0100 + +glib2.0 (2.61.2-2) experimental; urgency=medium + + * Team upload + * d/p/cond-test-Don-t-make-assumptions-about-struct-sigaction-m.patch: + Add proposed patch to fix FTBFS due to a test failure on mips* + + -- Simon McVittie Tue, 13 Aug 2019 10:29:29 +0100 + +glib2.0 (2.61.2-1) experimental; urgency=medium + + * Team upload + * New upstream release + * d/patches: Update to upstream git master, commit 2.61.2-23-g870b30bd7 + - Fix regression in g_mkdir_with_permissions() + - Fix a memory leak + - Update translations: es, id, ro + * Merge changes from unstable + * Refresh patch series + * d/p/debian/06_thread_test_ignore_prctl_fail.patch: + Use g_test_skip() when skipping test + * d/p/GIO-tests-Don-t-do-clever-tricks-with-objcopy.patch: + Drop workaround for #932287, and build-depend on fixed binutils on + mips64el instead + * d/rules: Edit debcrossgen output instead of using a modified version. + This fixes use of CFLAGS, etc. during cross-compilation. + (Closes: #933560) + * d/libglib2.0-0.symbols: Update + * Remove obsolete permissions fixing. + Issue 1539 was fixed upstream. + * libglib2.0-tests: Depend on libglib2.0-dev-bin. + This is required for the new mkenums and genmarshal tests. + * d/p/debian/Disable-an-optimization-when-building-with-gcc-9.patch: + Disable an optimization when building with gcc-9, instead of forcing + gcc-8. This avoids depending on an old gcc, and should be easier to + deal with for cross-compilation. (Workaround for #931921) + + -- Simon McVittie Mon, 12 Aug 2019 09:32:26 +0100 + +glib2.0 (2.60.6-1) unstable; urgency=medium + + * Team upload + * New upstream release, functionally equivalent to 2.60.5 with the + patches we were already applying + - d/p/portal-Add-a-getter-for-dconf-access.patch, + d/p/settings-Tweak-priorities-for-keyfile-backend.patch, + d/p/key-file-Handle-filename-being-NULL.patch: + Drop, applied upstream + * d/p/tests-Fix-data-race-in-gmenumodel-test.patch, + d/p/tests-Fix-data-race-in-task-test.patch: + Add patches from upstream git master to fix data races in tests. + In particular, the one for gmenumodel might solve an unreproducible + test failure on i386 (see #932678). + * d/p/debian/gmenumodel-test-Mark-as-flaky.patch, + d/p/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch: + Skip more tests at build-time and during the non-flaky autopkgtest. + The unreproducible gmenumodel test failure on i386 might in fact be + fixed by d/p/tests-Fix-data-race-in-gmenumodel-test.patch, but it's + hard to be sure about that. The gvariant fuzz test is catastrophically + slow on certain mips CPUs and so is impractical to run there. + (Closes: #932678) + * Standards-Version: 4.4.0 (no changes required) + * Use debhelper compat level 12 + - Stop explicitly passing -V to dh_makeshlibs, it is now the default + - Disable dh_dwz for libglib2.0-udeb. + This avoids an apparent debhelper bug in which dh_dwz generates + multifiles for udebs, but dh_strip does not remove them from the + udeb's staging directory. (Workaround for #933212) + * Stop overriding libexecdir. + Since FHS 3.0 (Policy 4.1.5), /usr/libexec is considered valid, + and since debhelper compat level 12 it is the default. + In this particular package this only affects the installed-tests. + * Remove an obsolete Lintian override + + -- Simon McVittie Sat, 27 Jul 2019 16:57:55 +0100 + +glib2.0 (2.60.5-1) unstable; urgency=medium + + * Team upload + * Prepare GLib 2.60.x stable branch for unstable + * New upstream release + * d/p/portal-Add-a-getter-for-dconf-access.patch, + d/p/settings-Tweak-priorities-for-keyfile-backend.patch, + d/p/key-file-Handle-filename-being-NULL.patch: + Add post-release fixes from upstream glib-2-60 branch + * d/p/GIO-tests-Don-t-do-clever-tricks-with-objcopy.patch: + Don't do strange things with objcopy while testing GResource, + while we work out what is going on in mips64el builds. + Mitigates: #932287 + + -- Simon McVittie Wed, 17 Jul 2019 21:36:30 +0100 + +glib2.0 (2.61.1-2) experimental; urgency=medium + + * control, rules: Build with gcc-8. See #931921 - when we're built with + gcc-9, some applications that use GLib might start hanging. + + -- Iain Lane Fri, 12 Jul 2019 11:37:01 +0100 + +glib2.0 (2.61.1-1) experimental; urgency=medium + + * New upstream release + + `g_unichar_isxdigit()` and `g_unichar_xdigit_value()` now handle + full-width characters (U+FF21–U+FF26 and U+FF41–U+FF46) + + Deprecate `gtester` utility and its test reporting format and enable TAP + output by default instead — the `--tap` option to tests is now a no-op + + Add `g_test_summary()` to allow test authors to programmatically summarise + what each unit test in a test suite does + * Upgrade to Unicode Character Database v12.1 + + More IPv6 Happy Eyeballs fixes to `GNetworkAddress` and `GSocketClient` + + Fix valgrind and gdb support for the new `GHashTable` changes + + Fix GTask wait times growing faster than the number of task threads + + Add `g_autoqueue()` helper macros, similar to `g_autolist()` + + Add pre-allocated link helpers for `GList` and `GQueue`: + - `g_list_insert_before_link()` + - `g_queue_insert_before_link()` + - `g_queue_insert_after_link()` + + Improve network availability detection with NetworkManager to treat lower + levels of connectivity as having reduced availability + + Add `g_clear_signal_handler()` to allow disconnecting from a `GObject` + signal and clearing the signal handler ID to zero in a single call + + Add `g_autoptr()` support for `GRWLock` + * 81-skip-monitor-test-on-non-linux.patch: Drop. This test was removed + upstream. + * debian/libglib2.0-0.symbols: Update + + -- Iain Lane Fri, 05 Jul 2019 17:45:06 +0100 + +glib2.0 (2.60.4-1) experimental; urgency=medium + + * New upstream release (LP: #1832457) + + Fixes to improved network status detection with NetworkManager (#1788) + + Leak fixes to some `glib-genmarshal` generated code + + Further fixes to the Happy Eyeballs (RFC 8305) implementation + + File system permissions fix to clamp down permissions in a small time window + when copying files (CVE-2019-12450) + + Bugs fixed: + - Please revert #535 gmacros: Try to use the standard __func__ first in + G_STRFUNC + * gfile-Limit-access-to-files-when-copying.patch: Drop. It's in this version + upstream. + * d/p/*: Refresh through gbp pq + + -- Iain Lane Wed, 12 Jun 2019 09:15:11 +0100 + +glib2.0 (2.60.3-2) experimental; urgency=medium + + * Team upload + * d/p/gfile-Limit-access-to-files-when-copying.patch: + Backport patch from upstream to ensure files don't temporarily have + less restrictive permissions during copying + (Closes: #929753, CVE-2019-12450) + * Drop d/p/debian/04_homedir_env.patch: + Remove legacy support for Debian-specific G_HOME environment variable. + GLib has respected the HOME environment variable in the conventional + way since wheezy. Only two packages (pygtk and ruby-graphviz) still + set G_HOME without also setting HOME. + * Drop d/p/debian/90_gio-modules-multiarch-compat.patch: + Remove legacy support for loading modules from /usr/lib/gio/modules. + All the known packages containing GIO modules (dconf, glib-networking + and gvfs) migrated to /usr/lib/${DEB_HOST_MULTIARCH}/gio/modules + before wheezy. + * Register documentation in doc-base via symlinks in /usr/share/doc. + The doc-base specification requires this, presumably for the benefit + of tools that export /usr/share/doc via HTTP (see #925200), and + Lintian 2.12 added a warning for not doing so. + + -- Simon McVittie Tue, 04 Jun 2019 11:03:28 +0100 + +glib2.0 (2.60.3-1) experimental; urgency=medium + + * New upstream releases 2.60.1 2.60.2 2.60.3, fixing many bugs: + + build: Fix a typo in the test whether _NL_ABALTMON_n is supported + + Critical in g_socket_client_async_connect_complete + + Fix crash when displaying notifications on macOS (!786) + + Fix documentation for `gdbus-tool wait` to use correct units + + Fix typo in German translation + + glib/date test fails + + glib/gconstructor.h: Include stdlib.h for MSVC builds + + GNetworkAddressAddressEnumerator unsafely modifies cache in + GNetworkAddress + + gnetworkaddress: Fix parallel enumerations interfering with eachother + + gnetworkmonitornm: Fix network available detection + + GResource generation test incompatible with stable LLVM on Linux + + gschema.dtd: Add target attribute to alias + + gsocketclient: Fix a leak in the connection code + + Improve network status detection with NetworkManager + + Leaks in gsocketclient.c connection code + + test_month_names: assertion failed + + tests: Update month name check for Greek locale + + Update gdb pretty-printer for GHashTable + + Various fixes to small key/value support in `GHashTable` + + New GHashTable implementation confuses valgrind + + more GHashTable fixes + + GDB pretty-printer for GHashTable no longer works + + ghash: Disable small-arrays under valgrind + + -- Iain Lane Thu, 23 May 2019 16:59:32 +0100 + +glib2.0 (2.60.0-1) experimental; urgency=medium + + * New upstream release + + Further fixes to the Happy Eyeballs (RFC 8305) implementation + + Add support for the XDG trash portal + * Call dh_python3 for all packages and add Depends to libglib2.0-tests. + The tests now ship a "static-link.py" test. While it early-exits + currently, we still need the right dependencies to be able to do that. + Call dh_python3 for libglib2.0-test's private directory, and while we're + here make sure that it is called for all packages too. + * flaky autopkgtest: `closures` has been renamed to `closure-refcount` + * Refresh and drop patches. + - d/p/flaky-socket-service-test/*: Drop, applied upstream. + - d/p/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch: + Refresh. + + -- Iain Lane Tue, 05 Mar 2019 15:32:41 +0000 + +glib2.0 (2.59.3-2) experimental; urgency=medium + + [ Philip Withnall ] + * debian: Drop GVariant alignment patches which are no longer needed. + The upstream 2.59.0 release contained commit + 0f2a6c61c9c5e34d57293fb6987b21f3d1feb1cb, which automatically aligns + GVariants at construction time. The realignment in the tests was a + workaround for this. + See upstream issue https://gitlab.gnome.org/GNOME/glib/issues/1342. + + [ Iain Lane ] + * Cherry-pick fixes for upstream bug #1679 to fix a flaky test. + This is apparently more flaky on the autopkgtest machines than elsewhere + - it's quite consistently failing there. + + -- Iain Lane Wed, 27 Feb 2019 10:21:40 +0000 + +glib2.0 (2.59.3-1) experimental; urgency=medium + + * New upstream release + + Fix support for g_get_user_special_dir() on macOS, including support for + the Downloads directory + + Ensure that cancelling a GTask cannot cause its callback to be called + synchronously (in the same call chain as the original *_async() call) + + Further fixes to the Happy Eyeballs (RFC 8305) implementation + + Various fixes for installation of installed tests + * Refresh and drop patches. + Drop gio-tests-Install-test1.overlay-file-when-building-instal.patch, + tests-Install-the-slow-connect-preload.so-library-and-use.patch, + fixed upstream. + + -- Iain Lane Wed, 20 Feb 2019 14:25:13 +0000 + +glib2.0 (2.59.2-2) experimental; urgency=medium + + * Install `test1.overlay' file, which is needed for the installed tests. + * tests: Install the slow-connect-preload.so library and use it + + -- Iain Lane Mon, 11 Feb 2019 10:25:27 +0000 + +glib2.0 (2.59.2-1) experimental; urgency=medium + + * New upstream release + + Fix check on GDBusMessage size when reading it. + + Add async GIO API: g_file_query_default_handler_async(), + g_app_info_launch_uris_async() + + Fix some bugs in the Happy Eyeballs implementation. + + Install a new generated header with enum types for Unicode enums. + + Support the XDG trash portal. + + Autotools support is gone. + + g_format_size() now uses a no-break space to separate digits and units; + translations will need to be updated accordingly. + + New g_queue_clear_full() API. + + Fix argument quoting on win32 when spawning subprocesses. + + Allow polling more than 64 handles on win32 using g_poll(). + + Tag various tests as ‘flaky’. These are no longer run routinely on our + upstream CI machines, and downstream packagers may want to not run them + (or not treat those test failures as package build failures) on their + test machines either. They are in the `flaky` test suite. + + Add overlay support to g_resources_get_info(). + + Support defaults and locks in the keyfile GSettings backend. This will + be used for flatpaks. + + Accept unquoted strings in the keyfile GSettings backend to simplify + things for sysadmins. + + Update our contribution guidelines (`CONTRIBUTING.md`). + + Add writev() and writev_all() APIs to GOutputStream and + GPollableOutputStream, and provide implementations of them for many + subclasses. + * Refresh patches, drop trash test patches which are upstream now + * build-time tests: Run "flaky" suite separately and non fatally + * debian/libglib2.0-0.symbols: Add new symbols from 2.59.{1,2} + + -- Iain Lane Wed, 06 Feb 2019 17:09:28 +0000 + +glib2.0 (2.59.0-1) experimental; urgency=medium + + * New upstream release + * Update patches and drop upstreamed ones + * debian/control: Update meson BD to ≥ 0.48.0 per upstream + * debian/rules: enable-selinux takes "enabled" or "disabled" now. + Not true/false. + * debian/*: Update for experimental + * debian/libglib2.0-0.symbols: Update with new symbols for this release + + -- Iain Lane Thu, 17 Jan 2019 18:43:00 +0000 + +glib2.0 (2.58.3-3) unstable; urgency=medium + + * control, rules: Build with gcc-8. See #931921 - when we're built with + gcc-9, some applications that use GLib might start hanging. + + -- Iain Lane Fri, 12 Jul 2019 11:38:21 +0100 + +glib2.0 (2.58.3-2) unstable; urgency=medium + + * Team upload + * d/p/gfile-Limit-access-to-files-when-copying.patch: + Backport patch from upstream to ensure files don't temporarily have + less restrictive permissions during copying + (Closes: #929753, CVE-2019-12450) + * d/watch: Only watch for 2.58.x releases now that 2.60.x is out + * Add cross-reference to #919777 in previous changelog entry + + -- Simon McVittie Mon, 03 Jun 2019 22:37:45 +0100 + +glib2.0 (2.58.3-1) unstable; urgency=medium + + * Team upload + + [ Iain Lane ] + * debian/gbp.conf: Use upstream/2.58.x + + [ Simon McVittie ] + * New upstream release + - Fix crashes related to the GUnixMount API (Closes: #919777) + - Make G_DEFINE_INTERFACE compatible with g++ -Wint-in-bool-context + - Drop patches that were applied upstream + * d/p/gdbusmessage-Fix-check-on-upper-limit-of-message-size.patch: + Add patch from upstream glib-2-58 branch to limit the maximum size of + D-Bus messages according to the protocol specification + (the limit was 256M, and is now the correct 128M) + + -- Simon McVittie Thu, 07 Feb 2019 08:28:56 +0000 + +glib2.0 (2.58.2-4) unstable; urgency=medium + + [ Simon McVittie ] + * Update patch metadata + + [ Iain Lane ] + * trash-test-Don-t-assume-that-.local-exists.patch, + trash-test-Don-t-rely-on-being-able-to-determine-mount-po.patch: + Cherry pick two patches by Simon McVittie (slightly modified by Iain Lane) + to fix the trash test on Launchpad autobuilders. + + -- Iain Lane Thu, 17 Jan 2019 11:27:34 +0000 + +glib2.0 (2.58.2-3) unstable; urgency=medium + + * Team upload + * Release to unstable + * Standards-Version: 4.3.0 (no changes required) + * d/p/gvariant-test-Also-force-alignment-for-tuple-test-data.patch: + Mark as forwarded + * debian/Skip-unreliable-test_threaded_singleton-by-default.patch: + Don't run test_threaded_singleton() at build-time or in the part of + the autopkgtest run that must succeed. Run it from d/tests/flaky + instead. + + -- Simon McVittie Fri, 04 Jan 2019 08:43:36 +0000 + +glib2.0 (2.58.2-2) experimental; urgency=medium + + * Team upload + * d/p/gvariant-test-Also-force-alignment-for-tuple-test-data.patch: + Fix gvariant test failure on s390x by forcing more test data to be aligned + (Closes: #917980) + * d/p/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch, + d/tests/flaky: + Only run closures test on arm* as part of a separate, flaky autopkgtest. + This test does not seem to be reliable enough for its failures to be + treated as release-critical, at least on arm*. If we run too many + iterations, it fails on CPUs where 16-bit accesses are slow; if we run + too few, it occasionally fails when one thread starves another. + (Closes: #917983) + * d/p/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch, + d/p/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch: + d/tests/flaky: + Use g_test_skip() for flaky tests, and run them from d/tests/flaky + + -- Simon McVittie Thu, 03 Jan 2019 09:35:04 +0000 + +glib2.0 (2.58.2-1) experimental; urgency=medium + + * Team upload + * New upstream release + * Drop many patches that were applied upstream + * d/p/tests-Allocate-gvariant-data-from-the-heap-to-guarantee-a.patch: + Add patch from upstream to fix alignment of GVariant test data + * d/libglib2.0-0.symbols: Update for new ABI + * d/tests/installed-tests: Log execution environment + * postinst: Convert triggers into a function + * postinst: Quote strings with #TOKENS# to fix syntax highlighting + * postinst: Add a vim modeline + + -- Simon McVittie Tue, 01 Jan 2019 10:59:39 +0000 + +glib2.0 (2.58.1-6) experimental; urgency=medium + + * Team upload + * d/p/closures-test-Avoid-timeout-on-ARM64-CPUs.patch: + Rename from + d/p/debian/closures-test-Run-fewer-iterations-on-ARM64-and-armhf.patch, + increase the test timeout to prevent this test from timing out on + Cortex-A57 CPUs when building with Meson, and mark as forwarded + upstream + * Disable xattr support on kFreeBSD. + kFreeBSD has stub implementations of getxattr() etc. which will + always fail. Autoconf considers these to be present, but Meson + detects them and treats them as absent, resulting in configuration + failure. + + -- Simon McVittie Tue, 06 Nov 2018 14:19:18 +0000 + +glib2.0 (2.58.1-5) experimental; urgency=medium + + * Team upload + * d/p/*: + Update to upstream glib-2-58 branch as of 2.58.1-89-g7aa52a7d5, + except for translations + * d/p/mainloop-test-Fix-race-conditions.patch: + Add patch from upstream git master to fix race conditions in + mainloop test + * d/p/meson-Define-__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4-on-GNU-Li.patch: + Add proposed patch to fix detection of atomic operations on armel + * Respect nocheck in DEB_BUILD_OPTIONS + * Adjust test timeouts: + - Increase armel, armhf, hppa timeout multiplier from x3 to x5 + - Reduce mips*, sparc* timeout multiplier from x10 to x5 + - Reduce timeout multiplier for architectures known to have qemu + buildds from x50 to x20 + * d/rules: Set Meson cross properties using a modified debcrossgen. + This avoids embedding a local copy of GNUlib (v)(sn)printf when + cross-compiling. (Workaround for #912559) + + -- Simon McVittie Fri, 02 Nov 2018 19:05:22 +0000 + +glib2.0 (2.58.1-4) experimental; urgency=medium + + * Team upload + * d/rules: Deduplicate test invocation + * Use `meson test` directly, instead of going via `ninja test` + * Multiply Meson test timeouts. + Use x3 timeouts for most architectures (in general the timeouts in + the upstream Meson build system are somewhat optimistic), x10 for + the mips and sparc families, and x50 for architectures known to + use qemu for buildds. + * Enable FAM support on Hurd and kFreeBSD. + In the Autotools build system this was auto-detected, but in Meson it + is off by default and must be explicitly enabled if wanted. + * d/p/meson-Mark-1bit-emufutex-test-as-slow.patch: + Increase timeout for the 1bit-emufutex test + + -- Simon McVittie Fri, 19 Oct 2018 09:55:19 +0100 + +glib2.0 (2.58.1-3) experimental; urgency=medium + + * Team upload + * Upload to experimental to check that everything is OK with the + switch to Meson + * Switch build system to Meson as recommended by upstream + - Stop removing .la files: Meson doesn't build those + - d/p/debian/61_glib-compile-binaries-path.patch: Change the same + path if we build with Meson + - d/patches: Apply patches proposed for backport from master to + glib-2-58 in upstream MR 392. These fix various build issues, + mostly around Meson. Some of these patch Windows-specific code, + but they are likely to be in 2.58.2 and upstream asked for wider + testing, so I'm applying them anyway, to test the complete set. + - d/p/Spelling-*.patch: + MR 392 also applies patches from upstream git master to fix various + spelling mistakes detected by Lintian + * Always generate testmarshal.h, even when cross-compiling + (Closes: #908334) + * Fix static linking and make sure it won't regress, prompted by + comparing the Autotools and Meson builds: + - Add missing -dev dependencies on libffi-dev, libmount-dev, + libselinux1-dev + - d/p/Autotools-Move-libmount-from-Libs.private-to-Requires.pri.patch: + Add patch from upstream git master to fix static linking with libgio + - d/tests/build: Exercise all libraries + - d/tests/build-static: Exercise static linking + * d/rules: Fix some permissions (equivalent of #1539 upstream) + * Add Lintian override for a spelling-error-in-binary false positive + * Add some Lintian overrides for hardening-no-fortify-functions. + These objects mostly don't use libc directly. + * Remove /usr/bin/gio-launch-desktop symlink. + It's an implementation detail of libgio, and isn't intended to be + run directly. Removing it from PATH silences a Lintian warning about + it not having a man page. + * Don't delete compiled GSettings schemas during purge if the dpkg + reference count is greater than 1. This avoids deleting and regenerating + it unnecessarily if another architecture's libglib2.0-0 is still + installed. (Closes: #775854) + * d/tests/installed-tests: Replace deprecated $ADTTMP with $AUTOPKGTEST_TMP + * d/tests/control: Mark build tests as superficial (see #904979) + + -- Simon McVittie Thu, 18 Oct 2018 18:32:21 +0100 + +glib2.0 (2.58.1-2) unstable; urgency=medium + + * Fix dh_missing rule for arch:all build with compat 11 + + -- Jeremy Bicha Fri, 21 Sep 2018 23:53:00 -0400 + +glib2.0 (2.58.1-1) unstable; urgency=medium + + * New upstream release + * Drop patches applied in new release: + - Fix-g_icon_to_string-regression-doc-inconsistency.patch + - tests-timer-Skip-test_timeval_to_iso8601_overflow-if-we-c.patch + * Refresh 61_glib-compile-binaries-path.patch + * Bump Standards-Version to 4.2.1 + * Bump debhelper compat to 11 + + -- Jeremy Bicha Fri, 21 Sep 2018 20:11:06 -0400 + +glib2.0 (2.58.0-4) unstable; urgency=medium + + [ Simon McVittie ] + * Adjust installation path of gdb scripts to match GLib itself. + We used to put libglib-2.0.so.0 in /lib/MULTIARCH, but this is no + longer the case since 2.56.0-5. + * Wrap and sort (build-)dependency lists (wrap-and-sort -a) + * Wrap and sort file lists (wrap-and-sort -a) + * Install HTML in /usr/share/gtk-doc/html with symlinks in /usr/share/doc. + The gtk-doc documentation is technically a functionally significant + part of the package (it affects cross-reference generation during build + of other packages) so according to Policy §12.3 it is not appropriate + for /usr/share/doc. + Using the upstream default installation path for the HTML also makes + it more straightforward to switch to the Meson build system, because + the Meson build does not have an equivalent of --with-html-dir. + - d/debian/libglib2.0-doc.maintscript: Add migration steps + * d/p/debian/Look-for-gio-launch-desktop-in-libdir-glib-2.0.patch: + Also patch meson build system + + [ Jeremy Bicha ] + * Cherry-pick Fix-g_icon_to_string-regression-doc-inconsistency.patch + - Have g_icon_new_for_string() go back to only returning a single name + when created with a single name since some apps assume that behavior. + (Closes: #908705) + + -- Jeremy Bicha Mon, 17 Sep 2018 17:47:57 -0400 + +glib2.0 (2.58.0-3) unstable; urgency=medium + + [ Iain Lane ] + * Run fewer iterations of clousures test on armhf too + + -- Jeremy Bicha Fri, 07 Sep 2018 13:51:53 -0400 + +glib2.0 (2.58.0-2) unstable; urgency=medium + + * Cherry-pick upstream patch to fix test_timeval_to_iso8601_overflow on + 32-bit, fixing FTBFS there. + + -- Iain Lane Tue, 04 Sep 2018 15:29:53 +0100 + +glib2.0 (2.58.0-1) unstable; urgency=medium + + [ Jeremy Bicha ] + * New upstream release + * Drop patches applied in new release: + - date-test-Use-g_test_skip-not-g_test_incomplete.patch + - g_binding_unbind-make-it-more-introspection-friendly-allo.patch: + * Release to unstable + + [ Simon McVittie ] + * d/p/debian/closures-test-Run-fewer-iterations-on-ARM64.patch: + Update metadata + * libglib2.0-dev-bin: Add Suggests for the packages containing + xmllint and gdk-pixbuf-pixdata, which are sometimes invoked by + glib-compile-resources (Closes: #834998) + * Invoke dh_python3 twice so that we correctly rewrite the shebang + line for /usr/bin scripts (Closes: #876009) + * Don't install very old changelogs and NEWS files + * Install README.md instead of stub README + + -- Jeremy Bicha Sun, 02 Sep 2018 08:57:46 -0400 + +glib2.0 (2.57.2-2) experimental; urgency=medium + + * Cherry-pick g_binding_unbind-make-it-more-introspection-friendly-allo.patch + to fix pygobject build (LP: #1787474) + + -- Jeremy Bicha Mon, 20 Aug 2018 12:54:49 -0400 + +glib2.0 (2.57.2-1) experimental; urgency=medium + + * Team upload + * New upstream development release + * d/watch: Look for odd-numbered releases + * Rebase patch series + * Install gio-launch-desktop in libglib2.0-0's private libdir to avoid + a circular dependency between libglib2.0-0 and libglib2.0-bin + - d/p/debian/Look-for-gio-launch-desktop-in-libdir-glib-2.0.patch: + Look for it there + * d/copyright: Update + * d/libglib2.0-0.symbols: Update + * Use upstream autogen.sh for autoreconf + * Don't clean org.gtk.test.gschema.override.orig + * d/gbp.conf: Use upstream/latest branch + * d/p/Drop-a-questionable-test-from-the-refstring-suite.patch: + Add patch to fix FTBFS on i386 + * d/p/date-test-Use-g_test_skip-not-g_test_incomplete.patch: + Add patch to fix autopkgtest failures without locales-all + * d/gbp.conf: Don't number patches + + -- Simon McVittie Thu, 02 Aug 2018 17:44:16 +0100 + +glib2.0 (2.56.1-2) unstable; urgency=medium + + [ Tim Lunn ] + * libglib2.0-0.triggers:use interest-await trigger for schemas + + [ Iain Lane ] + * debian/patches/tests-network-monitor-Always-use-the-dummy-proxy-res.patch: + Take patch from upstream to ignore the system's proxy settings for the + network-monitor test - it's testing an "abstract" network unrelated to the + system's network, and these settings interfere with that. This fixes a + failure in the Ubuntu autopkgtest machines, which have a proxy set. + + -- Iain Lane Tue, 10 Apr 2018 18:12:27 +0100 + +glib2.0 (2.56.1-1) unstable; urgency=medium + + [ Tim Lunn ] + * New upstream release + * Drop patches included in new release + * libglib2.0-0.triggers: Use interest-noawait triggers, generating caches + doesn't need to block configuration. flagged by lintian + uses-implicit-await-trigger warning. + + [ Simon McVittie ] + * Explicitly use autoconf build system, even with debhelper 11.2 + (see #895174) + + -- Tim Lunn Mon, 09 Apr 2018 19:03:24 +1000 + +glib2.0 (2.56.0-6) unstable; urgency=medium + + * Team upload + * d/p/0002-gapplication-Tighten-up-application-ID-validation.patch: + Transliterate commit message into ASCII so git-buildpackage doesn't + export it as a blob of base64 + * d/p/g_test_dbus_down-Ensure-next-test-does-not-use-old-c.patch: + Add patch to address a race condition that sometimes makes D-Bus-based + tests fail (Closes: #894677) + * d/patches: Improve metadata on various patches + + -- Simon McVittie Thu, 05 Apr 2018 09:24:45 +0100 + +glib2.0 (2.56.0-5) unstable; urgency=medium + + [ Simon McVittie ] + * Use `set -e` in the (empty) prerm to avoid a Lintian warning + * Add Lintian override for the empty prerm used to work around + #887629 + + [ Michael Biebl ] + * Stop installing libglib to /lib. + Late mounting of /usr is no longer supported, so this is not necessary + anymore. + * Drop maintscript migration code from pre-jessie. + * Drop obsolete Breaks. + + -- Michael Biebl Sun, 01 Apr 2018 17:59:50 +0200 + +glib2.0 (2.56.0-4) unstable; urgency=medium + + * Fix typo: libglib2.0-dev-bin Depends on python3-distutils, not + distuils (Closes: #893773) + * Restore `set -x` in debian/tests/build + + -- Simon McVittie Thu, 22 Mar 2018 09:08:05 +0000 + +glib2.0 (2.56.0-3) unstable; urgency=medium + + [ Iain Lane ] + * debian/tests/build: Add Restrictions: allow-stderr. We run this test with + `set -x', which outputs to stderr, and would like to continue doing so. + + [ Jeremy Bicha ] + * Depend and Build-Depend on python3-distutils to fix build failures + since python3 no longer depends on python3-distutils (Closes: #893736) + + -- Jeremy Bicha Thu, 22 Mar 2018 00:27:02 -0400 + +glib2.0 (2.56.0-2) unstable; urgency=medium + + [ Simon McVittie ] + * Merge from experimental to unstable + * d/tests/build: Don't rely on having unmerged /usr + * d/watch: Only watch for stable releases + * d/gbp.conf: Use debian/master, upstream/2.56.x branches + * d/control: Update Vcs-* for default branch + + -- Jeremy Bicha Sat, 17 Mar 2018 08:49:26 -0400 + +glib2.0 (2.56.0-1) experimental; urgency=medium + + * Team upload + * New upstream stable release 2.56.0 + * d/p/000?-gdbus-tool-*.patch: + Drop patches that came from upstream + * Refresh remaining patches + * d/p/0001-tests-Use-modern-test-assertions-in-GApplication-tes.patch, + d/p/0002-gapplication-Tighten-up-application-ID-validation.patch: + Cherry-pick GApplication ID fixes from upstream 2.56 branch + (GNOME #793400) + + -- Simon McVittie Tue, 13 Mar 2018 18:53:02 +0000 + +glib2.0 (2.55.2-2) experimental; urgency=medium + + * Merge changes from unstable, in particular: + + d/libglib2.0-dev.prerm: Add an empty prerm to make sure that we have a + way to recover from #887629 in stretch (Closes: #887863) + * d/p/0001-gdbus-tool-Ignore-unknown-options-for-the-emit-subco.patch, + d/p/0002-gdbus-tool-Make-dest-optional-for-emit-again.patch, + d/p/0003-gdbus-tool-Don-t-repeatedly-complete-signal.patch, + d/p/0004-gdbus-tool-Factor-out-common-GOptionContext-construc.patch: + Cherry-pick from upstream. Fix `gdbus emit' to not require `--dest', and + improve its bash completion. Should fix the dbus-test-runner autopkgtest, + which relied on this behaviour. + + -- Iain Lane Thu, 22 Feb 2018 10:02:17 +0000 + +glib2.0 (2.55.2-1) experimental; urgency=medium + + * debian/control{,.in}: Update Vcs-* to specify debian/experimental branch. + * New upstream release 2.55.2: + + GFile now has API to get the path without copying + * debian/patches/gdbus-threading-test-Allow-even-longer-for-test_method_ca.patch, + debian/patches/gdatetime-Avoid-repeated-floating-point-multiplies-w.patch, + debian/patches/gdatetime-Mark-the-usecs-as-volatile.patch: + Drop, applied upstream in this release. + * debian/libglib2.0-0.symbols: New symbols for 2.55.2 + + -- Iain Lane Thu, 15 Feb 2018 10:23:05 +0000 + +glib2.0 (2.55.1-1) experimental; urgency=medium + + * debian/gbp.conf, debian/watch: Update for experimental + * New upstream development release 2.55.1 + * debian/libglib2.0-0.symbols: Update with new symbols in this release. + * debian/patches/gdatetime-Avoid-repeated-floating-point-multiplies-w.patch, + debian/patches/gdatetime-Mark-the-usecs-as-volatile.patch: Cherry-pick two + patches from upstream. Fix some precision problems within GDateTime, that + in some cases resulted in incorrect answers on i386. + + -- Iain Lane Mon, 15 Jan 2018 12:26:35 +0000 + +glib2.0 (2.54.3-2) unstable; urgency=medium + + * Team upload + * d/libglib2.0-dev.prerm: Add an empty prerm to make sure that we have + a way to recover from #887629 in stretch (Closes: #887863) + * d/p/gdbus-threading-test-Allow-even-longer-for-test_method_ca.patch: + Mark as applied upstream + * d/p/gmain-Partial-revert-of-recent-wakeup-changes-to-gmain.c.patch: + Apply patch from upstream glib-2-54 branch to revert GWakeup changes + that appear to have broken WebKit and/or LibreOffice + (Closes: #887492) + + -- Simon McVittie Mon, 22 Jan 2018 12:39:58 +0000 + +glib2.0 (2.54.3-1) unstable; urgency=medium + + [ Simon McVittie ] + * Move Vcs-* to salsa.debian.org + * New upstream stable release + - Fix a race condition when a GCancellable is cancelled in another + thread (Closes: #884654) + - Drop patches for #884661, fixed upstream + * d/p/gdbus-peer-Skip-test-during-Debian-package-build.patch: + Drop. We should no longer need to skip this test now that #884654 + is fixed. + * d/p/Do-not-attempt-to-autolaunch-a-session-dbus-daemon-w.patch: + Drop patch. It has not been necessary since 2.50. + * d/p/0001-Fix-trashing-on-overlayfs.patch, + d/p/0001-timer-test-use-volatile-for-locals.patch, + d/p/gdbus-threading-test-Allow-even-longer-for-test_method_ca.patch: + Mark as forwarded upstream + * d/patches: Move non-upstreamable patches (Debian-specific changes + and workarounds) to d/p/debian, and to the bottom of d/p/series + * d/watch: Only watch for the upstream stable branch + + [ Iain Lane ] + * debian/gbp.conf: Update upstream branch to upstream/2.54.x following + DEP-14. + + -- Iain Lane Tue, 09 Jan 2018 18:02:53 +0000 + +glib2.0 (2.54.2-5) unstable; urgency=medium + + * Set Rules-Requires-Root to no. This package builds successfully + with the same content in that mode. + * d/p/61_glib-compile-binaries-path.patch: Only use the multiarch + path for glib-compile-schemas, not for glib-compile-resources + * Install glib-compile-resources into PATH in libglib2.0-dev-bin, + not libglib2.0-bin: it is a development tool used at compile-time + - libglib2.0-dev-bin Breaks/Replaces older libglib2.0-bin + * Install the glib-compile-resources binary in libglib2.0-dev-bin, + not libglib2.0-0. This means we get an executable version of that + binary when cross-compiling (Closes: #885019) + * Bump Standards-Version to 4.1.3 + + -- Simon McVittie Fri, 29 Dec 2017 22:07:56 +0000 + +glib2.0 (2.54.2-4) unstable; urgency=medium + + * Team upload + * d/p/closures-test-Run-fewer-iterations-on-ARM64.patch: + Run more iterations on ARM64 than in 2.54.2-3, but fewer than in + 2.54.2-2. If we don't run enough iterations, we get an assertion + failure when the main thread starves the other threads. + * d/p/gmenumodel*.patch: Mark as upstreamed in 2.54.3 and 2.55.1 + * d/rules: Set DEB_BUILD_TIME_TESTS when running dh_auto_test, so that + tests can distinguish between autopkgtest and `make check` + * d/p/gdbus-peer-Skip-test-during-Debian-package-build.patch: + Skip the gdbus-peer test during package build, so that its known + race condition does not cause intermittent FTBFS (mitigates: #884654) + + -- Simon McVittie Thu, 21 Dec 2017 14:41:40 +0000 + +glib2.0 (2.54.2-3) unstable; urgency=medium + + * Team upload + * d/patches: Re-export with gbp pq + * d/patches: Use `gbp pq export`-style metadata, retrieving authors + and dates from d/changelog where needed + * d/p/closures-test-Run-fewer-iterations-on-ARM64.patch: New patch. + tests/refcount/closures: Run fewer iterations on ARM64 + (mitigates: #880883) + * d/p/gdbus-threading-test-Allow-even-longer-for-test_method_ca.patch: + New patch. Allow even longer for the gdbus-threading test, and + re-enable it on 32-bit ARM now that the timeout is longer + (Closes: #884660) + * d/p/gmenumodel-test-If-something-goes-wrong-don-t-wait-foreve.patch, + d/p/gmenumodel-test-Wait-for-the-expected-events-to-happen.patch: + Add patches to make the GMenuModel test more patient (Closes: #884661) + * d/p/gwakeuptest-Be-less-parallel-unless-invoked-with-m-slow.patch: + Reduce number of threads and number of operations in response to + timeout on reproducible-builds infrastructure (mitigates: #884659) + + -- Simon McVittie Mon, 18 Dec 2017 21:30:18 +0000 + +glib2.0 (2.54.2-2) unstable; urgency=medium + + * Update Vcs fields for conversion to git + * Add debian/gbp.conf + * Bump Standards-Version to 4.1.2 + + -- Jeremy Bicha Wed, 13 Dec 2017 21:15:13 -0500 + +glib2.0 (2.54.2-1) unstable; urgency=medium + + [ Jeremy Bicha ] + * New upstream release + + [ Didier Roche ] + * debian/patches/01_gettext-desktopfiles.patch: + - fix untranslated desktop action names when using gettext + (Closes: #877761) + + [ Simon McVittie ] + * Skip gtk-doc documentation unless we are building libglib2.0-doc, + fixing cross-builds (Closes: #870346) + - Note that gtk-doc-tools is still in Build-Depends, not + Build-Depends-Indep, because we need it for autoreconf + * Explicitly disable documentation for the udeb build + * Skip build-time tests for Arch:all builds - testing once per + architecture is sufficient + * Remove unused lintian override for an example file that is no + longer installed + + -- Jeremy Bicha Fri, 27 Oct 2017 21:16:41 -0400 + +glib2.0 (2.54.1-1) unstable; urgency=medium + + [ Jeremy Bicha ] + * New upstream release + * Bump Standards-Version to 4.1.1 + + [ Michael Biebl ] + * Drop uploaders.mk include as it breaks the clean target. + Updating the Uploaders list is already handled by the gnome dh addon. + + -- Jeremy Bicha Mon, 02 Oct 2017 12:13:25 -0400 + +glib2.0 (2.54.0-1) unstable; urgency=medium + + * New upstream stable release. + + -- Emilio Pozuelo Monfort Mon, 11 Sep 2017 19:11:00 +0200 + +glib2.0 (2.53.7-1) unstable; urgency=medium + + * New upstream release. + * debian/patches/81-skip-monitor-test-on-non-linux.patch: + + Refreshed. + * debian/control.in: drop automake and autotools-dev build dependencies, + dh-autoreconf does that for us. + * Bump Standards-Version to 4.1.0; no changes needed. + + -- Emilio Pozuelo Monfort Sat, 09 Sep 2017 15:11:02 +0200 + +glib2.0 (2.53.6-1) unstable; urgency=medium + + * New upstream release. + * git_glib-mkenums-utf8.patch, git_glib-mkenums-flags.patch: Drop, now + applied upstream. + * debian/rules: Don't pass -X.la to dh_auto_install - it can easily lead to + unwanted removals (not claiming this is happening here) + * debian/rules: Fix arguments to dh_auto_test so tests are run again + * debian/rules, debian/control{,.in}: Use dh_missing and not dh_install + --list-missing. Also upgrade this check to --fail-missing. + * debian/rules: Don't run the tests under fakeroot; it makes them fail with + dbus-related authentication problems. + + -- Iain Lane Mon, 21 Aug 2017 17:01:22 +0100 + +glib2.0 (2.53.4-3) unstable; urgency=medium + + [ Matthias Klumpp ] + * Update Vcs-* URLs + + [ Jeremy Bicha ] + * Bump Breaks/Replaces: libglib2.0-dev to 2.53 (Closes: #867679) + * Add git_glib-mkenums-utf8.patch: + - Backport commit to fix "glib-mkenums: UnicodeDecodeError" + (Closes: #870310) + * Add git_glib-mkenums-flags.patch: + - Backport commit to fix mate-panel FTBFS (Closes: #870212) + + -- Jeremy Bicha Thu, 03 Aug 2017 12:21:04 -0400 + +glib2.0 (2.53.4-2) unstable; urgency=medium + + * Upload to unstable + + -- Matthias Klumpp Sun, 30 Jul 2017 12:54:22 +0200 + +glib2.0 (2.53.4-1) experimental; urgency=medium + + * New upstream release 2.53.4 + + Unicode support has been updated to Unicode 10.0.0 + + glib-genmarshal and glib-mkenums have been rewritten in python + + GLib can now be built with meson. autotools are still supported + + -- Iain Lane Wed, 19 Jul 2017 17:32:31 +0100 + +glib2.0 (2.53.3-1) experimental; urgency=medium + + * New upstream release 2.53.3. + * d/p/0001-gdatetime-Fix-a-potential-overflow-in-overflow-calcu.patch, + d/p/0002-tests-Fix-GDateTime-overflow-tests-on-32-bit-archite.patch, + d/p/0003-tests-Fix-overflows-in-find_maximum_supported_tv_sec.patch: + Cherry-picks to fix some overflow problems in GDateTime on 32 bit arches. + + -- Iain Lane Fri, 23 Jun 2017 11:09:22 +0100 + +glib2.0 (2.53.2-1) experimental; urgency=medium + + * New upstream release 2.53.2 + + A few new number parsing functions have been added: + - g_ascii_string_to_signed + - g_ascii_string_to_unsigned + These have better error handling than the existing ones. + + glib-mkenums now supports /*< private >*/ and /*< public >*/ + + GSettings now consider XDG_DATA_HOME in addition to XDG_DATA_DIRS. + * debian/libglib2.0-0.symbols: Add new symbols for 2.53.1. + * debian/patches/skip-broken-dbus-appinfo-test.patch: Drop - this test works + now. + + -- Iain Lane Mon, 12 Jun 2017 16:25:21 +0100 + +glib2.0 (2.53.1-1) experimental; urgency=medium + + * New upstream release 2.53.1 + + The gdbus tool gained a wait command + + g_unix_signal_source_new support SIGWINCH now + + There are now g_enum_to_string and g_flags_to_string functions + + A new function to instantiate objects: g_objet_new_with_properties + + GParameter and related APIs have been deprecated + * debian/libglib2.0-0.symbols: Add new symbols for 2.53.1. + + -- Iain Lane Fri, 05 May 2017 18:04:15 +0100 + +glib2.0 (2.52.0-1) experimental; urgency=medium + + * New upstream release 2.52.0 + * d/p/tests-gdatetime-Use-a-real-rather-than-invented-time.patch: Drop, + applied in this release. + + -- Iain Lane Mon, 20 Mar 2017 17:14:29 +0000 + +glib2.0 (2.51.5-1) experimental; urgency=medium + + * New upstream release 2.51.5 + * Drop patches applied upstream in this release: + - Install-gdb-Python-helpers-as-data-not-as-executable.patch + - glib-mkenums-Sort-input-files-for-more-deterministic.patch + * debian/patches/tests-gdatetime-Use-a-real-rather-than-invented-time.patch: + Cherry-pick a patch from upstream to fix GDateTime tests when tzdata ≥ + 2017a is in use. + * debian/libglib2.0-dev.install: Install the gdb script for libglib-2.0.so.* + into .../lib instead of .../usr/lib - it needs to match the installed path + of the library and we put libglib-2.0.so.* into /lib. + * debian/libglib2.0-0.symbols: Add g_content_type_is_mime_type + + -- Iain Lane Wed, 15 Mar 2017 13:55:41 +0000 + +glib2.0 (2.51.4-1) experimental; urgency=medium + + * Team upload + * New upstream release 2.51.4 (and 2.51.3) + * Build with dh instead of cdbs + - Move to debhelper compat level 10 + - Use dpkg-buildflags variables to extend LDFLAGS + - Enable bindnow hardening + - Remove indirection via $(SHARED_PKG), etc. variables + - Let dh_gnome_clean update the Uploaders instead of reinventing it + - Install some missing files detected by dh_install --list-missing + - Fix lintian warnings about useless use of dh-exec + - debian/dh_listmissing.pl: Remove + * Improve packaging for cross-compiling (Closes: #648621, #842442) + - Move glib-genmarshal and related files to a new M-A:foreign package + libglib2.0-dev-bin. Thanks to Helmut Grohne for the patch. + - Additionally move gdbus-codegen and gtester-report to + libglib2.0-dev-bin. They are architecture-independent, so in + particular clearly Multi-Arch: foreign; they aren't large enough to + justify a separate Architecture: all package. This works around + dh_python3's postinst snippet failing when used in a Multi-Arch: same + package with more than one instance installed. + - Move gtester to libglib2.0-dev-bin. It is a test-runner that can + operate on any executable, and does not rely on a matching architecture. + - Move gobject-query to libglib2.0-dev-bin. It prints the same things on + all architectures, and it isn't clear what use it is; glib-2.0.m4 + checks for it and AC_SUBSTs it, but according to codesearch.debian.net + no package actually seems to run it. + - Make libglib2.0-dev Multi-Arch: same + * Move gdb helpers from libglib2.0-0-dbg to libglib2.0-dev, move + detached debug symbols from libglib2.0-0-dbg to autogenerated -dbgsym + packages, and remove the libglib2.0-0-dbg binary package + * Add support for noudeb build profile + - Do not do the udeb build if the noudeb profile is selected, + for faster test-builds + * Fix assorted Lintian warnings + - Add missing build-dependency on dh-python + + remove obsolete Lintian override for mmissing B-D on python + - Add Lintian overrides for some intentionally weird scripts used in tests + - Do not install glib_gdb.py, gobject_gdb.py executable. They are + libraries to be imported by the gdb hooks, not scripts. + - Don't generate a ldconfig trigger for libglib2.0-tests, which does + not contain any public shared libraries + * Add patch to make glib-mkenums output more reproducible (Closes: #809152) + * Explicitly build-depend on automake so that the aspcud resolver used for + experimental does not decide automake1.11 is the best solution to + a dependency on automake | automaken + + -- Simon McVittie Sat, 04 Mar 2017 17:00:47 +0000 + +glib2.0 (2.51.2-1) experimental; urgency=medium + + * New upstream release 2.51.2 (& 2.51.1). + + Minimal support for UUIDs has been added + + A new file attribute, G_FILE_ATTRIBUTE_RECENT_MODIFIED has been added to + improve sorting of recent files + + glib-compile-resources grew a --generate-phony-targets flag + + GLib now installs a valgrind suppressions file for GLib and GIO + * debian/patches/skip-brokwn-dbus-appinfo-test.patch: Refresh (and fix the + typo in the filename) + * debian/libglib2.0-0.symbols: Add g_uuid* symbols which are new in this + release + + -- Iain Lane Tue, 14 Feb 2017 14:16:05 +0000 + +glib2.0 (2.51.0-2) experimental; urgency=medium + + * Merge changes from 2.50.2-2: + + debian/rules: disable libmount on !linux (Closes: #844052) + + debian/patches/0001-Fix-trashing-on-overlayfs.patch: Update with new + version from the upstream report to hopefully fix trashing of files in + directories which are symlinks to different devices. (Closes: #800047) + (LP: #1638245) + + -- Iain Lane Wed, 23 Nov 2016 17:36:07 +0000 + +glib2.0 (2.51.0-1) experimental; urgency=medium + + * debian/control{,.in}: Branch to experimental + * debian/watch: Track unstable releases again. + * New upstream release 2.51.0 + + glib-genmarshal and glib-mkenums have gained --output options for better + build system integration + + New API: g_utf8_make_valid + * Update debian/libglib2.0-0.symbols. + + -- Iain Lane Wed, 16 Nov 2016 18:23:38 +0000 + +glib2.0 (2.52.3-1) unstable; urgency=medium + + * New upstream release. + * skip-brokwn-dbus-appinfo-test.patch, + tests-gdatetime-Use-a-real-rather-than-invented-time.patch: + + Dropped, applied upstream. + * debian/libglib2.0-0.symbols: + + Add new symbols. + + -- Emilio Pozuelo Monfort Fri, 23 Jun 2017 21:06:46 +0200 + +glib2.0 (2.50.3-2) unstable; urgency=medium + + * debian/patches/tests-gdatetime-Use-a-real-rather-than-invented-time.patch: + Cherry-pick a patch from upstream to fix GDateTime tests when tzdata ≥ + 2017a is in use. (Closes: #858214) + + -- Michael Biebl Mon, 20 Mar 2017 00:21:57 +0100 + +glib2.0 (2.50.3-1) unstable; urgency=medium + + * New upstream release. + + -- Michael Biebl Wed, 15 Feb 2017 19:00:01 +0100 + +glib2.0 (2.50.2-2) unstable; urgency=medium + + * debian/rules: disable libmount on !linux (Closes: #844052) + * debian/patches/0001-Fix-trashing-on-overlayfs.patch: Update with new + version from the upstream report to hopefully fix trashing of files in + directories which are symlinks to different devices. (Closes: #800047) + + -- Iain Lane Wed, 23 Nov 2016 16:33:21 +0000 + +glib2.0 (2.50.2-1) unstable; urgency=medium + + * New upstream release. + * Track stable releases in debian/watch. + + -- Michael Biebl Tue, 08 Nov 2016 00:37:05 +0100 + +glib2.0 (2.50.1-1) unstable; urgency=medium + + [ Jason Crain ] + * libglib2.0-bin: includes a new 'gio' commandline tool (Closes: #840164) + + [ Andreas Henriksson ] + * New upstream release. + + -- Andreas Henriksson Tue, 11 Oct 2016 14:51:05 +0200 + +glib2.0 (2.50.0-2) unstable; urgency=medium + + [ Simon McVittie ] + * Build-depend on tzdata, which is no longer transitively Essential. + One test needs it. (Closes: #839487) + + [ Michael Biebl ] + * Fix Vcs-* to point to unstable. + * Mark dependencies which are required to run the test-suite with + . + * Add explicit Build-Depends on xsltproc, docbook-xml and docbook-xsl. + Besides libxml2-utils, those are needed for building the man pages. + * Drop Build-Depends on dbus-x11. The test-suite uses a mock version of + dbus-launch nowadays, so this dependency is no longer needed. + (Closes: #835884) + * Use dh-exec to substitute ${DEB_HOST_MULTIARCH} in .install, .links and + .dirs files. + + -- Michael Biebl Sat, 01 Oct 2016 22:15:22 +0200 + +glib2.0 (2.50.0-1) unstable; urgency=medium + + * New upstream release. + * Refresh patches. + + -- Michael Biebl Tue, 20 Sep 2016 18:37:10 +0200 + +glib2.0 (2.49.7-1) unstable; urgency=medium + + * New upstream release. + * Update debian/libglib2.0-0.symbols with one addition. + + -- Andreas Henriksson Tue, 13 Sep 2016 14:40:14 +0200 + +glib2.0 (2.49.6-1) unstable; urgency=low + + * New upstream release. + * Limit the libmount-dev build-depedency to [linux-any]. + + -- Andreas Henriksson Tue, 30 Aug 2016 17:57:52 +0200 + +glib2.0 (2.49.5-2) experimental; urgency=medium + + * debian/rules: Disable libmount for the udeb build; there's no + libmount-udeb, no immediate plans to provide one, and the functionality in + glib isn't that interesting in the d-i context at the present time. + + -- Iain Lane Mon, 22 Aug 2016 11:12:26 +0100 + +glib2.0 (2.49.5-1) experimental; urgency=medium + + [ Simon McVittie ] + * Merge packaging from unstable. + + [ Iain Lane ] + * New upstream release 2.49.5 + * debian/patches/gregex-loosen-behaviour-testing.patch: Drop this patch - + it's in 2.49.5. + * debian/libglib2.0-0.symbols: Add symbols for async + g_app_info_launch_default_for_uri. + * debian/control{,.in}, debian/rules: Enable libmount support + + -- Iain Lane Thu, 18 Aug 2016 12:10:08 +0100 + +glib2.0 (2.48.1-3) unstable; urgency=medium + + * debian/tests/control: do not fail on stderr output from + installed-tests. If gvfs happens to be installed, it gets + D-Bus-activated (even if it's disabled via GIO_USE_VFS and + GIO_USE_VOLUME_MONITOR), resulting in logging from dbus-daemon. + (Closes: #821031) + * debian/tests/installed-tests: explicitly select built-in VFS and + volume monitor + * d/p/gregex-loosen-behaviour-testing.patch: add patch from upstream + bug 767240 (not applied yet) to relax assertions about PCRE's behaviour, + which changed in 8.38 (Closes: #834272) + * d/rules: unset XDG_CONFIG_HOME, XDG_CACHE_HOME, XDG_DATA_HOME, + XDG_CONFIG_DIRS, XDG_DATA_DIRS so that they are based on the temporary + HOME. This avoids FTBFS if the user doing the build has these variables + already set in their build environment (Closes: #834334) + + -- Simon McVittie Mon, 15 Aug 2016 18:01:03 +0100 + +glib2.0 (2.48.1-2) unstable; urgency=medium + + * Remove refdbg variant. Thanks to Jonny Lamb for the patch. + Closes: #827269. + * Switch to python3. + + -- Emilio Pozuelo Monfort Wed, 13 Jul 2016 17:46:31 +0200 + +glib2.0 (2.49.4-1) experimental; urgency=medium + + * New upstream release. + * debian/patches/add-missing-gio-xml.patch: + + Dropped, gio.xml is now shipped in the tarballs. + * debian/patches/0001-Fix-gio-tests-socket-listener.patch: + + Dropped, included upstream. + + -- Emilio Pozuelo Monfort Thu, 21 Jul 2016 18:12:05 +0200 + +glib2.0 (2.49.3-1) experimental; urgency=medium + + * Switch to python3. + * New upstream release. + * d/p/0001-gsettings-test-Wrap-guint64-literals-in-G_GUINT64_CO.patch: + + Dropped, applied upstream. + * debian/patches/add-missing-gio-xml.patch: + + Add gio.xml file, which is missing from the tarball. Needed for the + documentation build. + * debian/patches/0001-Fix-gio-tests-socket-listener.patch: + + Fix a test hang. + * debian/libglib2.0-0.symbols: + + Update with new symbols. + * Standards-Version is 3.9.8. No changes needed. + + -- Emilio Pozuelo Monfort Wed, 20 Jul 2016 23:23:12 +0200 + +glib2.0 (2.49.2-2) experimental; urgency=medium + + * d/p/0001-gsettings-test-Wrap-guint64-literals-in-G_GUINT64_CO.patch: + Cherry-pick from upstream to fix test failure on non-64 bit arches. + + -- Iain Lane Thu, 23 Jun 2016 16:56:04 +0100 + +glib2.0 (2.49.2-1) experimental; urgency=medium + + [ Emilio Pozuelo Monfort ] + * Remove refdbg variant. Thanks to Jonny Lamb for the patch. + Closes: #827269. + + [ Iain Lane ] + * Update Vcs-* for experimental + * New upstream release 2.49.2 + + GDesktopAppInfo now allows bus activation with dashes. This is not + technically allowed per the Desktop Entry specification, but it happens + in the wild. Rather than forcing people to go through another traumatic + desktop file rename, accept it and translate - to _. + + The support for giving names to threads has been improved. Thread names + are now supported on Solaris as well, and the Linux support no longer + uses prctl() but the pthread api. + + GIO resources can now be overridden at runtime, using the + G_RESOURCE_OVERLAYS environment variable. + + gdbus-codegen can now generate autocleanup definitions for the types it + generates. Use the --c-generate-autocleanup option to control this + + GMainContext and GTask have gained more systemtap probes + * debian/watch: Update to find unstable versions + * debian/patches/04_homedir_env.patch: Refresh to apply correctly + * debian/libglib2.0-0.symbols: Update for this release + + -- Iain Lane Tue, 21 Jun 2016 14:20:19 +0100 + +glib2.0 (2.48.1-1) unstable; urgency=medium + + * New upstream release. + * Refresh patches. + * Drop obsolete Conflicts, Breaks and Replaces from pre-wheezy. + * Drop obsolete preinst maintainer scripts which cleaned up the + /usr/share/doc symlinks. + * Drop version requirement for pkg-config dependency. (Closes: #734479) + + -- Michael Biebl Wed, 11 May 2016 01:11:42 +0200 + +glib2.0 (2.48.0-1) unstable; urgency=medium + + * New upstream stable release 2.48.0 + + a minor build fix in the name of determinism (Closes: #812876) + + a few coverity fixes + + -- Iain Lane Wed, 23 Mar 2016 17:59:23 +0000 + +glib2.0 (2.47.92-1) experimental; urgency=medium + + * New upstream release. + + -- Andreas Henriksson Wed, 16 Mar 2016 11:18:53 +0100 + +glib2.0 (2.47.6-1) experimental; urgency=medium + + * New upstream release. + - GString is missing (transfer none) annotations on many of its methods + - systemtap and gdb scripts install in wrong place + - Documentation: various small improvements + - gdbusobjectmanagerserver: Clarify recommended ObjectManager paths + - Fix some annotations + - Cannot build with default flags under Fedora rawhide + (-Werror=format-nonliteral) + - gmacros.h is testing attributes with __has_feature (when compiling with + clang) + * debian/libglib2.0-0-dbg.install.in: Upstream now installs the gdb + auto-loaded scripts in the right place by themselves - no need for us to + move them about. + + -- Iain Lane Thu, 18 Feb 2016 14:07:22 +0000 + +glib2.0 (2.47.5-1) experimental; urgency=medium + + * debian/watch: Use download.gnome.org, seems ftp.gnome.org is not updating + properly currently. + * New upstream release 2.47.5 + + the system copy of PCRE is now used by default to implement GRegex. + Configure with --with-pcre=internal if a system PCRE version + is unavailable or undesired. + + interfaces for DTLS support have been added. A new version of + glib-networking will also be required. + + GDBusMethodInvocation now drops replies if the sender set the + NO_REPLY_EXPECTED flag + + several GApplication fixes, including fixes for commandline arguments in + interpreted languages on Windows + * debian/libglib2.0-0.symbols: Update with new symbols for this release. + * 0001-regex-test-expect-ASSERTION_EXPECTED-for-ab-with-PCR.patch: Drop, + it's included in this release. + + -- Iain Lane Wed, 20 Jan 2016 17:55:16 +0000 + +glib2.0 (2.47.4-1) experimental; urgency=medium + + * New upstream release + + The GApplication documentation has been improved in several areas. + * 0001-tests-fix-a-test-on-32-bit-builds.patch, + 0001-gtypes.h-move-G_STATIC_ASSERT-to-function-scope.patch: Drop, applied + upstream in this release. + * 0001-regex-test-expect-ASSERTION_EXPECTED-for-ab-with-PCR.patch: Fix regex + tests to assert the right errors as of pcre 8.38. Cherry-pick from + upstream. (Closes: #808842) + * Don't build automatic dbgsym package for -refdbg + + -- Iain Lane Thu, 14 Jan 2016 18:27:02 +0000 + +glib2.0 (2.47.3-3) experimental; urgency=medium + + * debian/patches/0001-gtypes.h-move-G_STATIC_ASSERT-to-function-scope.patch: + Another cherry-pick. Should fix g-ir-scanner. + + -- Iain Lane Sun, 29 Nov 2015 18:45:29 +0000 + +glib2.0 (2.47.3-2) experimental; urgency=medium + + * debian/patches/0001-tests-fix-a-test-on-32-bit-builds.patch: Cherry-pick + from upstream. Fix tests (and therefore the build) on 32 bit arches. + + -- Iain Lane Thu, 26 Nov 2015 16:12:12 +0000 + +glib2.0 (2.47.3-1) experimental; urgency=medium + + * New upstream release + + New API: hardware-assisted helpers for overflow-checked integer math. + + Fixes: Invalid free in g_local_file_trash() (LP: #1512826) + * d/p/{Doc-copy-included-example-files.patch, + Doc-Fix-missing-glibconfig.h-when-builddir-srcdir.patch, + Build-gdbus-example-objectmanager-server-again.patch}: Remove - in this + upstream release. + + -- Iain Lane Wed, 25 Nov 2015 17:59:33 +0000 + +glib2.0 (2.47.1-1) experimental; urgency=medium + + * New upstream release. + + The Unicode support has been updated to version 8.0 of the Unicode standard + + GDesktopAppInfo no longer sets the DISPLAY environment variable when + launching apps. This is now done in the GAppLaunchContext + implementations when appropriate. + * debian/watch: Look for development versions too. + * debian/patches/90_gio-modules-multiarch-compat.patch: Refresh to apply on + this version. + * debian/patches/0001-GDateTime-test-fix-occasional-failures.patch: Drop, + upstream in this release. + * debian/libglib2.0-0.symbols: Update with new symbols for this release. + + -- Iain Lane Wed, 04 Nov 2015 17:28:23 +0000 + +glib2.0 (2.46.2-3) unstable; urgency=medium + + * Add debian/patches/disable-failing-test-for-pcre838.patch + - disable regexp test that fails with new system pcre 8.38 + which just hit Debian unstable. Needs further investigation + but lets not leave the build broken during the holidays. + + -- Andreas Henriksson Wed, 23 Dec 2015 17:11:16 +0100 + +glib2.0 (2.46.2-2) unstable; urgency=medium + + [ Iain Lane ] + * Fix typo in previous changelog entry. + + [ Andreas Henriksson ] + * Add debian/patches/bug712848-volume-monitor-deadlock-kfreebsd.patch + - patch by and big thanks to Steven Chamberlain for debugging this! + - given lack of feedback from upstream, which would be very welcome + for deep changes like this, use an ifdef to only change on + *FreeBSD for now... (Closes: #712848) + * Add --no-ddebs arg to dh_strip for refdbg package build which + otherwise fails and I doubt we need ddeb/dbgsym for our debug + package. + + -- Andreas Henriksson Wed, 23 Dec 2015 11:54:51 +0100 + +glib2.0 (2.46.2-1) unstable; urgency=medium + + * Fix Vcs-* to point to unstable. + * New upstream stable release 2.46.2. + + Fixes cross compilation (Closes: #800610) + * Drop changes from 2.46.1-2, which are all in this upstream release. + * Drop debian/patches/0001-GDateTime-test-fix-occasional-failures.patch, + applied upstream. + + -- Iain Lane Mon, 09 Nov 2015 12:59:12 +0000 + +glib2.0 (2.46.1-2) unstable; urgency=medium + + * Team upload. + * Cherry-pick patches from upstream glib-2-46 branch to fix incomplete + documentation (Closes: #659977) + * debian/gdbus-example-objectmanager-server.c: add missing example file + from upstream git; it was accidentally omitted from upstream tarballs + + -- Simon McVittie Mon, 02 Nov 2015 17:31:00 +0000 + +glib2.0 (2.46.1-1) unstable; urgency=medium + + [ Michael Biebl ] + * Drop clean-la.mk from debian/rules, no longer required. + + [ Iain Lane ] + * New upstream release 2.46.1 + + Remove system_header pragma (should fix lack of warnings with things + like g_return_if_fail) + + move GStrv typedef (and auto-cleanup) from libgobject to libglib + + fix order of trashing files to be closer to what is required in the + specification. Namely, trashinfo files are written first. This should + fix issues with the gvfs trash backend failing to correctly read the + info for recently trashed files (preventing 'restore'). (Closes: + #800491) (LP: #1495943) + + tweak mime logic to return text/plain on all empty files instead of + returning application/octet-stream. This includes files that have + extensions that imply that they may be other types of files, which is a + slight change of behaviour with respect to old GLib versions. (LP: + #1497170) + * debian/patches/0001-Revert-list-store-Fix-a-parameter-check.patch: Drop - + this is applied upstream in this release. + * debian/patches/0001-GDateTime-test-fix-occasional-failures.patch: Take + patch from bgo#754994 to resolve intermittent test failures in the + GDateTime tests. + + -- Iain Lane Thu, 15 Oct 2015 16:08:30 +0100 + +glib2.0 (2.46.0-2) unstable; urgency=medium + + * debian/patches/0001-Revert-list-store-Fix-a-parameter-check.patch: + Cherry-pick from upstream to fix GSequence (this at least makes + GStreamer's testsuite fail). + + -- Iain Lane Mon, 28 Sep 2015 13:07:06 +0100 + +glib2.0 (2.46.0-1) unstable; urgency=medium + + [ Iain Lane ] + * New upstream stable release 2.46.0 + + Disable runtime-deprecation warnings + + Fix marshalling of flags on bigendian 64bit architectures + + [ Simon McVittie ] + * Change section of libglib2.0-refdbg from debug to devel, so that it + isn't kicked out into a separate mirror network when we get + automatic -dbgsym packages (Closes: #796836) + + -- Iain Lane Wed, 23 Sep 2015 11:33:01 +0100 + +glib2.0 (2.45.8-1) experimental; urgency=medium + + * New upstream development release. + * Update debian/libglib2.0-0.symbols with one addition: + g_param_spec_get_name_quark + + -- Andreas Henriksson Thu, 17 Sep 2015 10:05:17 +0200 + +glib2.0 (2.45.7-1) experimental; urgency=medium + + * New upstream release 2.45.7 + + Add G_FILE_ATTRIBUTE_STANDARD_IS_VOLATILE for use by non-POSIX-like + backends (e.g. cloud storage). + + GFileMonitor: Make the inotify backend work with atomic renames again + + GSettings: change notification is again working unconditionally + + GListStore has a sort function now + + Test infrastructure: + - Tests are now required to have unique names + - TAP support has been improved + - A macro for asserting that two memory regions have identical content + has been added + * debian/libglib2.0-0.symbols: Add new symbol for this release. + + -- Iain Lane Thu, 03 Sep 2015 14:09:02 +0100 + +glib2.0 (2.45.6-1) experimental; urgency=medium + + * New upstream releases 2.45.5 and 2.45.6 + + GNetworkMonitor now provides information about metered networks + + g_mem_set_vtable has been deprecated; it has not been working for quite + a while. The recommendation is to use valgrind, or replace malloc + itself. + * debian/patches/0001-GOptionContext-Don-t-crash-without-main-group.patch: + Drop, applied upstream. + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Wed, 26 Aug 2015 17:25:52 +0100 + +glib2.0 (2.45.4-2) experimental; urgency=medium + + * debian/patches/0001-GOptionContext-Don-t-crash-without-main-group.patch: + Cherry-pick. Don't crash in GOptionContext if there's no main group. Fixes + crash when running (for example) gdbus. + + -- Iain Lane Wed, 29 Jul 2015 16:30:21 +0100 + +glib2.0 (2.45.4-1) experimental; urgency=medium + + * New upstream release 2.45.4 + * d/p/0001-gio-tests-appmonitor-Delete-file-before-checking-for.patch, + d/p/0001-glocalfilemonitor-Send-DELETED-event-when-there-is-n.patch: Drop, + applied upstream. + * d/p/07_disable_tests_on_slow_archs.patch: Refresh to apply cleanly. + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Tue, 21 Jul 2015 18:07:32 +0100 + +glib2.0 (2.45.3-1) experimental; urgency=medium + + [ Simon McVittie ] + * d/p/regex-if-PCRE-is-8.34-or-later-disable-auto-possessi.patch: + mark as applied upstream in 2.45.3 + + [ Iain Lane ] + * New upstream release 2.45.3. + + Improve performance of g_signal_handler_disconnect for signals + with many handlers + + GDBus has gained a new call flag to allow interactive authorization + + GSettings: + - New API: g_settings_schema_list_keys + - Deprecated: g_settings_list_keys + * debian/libglib2.0-0.symbols: Update with new symbols from this release. + * debian/patches/regex-if-PCRE-is-8.34-or-later-disable-auto-possessi.patch: + Delete, applied upstream. + * d/p/0001-gio-tests-appmonitor-Delete-file-before-checking-for.patch: + Cherry-pick upstream patch to fix testsuite failure causing FTBFS. + + -- Iain Lane Wed, 01 Jul 2015 18:15:07 +0100 + +glib2.0 (2.45.2-1) experimental; urgency=medium + + [ Simon McVittie ] + * Correctly attribute previous upload to Iain + * d/p/0001-Fix-trashing-on-overlayfs.patch: add upstream bug reference + * d/p/0001-glocalfilemonitor-Send-DELETED-event-when-there-is-n.patch: + add upstream bug reference + * d/p/10_kfreebsd_issetugid_prototype.patch, + d/p/11_kfreebsd_pthread_condattr_setclock_prototype.patch, + d/p/13_sparc_prlimit_prototype.patch: + drop workarounds for #635205, #703545, #703559 which were all fixed + in jessie + * d/p/81-skip-monitor-test-on-non-linux.patch: add DEP-3 information + * d/p/90_gio-modules-multiarch-compat.patch: add DEP-3 information + + [ Iain Lane ] + * New upstream release 2.45.2 + + Improve error reporting in glib-compile-schemas. + + Add introspection annotations to GListStore. + * GDBus-tests-change-progress-noise-from-if-not-quiet-.patch, + gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch, + gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch, + regex-test-do-not-assert-that-system-PCRE-still-has-.patch, + gdbus-serialization-use-check_serialization-instead-.patch, + gdbus-peer-test-let-GDBusServer-start-before-notifyi.patch, + gdatetime-test-don-t-assume-that-time-stands-still.patch: Delete, applied + upstream. + * 07_disable_tests_on_slow_archs.patch: Refresh to defuzz + + -- Iain Lane Tue, 09 Jun 2015 16:19:20 +0100 + +glib2.0 (2.45.1-2) experimental; urgency=medium + + [ Simon McVittie ] + * d/p/regex-if-PCRE-is-8.34-or-later-disable-auto-possessi.patch: + update to my latest version submitted upstream, which fixes undefined + behaviour in the unlikely event that G_REGEX_OPTIMIZE is combined + with g_regex_match_all(). + * d/p/regex-test-do-not-assert-that-system-PCRE-still-has-.patch: + update to my latest version submitted upstream, which asserts that + a newer-than-8.32 system PCRE does not have the bug in question. + * d/p/gdbus-serialization-use-check_serialization-instead-.patch: + add patch to fix FTBFS in non-minimal environments (libdbus-1-dev + installed). Applied upstream for 2.45.2. + + [ Iain Lane ] + * d/p/0001-Fix-trashing-on-overlayfs.patch: Take patch from + upstream bug to fix trashing on overlayfs. + * d/p/0001-glocalfilemonitor-Send-DELETED-event-when-there-is-n.patch: Take + patch from upstream bug to send the right event when moving files outside + a monitored directory. + + -- Iain Lane Mon, 11 May 2015 16:30:47 +0100 + +glib2.0 (2.45.1-1) experimental; urgency=medium + + * New upstream release 2.45.1 + + The GSettings schema compiler, glib-compile-schemas has been changed + to reject schema xml that has duplicate or + elements. Such elements typically occur when translations are merged + into the schema, with xml:lang attributes. This is not the correct way + to translate schemas. Instead keep the translations in the .mo file and + set the gettext-domain attribute on the element. To avoid + breaking already-installed schemas, this change is only taking effect + when you use the --strict option. + + The file monitoring infrastructure has been rewritten, and all backends + have seen major improvements. + + The inotify backend is reporting events with less delay (no event will + be delayed more than 10ms) and wakeups due to file monitoring have + been significantly reduced. A CHANGES_DONE event will also be sent + when new files appear. + + The poll implementation is now using the thread default main context. + + The fam implmentation is now running in the worker thread. + + The fen implementation has been removed, since it was unmaintained. + + The hardcoded 10-thread limit of GTask's thread pool has been removed, + since it was prone to causing deadlocks. The thread pool is now allowed + to grow dynamically and will shrink back over time. + + GSimpleAsyncResult has been deprecated in favor of GTask. + + The algorithm used by GAppInfo to find default handlers for mime types + has been tweaked to prefer apps that handle the specific subtype over + default handlers for a generic supertype. + * d/p/regex-test-do-not-assert-that-system-PCRE-allows-P-1.patch: Drop, + applied upstream. + * debian/control{,.in}: Update Vcs-* for experimental. + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Fri, 01 May 2015 13:37:01 +0100 + +glib2.0 (2.44.1-1) unstable; urgency=medium + + * New upstream release 2.44.1 + + Improve the default application algorithm + + Bump the number of children a GType can have + + Various testsuite improvements + + -- Iain Lane Wed, 13 May 2015 17:46:59 +0100 + +glib2.0 (2.44.0-3) unstable; urgency=medium + + * Team upload. + + [ Simon McVittie ] + * d/p/regex-test-do-not-assert-that-system-PCRE-allows-P-1.patch: + update to the version that went upstream in 2.45.1. No functional change. + * d/p/regex-if-PCRE-is-8.34-or-later-disable-auto-possessi.patch: + update to my latest version submitted upstream, which fixes undefined + behaviour in the unlikely event that G_REGEX_OPTIMIZE is combined + with g_regex_match_all(). + * d/p/regex-test-do-not-assert-that-system-PCRE-still-has-.patch: + update to my latest version submitted upstream, which asserts that + a newer-than-8.32 system PCRE does not have the bug in question. + * d/p/gdbus-serialization-use-check_serialization-instead-.patch: + add patch to fix FTBFS in non-minimal environments (libdbus-1-dev + installed). Applied upstream for 2.45.2. + * d/p/gdbus-peer-test-let-GDBusServer-start-before-notifyi.patch: + add patch fixing a race condition in the gdbus-peer test. + Applied upstream for 2.45.2. + * d/p/GDBus-tests-change-progress-noise-from-if-not-quiet-.patch: + add patch fixing potential test failures caused by corrupt TAP + output. Applied upstream for 2.45.2. + * d/p/gdatetime-test-don-t-assume-that-time-stands-still.patch: + add patch fixing potential test failures at the boundary between + one second and the next. Applied upstream for 2.45.2. + * d/p/10_kfreebsd_issetugid_prototype.patch, + d/p/11_kfreebsd_pthread_condattr_setclock_prototype.patch, + d/p/13_sparc_prlimit_prototype.patch: + drop workarounds for #635205, #703545, #703559 which were all fixed + in jessie + * d/p/81-skip-monitor-test-on-non-linux.patch: add DEP-3 information + * d/p/90_gio-modules-multiarch-compat.patch: add DEP-3 information + + [ Iain Lane ] + * d/p/0001-Fix-trashing-on-overlayfs.patch: Take patch from + upstream bug to fix trashing on overlayfs. + + -- Simon McVittie Tue, 12 May 2015 13:15:38 +0100 + +glib2.0 (2.44.0-2) unstable; urgency=medium + + * Upload to unstable. + * debian/watch: Consider stable versions only. + + -- Iain Lane Fri, 01 May 2015 11:27:39 +0100 + +glib2.0 (2.44.0-1) experimental; urgency=medium + + * New upstream release 2.44.0 + + gsocket: Document FD ownership with g_socket_new_from_fd() + + -- Iain Lane Mon, 30 Mar 2015 16:35:53 +0100 + +glib2.0 (2.43.92-1) experimental; urgency=medium + + * New upstream release 2.43.92 + + GUnixMountMonitor now properly supports multiple main contexts + + many documentation improvements and cleanups. + + new support for HTTP proxies in GIO + + new GTask:completed property + + use "private" futexes in order to further improve the performance of the + contended case of GMutex and g_bit_lock() + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Wed, 18 Mar 2015 11:03:04 +0000 + +glib2.0 (2.43.91-1) experimental; urgency=medium + + * New upstream release 2.43.91 + - We have now added 'g_autofree' as a libgsystem-style autocleanup macro + that calls g_free() on the content of a local variable when it leaves + scope (working only on GCC and clang). + - GApplication now has an "is-busy" property, allowing one to query the + effective busy state. + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Tue, 03 Mar 2015 17:36:38 +0000 + +glib2.0 (2.43.90-1) experimental; urgency=medium + + * New upstream release 2.43.90 + + new GSimpleIOStream class to construct a GIOStream from an arbitrary + GInputStream and GOutputStream + + GApplication: new API for marking 'busy' state according to the value of + a boolean property on another object + + GOptionGroup: add binding support (boxed type, annotation fixes, etc.) + * debian/patches/gdbus-Let-the-pending-read-finish-before-closing-the.patch: + Drop this cherry-pick from an upstream bug - should be fixed differently + in this release (bgo #743990). + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Thu, 19 Feb 2015 11:37:11 +0000 + +glib2.0 (2.43.4-1) experimental; urgency=medium + + * New upstream release 2.43.4 + + GType now has type declaration macros G_DECLARE_DERIVABLE_TYPE, + G_DECLARE_FINAL_TYPE and G_DECLARE_INTERFACE, which significantly reduce + the boilerplate needed for GObject types and interfaces. + + g_autoptr and g_auto are macros for declaring variables with automatic + cleanup. They only work with gcc and clang. + + GListModel is a new interface that represents a dynamic list of GObjects. + + GListStore is a GSequence-based implementation of GListModel. + + g_simple_action_set_state_hint: New function to set the state hint of + GSimpleActions + + g_settings_schema_list_children and g_settings_schema_key_get_name are + new functions to complete the GSettingsSchema API. + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Mon, 16 Feb 2015 16:37:30 +0000 + +glib2.0 (2.43.3-1) experimental; urgency=medium + + [ Laurent Bigonville ] + * debian/control.in, debian/libglib2.0-dev.install.in, + debian/libglib2.0-0-dbg.install.in: Install the gdb python scripts in the + proper locations, move them to the -dbg package and add the needed + Breaks/Replaces (Closes: #774024) + + [ Iain Lane ] + * New upstream release 2.43.3 + + add g_set_object() convenience function + + GNetworkMonitor: check if NM is not running and don't crash + + fix some races with g_mkdir_with_parents + + avoid use of G_STRLOC in G_OBJECT_WARN_INVALID_PSPEC in order to save on + static strings + + fix some content type vs. mime issues + * 07_disable_tests_on_slow_archs.patch: Refresh + + -- Iain Lane Tue, 20 Jan 2015 13:46:28 +0000 + +glib2.0 (2.43.2-1) experimental; urgency=medium + + [ Laurent Bigonville ] + * debian/control.in: Switch build-dependency from libelfg0-dev to libelf-dev + (Closes: #769408) + + [ Iain Lane ] + * New upstream release 2.43.2 + + New function: g_strv_contains + + New function: g_network_address_new_loopback + + New function: g_socket_send_messages + + A new GNetworkMonitor implementation using NetworkManager provides more + detailed connectivity information + * 0001-GSettings-fix-check-for-delaying-backend-subscriptio.patch, + 0001-gmain-fix-poll-record-comparison.patch: gmain: fix the sorting of: + Drop, applied in this release. + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Tue, 16 Dec 2014 17:29:02 +0000 + +glib2.0 (2.43.1-2) experimental; urgency=medium + + * 0001-GSettings-fix-check-for-delaying-backend-subscriptio.patch: + Cherry-pick patch from upstream. Check signal detail too when looking for + pending signal handlers, so that subscribing to changed signals with a + detail works again. + * 0001-gmain-fix-poll-record-comparison.patch: gmain: fix the sorting of + poll records. Resolves FTBFS on ppc64el. + + -- Iain Lane Fri, 28 Nov 2014 18:08:16 +0000 + +glib2.0 (2.43.1-1) experimental; urgency=medium + + * New upstream release 2.43.1, changes since 2.42.1: + + GQueue now accepts NULL as a sibling in g_queue_insert_before() and + g_queue_insert_after() + + GObject gained a debug option to provide instance counts. To use it, set + GOBJECT_DEBUG=instance-count and call g_type_get_instance_count(). + + GOption now has a strict POSIX mode in which it stops parsing arguments + as soon as a non-option argument is encountered. + * debian/control{,.in}: Bump Standards-Version to 3.9.6, no changes + required. + * debian/libglib2.0-0.symbols: Add new symbols for this release. + + -- Iain Lane Tue, 25 Nov 2014 12:46:31 +0000 + +glib2.0 (2.42.1-1) unstable; urgency=medium + + [ Iain Lane ] + * Pass --enable-debug=minimum not minimal - this is what configure.ac + expects. + + [ Emilio Pozuelo Monfort ] + * New upstream bugfix release. + * d/p/0001-properties-disable-default-deprecation-warnings.patch: + + Removed, merged upstream. + + -- Emilio Pozuelo Monfort Tue, 11 Nov 2014 18:53:49 +0100 + +glib2.0 (2.42.0-2) unstable; urgency=medium + + [ Andreas Henriksson ] + * Update Vcs-* to use unstable instead of experimental branch + + [ Iain Lane ] + * 0001-properties-disable-default-deprecation-warnings.patch: Backport from + upstream stable branch - silences warnings that are shown to users on + stderr, and which also cause some testsuite failures and consequent FTBFS. + + -- Iain Lane Thu, 02 Oct 2014 13:08:24 +0100 + +glib2.0 (2.42.0-1) unstable; urgency=medium + + * New upstream release + + -- Iain Lane Tue, 23 Sep 2014 10:12:15 +0100 + +glib2.0 (2.41.5-2) unstable; urgency=medium + + * Upload to unstable. + + -- Andreas Henriksson Fri, 19 Sep 2014 22:00:33 +0200 + +glib2.0 (2.41.5-1) experimental; urgency=medium + + [ Andreas Henriksson ] + * Make libglib2.0-0 recommend xdg-user-dirs + - needed to set up ~/.config/user-dirs.dirs to get default XDG_*_DIR set. + + [ Iain Lane ] + * New upstream release 2.41.5 + - GDesktopAppInfo: avoid polling on missing desktop dirs + + -- Iain Lane Wed, 17 Sep 2014 10:19:27 +0100 + +glib2.0 (2.41.4-1) experimental; urgency=medium + + * New upstream release + * debian/libglib2.0-0.symbols: + + Add g_application_add_main_option symbol + + -- Sjoerd Simons Sat, 06 Sep 2014 15:16:14 +0200 + +glib2.0 (2.41.3-1) experimental; urgency=medium + + * New upstream release 2.41.3 + * debian/tests/installed-tests: Revert the previous change - require dbus >= + 1.8 and always use dbus-run-session. + + -- Iain Lane Wed, 20 Aug 2014 16:16:23 +0100 + +glib2.0 (2.41.2-1) experimental; urgency=medium + + * New upstream release + - The Unicode support has been updated to version 7.0 of the Unicode + standard + - GNotification now supports priorities for notifications + - GMutex now uses a faster, native implementation on Linux + * 0001-gvariant-tests-workaround-libc-compiler-issue.patch: Drop, applied + upstream in this release. + * Add new symbols for this release. + * Merge in changes from 2.40.0-4 + + Adapt for system pcre3/1:8.35 (Closes: #755439): + - a PCRE 8.31 bug in case-insensitivity has been fixed, so do not assert + bug-for-bug compatibility with 8.31 + - named match groups' names cannot start with a digit any more, so + (?P<1>.) is no longer allowed; do not assert that it is + - turn off a new optimization that would reduce the result set when + called from g_match_all(_full), to preserve existing functionality + + Build-depend on pcre3/1:8.35 so that the new optimization is + known to be turned off in the built binaries + + Add patch from upstream to fix mis-optimization in gvariant test + with gcc 4.9 (Closes: #756272) + + Avoid using dbus-launch for regression tests (Closes: #737488): + - run installed-tests under dbus-run-session from dbus (>= 1.8) + - do not run build-time tests under dbus-launch: those that use D-Bus + all create their own session bus instances now + (i.e. remove 05_run-gio-tests-with-a-dbus-session.patch) + - set a deliberately invalid DBUS_SESSION_BUS_ADDRESS to make sure + nothing in the build is still inheriting it from the environment + + Override Lintian false positive #733733: we build-depend on python:any + but Lintian doesn't yet understand :any syntax + * Make the installed tests still run dbus-launch if we don't have + dbus-run-session (i.e. if the installed dbus is << 1.8). + + -- Iain Lane Thu, 14 Aug 2014 11:14:40 +0100 + +glib2.0 (2.41.1-2) experimental; urgency=medium + + * 0001-gvariant-tests-workaround-libc-compiler-issue.patch: Cherry-pick + patch from upstream to fix/workaround a new compiler optimisation in + gcc-4.9 which occurs when passing a null pointer / zero size to memcmp. + Should fix FTBFS on many arches in unstable. + + -- Iain Lane Wed, 25 Jun 2014 10:21:27 +0100 + +glib2.0 (2.41.1-1) experimental; urgency=medium + + * New upstream release + * 0001-Prevent-an-invalid-CARBON_LIBS-from-appearing-in-the.patch: Drop, + included in this release. + * Update symbols file with the new symbol in this release. + + -- Iain Lane Tue, 24 Jun 2014 12:40:29 +0100 + +glib2.0 (2.41.0-2) experimental; urgency=medium + + [ Andreas Henriksson ] + * Bump python:any build-dependency to >= 2.7.5-5~ (Closes: #747928) + + [ Emilio Pozuelo Monfort ] + * Use the default compiler on sparc, since it's already >> 4.7. + Closes: #751313. + + [ Iain Lane ] + * 0001-Prevent-an-invalid-CARBON_LIBS-from-appearing-in-the.patch: + Cherry-pick patch from upstream to fix an invalid "@CARBON_LIBS@" token + appearing in Libs.private in the pcfile. (LP: #1330033) + + -- Iain Lane Mon, 16 Jun 2014 10:17:36 +0100 + +glib2.0 (2.41.0-1) experimental; urgency=medium + + [ Emilio Pozuelo Monfort ] + * debian/libglib2.0-doc.links: + + The symlink for the gtk docs is broken at the moment, and even if + fixed, it will still be broken if libgtk2.0-doc isn't installed on + a system, so just drop it. Closes: #746782. + + [ Iain Lane ] + * New upstream release 2.41.0 + - Many bugfixes found by static analysis, including potential fd leaks and + NULL pointer dereferences. + - Increased use of (nullable) attribute on out values and return types now + that it is supported (mostly from porting Vala metadata). + - use XDG_CURRENT_DESKTOP for OnlyShowIn/NotShowIn handling of desktop + files, deprecating g_desktop_app_info_set_desktop_env() + - add support for g_desktop_app_info_get_implementations() to find desktop + files that have an Implements= line for a given interface + - GHmac has gained SHA-512 support + - support the new mimeapps specification (most notably, moving the + assoications/defaults configuration to ~/.config/mimeapps.list). + - libgobject is now linked -Wl,-z,nodelete when possible to avoid errors + when gobject is used from a module for a program that does not itself use + gobject and that module is unloaded/reloaded + * debian/watch: Use http://ftp.gnome.org; it's more up-to-date. + * Update symbols file with new symbols for this release. + + -- Iain Lane Tue, 27 May 2014 15:41:46 +0100 + +glib2.0 (2.40.0-4) unstable; urgency=medium + + * Team upload + + [ Emilio Pozuelo Monfort ] + * Use the default compiler on sparc, since it's already >> 4.7. + Closes: #751313. + + [ Iain Lane ] + * Fix Vcs-* for the unstable branches + + [ Simon McVittie ] + * Adapt for system pcre3/1:8.35 (Closes: #755439): + - a PCRE 8.31 bug in case-insensitivity has been fixed, so do not assert + bug-for-bug compatibility with 8.31 + - named match groups' names cannot start with a digit any more, so + (?P<1>.) is no longer allowed; do not assert that it is + - turn off a new optimization that would reduce the result set when called + from g_match_all(_full), to preserve existing functionality + * Build-depend on pcre3/1:8.35 so that the new optimization is + known to be turned off in the built binaries + * Add patch from upstream to fix mis-optimization in gvariant test + with gcc 4.9 (Closes: #756272) + * Avoid using dbus-launch for regression tests (Closes: #737488): + - run installed-tests under dbus-run-session from dbus (>= 1.8) + - do not run build-time tests under dbus-launch: those that use D-Bus + all create their own session bus instances now + (i.e. remove 05_run-gio-tests-with-a-dbus-session.patch) + - set a deliberately invalid DBUS_SESSION_BUS_ADDRESS to make sure + nothing in the build is still inheriting it from the environment + * Override Lintian false positive #733733: we build-depend on python:any + but Lintian doesn't yet understand :any syntax + + -- Simon McVittie Sun, 10 Aug 2014 22:58:33 +0100 + +glib2.0 (2.40.0-3) unstable; urgency=medium + + [ Rico Tzschichholz ] + * debian/libglib2.0-bin.install: + - Install /usr/bin/gapplication + + -- Sjoerd Simons Sun, 27 Apr 2014 10:36:34 +0200 + +glib2.0 (2.40.0-2) unstable; urgency=medium + + [ Iain Lane ] + * gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch: Take latest + version from upstream bug to resolve some test failures. + * Add xauth test-dep, needed for xvfb-run + + [ Emilio Pozuelo Monfort ] + * Upload to unstable. + + -- Emilio Pozuelo Monfort Wed, 02 Apr 2014 14:37:13 +0200 + +glib2.0 (2.40.0-1) experimental; urgency=medium + + * New upstream release. + + -- Andreas Henriksson Mon, 24 Mar 2014 20:58:34 +0100 + +glib2.0 (2.39.92-2) experimental; urgency=medium + + * test_timer_basic is still broken. Skip it. + + -- Iain Lane Tue, 18 Mar 2014 15:43:35 +0000 + +glib2.0 (2.39.92-1) experimental; urgency=medium + + * New upstream release. + * 0001-timer-test-use-volatile-for-locals.patch: Take patch from bgo #722604 + to workaround gcc's intentional spec violation in the timer tests. + + Remove debian/patches/80-skip-timer-test.patch accordingly; it should + now work. + + -- Iain Lane Tue, 18 Mar 2014 10:14:36 +0000 + +glib2.0 (2.39.91-1) experimental; urgency=medium + + * New upstream release. + * d/p/0001-asyncqueue-fix-timeout-math-on-32bit-systems.patch: + + Dropped, merged upstream. + * debian/patches/81-skip-monitor-test-on-non-linux.patch: + + New patch, skip the monitor test on non-linux as it currently hangs. + * debian/libglib2.0-0.symbols: + + Add a new symbol. + + -- Emilio Pozuelo Monfort Sun, 09 Mar 2014 15:06:31 +0100 + +glib2.0 (2.39.90-2) experimental; urgency=medium + + * debian/control.in: + + Bump gtk-doc-tools build-dependency per configure.ac. + * debian/patches/Don-t-use-a-parallel-build-for-the-documentation.patch: + + Removed, no longer needed with gtk-doc 1.20. + * d/p/0001-asyncqueue-fix-timeout-math-on-32bit-systems.patch: + + Patch from git, fix an overflow in g_async_queue_timed_pop_unlocked + on 32 bits systems. + * debian/patches/80-skip-timer-test.patch: + + Skip the timer test which currently fails on x86 because of float + precission errors. + * debian/rules: + + Make the test suite fatal on linux. + + Run the test suite on !linux, but ignore test suite errors for now. + + -- Emilio Pozuelo Monfort Sun, 23 Feb 2014 16:36:18 +0100 + +glib2.0 (2.39.90-1) experimental; urgency=medium + + * New upstream release. + * Drop patches now included in upstream release: + - 0001-glib-tests-collate.c-run-to-completion-when-skipping.patch + - 0002-g_test_run-return-0-if-all-tests-are-skipped-in-TAP-.patch + * Fix fuzz to make debian/patches/04_homedir_env.patch apply again. + * Use quilt to refresh remaining patches. + * debian/libglib2.0-0.symbols: Add new symbols. + + -- Andreas Henriksson Tue, 18 Feb 2014 19:53:16 +0100 + +glib2.0 (2.39.4-1) experimental; urgency=medium + + * New upstream development release. + * debian/rules: + + Tell dh_clean not to remove org.gtk.test.gschema.xml.orig, otherwise + the build fails as that fail is missing. Apparently dh_clean removes + everything that ends with .orig. + * debian/libglib2.0-0.symbols: + + Add new symbols. + * d/p/valgrind_h_add_r0_to_the_clobber_list_on_PPC.patch, + d/p/tests-move-param-implement-to-m-slow.patch, + d/p/Fix-races-in-unix-signal-dispatch.patch: + + Dropped, applied upstream. + * d/p/0001-glib-tests-collate.c-run-to-completion-when-skipping.patch, + d/p/0002-g_test_run-return-0-if-all-tests-are-skipped-in-TAP-.patch: + + Add patches from upstream to fix test suite errors. + * debian/patches/*: + + Refreshed. + * debian/rules: + + Don't run the test suite in parallel as some tests fail otherwise. + + Ignore test suite errors for now. There are a few known racy tests + that fail randomly, and I'm more interested in whether glib builds + fine everywhere. We should make the tests fatal again before 2.40. + + -- Emilio Pozuelo Monfort Sun, 16 Feb 2014 11:38:59 +0100 + +glib2.0 (2.38.2-5) unstable; urgency=medium + + * Upload to unstable. + + -- Emilio Pozuelo Monfort Sat, 15 Feb 2014 12:34:05 +0100 + +glib2.0 (2.38.2-4) experimental; urgency=medium + + * Team upload + * DEP-3: tag patch for Debian#737501 as sent upstream to GNOME#723653 + * d/p/gdbus-Let-the-pending-read-finish-before-closing-the.patch: + add patch from Mikhail Zabaluev fixing a test failure on mips, + also reproduced on mipsel (Closes: #738290) + * d/p/Fix-races-in-unix-signal-dispatch.patch: add patch from upstream + to fix what appears to be the root cause of #737380 + * d/p/gdbus-tests-wait-up-to-60s-for-gdbus-testserver-to-t.patch, + d/p/gdbus-connection-wait-up-to-10s-to-actually-send-a-m.patch: + improve arbitrary timeouts in regression tests, fixing an unreported + FTBFS on armhf + + -- Simon McVittie Tue, 11 Feb 2014 17:43:08 +0000 + +glib2.0 (2.38.2-3) experimental; urgency=medium + + * Team upload + * d/p/Don-t-use-a-parallel-build-for-the-documentation.patch: + Disable parallel build for the documentation, hopefully fixing an + intermittent FTBFS in which gtk-doc tries to scan Windows-specific + objects (Closes: #737501) + * d/p/Do-not-attempt-to-autolaunch-a-session-dbus-daemon-w.patch: + Refuse to perform D-Bus "autolaunch" if $DISPLAY is unset, in which + case it isn't going to work anyway. This works around a process-launching + issue in the GApplication test on mipsel (Closes: #737380) + * Bump debhelper compat level to 9, resulting in co-installable + multiarch debug symbols and ~ 50% smaller installed size + for libglib2.0-0-dbg (at the cost of ~ 30% larger .deb size) + - mark libglib2.0-0-dbg Multi-Arch: same + + -- Simon McVittie Thu, 06 Feb 2014 09:53:27 +0000 + +glib2.0 (2.38.2-2) experimental; urgency=medium + + * Team upload. + + [ Emilio Pozuelo Monfort ] + * debian/rules: + + Enable parallel builds. + + [ Laurent Bigonville ] + * Add d/p/valgrind_h_add_r0_to_the_clobber_list_on_PPC.patch: Fix FTBFS on + PPC (taken from upstream, Closes: #737379) + + [ Simon McVittie ] + * Add DEP-3 tagging to PPC patch + * Add d/p/tests-move-param-implement-to-m-slow.patch to knock out + test /param/implement, which upstream describe as "essentially a + forkbomb", leading to failures on armel and at least sporadically + on mipsel (Closes: #737381) + + -- Simon McVittie Sun, 02 Feb 2014 20:35:34 +0000 + +glib2.0 (2.38.2-1) experimental; urgency=low + + * New upstream release + - Drop d/p/0001-g_file_copy-Fall-back-to-pathname-queryinfo-to-help-.patch + merged upstream + * debian/control.in: + - Bump Standards-Version to 3.9.5 (no further changes) + - Use canonical URL for Vcs-Svn field + + -- Laurent Bigonville Sat, 14 Dec 2013 16:38:02 +0100 + +glib2.0 (2.38.1-2) experimental; urgency=low + + * debian/rules: + + Set VERBOSE so we get failing tests' stdout and stderr. This will + help us debug the various build failures in different arches. + + -- Emilio Pozuelo Monfort Sun, 27 Oct 2013 21:58:46 +0100 + +glib2.0 (2.38.1-1) experimental; urgency=low + + * Build-Depend on python:any. python is Multi-Arch: allowed; this BD allows + the python from any architecture that can be executed on the builder to + satisfy the BD, simplifying cross building of glib2.0. + * New upstream bugfix release 2.38.1 + + Fix error code checks when SOCK_CLOEXEC is defined but not supported + (fix support for GNU/Hurd) + + g_settings_list_children: only list viable schemas (fix gsettings + list-recursively crashes with invalid schemas installed) + + GDBusObjectManagerClient: Fix typo in the /org/freedesktop/DBus path + when adding match rules + - Remove 0001-gio-Fix-typo-in-the-org-freedesktop-DBus-path.patch + * 0001-g_file_copy-Fall-back-to-pathname-queryinfo-to-help-.patch: + Cherry-pick gio patch to fall back to g_file_query_info if + query_info_on_read is not supported. Fixes copying from backends that + don't implement the latter. (Closes: #715436, LP: #1217230) + + -- Iain Lane Thu, 17 Oct 2013 15:53:12 +0100 + +glib2.0 (2.38.0-1) experimental; urgency=low + + * New upstream release + * debian/patches/0001-gio-Fix-typo-in-the-org-freedesktop-DBus-path.patch: + Cherry-pick patch from upstream to fix object path typo in gio (LP: + #1227295) + * Add --enable-debug=minimal explicitly to the deb build so the debugging + level doesn't change between pre-release and stable versions. + + -- Iain Lane Wed, 25 Sep 2013 10:37:50 +0000 + +glib2.0 (2.37.93-1) experimental; urgency=low + + * New upstream release 2.37.93 (& .92) + + new API g_file_measure_disk_usage() similar to du(1) + * Add new symbols for g_file_measure_disk_usage API added in this release. + + -- Iain Lane Wed, 18 Sep 2013 10:07:15 +0000 + +glib2.0 (2.37.7-1) experimental; urgency=low + + * New upstream 2.37.7 + + GDateTime now supports %:z formatting variations for timezones. This is + a GNU date extension. + + -- Iain Lane Tue, 10 Sep 2013 11:26:28 +0000 + +glib2.0 (2.37.6-1) experimental; urgency=low + + * New upstream release 2.37.6 + * Update symbols file + * Merge changes from unstable, mainly for build / testsuite fixes. + + -- Iain Lane Wed, 21 Aug 2013 09:48:19 +0000 + +glib2.0 (2.37.5-1) experimental; urgency=low + + * New upstream release 2.37.5 (including interesting changes from .3 and .4) + + Implement the Desktop Action specification + + The gsettings tool now reports failure to write a key (e.g. because the + key was locked down) + + add a new API for instance private data: G_DEFINE_TYPE_WITH_PRIVATE + + add new D-Bus API for async property handling + * libglib2.0-tests: Depend on shared-mime-info required by contenttype test. + * New upstream release + * 0001-Revert-g_file_set_contents-don-t-fsync-on-ext3-4.patch: Drop, now + upstream. + * debian/tests/installed-tests: Add a new DEP-8 test to run the + installed-tests. + * Refresh patches. + * Update symbols file. + * debian/patches/skip-brokwn-dbus-appinfo-test.patch: Skip a broken new + dbus-appinfo test which is hanging. + + -- Iain Lane Fri, 02 Aug 2013 16:54:51 +0000 + +glib2.0 (2.37.2-1) experimental; urgency=low + + * New upstream version + + add support for installed tests: + https://live.gnome.org/GnomeGoals/InstalledTests + + add a new g_test_trap_subprocess() that works on Windows as a + replacement for the (now deprecated) g_test_trap_fork() + + support for explicitly cancelling a gobject property binding + + performance improvements for signal argument handling + + stop using `quotes' in very many log messages generated by GLib, for + favour of 'this style'. This may cause testcases in other packages to + fail if they were matching on the previous text. + + improve manpages: add missing arguments and flags + + Installing properties after class initialization is deprecated, and will + trigger a warning. + + GApplication Support org.freedesktop.Application, including D-Bus + activation from desktop files + * Refresh patches. + * Update symbols file with new symbols in this release. + * Enable installed tests and install into a libglib2.0-tests package. + * clean debian/{install,build,stamp-makefile-check} and + gio/gdbus-2.0/codegen/*.pyc + * Set $XDG_RUNTIME_DIR to a writable directory we control; now required by + the testsuite. + + -- Iain Lane Fri, 21 Jun 2013 15:28:46 +0100 + +glib2.0 (2.36.4-1) unstable; urgency=low + + * New upstream release. + * Remove 0001-Revert-g_file_set_contents-don-t-fsync-on-ext3-4.patch, merged + upstream. + * Make test suite linux only again. On kfreebsd the test suite keeps getting + stuck and the build is killed after a timeout. + + -- Michael Biebl Sat, 10 Aug 2013 09:57:58 +0200 + +glib2.0 (2.36.3-4) unstable; urgency=low + + [ Josselin Mouette ] + * Still run the testsuite on !linux, even though non-fatal. + + [ Michael Biebl ] + * Track stable releases. + * Use dh_python2 to properly generate the dependencies for gdbus-codegen, + which is shipped in libglib2.0-dev. + + -- Michael Biebl Sun, 04 Aug 2013 16:39:05 +0200 + +glib2.0 (2.36.3-3) unstable; urgency=low + + [ Julien Cristau ] + * Use gcc-4.8 on sparc to fix misbuild causing test failure (closes: #709781). + + [ Josselin Mouette ] + * Only make the testsuite fatal on linux. Although the other + architectures don’t pass, we have to keep a pair of reverse + dependencies working. + + -- Josselin Mouette Sat, 06 Jul 2013 15:51:11 +0200 + +glib2.0 (2.36.3-2) unstable; urgency=low + + * 0001-Revert-g_file_set_contents-don-t-fsync-on-ext3-4.patch: + + Patch from the upstream 2.36 stable branch. Revert a previous + commit that dropped calls to fsync() on ext[234] fileystems as + that caused data corruption in some cases (e.g. corrupted dconf + db on power loss). + + -- Emilio Pozuelo Monfort Thu, 20 Jun 2013 23:17:54 +0200 + +glib2.0 (2.36.3-1) unstable; urgency=low + + [ Josselin Mouette ] + * Make the testsuite fatal on all architectures. If it fails, we need + to fix it or drop the architecture, not to ignore it. + * Break libgnome-desktop-3-2 < 3.4.2-2 for the thumbnails location + change. + + [ Emilio Pozuelo Monfort ] + * New upstream bugfix release. Closes: #708568. + * debian/patches/13_sparc_prlimit_prototype.patch: + + Refreshed. + + -- Emilio Pozuelo Monfort Mon, 10 Jun 2013 21:34:19 +0200 + +glib2.0 (2.36.1-2) unstable; urgency=low + + * Merge experimental branch, upload to unstable. + + -- Martin Pitt Wed, 08 May 2013 06:25:57 +0200 + +glib2.0 (2.36.1-1) experimental; urgency=low + + * New upstream release + * Refresh debian/patches/06_thread_test_ignore_prctl_fail.patch + + -- Iain Lane Tue, 23 Apr 2013 10:20:47 +0100 + +glib2.0 (2.36.0-2) experimental; urgency=low + + * debian/rules: + + Don't abort the build if the test suite fails on mipsel. + * debian/patches/17_check_abis_mips_symbols.patch: + + Also allow _ftext in libgthread. + + -- Emilio Pozuelo Monfort Thu, 28 Mar 2013 12:44:06 +0100 + +glib2.0 (2.36.0-1) experimental; urgency=low + + * New upstream release. + + debian/libglib2.0-0.symbols: + - Updated. + * debian/rules: + + Make the test suite fatal in armel and armhf. + * debian/patches/17_check_abis_mips_symbols.patch: + + Add _ftext to the list of allowed symbols, since that + is leaked on mips. + + -- Emilio Pozuelo Monfort Tue, 26 Mar 2013 11:14:37 +0100 + +glib2.0 (2.35.9-2) experimental; urgency=low + + * d/p/11_kfreebsd_pthread_condattr_setclock_prototype.patch: + + Another patch to fix the build on kfreebsd. Add a prototype + for pthread_condattr_setclock() when building on kfreebsd + since the prototype there is missing. The glibc bug to add + the missing prototype is #703545, we can remove this hack + when that is fixed. + * debian/patches/13_sparc_prlimit_prototype.patch: + + New patch, only use prlimit if the prototype is available. + Should fix the build on sparc where prlimit is available but + the prototype is missing. Thanks to Julien Cristau for the + patch. This works-around #703559 and can be removed when that + bug is fixed. + * debian/patches/15_gio_desktop_app_info_test_bin_true_path.patch: + + Change path for 'true' to /bin/true as that's where it is in + Debian. This fixes a testcase that was failing on every arch + and was causing the build to fail on ia64 and powerpc as test + failures are fatal on those arches. + * debian/rules: + + Use filter instead of findstring to match the current arch + against the list of architectures where the test suite should + not be fatal, as the latter matches substrings and so it was + making the testsuite non-fatal on amd64 and i386 because they + match kfreebsd-amd64 and kfreebsd-i386. + + -- Emilio Pozuelo Monfort Thu, 21 Mar 2013 16:24:45 +0100 + +glib2.0 (2.35.9-1) experimental; urgency=low + + * debian/control.in: + + Break python-gi (<< 3.7.2). Closes: #702603. + * New upstream release. + + debian/patches/04_homedir_env.patch: + - Updated to apply again. + * debian/rules: + + Set HOME instead G_HOME, as GLib now honors the former. We will + eventually remove our local patch to support G_HOME, so packages + that need to override the home directory for the test suite should + switch to overriding HOME. + * debian/libglib2.0-0.symbols: + + Bump minimum version for g_get_home_dir() so that users that need + HOME to be honored get a proper runtime dependency. + * debian/patches/10_kfreebsd_issetugid_prototype.patch: + + Untested patch to fix the build on kfreebsd. + + -- Emilio Pozuelo Monfort Tue, 19 Mar 2013 13:58:27 +0100 + +glib2.0 (2.35.8-1) experimental; urgency=low + + [ Matthias Klose ] + * Configure cross builds with --disable-modular-tests --disable-gtk-doc. + + [ Iain Lane ] + * Merges from unstable branch (Michael Biebl) + - Take into account multiarch when removing the cache files in postrm: + Remove /usr/lib/gio/modules/giomodule.cache only for the native + architecture for which this cache file was created. + After removing /usr/share/glib-2.0/schemas/gschemas.compiled on purge, + run dpkg-trigger explicitly, so in case libglib2.0-0 is installed for + other architectures, the cache file is re-created. (Closes: #696389) + - Drop the various Breaks from libglib2.0-0. Those are causing APT to + fail on a dist-upgrade from squeeze to wheezy. (Closes: #676485) + * Refresh patches and slightly rework debian/patches/04_homedir_env.patch: + g_get_home_dir() now respects the HOME environment variable but we'll keep + G_HOME for now as packages in Debian rely on it. + * gdbus-codegen .py files have moved to /usr/share/glib-2.0 + * Update symbols file + + [ Martin Pitt ] + * New upstream release 2.35.4 + * debian/libglib2.0-0.symbols: Update for new upstream release. + * Drop 08_disable_gapplication_basic_test.patch, test is now more robust. + * Drop 92_revert_appinfo_command_line.patch and add xterm build dependency; + xterm is rather lightweight in terms of dependencies and is sufficient to + run all the "Terminal=true" tests. + * Add 08_fix_closure_invalidation.patch: gsignal: fix closure invalidation + code. (GNOME #690118) + + [ Emilio Pozuelo Monfort ] + * New upstream release 2.35.8. + + debian/patches/08_fix_closure_invalidation.patch: + - Removed, applied upstream. + + debian/patches/*: + - Refreshed. + + debian/libglib2.0-0.symbols: + - Updated for the new symbols. + + -- Emilio Pozuelo Monfort Sat, 23 Feb 2013 19:27:38 +0100 + +glib2.0 (2.34.3-1) experimental; urgency=low + + * New upstream release. + + -- Emilio Pozuelo Monfort Wed, 28 Nov 2012 14:38:35 +0100 + +glib2.0 (2.34.2-1) experimental; urgency=low + + * Team upload + + [ Martin Pitt ] + * debian/rules: Re-enable failing the build on failed tests on armel/armhf + on Ubuntu, now that the buildds behave themselves again. + + [ Simon McVittie ] + * New upstream release + - 50_git_gmenuexporter_allow_null_bus_on_name_vanished.patch: remove, + applied upstream + - 91_kfreebsd_credentials.patch: remove, applied upstream + * Override a couple of package-contains-empty-directory lintian tags + for deliberate empty directories + * Override package-contains-devhelp-file-without-symlink lintian tag + for gdbus-object-manager-example, which is deliberately not in devhelp + + -- Simon McVittie Mon, 12 Nov 2012 16:08:29 +0000 + +glib2.0 (2.34.1-2) experimental; urgency=low + + * Team upload + * Apply patch from unstable to use the FreeBSD credentials-passing code + path on kFreeBSD too, fixing (at least) gnome-terminal and lightdm on + kFreeBSD (Closes: #581750, #631968) + + -- Simon McVittie Wed, 31 Oct 2012 12:56:54 +0000 + +glib2.0 (2.34.1-1) experimental; urgency=low + + [ Josselin Mouette ] + * Require libelfg0-dev, not libelf-dev which has nothing to do with + it. + + [ Iain Lane ] + * New upstream release + + GTimeZone support for zoneinfo version 1 + + Leak in glib-compile-resources + + g_settings_bind: use canonical property name + + Port gio tests from pygobject to pygi + * Switch python-gobject-2 BD to python-gi, folowing porting of tests. + * debian/patches/50_git_gmenuexporter_allow_null_bus_on_name_vanished.patch: + Cherry-pick upstream patch to fix crash when GBusNameVanishedCallback is + called with a NULL GDBusConnection. (LP: #1044322) + + -- Iain Lane Wed, 17 Oct 2012 11:51:14 +0100 + +glib2.0 (2.34.0-1) experimental; urgency=low + + [ Martin Pitt ] + * debian/rules: Only run tests for the main flavour; it takes too + long for all three and does not give us a lot of extra confidence. + * debian/rules: Manually create debian/stamp-makefile-check, as with above + change it's not created automatically any more. + * Add 07_disable_tests_on_slow_archs.patch: Disable tests on slow + architectures which keep failing the tests. These are currently + /socket/timed_wait, /mainloop/timeouts, /mainloop/child_sources, + /timeout/rounding, and the upper bound on /gdbus/method-calls-in-thread on + ARM platforms. + * debian/control.in: Bump pcre dependency to >= 1:8.31. + * debian/rules: Seems there is no way of making the test suite work reliably + with the upgraded Ubuntu ARM builders, so make tests non-fatal on + arm{el,hf} until they get less swap happy. + + [ Michael Biebl ] + * New upstream release. + * Drop debian/patches/91_revert_pcre_8.31_test.patch now that we have a + recent enough version. + + -- Martin Pitt Thu, 27 Sep 2012 11:22:56 +0200 + +glib2.0 (2.33.14-1) experimental; urgency=low + + [ Iain Lane ] + * New upstream release + + CVE-2012-3524: don't run dbus-launch from setuid binaries + + g_content_type_get_generic_icon_name(): new API for getting the icon + name for a mime type + + Introspection fixes: + - GDBusConnection nullability fixes + - give a box type to GTimeZone + + Drop GVFS_INOTIFY_DIAG + + Add a new "Writing GLib Applications" section to the reference + documentation with general info on security, threads, etc. + + gwin32mount.c: Fix syntax error + + gresource tests: srcdir != builddir fixes + + tests/gvariant: Fix test on big endian architectures + + Fix regression in g_shell_parse_argv() + * Dropped 07_tests_gvariant_big_endian.patch: applied upstream. + + [ Michael Biebl ] + * Bump all 2.33.x symbol versions to 2.33.14 to ensure a tight enough + dependency for packages using features from glib 2.33. + + -- Michael Biebl Wed, 19 Sep 2012 18:38:24 +0200 + +glib2.0 (2.33.12-4) experimental; urgency=low + + * debian/patches/03_disble_glib_compile_schemas_warning.patch: Add a new + patch to disable a warning when compiling schemas which are installed into + 'deprecated' locations. Users see this very often due to + glib-compile-schemas being called from libglib2.0-0's trigger and it is + not very useful for them. + + -- Iain Lane Mon, 10 Sep 2012 16:25:18 +0100 + +glib2.0 (2.33.12-3) experimental; urgency=low + + * debian/control.in: Add Breaks: too glib-networking versions prior to + 2.33.12. (LP: #1046319) + * debian/rules: Ignore test case failures on hurd-i386 (not a release + architecture) and mips (this keeps tripping over a gdbus test race + condition). + * Replace 07_disable_gvariant_checksum_tests.patch with + 07_tests_gvariant_big_endian.patch which fixes the test properly instead + of disabling it. Taken from + https://bugzilla.gnome.org/show_bug.cgi?id=683384 + + -- Martin Pitt Thu, 06 Sep 2012 06:14:41 +0200 + +glib2.0 (2.33.12-2) experimental; urgency=low + + * Drop 10_increase_gapplication_test_delay.patch. We disable the whole test + now anyway (08_disable_gapplication_basic_test.patch). + * Add 07_disable_gvariant_checksum_tests.patch: 2.33.12 introduced two new + checks for GVariant checksum stability. This does not currently work on + big-endian machines (https://bugzilla.gnome.org/show_bug.cgi?id=683384), + so disable these tests for now. + + -- Martin Pitt Wed, 05 Sep 2012 11:19:29 +0200 + +glib2.0 (2.33.12-1) experimental; urgency=low + + [ Sebastien Bacher ] + * New upstream version + * debian/libglib2.0-0.symbols: + - updated + * revert_g_file_make_directory_with_parents_error_propagation.patch: + - dropped, the issue is fixed in the new version + * debian/patches/92_revert_appinfo_command_line.patch: + - don't require a vte for test, we don't want an xorg stack there + + [ Iain Lane ] + * Add revert_g_file_make_directory_with_parents_error_propagation.patch: + This reverts upstream commit b0bce4ad41937dabf7e5c94dcce3caf4e88f3f97 + which caused applications to segfault. The proper fix will be in the next + glib release, so this patch should be dropped then. (LP: #1035688) + + [ Martin Pitt ] + * Add 07_test_method_calls_on_proxy_bump_max_time.patch: On slower + platforms, the overhead of the 240 D-BUS Sleep calls is larger than + the current maximum of 6 seconds. Bump maximum time to 8 seconds to be + more resilient to this. + * Add 08_disable_gapplication_basic_test.patch: Disable /gapplication/basic + test. It's full of race conditions and keeps breaking builds. + + [ Robert Ancell ] + * New upstream bugfix release (LP: #1045608) + * Drop 07_test_method_calls_on_proxy_bump_max_time.patch: + - Applied upstream + + -- Martin Pitt Tue, 04 Sep 2012 15:50:40 +0200 + +glib2.0 (2.33.8-1) experimental; urgency=low + + * New upstream release 2.33.8. + - GIO now has a g_file_delete_async function + - The defaults for GThreadPools max_unused_threads and max_idle_time + values have been changed to 2 and 15*1000, respectively. + * debian/control{,.in}: XC-Package-Type → Package-Type, thanks to Lintian. + * debian/libglib2.0-0.symbols: Update for new symbols in this release and + remove Debian revisions which aren't necessary. + + -- Iain Lane Tue, 07 Aug 2012 14:38:25 +0100 + +glib2.0 (2.33.6-1) experimental; urgency=low + + * New upstream release. + * Drop 91_revert_schema_path_warning.patch now, we are not in final freeze + in Ubuntu, and this is not aimed at Debian Wheezy. + * Add 91_revert_pcre_8.31_test.patch: Revert new regex test from 2.33.4 + which depends on pcre 8.31. We still have 8.30, and we are building + against the system library instead of the bundled one. + + -- Martin Pitt Wed, 18 Jul 2012 14:41:39 +0200 + +glib2.0 (2.33.4-1) experimental; urgency=low + + [ Martin Pitt ] + * debian/rules: Make tests always fatal on Ubuntu. + + [ Iain Lane ] + * New upstream release 2.33.4. + * Refresh patches to apply cleanly and remove those applied upstream. + * Bump version on libpcre-dev BD in line with upstream. + * debian/libglib2.0-0.symbols: Add new symbols in this release. + + -- Iain Lane Mon, 16 Jul 2012 11:55:30 +0100 + +glib2.0 (2.33.3-2) experimental; urgency=low + + * Rename 07_socket_test_timespan_jitter.patch to 00git_* and update + changelog with what got committed upstream. + * Add 07_contenttype_test_fix_overflow.patch: Call g_content_type_guess() + with valid data len. Fixes a segfault when running the test. + Forwarded to GNOME #674452. + * Add 08_contenttype_known_test_failure.patch: Disable known test failure + due to a bug in g_content_type_from_mime_type(). For details, see + https://bugzilla.gnome.org/show_bug.cgi?id=678941 + * Add 09_valuetransform_ulong_bool.patch: valuetransform: Fix definition of + ulong_bool. Thanks Philipp Kern! (Closes: #662057) + * Add 10_increase_gapplication_test_delay.patch: /gapplication/basic + sometimes fails due to a different order of expected and actual actions; + increase delay between them to reduce the race condition. Workaround for + https://bugzilla.gnome.org/show_bug.cgi?id=664627 + * Add 11_timeout_test_reduce_race.patch: Due to load, particular traits of + the architecture, or other circumstances, the /mainloop/timeouts sometimes + manages to call the "every 100 ms" timer loop only 9 times in 1050 ms. + This is an inherent race-condition in the test; allow it some slack and + accept 9 times as well. Forwarded to GNOME #678959. + + -- Martin Pitt Wed, 27 Jun 2012 11:50:54 +0200 + +glib2.0 (2.33.3-1) experimental; urgency=low + + * New upstream release. + * debian/libglib2.0-0.symbols: Add new symbols from this release. + * debian/libglib2.0-bin.install: bash completion is now installed into + /usr/share/bash-completion/completions/ by upstream. + * Add debian/libglib2.0-bin.maintscript: Clean up old bash completion + conffiles on upgrade. Add ${misc:Pre-Depends} to libglib2.0-bin. + * Add debian/tests/control: DEP-8 autopkgtest control file. Add XS-Testsuite + header to debian/control.in. + * Add debian/tests/build: autopkgtest check: Build and run a program against + glib, to verify that the headers and pkg-config file are installed + correctly. + * Add 06_thread_test_ignore_prctl_fail.patch: Do not fail the + /thread/thread4 test if prctrl() fails. This happens on the Debian + buildds. + * debian/rules: Set G_HOME to not clutter $HOME with ~/.dbus-keyrings and + avoid failure on the buildds where creating /home/buildd/.dbus-keyrings + fails. + * debian/rules: Fail the build on failed tests, except on architectures with + known current failures (arm*, kfreebsd*, s390x, sparc). + * Add 07_socket_test_timespan_jitter.patch: On some buildds the poll + duration in the /socket/timed_wait test is slightly lower than the + requested 100000. Adjust test to not fail in these cases. Forwarded to + GNOME #678881. + + -- Martin Pitt Tue, 26 Jun 2012 19:28:14 +0200 + +glib2.0 (2.33.2-1) experimental; urgency=low + + * Track unstable versions in the experimental branch. + * New upstream release 2.33.2 + - GLIB_VERSION_MIN_REQUIRED now defaults to the current stable version + - GIO input and output stream classes have grown GBytes-based methods + - GApplication now has hooks to register D-Bus objects before the bus name + is taken + * Refresh 04_homedir_env.patch to cleanly apply + * Add the new symbols from this release (g_app_info_get_supported_types, + g_*_bytes, g_type_ensure) + + -- Iain Lane Mon, 18 Jun 2012 11:56:08 +0100 + +glib2.0 (2.33.1-1) experimental; urgency=low + + * debian/control.in: Update Vcs-* for experimental branch. + * Drop 03_revert_git_single_include_error.patch. For GNOME 3.5.x we want to + properly fix the reverse dependencies. NB this is NOT for Debian wheezy. + * New upstream release. + * 04_homedir_env.patch: Adjust for new release. + * Drop 95_configure-Fix-typo-in-ELF-check.patch and + 96_configure-Reset-LIBS-after-ELF-check.patch: upstream now. + * debian/libglib2.0-0.symbols: Add new symbols from this release. + + -- Martin Pitt Tue, 15 May 2012 16:59:15 +0200 + +glib2.0 (2.33.12+really2.32.4-5) unstable; urgency=low + + * Fix the closing fi in the if statement in postrm. + + -- Michael Biebl Wed, 09 Jan 2013 16:14:49 +0100 + +glib2.0 (2.33.12+really2.32.4-4) unstable; urgency=low + + * Take into account multiarch when removing the cache files in postrm: + Remove /usr/lib/gio/modules/giomodule.cache only for the native + architecture for which this cache file was created. + After removing /usr/share/glib-2.0/schemas/gschemas.compiled on purge, + run dpkg-trigger explicitly, so in case libglib2.0-0 is installed for + other architectures, the cache file is re-created. (Closes: #696389) + * Drop the various Breaks from libglib2.0-0. Those are causing APT to fail + on a dist-upgrade from squeeze to wheezy. (Closes: #676485) + + -- Michael Biebl Tue, 08 Jan 2013 23:30:04 +0100 + +glib2.0 (2.33.12+really2.32.4-3) unstable; urgency=low + + * Team upload + * 92_kfreebsd_credentials.patch: use the FreeBSD credentials-passing + implementation on kFreeBSD too, making gnome-terminal and lightdm + work on kFreeBSD (Closes: #631968) + + -- Simon McVittie Wed, 24 Oct 2012 10:51:08 +0100 + +glib2.0 (2.33.12+really2.32.4-2) unstable; urgency=medium + + * Revert link adding for gdbus-object-manager-example. While it is + useful to have in /usr/share/doc as an example, it must not be + shipped with the system documentation. + * 20_glib-compile-resources_leak.patch: new patch. Fix a leak + introduced in version 2.32.4. Thanks Niels Thykier! + * SECURITY: add 11_CVE-2012-3524_setuid.patch from upstream. Prevents + using DBus in a setuid binary. Fixes CVE-2012-3524. + + -- Josselin Mouette Sat, 06 Oct 2012 01:15:16 +0200 + +glib2.0 (2.33.12+really2.32.4-1) unstable; urgency=low + + * New upstream bugfix release. + * 10_gdbus_race.patch: stolen from upstream git. Fix a race condition + that would make gnome-shell crash on startup under some conditions. + * libglib2.0-bin.install: bash completions have moved to /usr/share. + * libglib2.0-bin.maintscript: remove old conffiles. + * Add appropriate pre-dependency. + * libglib2.0-doc.links: add link for gdbus-object-manager-example. + + -- Josselin Mouette Sat, 22 Sep 2012 17:59:34 +0200 + +glib2.0 (2.33.12+really2.32.3-2) unstable; urgency=low + + * Explicitly set the shlibs version to 2.32.3 to not generate overly strict + dependencies for udeb packages. + + -- Michael Biebl Wed, 19 Sep 2012 21:25:56 +0200 + +glib2.0 (2.33.12+really2.32.3-1) unstable; urgency=low + + * Brown paper bag upload + * Re-upload version previously in unstable to superseded + experimental-targetted version previously mistakenly uploaded there. + + -- Iain Lane Mon, 10 Sep 2012 22:52:32 +0100 + +glib2.0 (2.32.3-1) unstable; urgency=low + + * New upstream release. + * Remove debian/patches/95_configure-Fix-typo-in-ELF-check.patch and + debian/patches/96_configure-Reset-LIBS-after-ELF-check.patch, merged + upstream. + + -- Michael Biebl Tue, 15 May 2012 16:12:21 +0200 + +glib2.0 (2.32.2-1) unstable; urgency=low + + * New upstream release. + * Refresh patches. + * Remove debian/patches/git_powerpc_gresources.patch, merged upstream. + * debian/patches/95_configure-Fix-typo-in-ELF-check.patch: Fix typo in ELF + configure check. Patch cherry-picked from upstream Git. + * debian/patches/96_configure-Reset-LIBS-after-ELF-check.patch: Reset LIBS + after running the ELF checks otherwise we end up linking everything + against libelf. Patch cherry-picked from upstream Git. + + -- Michael Biebl Tue, 01 May 2012 20:02:21 +0200 + +glib2.0 (2.32.1-1) unstable; urgency=low + + * New upstream release. + * Refresh patches. + * debian/patches/git_powerpc_gresources.patch: Upstream fix for gresource on + big endian architectures, i.e powerpc. Closes: #669130 + * debian/patches/revert_schema_path_warning.patch: Revert upstream commit + which generates a warning for applications using a non-recommended + gsettings path. Final freeze is not the time to start fixing the gsettings + paths of all packages. This avoids tons of spewage from the gsettings + trigger during package installation. + + -- Michael Biebl Thu, 26 Apr 2012 23:13:28 +0200 + +glib2.0 (2.32.0-4) unstable; urgency=low + + * Set --sourcedir for the different flavors when running dh_install. This + way the .install files can be simplified a lot which makes them much more + readable. + * Bump Standards-Version to 3.9.3. + * Add Breaks against emacs23, eog and gwaei. Those applications were broken + due to changes in GApplication and the way they interacted with + GdkThreads so they needed to be fixed to correctly work with glib 2.32. + Closes: #668019 + + -- Michael Biebl Mon, 09 Apr 2012 14:16:26 +0200 + +glib2.0 (2.32.0-3) unstable; urgency=low + + [ Martin Pitt ] + * 01_gettext-desktopfiles.patch: Use official "Keywords" key now, + X-GNOME-Keywords has been deprecated for a while now. (LP: #949864) + * debian/libglib2.0-0.postrm.in: Only remove the compiled schemas on purge, + not during upgrades. Otherwise we have no schemas available until the new + postinst is run, which leads to applications aborting on missing schemas. + + [ Michael Biebl ] + * Don't enforce single include for glib/gversionmacros.h since this header + is included from glib/gtypes.h which is widely used. + + -- Michael Biebl Fri, 30 Mar 2012 23:55:41 +0200 + +glib2.0 (2.32.0-2) unstable; urgency=low + + * Upload to unstable. + * Revert upstream commit for now which makes single includes mandatory as + the list of affected packages is still a bit too long. + + -- Michael Biebl Fri, 30 Mar 2012 08:25:15 +0200 + +glib2.0 (2.32.0-1) experimental; urgency=low + + * New upstream release. + * Add single-include guard for gbytes.h. Patch cherry-picked from + upstream Git. + + -- Michael Biebl Mon, 26 Mar 2012 18:41:49 +0200 + +glib2.0 (2.31.22-1) experimental; urgency=low + + * New upstream development release. + * debian/libglib2.0-0.symbols: Add new symbol. + + -- Michael Biebl Tue, 20 Mar 2012 02:00:06 +0100 + +glib2.0 (2.31.20-1) experimental; urgency=low + + * New upstream development release. + * debian/patches/61_glib-compile-binaries-path.patch: Refreshed. + * debian/libglib2.0-0.symbols: Add new symbols. + * Override list-missing target with an implementation that better handles + multiple flavors (copied from the gtk+3.0 package). + + -- Michael Biebl Tue, 06 Mar 2012 02:28:12 +0100 + +glib2.0 (2.31.18-3) experimental; urgency=low + + * debian/control.in: Add Build-Depends on python-dbus, python-gobject-2, and + libxml2-utils (xmllint). Required to run the test-suite. + + -- Michael Biebl Sun, 04 Mar 2012 20:27:09 +0100 + +glib2.0 (2.31.18-2) experimental; urgency=low + + * debian/control.in: + - add libpcre3-dev to the list of dependencies of libglib2.0-dev + - add libelf-dev as a build dependency to make gresource able to deal + with ELF files + + -- Gustavo Noronha Silva Sat, 03 Mar 2012 17:29:51 -0300 + +glib2.0 (2.31.18-1) experimental; urgency=low + + [ Gustavo Noronha Silva ] + * New development release + - Yeah, 2.31.8 was a mistake =/ + * debian/libglib2.0-0.symbols: + - fix version declared for 2.31.8 symbols to not have -1 + - updated for 2.31.8 symbols + * debian/patches/61_glib-compile-schemas-path.patch, + debian/patches/61_glib-compile-binaries-path.patch: + - renamed, and updated to also cover glib-compile-resources + * debian/libglib2.0-0.install.in: + - add glib-compile-resources + + [ Michael Biebl ] + * debian/libglib2.0-bin.install: Install new gresource binary and the man + pages for gresource and glib-compile-resources. + * debian/libglib2.0-bin.links.in: Add symlink in /usr/bin for + glib-compile-resources since we install the binary in a multiarch path. + * debian/rules: Re-enable test-suite on kfreebsd but keep it non-fatal for + now. + + -- Michael Biebl Sat, 03 Mar 2012 02:36:26 +0100 + +glib2.0 (2.31.8-1) experimental; urgency=low + + * New development release + * debian/patches/*: + - refreshed; + * debian/patches/95-gmain-get-rid-of-poll_waiting.patch, + debian/patches/96-fix-one-bit-mutex-test-on-some-platforms.patch, + debian/patches/97-silence-compiler-warnings.patch, + debian/patches/98-disable-two-more-GDBus-tests-using-fork.patch: + - removed; applied upstream + * debian/libglib2.0-0.symbols: + - updated with new symbols + NOTES: + + g_simple_action_get_parameter_type (from 2.28.0) + was made static in 09429e2c820118918e6132d32884eb02203136d4 + + g_unix_resolver_get_type (from 2.22.0) was removed + by 5a30712dc7e4adc36b0e8fd82cf5ccec19bbbdc5, with the + removal of !g_thread_supported code paths + + -- Gustavo Noronha Silva Fri, 02 Mar 2012 00:34:30 -0300 + +glib2.0 (2.30.2-7) UNRELEASED; urgency=low + + * libglib2.0-0.postinst.in: + + Encapsulate gio-querymodules calls in || true statements. + Closes: #659588. + + Only run gio-querymodules on the non-multiarch path for the host + architecture. + * rules: add substitution for #ARCH# for the above change. + + -- Josselin Mouette Thu, 16 Feb 2012 12:21:51 +0100 + +glib2.0 (2.30.2-6) unstable; urgency=low + + * Revert the patches added in 2.30.2-5 which changed the handling of return + types from libffi. They didn't actually fix the build failures on s390x + and had some unpleasant side effects, like making other packages FTBFS. + + -- Michael Biebl Wed, 25 Jan 2012 12:17:29 +0100 + +glib2.0 (2.30.2-5) unstable; urgency=low + + [ Josselin Mouette ] + * Drop deprecated build-dependencies on pygobject & python-dbus. + * Retain one on python for the script that uses it. + + [ Loïc Minier ] + * Avoid harmless warnings when processing triggers of libglib2.0-0 + ("Unable to open directory /usr/lib/gio/modules: Error opening + directory '/usr/lib/gio/modules': No such file or directory"). + + [ Michael Biebl ] + * Cherry-pick patches from upstream Git which fix handling of ENUMs and + integral return types on 64-bit BE platforms. Closes: #653308 + - Add d/p/94-closure-fix-handling-of-ENUMs-and-integral-return-ty.patch. + - Add d/p/93-gvalue-Add-explicitly-signed-g_value_get_schar-and-g.patch. + - Update symbols file accordingly. + + -- Michael Biebl Wed, 18 Jan 2012 13:50:56 +0100 + +glib2.0 (2.30.2-4) unstable; urgency=low + + * Upload to unstable. + * Disable test suite on kfreebsd-* for now. + + -- Michael Biebl Fri, 18 Nov 2011 19:38:40 +0100 + +glib2.0 (2.30.2-3) experimental; urgency=low + + * debian/patches/98-disable-two-more-GDBus-tests-using-fork.patch: + - Added. Disable gdbus test which use GMainContext over a fork, see + https://bugzilla.gnome.org/show_bug.cgi?id=658999 for more details + + -- Sjoerd Simons Thu, 17 Nov 2011 22:20:48 +0000 + +glib2.0 (2.30.2-2) experimental; urgency=low + + * debian/patches/95-gmain-get-rid-of-poll_waiting.patch: + - Added, Fix race conditions with g_main_quit being called from other + threads by getting rid of the poll_waiting flag. (Backported from git + master) + * debian/patches/96-fix-one-bit-mutex-test-on-some-platforms.patch: + - Added, Fix the 1 bit mutex failing on platforms that have pointers + aligned to 32 bits instead of 64 bits (bgo#201322). + * debian/patches/97-silence-compiler-warnings.patch: + - Added, Fix various compiler warnings + + -- Sjoerd Simons Wed, 16 Nov 2011 22:21:52 +0000 + +glib2.0 (2.30.2-1) experimental; urgency=low + + * New upstream release. + * debian/patches/70-fix-race-in-gdbus-connection-test.patch: + - Removed, merged upstream. + * debian/patches/80_gtk_doc_out_of_tree.patch: + - Removed, merged upstream. + + -- Michael Biebl Sun, 13 Nov 2011 01:24:28 +0100 + +glib2.0 (2.30.1-2) experimental; urgency=low + + [ Martin Pitt ] + * debian/patches/01_gettext-desktopfiles.patch: + - Translate X-GNOME-FullName and X-GNOME-Keywords, too. + + [ Sjoerd Simons ] + * debian/patches/80_gtk_doc_out_of_tree.patch: + - Added. Fix documentation generation when build out of tree + + [ Michael Biebl ] + * Transition to multiarch, thanks Steve. Closes: #634099 + The following modifications were made to the original patch: + - Drop the libtool .la files, since we break existing references anyway. + - Don't mark libglib2.0-0-dbg as Multi-Arch: same and install into + /usr/lib/debug, not /usr/lib//debug. + - Guard the for loops in debian/rules with "set -e". + * debian/libglib2.0-dev.install.in: + - Install gdb auto-load files. + + -- Michael Biebl Fri, 21 Oct 2011 21:26:48 +0200 + +glib2.0 (2.30.1-1) experimental; urgency=low + + [ Michael Biebl ] + * New upstream release. + - Avoid assertion in GDBus if we fail to authenticate twice. + Closes: #634312 + * Bump debhelper compatibility level to 8. + - Bump Build-Depends on debhelper. + - Don't pass --dbg-package= without an argument to dh_strip as commands + will fail rather than warn when they are passed unknown options. + * Don't use brace expansion in debian/libglib2.0-0.install and + debian/libglib2.0-dev.install. + * debian/control.in + - Use architecture wildcard for kfreebsd and hurd. + - Bump Standards-Version to 3.9.2. No further changes. + - Set pkg-gnome-maintainers@lists.alioth.debian.org as Maintainer. + - Add Build-Depends on libffi-dev (>= 3.0.0). + * debian/libglib2.0-dev.install + - Install gdbus-codegen binary and manpage. + - Install gtester and gtester-report manpage. + * debian/libglib2.0-bin.install + - Install bash completion files for gdbus and gsettings. + * debian/libglib2.0-0.symbols + - Update symbols file. The GAction API had an incompatible change. As a + result g_action_set_state has been renamed to g_action_change_state. + See upstream commit 5ff65d869543587d10d78c123698e47effc5fb8c for further + details and on the impact of this change. + * debian/watch: + - Track .xz tarballs. + * Update patches + - Remove 03_blacklist-directories.patch, merged upstream. + - Remove 10_gdesktopappinfo_set_last_used.patch, fixed upstream. + - Remove 60_wait-longer-for-threads-to-die.patch, fixed upstream using a + counter. + - Refresh remaining patches. + + [ Josselin Mouette ] + * Break gtk3 < 3.0.12 because it uses an internal symbol that ceases + to work with glib 2.30. + + [ Sjoerd Simons ] + * debian/rules: Explicitely build gtk-doc + * debian/patches/70-fix-race-in-gdbus-connection-test.patch: + - Added, fix race condition in the GDBusConnection life-cycle test + + -- Sjoerd Simons Sun, 16 Oct 2011 11:50:31 +0100 + +glib2.0 (2.28.8-1) unstable; urgency=low + + * New upstream release. + * debian/watch: + - Update to version 3. + - Track .xz tarballs. + * Bump debhelper compatibility level to 8. + - Bump Build-Depends on debhelper. + - Don't pass --dbg-package= without an argument to dh_strip as commands + will fail rather than warn when they are passed unknown options. + * Don't use brace expansion in debian/libglib2.0-0.install and + debian/libglib2.0-dev.install. + * debian/control.in + - Use architecture wildcard for kfreebsd and hurd. + - Bump Standards-Version to 3.9.2. No further changes. + - Set pkg-gnome-maintainers@lists.alioth.debian.org as Maintainer. + * Refresh patches. + + -- Michael Biebl Sat, 15 Oct 2011 18:09:05 +0200 + +glib2.0 (2.28.6-4) unstable; urgency=low + + * Upload to unstable. + + -- Michael Biebl Fri, 14 Oct 2011 10:42:58 +0200 + +glib2.0 (2.28.6-3) experimental; urgency=low + + * Break gnome-session < 3.0.0-3 for the updated defaults.list taking + x-scheme-* into account. + * Break gdm < 3.0.3 to avoid adding a security hole to it. + * 10_gdesktopappinfo_set_last_used.patch: new patch. When calling + g_app_info_set_as_last_used_for_type, correctly inherit the default + filled in the file from the system default. This avoids + gnome-control-center breaking file associations just by opening the + info dialog. + + -- Josselin Mouette Sun, 04 Sep 2011 23:07:46 +0200 + +glib2.0 (2.28.6-2) experimental; urgency=low + + * Team upload. + * Drop 20_mime_extension_point.patch and add Breaks against gvfs + and gnome-control-center to ensure they have been updated at the + same time. + * Drop Conflicts against pango, it's no longer relevant (even for + oldstable). + * Fix watch file. + * Drop leading article in descriptions as recommended by lintian. + * Add lintian overrides for package-name-doesnt-match-sonames, it's a + deliberate choice. + * Add some copyright holders to debian/copyright to appease lintian. + * Drop unneeded section/priority fields as they duplicate the default + values. + * Add some DEP-3 descriptions to patches that had no description at + all. + + -- Raphaël Hertzog Thu, 14 Apr 2011 10:51:16 +0200 + +glib2.0 (2.28.6-1) unstable; urgency=low + + * New upstream bugfix release. + + -- Sebastian Dröge Thu, 14 Apr 2011 09:18:31 +0200 + +glib2.0 (2.28.4-1) unstable; urgency=low + + * debian/control.in: + + Build depend on dbus, dbus-x11, shared-mime-info, python-gobject + and python-dbus, needed by the test suite. + + libglib2.0-data doesn't need to depend on libglib2.0-0, since + it only ships translations. This will avoid making glib + uninstallable on the buildds when it is uploaded until the new + version has been built. + * d/p/0001-Run-gio-tests-with-a-dbus-session.patch: + + New patch. Run gio tests through dbus-launch, since some of them + need a running dbus session. + * debian/control.in, + debian/rules: + + Add autoreconf magic, needed by the above patch. + * New upstream release. + + -- Emilio Pozuelo Monfort Mon, 28 Mar 2011 19:53:02 +0100 + +glib2.0 (2.28.2-1) unstable; urgency=low + + * New upstream release. + + -- Emilio Pozuelo Monfort Fri, 11 Mar 2011 21:05:36 +0000 + +glib2.0 (2.28.1-1) unstable; urgency=low + + * New upstream release. + + Fixes g_timeout_add overflowing with large timeouts. Closes: #606618. + + -- Emilio Pozuelo Monfort Sat, 19 Feb 2011 21:24:21 +0000 + +glib2.0 (2.28.0-2) unstable; urgency=low + + * 20_mime_extension_point.patch: temporary revert the upstream change + in URI schemes handling. Closes: #612876. + Note for later: it must absolutely be reverted in a synchronized + upload with gvfs 1.8 and control-center 3.0. + + -- Josselin Mouette Fri, 18 Feb 2011 19:36:42 +0100 + +glib2.0 (2.28.0-1) unstable; urgency=low + + * debian/control.in: + + Drop obsolete conflicts/replaces with libglib1.3. + + Don't suggest libgtk2.0-doc in the doc package. + * New upstream stable release. + + debian/control.in: + - Bump the libpcre3-dev build dependency. + + debian/patches/01_gettext-desktopfiles.patch, + debian/patches/02_gettext-desktopfiles-ubuntu.patch, + debian/patches/04_homedir_env.patch, + debian/patches/61_glib-compile-schemas-path.patch: + - Refreshed. + + debian/libglib2.0-0.symbols: + - Updated. + + -- Emilio Pozuelo Monfort Wed, 09 Feb 2011 21:52:02 +0000 + +glib2.0 (2.27.91-1) experimental; urgency=low + + * debian/rules: + - Don't exclude .sgml and .devhelp files from being compressed. + The former are already excluded by dh_compress and the later + can be compressed now that devhelp can handle them. + - Fix variable substitution. + * New upstream release. + - debian/patches/62_dont_crash_without_desktop_filename.patch: + + Removed, included upstream. + * debian/control.in: + - Standards-Version is 3.9.1, no changes needed. + + -- Emilio Pozuelo Monfort Tue, 11 Jan 2011 22:59:07 +0000 + +glib2.0 (2.27.90-2) experimental; urgency=low + + * debian/patches/62_dont_crash_without_desktop_filename.patch + * Added. Fix crash when launching application without a desktop file (From + upstream git) + + -- Sjoerd Simons Fri, 07 Jan 2011 11:28:34 +0000 + +glib2.0 (2.27.90-1) experimental; urgency=low + + * Switch to CDBS' flavors system. + * Switch to source format 3.0 (quilt). + * Stop symlinking /usr/share/doc/$pkg directories. + * debian/rules: + - Explicitly link with --no-as-needed, as --as-needed might be the + default and is harmful for us. + - Run the test suite but don't make it fatal yet. + * New upstream release. + - debian/libglib2.0-0.symbols: + + Updated. + + -- Emilio Pozuelo Monfort Thu, 06 Jan 2011 12:46:00 +0000 + +glib2.0 (2.27.5-1) experimental; urgency=low + + * New upstream release. + + debian/libglib2.0-0.symbols: + - Updated. + * debian/rules: + + Make the shlibs always depend on the latest upstream version. + We have symbols file anyway, and manually bumping the shver is + error prone. + + -- Emilio Pozuelo Monfort Thu, 23 Dec 2010 01:44:45 +0000 + +glib2.0 (2.27.4-2) experimental; urgency=low + + * debian/rules: Change --disable-visibility to --disable-Bsymbolic for + the refdbg package. + + -- Jonny Lamb Wed, 15 Dec 2010 21:52:29 +0000 + +glib2.0 (2.27.4-1) experimental; urgency=low + + * New upstream release. + + debian/libglib2.0-0.symbols: + - Updated. + + debian/rules: + - Bump the SHVER. + + -- Emilio Pozuelo Monfort Tue, 30 Nov 2010 00:48:49 +0100 + +glib2.0 (2.27.3-1) experimental; urgency=low + + * New upstream release. + + debian/libglib2.0-0.symbols: + - Updated. + + -- Emilio Pozuelo Monfort Mon, 15 Nov 2010 23:05:29 +0100 + +glib2.0 (2.27.2-1) experimental; urgency=low + + * New upstream development release: + + debian/patches/*: + - Refreshed. + + debian/libglib2.0-0.symbols: + - Updated + + debian/patches/70_dtrace.patch: + - Dropped, merged upstream. + + -- Sebastian Dröge Mon, 01 Nov 2010 10:53:15 +0100 + +glib2.0 (2.27.1-1) experimental; urgency=low + + [ Josselin Mouette ] + * Drop lynx dependency in the -doc package. Suggest devhelp instead. + Closes: #599743. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/patches/70_fix-header-cleaup-fallout.patch: + - Dropped, merged upstream. + + debian/patches/*: + - Refreshed. + + debian/libglib2.0-0.symbols: + - Updated + + debian/patches/70_dtrace.patch: + - Patch from upstream GIT to not enable DTrace if it's not + available. Fixes the build on kFreeBSD (Closes: #592024). + + -- Sebastian Dröge Fri, 29 Oct 2010 11:32:02 +0200 + +glib2.0 (2.27.0-1) experimental; urgency=low + + [ Sjoerd Simons ] + * New upstream experimental release + * debian/libglib2.0-0.symbols + + Updated + * debian/patches/70_fix-header-cleaup-fallout.patch + + Added. Fix complilation error (from upstream git) + + [ Sebastian Dröge ] + * Upload to experimental. + * debian/rules: + + Update SHVER to 2.27.0. + + -- Sebastian Dröge Tue, 12 Oct 2010 10:56:13 +0200 + +glib2.0 (2.26.0-1) experimental; urgency=low + + * New upstream stable release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for the new version. + + debian/patches/90_gregex-system-pcre.patch: + - Dropped, merged upstream. + + -- Sebastian Dröge Mon, 27 Sep 2010 22:43:13 +0200 + +glib2.0 (2.25.16-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for the new version. + + debian/patches/90_gregex-system-pcre.patch: + - Fix GRegex compilation with the system pcre. + + -- Sebastian Dröge Sat, 18 Sep 2010 07:15:26 +0200 + +glib2.0 (2.25.15-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for the new version. + + -- Sebastian Dröge Tue, 31 Aug 2010 11:26:25 +0200 + +glib2.0 (2.25.14-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for the new version. + + -- Sebastian Dröge Tue, 17 Aug 2010 11:37:23 +0200 + +glib2.0 (2.25.13-1) experimental; urgency=low + + * New upstream development release: + + debian/patches/90_git_glibconfig_build.patch, + + debian/patches/99_autoreconf.patch: + - Dropped, merged upstream. + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for the new version. + + debian/control.in: + - (Build-) depend on pkg-config >= 0.16.0. + + -- Sebastian Dröge Sat, 07 Aug 2010 09:34:16 +0200 + +glib2.0 (2.25.12-2) experimental; urgency=low + + [ Sebastien Bacher ] + * debian/rules: + + clean the distributed glibconfig.h it has 64 bits values + which leaded to the issues on 32 bits architectures + (Closes: #591075, #591492). + * debian/patches/90_git_glibconfig_build.patch: + + git change to use the builddir glibconfig.h and not the srcdir one + + [ Sebastian Dröge ] + * debian/patches/99_autoreconf.patch: + + Regenerated autotools files for the above patch. + * debian/rules: + + Call dh_installdirs to actually use the .dirs files. + + -- Sebastian Dröge Fri, 06 Aug 2010 18:50:27 +0200 + +glib2.0 (2.25.12-1) experimental; urgency=low + + [ Josselin Mouette ] + * Don’t run the triggers when executed from a nonexistent directory. + Closes: #589693. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API changes. + + debian/patches/99_gsocket-create-socket-cloexec.patch: + - Dropped, merged upstream. + + -- Sebastian Dröge Fri, 30 Jul 2010 12:29:10 +0200 + +glib2.0 (2.25.11-3) experimental; urgency=low + + * debian/patches/99_gsocket-create-socket-cloexec.patch: + Patch by Julien Cristau: + Just because SOCK_CLOEXEC was defined at build time doesn't mean the + kernel we're running on supports it. So if socket() fails with EINVAL, + try again without the flag. + + -- Sebastian Dröge Thu, 15 Jul 2010 20:23:30 +0200 + +glib2.0 (2.25.11-2) experimental; urgency=low + + * debian/control.in, + debian/libglib2.0-bin.links, + debian/libglib2.0-0.links: + + Move links to the -bin package again but let the -dev package + depend on the -bin package. Having the links in the shared library + package will cause conflicts when the soname changes but the + links in /usr/bin must be there at least if the -dev package is + installed because build systems might assume that the applications + are in $PATH. + * debian/patches/61_glib-compile-schemas-path.patch: + + Adjust path to glib-compile-schemas in the pkg-config file. + + -- Sebastian Dröge Tue, 13 Jul 2010 14:06:28 +0200 + +glib2.0 (2.25.11-1) experimental; urgency=low + + [ Josselin Mouette ] + * Drop type-handling usage. Closes: #587863. + * Bump standards version accordingly. + * Patch from Ubuntu, thanks Sébastien Bacher. Closes: #587661. + * debian/libglib2.0-bin.install: + - Install glib-compile-schemas + * debian/libglib2.0-bin.postinst: + - Run glib-compile-schemas when schemas modified + * debian/libglib2.0-bin.triggers: + - Watch for schema changes + * debian/libglib2.0-dev.install: + - glib-compile-schemas moved to libglib2.0-bin + * debian/libglib2.0-dev.install: + - install the new gdb python macros since the gdb version is recent + enough now to use those + * Put gio-querymodules and glib-compile-schemas in a private, + versioned directory in libglib2.0-0 to avoid a dependency loop. + * Move back the triggers to libglib2.0-0. + * Add a purge of the necessary files in the postinst. + * Stop recommending libglib2.0-bin since the necessary stuff is in + libglib2.0-0 now. + * Add symlinks to keep the binaries at their place in libglib2.0-bin. + * Tighten the dependency between libglib2.0-bin and libglib2.0-0. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API changes. + * debian/libglib2.0-0.dirs: + + Create empty directories for the triggers to actually work. + * debian/libglib2.0-0.links, + debian/control.in: + + Add links for gio-querymodules and glib-compile-schemas in + /usr/bin. + + -- Sebastian Dröge Sun, 11 Jul 2010 20:13:58 +0200 + +glib2.0 (2.25.10-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API changes. + + debian/libglib2.0-dev.install: + - Drop gsettings-schema-convert. + + debian/patches/*: + - Refreshed all patches. + + -- Sebastian Dröge Thu, 24 Jun 2010 19:59:54 +0200 + +glib2.0 (2.25.9-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API additions. + + -- Sebastian Dröge Fri, 18 Jun 2010 06:24:03 +0200 + +glib2.0 (2.25.8-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API additions. + + -- Sebastian Dröge Tue, 08 Jun 2010 11:07:18 +0200 + +glib2.0 (2.25.7-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API additions. + + -- Sebastian Dröge Tue, 25 May 2010 11:29:07 +0200 + +glib2.0 (2.25.6-1) experimental; urgency=low + + * New upstream development release. + + -- Sebastian Dröge Thu, 20 May 2010 10:27:41 +0200 + +glib2.0 (2.25.5-1) experimental; urgency=low + + * New upstream development release. + + -- Sebastian Dröge Sat, 15 May 2010 09:44:10 +0200 + +glib2.0 (2.25.4-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API additions. + + debian/libglib2.0-bin.install: + - Add gdbus utility and manpage. + + -- Sebastian Dröge Fri, 14 May 2010 18:25:58 +0200 + +glib2.0 (2.25.3-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API additions. + + debian/libglib2.0-dev.install: + - gschema-compile was renamed to glib-compile-schemas. + + debian/control.in, + debian/rules: + - Manpages are now properly shipped with the tarballs, + drop xsltproc, etc. build dependencies. + + -- Sebastian Dröge Sat, 24 Apr 2010 06:16:59 +0200 + +glib2.0 (2.25.2-1) experimental; urgency=low + + * New upstream development release: + + debian/libglib2.0-0.install, + debian/libglib2.0-0.triggers, + debian/control.in, + debian/rules, + debian/libglib2.0-bin.install, + debian/libglib2.0-bin.triggers: + - Move binaries to an unversioned, separate package. + - Add new gsettings tool. + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API additions. + + -- Sebastian Dröge Fri, 23 Apr 2010 06:14:47 +0200 + +glib2.0 (2.25.1-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for API additions. + + debian/libglib2.0-dev.install, + debian/libglib2.0-0.install: + - Install new GSettings utitilies and manpages. + * debian/control.in, + debian/rules: + + Enable manpage generation via xsltproc for now until + https://bugzilla.gnome.org/show_bug.cgi?id=616264 + is fixed. + + -- Sebastian Dröge Tue, 20 Apr 2010 09:24:20 +0200 + +glib2.0 (2.24.0-1) unstable; urgency=low + + * New upstream stable release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated 2.23 symbols to 2.24 to force dependencies on a stable release. + + debian/rules: + - Remove check-dist.mk include to allow uploads to unstable again. + + -- Sebastian Dröge Fri, 26 Mar 2010 16:59:18 +0100 + +glib2.0 (2.23.6-1) experimental; urgency=low + + [ Emilio Pozuelo Monfort ] + * debian/patches/05_gvariant_test_failure.patch: + - Backport patch from upstream git to fix a gvariant test that fails + randomly on x86. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new API. + + debian/patches/05_gvariant_test_failure.patch: + - Dropped, merged upstream. + * debian/rules: + + Make unit test failures non-fatal again because of race conditions + in some tests. + + -- Sebastian Dröge Mon, 22 Mar 2010 06:10:18 +0100 + +glib2.0 (2.23.5-1) experimental; urgency=low + + [ Emilio Pozuelo Monfort ] + * debian/patches/05-dont-fail-a-couple-of-tests-when-running-as-root.patch: + - Updated. + * 06-test-for-unexisting-files-in-TMP-and-not-in-HOME.patch: + - Added, don't look for an unexisting file in $HOME since it will + fail with an unexpected result if it's not writable (which happens + on some buildds). Look at $TMP instead. + * debian/rules: + - Make test suite failures fatal on amd64, i386 and s390. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new API. + + debian/patches/05-dont-fail-a-couple-of-tests-when-running-as-root.patch, + debian/patches/06-test-for-unexisting-files-in-TMP-and-not-in-HOME.patch: + - Dropped, merged upstream. + + -- Sebastian Dröge Mon, 08 Mar 2010 18:49:00 +0000 + +glib2.0 (2.23.4-1) experimental; urgency=low + + [ Emilio Pozuelo Monfort ] + * debian/patches/05-dont-fail-a-couple-of-tests-when-running-as-root.patch: + - Added, expect a couple of tests that play with file permissions + to succeed when running as root. + * debian/control.in: + - Add desktop-file-utils to build depends to fix another test. + - Standards-Version is 3.8.4, no changes needed. + - Let libgio-fam depend on ${misc:Depends}. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new API. + + -- Sebastian Dröge Mon, 22 Feb 2010 09:04:48 +0100 + +glib2.0 (2.23.3-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new API. + + -- Sebastian Dröge Tue, 09 Feb 2010 16:48:07 +0100 + +glib2.0 (2.23.2-2) experimental; urgency=low + + * debian/control.in, + debian/libglib2.0-0.triggers, + debian/libglib2.0-0.install, + debian/libglib2.0-dev.install: + + Ship gio-querymodules in the shared library package + and triggers calls to every time /usr/lib/gio/modules + is touched by a package. + + -- Sebastian Dröge Tue, 26 Jan 2010 09:40:47 +0100 + +glib2.0 (2.23.2-1) experimental; urgency=low + + * New upstream development release: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new API. + + -- Sebastian Dröge Tue, 26 Jan 2010 08:14:26 +0100 + +glib2.0 (2.23.1-1) experimental; urgency=low + + [ Sebastian Dröge ] + * debian/control.in: + + Let the -dev package depend on zlib1g-dev as it's required by + the pkg-config file now. + + [ Emilio Pozuelo Monfort ] + * New upstream release. + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new API. + + -- Emilio Pozuelo Monfort Tue, 22 Dec 2009 23:25:41 +0100 + +glib2.0 (2.23.0-1) experimental; urgency=low + + [ Loïc Minier ] + * -refdbg package is section/prio debug/extra. + * Add note to NOT use -Wl,--as-needed as it might drop a critical -lpthread + link in gio (which dlopen()s gvfs); see + mid:<1257999019.21780.15.camel@marzipan>. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/patches/90_mimetype-sorting.patch: + - Dropped, merged upstream. + + debian/rules, + debian/libglib2.0-0.symbols: + - Update for new API. + + debian/control.in: + - Build depend on zlib. + + debian/rules: + - Include check-dist.mk to prevent accidental uploads to unstable. + + -- Sebastian Dröge Mon, 30 Nov 2009 10:04:07 +0100 + +glib2.0 (2.22.2-2) unstable; urgency=low + + * debian/patches/90_mimetype-sorting.patch: + + Fix sorting of mimetypes by weight. Highest weight means most + important, not the other way around. Patch from upstream GIT. + + -- Sebastian Dröge Thu, 08 Oct 2009 18:34:23 +0200 + +glib2.0 (2.22.2-1) unstable; urgency=low + + [ Emilio Pozuelo Monfort ] + * Move libglib2.0-data to section libs. Closes: #549079. + + [ Sebastian Dröge ] + * New upstream bugfix release. + + -- Sebastian Dröge Thu, 08 Oct 2009 12:48:51 +0200 + +glib2.0 (2.22.1-1) unstable; urgency=low + + * New upstream bugfix release: + + debian/patches/10_inotify_init1.patch, + debian/patches/30_metadata_symlinks.patch: + - Dropped, merged upstream. + + -- Sebastian Dröge Wed, 30 Sep 2009 08:17:57 +0200 + +glib2.0 (2.22.0-2) unstable; urgency=low + + * Don’t install Python GDB macros for now, they only work with an + experimental GDB branch. + * 30_metadata_symlinks.patch: stolen upstream. Get metadata to work + with symbolic links. Closes: #548142. + + -- Josselin Mouette Wed, 30 Sep 2009 01:02:11 +0200 + +glib2.0 (2.22.0-1) unstable; urgency=low + + [ Josselin Mouette ] + * Move libglib-2.0.so.0 to /lib so that DeviceKit (and other potential + sources) can work without having /usr mounted. + * 11_chmod_symlinks.patch: new patch. Fix potential security issue + when manipulating symlink permissions. Thanks Arand Nash for the + heads up. + + [ Sebastian Dröge ] + * New upstream stable release: + + debian/patches/11_chmod_symlinks.patch: + - Dropped, merged upstream. + + debian/libglib2.0-0.symbols, + debian/rules: + - Update for the new version. + + -- Sebastian Dröge Wed, 23 Sep 2009 05:04:37 +0200 + +glib2.0 (2.21.6-1) experimental; urgency=low + + [ Josselin Mouette ] + * 10_inotify_init1.patch: fall back on inotify_init when inotify_init1 + does not work, as happens with kernel versions < 2.6.27. + Closes: #544354. + + [ Sebastian Dröge ] + * New upstream development release: + + debian/libglib2.0-0.symbols: + - Update for the new version. + + debian/rules: + - Update SHVER to 2.21.6. + * debian/control.in: + + Updated Standards-Version to 3.8.3, no additional changes needed. + + -- Sebastian Dröge Sat, 05 Sep 2009 07:15:58 +0200 + +glib2.0 (2.21.5-1) experimental; urgency=low + + * New upstream development release: + + debian/libglib2.0-0.symbols: + - Update for the new version. + + debian/rules: + - Update SHVER to 2.21.5. + * debian/control.in: + + Updated Standards-Version to 3.8.2, no additional changes needed. + + -- Sebastian Dröge Tue, 25 Aug 2009 18:38:51 +0200 + +glib2.0 (2.21.4-1) experimental; urgency=low + + * New upstream development release: + + debian/rules: + - Include check-dist.mk to prevent accidental uploads to unstable. + - Update shlib version to 2.21.4. + + debian/libglib2.0-0.symbols: + - Update for the API additions. + * debian/control.in: + + Updated Standards-Version to 3.8.1, no additional changes needed. + + -- Sebastian Dröge Tue, 21 Jul 2009 09:35:33 +0200 + +glib2.0 (2.20.4-1) unstable; urgency=low + + * New upstream bugfix release. + + -- Sebastian Dröge Sat, 27 Jun 2009 09:56:08 +0200 + +glib2.0 (2.20.3-1) unstable; urgency=low + + [ Josselin Mouette ] + * Only build the libgio-fam package for hurd and kfreebsd, it is + totally useless under Linux. + * Make it recommend gamin for kqueue support. + * Make libgamin-dev the primary build-dependency. Closes: #526219. + + [ Sebastian Dröge ] + * New upstream bugfix release. + + -- Sebastian Dröge Mon, 01 Jun 2009 15:35:40 +0200 + +glib2.0 (2.20.1-2) unstable; urgency=low + + * Add refdbg package: libglib2.0-0-refdbg. (Closes: #525915) + + -- Jonny Lamb Tue, 28 Apr 2009 15:11:27 +0100 + +glib2.0 (2.20.1-1) unstable; urgency=low + + * New upstream bugfix release: + + 10_log_valist.patch, dropped. + + -- Sebastian Dröge Sat, 11 Apr 2009 17:00:43 +0200 + +glib2.0 (2.20.0-3) unstable; urgency=low + + * Fix debug package section. + * 10_log_valist.patch: new patch, stolen upstream. Copy a va_list + before using it twice. Closes: #520484. + + -- Josselin Mouette Thu, 09 Apr 2009 20:11:52 +0200 + +glib2.0 (2.20.0-2) unstable; urgency=low + + * Remove 02_usr_share_gnome_applications.patch, now gnome-session sets + XDG_DATA_DIRS accordingly. + + -- Josselin Mouette Thu, 19 Mar 2009 22:59:34 +0100 + +glib2.0 (2.20.0-1) unstable; urgency=low + + * New upstream stable release. + * Upload to unstable, remove check-dist include. + This won't block any transitions because of symbol files. + * debian/libglib2.0-0.symbols, + debian/rules: + + Update for the API changes. + + -- Sebastian Dröge Sat, 14 Mar 2009 10:53:26 +0100 + +glib2.0 (2.19.10-1) experimental; urgency=low + + * New upstream development release. + + -- Sebastian Dröge Mon, 02 Mar 2009 16:04:08 +0100 + +glib2.0 (2.19.8-2) experimental; urgency=low + + * debian/patches/01_gettext-desktopfiles.patch, + debian/patches/02_gettext-desktopfiles-ubuntu.patch: + + Updated from the Ubuntu package, thanks to Martin Pitt for the changes: + - 01_gettext-desktopfiles.patch: Merge OpenSUSE's and our patch: + - Now prefers inline translations over gettext translations, which + fixes a few corner cases (like renaming .desktop files on the + user's desktop), is more in line with the recent gconf patch, + and more palatable for upstream inclusion. + - Use X-GNOME-Gettext-Domain, for preparing upstream inclusion. + - Forwarded upstream now. + - Add 02_gettext-desktopfiles-ubuntu.patch: Provide backwards + compatibility for 01_gettext-desktopfiles.patch for + X-{Debian,Ubuntu}-Gettext-Domain. The latter was changed to use + X-GNOME-, so this is necessary until all our .desktop files are + converted. + + -- Sebastian Dröge Tue, 24 Feb 2009 16:08:05 +0100 + +glib2.0 (2.19.8-1) experimental; urgency=low + + * New upstream development release. + + -- Sebastian Dröge Fri, 20 Feb 2009 10:38:44 +0100 + +glib2.0 (2.19.7-1) experimental; urgency=low + + * New development release + + -- Gustavo Noronha Silva Tue, 17 Feb 2009 01:43:04 -0300 + +glib2.0 (2.19.6-1) experimental; urgency=low + + * New development release + * debian/libglib2.0-0.symbols: + - updated with new symbols + + -- Gustavo Noronha Silva Sun, 15 Feb 2009 23:58:22 -0300 + +glib2.0 (2.18.4-2) unstable; urgency=low + + * Release to unstable + * debian/rules: + - bump SHVER, since we are already forcing a 2.18.0 dependecy on the + symbols introduced in the development versions + * debian/control.in: + - added Homepage and Vcs-* control fields + + -- Gustavo Noronha Silva Sun, 15 Feb 2009 13:00:43 -0300 + +glib2.0 (2.18.4-1) experimental; urgency=low + + [ Josselin Mouette ] + * 04_homedir_env.patch: new patch. Handle the G_HOME environment + variable, to override the passwd entry. This will allow to fix + various kinds of build failures due to restricted build + environments. + + [ Sebastian Dröge ] + * New upstream bugfix release. + + -- Sebastian Dröge Sat, 10 Jan 2009 14:21:55 +0100 + +glib2.0 (2.18.3-1) experimental; urgency=low + + * New upstream bugfix release. + + -- Sebastian Dröge Mon, 24 Nov 2008 10:07:47 +0100 + +glib2.0 (2.18.2-1) experimental; urgency=low + + [ Loic Minier ] + * Suffix the Debian specific pcre bdep with "~" to allow backports and make + lintian happy. + * Update doc-base entries for new doc-base secttions: use Programming/C + instead of Apps/Programming. + * Use uppercase GNOME in doc-base description of glib. + * Recommend shared-mime-info for content-type guessing API; see + GNOME #554563. + * Pass -k to make check. + + [ Sebastian Dröge ] + * New upstream bugfix release. + + -- Sebastian Dröge Sun, 19 Oct 2008 13:26:48 +0200 + +glib2.0 (2.18.1-1) experimental; urgency=low + + * New upstream bugfix release. + * debian/libglib2.0-0.symbols: + + Updated all 2.17 symbols to 2.18.0 to get dependencies on the stable + versions. + + -- Sebastian Dröge Sun, 21 Sep 2008 15:31:15 +0200 + +glib2.0 (2.18.0-1) experimental; urgency=low + + * New upstream stable release, with API addition. + - Update symbols file for new g_object_get_type() symbol and drop + g_slice_debug_tree_statistics() which shouldn't have been exported in + the first place. + - Refresh patches 01_gettext-desktopfiles, + 02_usr_share_gnome_applications, and 03_blacklist-directories to apply + cleanly. + + -- Loic Minier Wed, 03 Sep 2008 00:51:29 +0200 + +glib2.0 (2.17.7-1) experimental; urgency=low + + * New upstream development release, the new API might still change: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new symbols. + + -- Sebastian Dröge Mon, 18 Aug 2008 16:04:30 +0200 + +glib2.0 (2.17.6-1) experimental; urgency=low + + * New upstream development release, the new API might still change: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new symbols. + + -- Sebastian Dröge Mon, 04 Aug 2008 19:54:44 +0200 + +glib2.0 (2.17.4-1) experimental; urgency=low + + [ Loic Minier ] + * List back m68k in arches where we could make the testsuite fatal, + following the update on GNOME #481575. + * Document why testsuite is currently completely disabled (fails when + there's no writable $HOME). + + [ Sebastian Dröge ] + * New upstream development release, the new API might still change: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new symbols. + + debian/patches/90_gio-nautilus-crash.patch: + - Dropped, merged upstream. + + -- Sebastian Dröge Tue, 22 Jul 2008 11:17:05 +0200 + +glib2.0 (2.17.3-2) experimental; urgency=low + + * debian/patches/90_gio-nautilus-crash.patch: + + Patch from upstream SVN to fix a crash in nautilus 2.22. + + -- Sebastian Dröge Sat, 05 Jul 2008 16:57:05 +0200 + +glib2.0 (2.17.3-1) experimental; urgency=low + + * New upstream development release, the new API might still change: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new symbols. + * debian/control.in: + + Updated Standards-Version to 3.8.0, no additional changes needed. + + -- Sebastian Dröge Thu, 03 Jul 2008 11:21:17 +0200 + +glib2.0 (2.17.2-1) experimental; urgency=low + + * New upstream development release, the new API might still change: + + debian/rules, + debian/libglib2.0-0.symbols: + - Updated for the new symbols. + + -- Sebastian Dröge Tue, 17 Jun 2008 09:18:10 +0200 + +glib2.0 (2.17.0-1) experimental; urgency=low + + [ Josselin Mouette ] + * debian/rules: don't compress .sgml and .devhelp files. + + [ Loic Minier ] + * Fix broken second dh_strip invocation which was not only acting on the + udeb but also on binary packages (-s -pUDEB should have been -pUDEB). + + [ Sebastian Dröge ] + * New upstream development release, the new API might still change. + * debian/rules: + + Include check-dist.mk to prevent accidental uploads to unstable. + + Bump SHVER to 2.17.0. + + Pass -c4 to dh_makeshlibs. + * debian/libglib2.0-0.symbols: + + Update symbols. + + -- Sebastian Dröge Wed, 28 May 2008 10:40:30 +0200 + +glib2.0 (2.16.3-2) unstable; urgency=low + + * debian/rules: Don't add the debug symbols of the udeb in the -dbg package. + Makes the debugging info actually usefull again (Closes: #468093) + + -- Sjoerd Simons Fri, 11 Apr 2008 22:58:03 +0200 + +glib2.0 (2.16.3-1) unstable; urgency=low + + [ Sjoerd Simons ] + * debian/patches/70_g_timeout_seconds_fix.patch + + Added. Fix a rare case where a timeout from g_timeout_add_seconds() is + never triggered. See http://bugzilla.gnome.org/show_bug.cgi?id=448943 + + [ Sebastian Dröge ] + * New upstream bugfix release: + + debian/patches/70_g_timeout_seconds_fix.patch: + - Dropped, merged upstream. + + -- Sebastian Dröge Tue, 08 Apr 2008 12:02:07 +0200 + +glib2.0 (2.16.2-1) unstable; urgency=low + + [ Loic Minier ] + * Drop nautilus conflicts as it triggers a bug in the APT resolver on + dist-upgrade. + * Update patch 01_gettext-desktopfiles with a newer version taken from the + Ubuntu package. + * Update and enable patch 01_gettext-desktopfiles to also look for + X-Debian-Gettext-Domain if X-Ubuntu-Gettext-Domain isn't present. + + [ Sebastian Dröge ] + * New upstream bugfix release: + + Fixes FTBFS on hurd/i386 (Closes: #472129). + + debian/patches/04_nfs4.patch, + debian/patches/80_static-mutex-aliasing-warnings.patch, + debian/patches/81_c99-inline-warnings.patch: + - Dropped, merged upstream. + + -- Sebastian Dröge Tue, 01 Apr 2008 07:40:48 +0200 + +glib2.0 (2.16.1-2) unstable; urgency=low + + [ Josselin Mouette ] + * 02_usr_share_gnome_applications.patch: ported from GnomeVFS. Use + /usr/share/gnome/applications/defaults.list to obtain the defaults + for MIME mapping. Currently this file is still shipped by GnomeVFS. + Closes: #469504. + * 03_blacklist-directories.patch: ported from GnomeVFS. Blacklist more + FHS directories that are commonly found as Unix mount points, + including those necessary for live-initramfs. + * 04_nfs4.patch: ported from GnomeVFS. Support for nfs4 filesystems. + + [ Sebastian Dröge ] + * 80_static-mutex-aliasing-warnings.patch: Prevent warnings about + breaking strict-aliasing rules when using G_LOCK(). + See http://bugzilla.gnome.org/show_bug.cgi?id=316221 + * 81_c99-inline-warnings.patch: Fix warnings when using G_INLINE_FUNC + in C99 mode (Closes: #470796). + See http://bugzilla.gnome.org/show_bug.cgi?id=522292 + * Don't ship the old changelogs and news to save some space. + + -- Sebastian Dröge Fri, 14 Mar 2008 10:13:09 +0100 + +glib2.0 (2.16.1-1) unstable; urgency=low + + * New upstream bugfix release. + + -- Sebastian Dröge Tue, 11 Mar 2008 04:41:30 +0100 + +glib2.0 (2.16.0-1) unstable; urgency=low + + * New upstream stable release: + + debian/rules: + - Update shlibs version to 2.16.0. + - Drop check-dist include, upload to unstable. + + debian/libglib2.0-0.symbols: + - Updated symbols for the new version. + + -- Sebastian Dröge Mon, 10 Mar 2008 19:23:55 +0100 + +glib2.0 (2.15.6-1) experimental; urgency=low + + * New upstream release: + + debian/rules: + - Update shlibs version to 2.15.6. + + debian/libglib2.0-0.symbols: + - Updated symbols for the new version. + + -- Sebastian Dröge Tue, 26 Feb 2008 06:22:28 +0100 + +glib2.0 (2.15.5-1) experimental; urgency=low + + * New upstream release: + + debian/patches/02_fam-helper.patch: + - Dropped, merged upstream. + + debian/patches/60_wait-longer-for-threads-to-die.patch: + - Updated to apply cleanly again. + + debian/libglib2.0-0.symbols: + - Update symbols for 2.15.5. + + -- Sebastian Dröge Tue, 12 Feb 2008 06:08:39 +0100 + +glib2.0 (2.15.4-1) experimental; urgency=low + + [ Loic Minier ] + * Add a gio gtk-doc symlink. + * Add a doc-base file for gio. + + [ Sebastian Dröge ] + * New upstream release: + + debian/libglib2.0-0.symbols: + - Update symbols for 2.15.4. + + debian/rules: + - Update API version to 2.15.4. + * debian/patches/02_fam-helper.patch: + + Fix build failure when building with FAM and not gamin. See BGO #509419 + and BGO #512384 for more details. + + -- Sebastian Dröge Tue, 29 Jan 2008 12:14:08 +0100 + +glib2.0 (2.15.3-1) experimental; urgency=low + + * New upstream release. + * debian/rules, + debian/libglib2.0-0.symbols: + + Update shlibs and all unstable symbols to 2.15.3. + + -- Sebastian Dröge Tue, 22 Jan 2008 11:54:42 +0100 + +glib2.0 (2.15.2-3) experimental; urgency=low + + [ Loic Minier ] + * Bump up dpkg-dev build-dep to >= 1.14.13 for Build-Depends-Package; thanks + Raphaël Hertzog. + * Drop duplicate dpkg-dev bdep. + * Let libglib2.0-dev depends on ${shlibs:Depends}; thanks Niko Tyni. + + [ Sebastian Dröge ] + * debian/libgio-fam.install: + + Fix path where we install the GIO FAM plugin. It shouldn't be + /usr/lib/gio/gio but /usr/lib/gio. Thanks to Sedat Dilek for reporting. + + -- Sebastian Dröge Mon, 21 Jan 2008 08:58:33 +0100 + +glib2.0 (2.15.2-2) experimental; urgency=low + + * debian/rules: + + Disable selinux for the udeb until we have a libselinux1 udeb. + + -- Sebastian Dröge Thu, 17 Jan 2008 11:50:11 +0100 + +glib2.0 (2.15.2-1) experimental; urgency=low + + [ Sebastian Dröge ] + * New upstream development release, the new API may still change + incompatibly; API additions: + + Drop patch 67_gcc43-inline.patch, merged upstream. + * Include check-dist again to prevent accidental uploads to unstable. + * Disable testsuite for now. + * Bump shlibs to 2.15.2. + * Add build dependencies for GIO and add libgio-fam package that contains + a GIO file/directory monitoring module that uses fam. + * debian/rules, + debian/libglib2.0-0.symbols, + debian/control.in: + + Add a symbol file for GLib, generated from 2.12.4, 2.14.3, 2.15.2. + This is handled by dh_makeshlibs. Require dpkg-dev (>= 1.14.8) for this. + * debian/control.in: + + Recommend python on the -dev package for the gtester-report utility. + * debian/shlibs.local: + + Dropped as pcre is fixed now since 7.4-1 (Closes: #450796). + + [ Loic Minier ] + * Build-dep on gtk-doc-tools to prevent a spurious warning from + gtk-doc.make: "/bin/sh: line 11: test: !=: unary operator expected". + * Build udeb against system pcre again (now that it provides an udeb); bump + up libpcre build-dep to >= 7.4-1 (Closes: #443067). + + -- Sebastian Dröge Tue, 15 Jan 2008 15:30:20 +0100 + +glib2.0 (2.14.4-2) unstable; urgency=low + + * debian/rules: + + Make testsuite failures on sparc non-fatal too as the + threadpool-test fails there too, most probably of some + timing related bug. See BGO #481573. + + -- Sebastian Dröge Thu, 29 Nov 2007 11:45:57 +0100 + +glib2.0 (2.14.4-1) unstable; urgency=low + + [ Loic Minier ] + * Fix disabled patch name 01_gettext-desktopfiles in series. + + [ Josselin Mouette ] + * Conflict against nautilus < 2.20 according to + http://bugzilla.gnome.org/show_bug.cgi?id=440988#c182 + + [ Sebastian Dröge ] + * New upstream bugfix release. + + -- Sebastian Dröge Sun, 25 Nov 2007 14:37:34 +0100 + +glib2.0 (2.14.3-1) unstable; urgency=high + + [ Sebastian Dröge ] + * debian/shlibs.local: + + Override libpcre3's shlibs to require at least pcre 7.2 (See: #449289). + + [ Loic Minier ] + * New upstream stable release; bug fixes and security update. + - SECURITY: Update the internal copy of PCRE to 7.4, fixes CVE-2007-4767; + the internal copy is used for the udeb. + - Drop relibtoolizing patch, 70_relibtoolize, as upstream prepared this + tarball with libtool 1.5.24. + + -- Loic Minier Sat, 10 Nov 2007 19:59:04 +0100 + +glib2.0 (2.14.2-1) unstable; urgency=low + + * Add GNOME bug id to 70_relibtoolize. + * New upstream stable release; no API change. + * Add lpia to the list of arches on which testsuite failures are fatal. + + -- Loic Minier Wed, 17 Oct 2007 17:19:16 +0200 + +glib2.0 (2.14.1-5) unstable; urgency=low + + * Add a relibtoolizing patch, 70_relibtoolize, to get some hurd-i386 fixes + in libtool; see Debian #445001. + + -- Loic Minier Sun, 07 Oct 2007 16:52:44 +0200 + +glib2.0 (2.14.1-4) unstable; urgency=low + + * Document that testsuite failure aren't fatal on m68k due to GNOME #481575. + * Disable testsuite on arm, mips, powerpc; see GNOME #481573; mipsel was + already disabled because its testsuite results were unknown in + experimental. + * Document that testsuite failure is disabled on hppa, hurd, kfreebsd-amd64, + kfreebsd-i386 due to Debian #428674. + + -- Loic Minier Sat, 29 Sep 2007 13:56:18 +0200 + +glib2.0 (2.14.1-3) unstable; urgency=medium + + * Only build the standards debs against the system PCRE, i.e. build the udeb + against the builtin PCRE until pcre3 provides an udeb. + + -- Loic Minier Tue, 18 Sep 2007 21:35:30 +0200 + +glib2.0 (2.14.1-2) unstable; urgency=low + + * debian/control.in, + debian/rules: + + Build against the system PCRE instead of the supplied one. + + -- Sebastian Dröge Mon, 17 Sep 2007 09:41:48 +0200 + +glib2.0 (2.14.1-1) unstable; urgency=low + + [ Loic Minier ] + * Mention I added 90_fix-abi-check-with-debug in 2.14.0-1 + + [ Sebastian Dröge ] + * New upstream major stable release, without API changes. + * debian/patches/90_fix-abi-check-with-debug.patch: + + Dropped, merged upstream. + + -- Sebastian Dröge Mon, 17 Sep 2007 06:35:29 +0200 + +glib2.0 (2.14.0-2) unstable; urgency=low + + * Upload to unstable; drop check-dist include. + + -- Loic Minier Tue, 21 Aug 2007 09:05:30 +0200 + +glib2.0 (2.14.0-1) experimental; urgency=low + + * Fix double --host/--build flags to configure. + * Update patch 67_gcc43-inline to also fix the headers for GCC 4.2. + * New upstream major stable release; API additions. + - Bump up shlibs to >= 2.14.0. + - Drop patch 90_from_svn_fix_missing_pointer_casting, merged upstream. + - New patch, 90_fix-abi-check-with-debug, fixes build of testsuite in + debug mode; from SVN. + + -- Loic Minier Mon, 20 Aug 2007 21:54:07 +0200 + +glib2.0 (2.13.7-3) experimental; urgency=low + + * debian/patches/90_from_svn_fix_missing_pointer_casting.patch: + - patch from SVN, "fixed missing pointer casts when using atomic ops." + (Closes: #434853) + + -- Sebastien Bacher Fri, 27 Jul 2007 16:14:13 +0200 + +glib2.0 (2.13.7-2) experimental; urgency=low + + * Bump shlibs to 2.13.7. + + -- Loic Minier Wed, 25 Jul 2007 16:09:27 +0200 + +glib2.0 (2.13.7-1) experimental; urgency=low + + * Drop "libtool_is_fool" snippet patching hardcode_libdir_flag_spec and + archive_cmds which is probably dangerous with newer libtools. + * Fix flavor name in a comment of debian/rules. + * Use -s instead of -a in arch-specific dh_* calls. + * New upstream development release; some API additions. + - Drop patch 60_output-lines-during-tests, merged upstream. + * New patch, 60_wait-longer-for-threads-to-die, to wait 5 seconds instead of + one for threads to die in the threadpool test; hopefully fixes hppa and + kfreebsd testsuite failures; see #428674 and #431720. + * Don't make testsuite failures fatal on hppa; closes: #431720. + + -- Loic Minier Thu, 12 Jul 2007 21:37:47 +0200 + +glib2.0 (2.13.6-1) experimental; urgency=low + + * Don't pass -L to dh_shlibdeps as the shlibs.local trick is enough and this + can result in duplicate deps; closes: #317461. + * Set myself as maintainer. + * Cleanups. + * Make the testsuite failures fatal on arches which passed the testsuite + with 2.13.5 in experimental (currently: alpha amd64 arm hppa i386 ia64 + mips powerpc s390); closes: #291486. + * Don't run the testsuite when cross-compiling. + * New upstream development release; only API change is to change back the + definition of GType for C++ to be gulong. + + -- Loic Minier Mon, 02 Jul 2007 10:21:34 +0200 + +glib2.0 (2.13.5-1) experimental; urgency=low + + * New upstream release + - Bump shlibs to >= 2.13.5, as the API was changed + + -- Marc 'HE' Brockschmidt Tue, 19 Jun 2007 16:14:16 +0200 + +glib2.0 (2.13.4-2) experimental; urgency=low + + * New patch, 67_gcc43-inline, fixes FTBFS of apps using glib with GCC 4.3 + which uses C99 where the meaning of "inline" changed; patch was adapted + from patches in GNOME #315437 and Gentoo #156475; closes: #416863. + + -- Loic Minier Sat, 16 Jun 2007 18:49:57 +0200 + +glib2.0 (2.13.4-1) experimental; urgency=low + + * Also honor parallel=n in DEB_BUILD_OPTIONS. + * New upstream release series; these are development releases, the new API + may still change incompatibly. + - Target at experimental; include check-dist. + - Bump up shlibs to >= 2.13.4. + * New patch but disabled, 01_gettext-desktopfiles, permits overriding the + gettext domain when desktop files have such a field; found in the Ubuntu + package. + + -- Loic Minier Wed, 13 Jun 2007 10:52:27 +0200 + +glib2.0 (2.12.12-1) unstable; urgency=low + + * Fix description of the -dbg package. + * New upstream release. + + -- Loic Minier Thu, 03 May 2007 19:14:33 +0200 + +glib2.0 (2.12.11-3) unstable; urgency=medium + + * Initialize CFLAGS to -Wall -g; pass debian/rules' CFLAGS and LDFLAGS to + configure, doh! + * Track all stable versions in watch file. + * Wrap build-deps and deps. + * Add ${misc:Depends}. + * New patch 60_output-lines-during-tests, outputs newlines after thousand + iterations of the inner-loop of the closures test to avoid the timeout on + mips and mipsel buildds. + + -- Loic Minier Thu, 12 Apr 2007 16:13:46 +0200 + +glib2.0 (2.12.11-2) unstable; urgency=low + + * Run "make check" test suite for the deb flavor except if DEB_BUILD_OPTIONS + contains the "nocheck" keyword; ignore failures. + * Include the new uploaders.mk from gnome-pkg-tools instead of duplicating + its logic; build-dep on gnome-pkg-tools >= 0.11. + * Drop useless version computations. + * Add support for DEB_BUILD_OPTIONS_PARALLEL. + * Upload to unstable; drop check-dist include. + + -- Loic Minier Wed, 11 Apr 2007 10:35:43 +0200 + +glib2.0 (2.12.11-1) experimental; urgency=medium + + * New upstream release; no API change. + + -- Loic Minier Fri, 9 Mar 2007 22:02:25 +0100 + +glib2.0 (2.12.10-1) experimental; urgency=low + + * Include the new check-dist Makefile to prevent accidental uploads to + unstable; bump build-dep on gnome-pkg-tools to >= 0.10. + * New upstream release; no API change. + - Rewrite and cleanup the build-system completely to build a set of + flavors; drop obsolete targets; drop obsolete files; switch from + tar-in-tar and sys-build to regular source and quilt patching; + build-depend on quilt; drop DEB_USE_DBS_TARBALL_LAYOUT; create stampdir + when necessary; switch from dh_movefiles and dh_installdirs to + dh_install. + - Drop patch 000_glib-link; merged upstream. + * Bump up Debhelper compatibility level to 5. + * Only ship README.Debian in libglib2.0-dev. + * Empty dependency_libs in the *.la files of libglib2.0-dev. + * Override shlibs for the inter-shlibdeps before computing them. + * Use >= ${source:Version} and ${binary:Version} for inder-deps; build-dep + on dpkg-dev >= 1.13.19. + * Fix --dbg-package name. + * Use make vars for package names. + * Tune udeb description. + * Clean /usr/share/doc symlinks generation and move to dh_link generated + links. + * Cleanup list of invoked dh_* commands. + + -- Loic Minier Thu, 8 Mar 2007 18:51:27 +0100 + +glib2.0 (2.12.9-2) experimental; urgency=low + + * Bump shlibs to >= 2.12.9. + * Avoir overwriting the *.la files of the main build with the *.la files of + the udeb build; fixes "old_library" in *.la files; thanks Tim Dijkstra; + closes: #297741. + + -- Loic Minier Sat, 20 Jan 2007 09:13:40 +0100 + +glib2.0 (2.12.9-1) experimental; urgency=low + + * Add a get-orig-source target to retrieve the upstream tarball. + * New upstream releases; no API change. + - Fixes documentation of g_key_file_set_string_list(); closes: #405028. + - Avoids spewing warnings with gcc 2.95; closes: #303124. + - Drop patch 009_accept-space-in-key-names; merged and adapted upstream. + + -- Loic Minier Wed, 17 Jan 2007 08:55:27 +0100 + +glib2.0 (2.12.7-1) experimental; urgency=low + + * New upstream release; no API change; translation updates, bug fixes, + build fixes. + - Target at experimental for now. + - Drop patch 010_restore-old-key-file-syntax-support, merged and adapted + upstream. + + -- Loic Minier Fri, 5 Jan 2007 12:24:38 +0100 + +glib2.0 (2.12.6-2) unstable; urgency=medium + + * New patch, 010_restore-old-key-file-syntax-support, reverts strict group + names and key names checks introduced between glib 2.12.4 and 2.12.6; + instead of failing, critical warnings are output; updates the relevant + tests as well; closes: #404888. + * New patch, 009_accept-space-in-key-names, adds support for space in key + names (independently of 010_restore-old-key-file-syntax-support); updates + and add relevant tests as well; closes: #404888 as well. + + -- Loic Minier Sun, 31 Dec 2006 20:43:23 +0100 + +glib2.0 (2.12.6-1) unstable; urgency=low + + * New upstream release; no API or ABI change. + - Fixes file-type detection in nautilus; closes: #404015. + + -- Loic Minier Thu, 21 Dec 2006 09:46:30 +0100 + +glib2.0 (2.12.5-3) unstable; urgency=low + + * Upload to unstable. + + -- Loic Minier Wed, 20 Dec 2006 17:27:25 +0100 + +glib2.0 (2.12.5-2) experimental; urgency=low + + * Upload to unstable. + + -- Loic Minier Wed, 20 Dec 2006 08:50:56 +0100 + +glib2.0 (2.12.5-1) experimental; urgency=low + + * Add cross-reference in 2.12.4-2. + * New upstream release; no API or ABI change. + - Target at experimental for now. + - Drop patch 011_glib-gettext-datarootdir, merged upstream. + * Drop patch 010_glib2.0.kfreebsd-amd64, is not needed anymore and seems to + have been at the wrong level anyway. + * Review and comment on the usefulness of patch 000_glib-link. + + -- Loic Minier Tue, 19 Dec 2006 08:52:26 +0100 + +glib2.0 (2.12.4-2) unstable; urgency=low + + * New patch, 011_glib-gettext-datarootdir, to compute datarootdir + appropriately for AM_GLIB_DEFINE_LOCALEDIR; GNOME #343825; + closes: #370282. + + -- Loic Minier Thu, 16 Nov 2006 10:14:52 +0100 + +glib2.0 (2.12.4-1) unstable; urgency=low + + * New upstream release; no API changes. + + -- Loic Minier Mon, 2 Oct 2006 10:39:57 +0200 + +glib2.0 (2.12.3-2) unstable; urgency=low + + * Upload to unstable + + [ Loic Minier] + * Merge 2.10.3-3. + + -- Sebastien Bacher Wed, 13 Sep 2006 13:16:29 +0200 + +glib2.0 (2.12.3-1) experimental; urgency=low + + * New upstream release; no public API changes. + * Broaden the -data dep on the lib to permit bin NMUs. + + -- Loic Minier Wed, 30 Aug 2006 22:12:02 +0200 + +glib2.0 (2.12.2-1) experimental; urgency=low + + * New upstream release; no API changes. + + -- Loic Minier Mon, 21 Aug 2006 12:30:24 +0200 + +glib2.0 (2.12.1-1) experimental; urgency=low + + * New upstream release. + * Sync with overrides and set udeb's Priority to optional instead of extra. + * Bump up Standards-Version to 3.7.2. + + -- Loic Minier Mon, 7 Aug 2006 22:08:21 +0200 + +glib2.0 (2.12.0-1) experimental; urgency=low + + * New upstream version: + Major new features include: + * The Unicode support has been updated to Unicode 5. + * GBookmarkFile: a parser for files containing bookmarks + stored using the Desktop Bookmark specification + * Base64 encoding support + * debian/rules: + - updated shver number + * debian/watch: + - updated + + -- Sebastien Bacher Mon, 3 Jul 2006 10:46:21 +0200 + +glib2.0 (2.10.3-3) unstable; urgency=low + + * debian/patches/999_ia64_atomic_ops_broken.patch: + - dropped, it's not required with the new gcc and it was breaking the build + (Closes: #376260) + + [ Loic Minier ] + * Sync with overrides and set udeb's Priority to optional instead of extra. + + -- Sebastien Bacher Wed, 12 Jul 2006 19:09:21 +0200 + +glib2.0 (2.10.3-2) unstable; urgency=medium + + * Re-add changes from 2.10.2-2 that were lost in the wild + (closes: #361697). + + -- Josselin Mouette Mon, 26 Jun 2006 19:54:17 +0200 + +glib2.0 (2.10.3-1) unstable; urgency=low + + * New upstream version: + Bugs fixed: + - g_completion_complete_utf8 crashes when NULL is passed to it + - update-desktop-database doesn't handle duplicate entries + (Closes: #298668) + - Dereferencing NULL value in g_key_file_get_group_comment + - GKeyFile set_string_list invalid memory reads + - The GObject tutorial say g_object_(un)ref is _not_ thread-safe + - Fix a memory leak in GOption + + -- Sebastien Bacher Sat, 27 May 2006 12:54:17 +0200 + +glib2.0 (2.10.2-2) unstable; urgency=low + + * debian/control.in, debian/rules: + - patch by Frans Pop + - Add support for udeb dependency resolution in shlibs file + (Closes: #361697). + - Simplify debian/rules by making use of udeb support in debhelper. + * debian/control.in: + - clarify the description for the -data package (Closes: #362316), + change suggested Robert Bihlmeyer + + -- Sebastien Bacher Fri, 28 Apr 2006 00:03:41 +0200 + +glib2.0 (2.10.2-1) unstable; urgency=low + + * New upstream version: + - Missing check for .dylib + - Segmentation Fault when %llu is passed to vasnprintf and HAVE_SNPRINTF + is not defined + - Add support for write FDs to GIOChannel + - Memleak in goption.c::parse_short_option + - g_parse_debug_string reads beyond buffer + - g_option_context_parse() should not set program name to '' if + it is already set + - g_main_context_unref calls g_source_destroy_internal with incorrect + arguments + - Slight performance gains (GList, GAsyncQueue) + - Use of unitialised memory in g_mem_profile + - make check FAIL: threadpool-test + - g_option_context_new parameter lacks better explanation + - Some breakages with GThreadPool + - gthread/gthread-win32.c: IsDebuggerPresent needs + '#define _WIN32_WINDOWS 0x0401' + - dlerror() portability issue causes crash on (old) a.out NetBSD platform + - g_timer_elapsed docs should mention that microseconds may be NULL + - goption + error out params + - Documentation should not reference G_HAVE_GINT64, as it's deprecated. + * debian/patches/010_glib2.0.kfreebsd-amd64.patch: + - patch by Aurelien Jarno , fix build on kfreebsd-amd64 + (Closes: #355953) + * debian/rules: + - use "-g" for CFLAGS, makes -dbg package useful again + change by Fabio M. Di Nitto on the Ubuntu package: + * Make sure to pass CFLAGS to configure. + * Generalize DEB_BUILD_ARCH. + + -- Sebastien Bacher Fri, 7 Apr 2006 23:23:14 +0200 + +glib2.0 (2.10.1-2) unstable; urgency=low + + [ Sjoerd Simons ] + * Upload to unstable + * Document udeb changes that Josselin did in an earlier experimental + package. + * debian/patches/999_ia64_atomic_ops_broken.patch + + Added. Uses atomic builtins that gcc-4.0 know on ia64, instead of those + for gcc-4.1. (Patch by LaMont Jones from the ubuntu package) + * Updated debian/watch to use download.gnome.org + + [ Josselin Mouette ] + * Set the conflict with pango < 1.11, that's where the breakage lies. + * Add a XC-Package-Type header to the udeb and set the priority to extra. + [debian/control.in] + + -- Sjoerd Simons Sun, 19 Mar 2006 12:41:21 +0100 + +glib2.0 (2.10.1-1) experimental; urgency=low + + * New upstream release (bugfixes, translation updates). + * [debian/rules] Bring priority parameter for dpkg-distaddfile for the udeb + in line with control.in . + + Josselin Mouette : + * Conflict with pango < 1.10 to avoid breakage caused by the unicode + changes. + + -- J.H.M. Dassen (Ray) Sat, 11 Mar 2006 13:53:16 +0100 + +glib2.0 (2.10.0-1) experimental; urgency=low + + * New upstream release. + + -- Josselin Mouette Mon, 6 Mar 2006 00:32:27 +0100 + +glib2.0 (2.8.6-1) unstable; urgency=medium + + * New upstream release (bugfixes, translation updates). + + -- J.H.M. Dassen (Ray) Wed, 18 Jan 2006 20:30:26 +0100 + +glib2.0 (2.8.5-1) unstable; urgency=low + + * New upstream release (bugfixes, translation updates, + g_object_compat_control() added). + * [debian/rules] Bumped shver to 2.8.5 to reflect the API change. + + -- J.H.M. Dassen (Ray) Thu, 5 Jan 2006 21:22:36 +0100 + +glib2.0 (2.8.4-2) unstable; urgency=high + + * Fix shlibs deps that crept in the amd64 package, thanks Kurt Roeckx for + all the fish. (Closes: #339685) + - Cleanup and clarify upstream version calculations. + - Drop dh_makeshlibs -a call as only one package ships shlibs and already + has a separate call. + - Drop useless shlibs.local generation. + - Call dh_shlibdeps with cleaner arguments. + [debian/rules] + * Fix "fakeroot debian/rules clean" by following find calls with a .svn + filter. + [debian/scripts/lib] + * Fix quoting of unfix.source.patch:START and FAILED messages. + [debian/scripts/messages] + * Clarify Copyright versus License and update upstream URL. + [debian/copyright] + + -- Loic Minier Sun, 20 Nov 2005 10:36:26 +0100 + +glib2.0 (2.8.4-1) unstable; urgency=low + + * New upstream version. + + -- Sebastien Bacher Tue, 15 Nov 2005 16:22:08 +0100 + +glib2.0 (2.8.3-1) unstable; urgency=medium + + * New upstream release (fix an error that crept in with a change to + glib-mkenums in 2.8.2, documentation improvements, translation updates). + + -- J.H.M. Dassen (Ray) Mon, 3 Oct 2005 20:52:26 +0200 + +glib2.0 (2.8.2-1) unstable; urgency=medium + + * New upstream release (bug fixes, documentation improvements, translation + updates). + + -- J.H.M. Dassen (Ray) Sun, 2 Oct 2005 09:31:27 +0200 + +glib2.0 (2.8.1-1) unstable; urgency=medium + + * New (for Debian) upstream version (bug fixes, documentation improvements, + translation updates). + * [debian/control.in] Bumped Standards-Version. + * [debian/copyright] Updated FSF's address. + + -- J.H.M. Dassen (Ray) Sat, 24 Sep 2005 13:45:47 +0200 + +glib2.0 (2.8.1-0ubuntu1) breezy; urgency=low + + * New upstream version. + * debian/watch: + - updated. + + -- Sebastien Bacher Tue, 23 Aug 2005 12:05:20 +0200 + +glib2.0 (2.8.0-1) unstable; urgency=low + + * New upstream version. + * debian/rules: + - updated the shlibs. + + -- Sebastien Bacher Sat, 13 Aug 2005 14:14:00 +0200 + +glib2.0 (2.7.3-1) experimental; urgency=low + + * New upstream version. + + -- Sebastien Bacher Fri, 15 Jul 2005 23:42:37 +0200 + +glib2.0 (2.7.2-1) experimental; urgency=low + + * New upstream version. + + -- Sebastien Bacher Fri, 8 Jul 2005 22:07:59 +0200 + +glib2.0 (2.7.1-1) experimental; urgency=low + + * New upstream version. + * debian/rules: + - updated the shlib. + + -- Sebastien Bacher Fri, 1 Jul 2005 19:43:05 +0200 + +glib2.0 (2.7.0-1) experimental; urgency=low + + * New upstream version: + * GKeyFile: + - add unit tests. + - accept \r\n as line end. + - don't interpret leading zeros as octal numbers. + - make key and group removal work. + * GOption: + - improve formatting of --help output. + - accept -?. + - warn about duplicate main groups. + - treat '-' as non-option argument. + - report missing arguments as errors. + - add a boxed type for GDate. + * GTree: + - g_tree_remove() and g_tree_steal() return status information. + * Stdio wrappers: + - work regardless of large file support. + - add g_access(), g_chmod(), g_creat(), g_chdir. + * GObject: + - implement "toggle references" to help language bindings. + - allow to mark names, nicks and blurbs of pspecs as static. + - make pspec lookup a bit faster. + * add g_listenv() to list all set environment variables. + * add g_file_set_contents() to atomically write a file. + * add g_try_malloc(), g_try_new(), g_try_new0() and g_try_renew(). + * add g_utf8_collate_key_for_filename() to sort filenames taking + extensions and numeric suffixes into account. + * add G_GNUC_NULL_TERMINATED to mark varargs function with + NULL-terminated argument lists. + * documentation improvements. + * new and updated translations. + * debian/rules: + - updated the shlibs. + * debian/watch: + - updated. + + -- Sebastien Bacher Tue, 21 Jun 2005 12:15:47 +0200 + +glib2.0 (2.6.5-1) unstable; urgency=low + + * New upstream release again bringing a number of bugfixes, improved + documentation and updated translations, including + gthread-posix.c (g_thread_create_posix_impl): Allow setstacksize to + fail. (GNOME #304790, Michael Banck) (Closes: #312382) + * [debian/patches/000_glib-link.patch] Updated. + + -- J.H.M. Dassen (Ray) Fri, 10 Jun 2005 21:14:42 +0200 + +glib2.0 (2.6.4-1) unstable; urgency=low + + * New upstream release bringing a number of bugfixes, improved + documentation and updated translations. + + -- J.H.M. Dassen (Ray) Wed, 6 Apr 2005 22:16:44 +0200 + +glib2.0 (2.6.3-1) unstable; urgency=low + + * New upstream release. + + -- Sebastien Bacher Mon, 28 Feb 2005 09:38:38 +0100 + +glib2.0 (2.6.2-1) unstable; urgency=low + + * New upstream release. + + -- Sebastien Bacher Sat, 5 Feb 2005 19:23:59 +0100 + +glib2.0 (2.6.1-3) unstable; urgency=low + + * debian/rules: + - use "-plibglib$(apiver)-udeb", fix the libglib2.0-0-dbg package. + + -- Sebastien Bacher Sun, 23 Jan 2005 22:24:21 +0100 + +glib2.0 (2.6.1-2) unstable; urgency=low + + * Upload to unstable. + * debian/control.in: + - rename libglib2.0-dbg to libglib2.0-0-dbg. + - set myself as maintainer. + * debian/rules: + - use dh_strip to make the debug package. + + -- Sebastien Bacher Sun, 16 Jan 2005 12:59:21 +0100 + +glib2.0 (2.6.1-1) experimental; urgency=low + + * New upstream release. + + -- Sebastien Bacher Sat, 8 Jan 2005 14:44:05 +0100 + +glib2.0 (2.6.0-1) experimental; urgency=low + + * New upstream release. + * debian/rules: + - updated the shlibs. + * debian/watch: + - updated. + + -- Sebastien Bacher Mon, 27 Dec 2004 16:15:36 +0100 + +glib2.0 (2.4.8-1) unstable; urgency=medium + + * New upstream bugfix release. + + -- J.H.M. Dassen (Ray) Sat, 4 Dec 2004 18:52:44 +0100 + +glib2.0 (2.4.7-1) unstable; urgency=medium + + * New upstream bugfix release. + * [debian/patches/000_glib-link.patch] Updated. + * [debian/patches/001_translations.patch] Dropped. + + -- J.H.M. Dassen (Ray) Fri, 8 Oct 2004 22:27:49 +0200 + +glib2.0 (2.4.6-4) unstable; urgency=medium + + * [debian/patches/001_translations.patch] Updated translations from CVS and + relibtoolise to use new translations. + * [debian/rules] Fixed udeb naming on Hurd. + + -- J.H.M. Dassen (Ray) Fri, 8 Oct 2004 12:43:09 +0200 + +glib2.0 (2.4.6-3) unstable; urgency=medium + + Colin Watson : (Closes: #274053) + * [debian/rules] binary-arch depends on binary-arch-udeb. + * [debian/rules] Strip udeb! + + -- J.H.M. Dassen (Ray) Wed, 29 Sep 2004 19:39:22 +0200 + +glib2.0 (2.4.6-2) unstable; urgency=medium + + * [debian/patches/001_translations.patch] Updated translations from CVS. + * [debian/rules] Tightened "shver" to tighten shlibs, as some + incompatibilities with older versions turned up with gconf. + (Closes: #265659) + + -- J.H.M. Dassen (Ray) Tue, 24 Aug 2004 18:50:04 +0200 + +glib2.0 (2.4.6-1) unstable; urgency=medium + + * New upstream bugfix release. + + -- J.H.M. Dassen (Ray) Sun, 15 Aug 2004 18:34:27 +0200 + +glib2.0 (2.4.5-2) unstable; urgency=low + + * debian/patches/000_glib-link.patch: + - patch from Jurij Smakov to link with all the libs + (Closes: #263130). + + -- Sebastien Bacher Tue, 3 Aug 2004 18:03:53 +0200 + +glib2.0 (2.4.5-1) unstable; urgency=low + + * New upstream release. + + -- Sebastien Bacher Sun, 1 Aug 2004 17:31:43 +0200 + +glib2.0 (2.4.4-1) unstable; urgency=low + + * New upstream release. + - remove spaces before "#pragma alloca" (Closes: #250667). + + -- Sebastien Bacher Fri, 16 Jul 2004 18:44:31 +0200 + +glib2.0 (2.4.2-1) unstable; urgency=low + + * New upstream release. + + -- Sebastien Bacher Sat, 5 Jun 2004 00:51:01 +0200 + +glib2.0 (2.4.1-2) unstable; urgency=low + + * Upload in unstable. + * GNOME Team Upload. + * J.H.M. Dassen (Ray) : + + [debian/rules] Make the linker work a bit harder so dynamic loading can + be done faster; safety measure: ensure the build aborts when the library + still has references to undefined symbols. + + -- Sebastien Bacher Sat, 22 May 2004 14:18:23 +0200 + +glib2.0 (2.4.1-1) experimental; urgency=low + + * New upstream release. + * GNOME Team Upload. + * debian/rules: + - updated shlib version to 2.4.1. + + -- Sebastien Bacher Sun, 2 May 2004 12:47:25 +0200 + +glib2.0 (2.4.0-2) experimental; urgency=low + + * Akira TAGOH + - debian/rules: + - bumped shlib version to 2.4.0. + + -- Akira TAGOH Wed, 24 Mar 2004 09:12:31 +0900 + +glib2.0 (2.4.0-1) experimental; urgency=low + + * New upstream release. + * debian/rules: + - doh. don't claim the newer shlibs. + * debian/control: + - added Uploaders to maintain as team. + - added gnome-pkg-tools to Build-Depends. + * debian/docs: + - added old ChangeLog and NEWS files. + + -- Akira TAGOH Wed, 17 Mar 2004 21:18:00 +0900 + +glib2.0 (2.2.3-1) unstable; urgency=low + + * "Welcome back my laptop PC!" release. + * New upstream release. + * debian/control: + - bumped Standards-Version to 3.6.1.0. + + -- Akira TAGOH Mon, 1 Sep 2003 02:29:14 +0900 + +glib2.0 (2.2.2-1) unstable; urgency=low + + * New upstream release. + - Fix portability problems with G_MIN/MAX_INT64 (closes: Bug#195302) + * debian/control: + - bumped Standards-Version to 3.5.10.0. + - changed the sections for libglib2.0-dev and libglib2.0-dbg to libdevel. + * debian/compat: + - use it instead of DH_COMPAT. + + -- Akira TAGOH Tue, 10 Jun 2003 18:44:01 +0900 + +glib2.0 (2.2.1-3) unstable; urgency=low + + * debian/control: + - rename libglib2.0-0-udeb to libglib2.0-udeb. + - delete Recommends line from libglib2.0-udeb. (closes: Bug#183749) + - add Provides: libglib2.0-0 for libglib2.0-udeb. + * debian/libglib2.0-udeb.files: + - contain the libraries and locale data. + + -- Akira TAGOH Sat, 8 Mar 2003 02:46:19 +0900 + +glib2.0 (2.2.1-2) unstable; urgency=low + + * debian/rules: + - create the symlinks on /usr/share/gtk-doc/html. (closes: Bug#183504) + - changed DH_COMPAT to 4. + * debian/control: + - add libglib2.0-0-udeb package for debian-installer. + + -- Akira TAGOH Thu, 6 Mar 2003 01:14:44 +0900 + +glib2.0 (2.2.1-1) unstable; urgency=low + + * New upstream release. + * debian/control: + - needed pkg-config (>= 0.14.0). + - add autotools-dev to Build-Depends. + + -- Akira TAGOH Tue, 4 Feb 2003 01:02:20 +0900 + +glib2.0 (2.2.0-2) unstable; urgency=low + + * close to be fixed in the upstream release. (closes: Bug#173508) + + -- Akira TAGOH Tue, 7 Jan 2003 17:22:20 +0900 + +glib2.0 (2.2.0-1) unstable; urgency=low + + * New upstream release. + * debian/control: + bumped Standards-Version to 3.5.8. + + -- Akira TAGOH Wed, 25 Dec 2002 13:46:08 +0900 + +glib2.0 (2.0.7-1) unstable; urgency=low + + * New upstream release. + * debian/control: + - changed libc6-dev to libc6-dev | libc-dev in -dev's Depends. + - bumped Standards-Version and depends debhelper (>> 4). + - add libgtk2.0-doc to Suggests for -doc. + * debian/rules: + - add symlink to fix the missing symlink for gtk. but this release doesn't + include the hyperlink for gtk+ (closes: Bug#162845) + - support noopt option for DEB_BUILD_OPTIONS. + + -- Akira TAGOH Tue, 5 Nov 2002 17:06:50 +0900 + +glib2.0 (2.0.6-1) unstable; urgency=low + + * New upstream release. + * debian/rules: removed --enable-debug option. conform to the default value + now. (closes: Bug#151815) + * debian/patches/000_glib2.0-garray.patch: removed because it's merged by + the upstream. + + -- Akira TAGOH Sun, 4 Aug 2002 16:05:03 +0900 + +glib2.0 (2.0.4-3) unstable; urgency=low + + * debian/patches/000_glib2.0-garray.patch: + applied to fix g_ptr_array_index() macro. (closes: Bug#150521) + + -- Akira TAGOH Sat, 29 Jun 2002 19:46:51 +0900 + +glib2.0 (2.0.4-2) unstable; urgency=low + + * debian/libglib2.0-doc.doc-base.gobject: fix the dupplicated title. + (closes: Bug#150040) + + -- Akira TAGOH Sun, 16 Jun 2002 23:27:38 +0900 + +glib2.0 (2.0.4-1) unstable; urgency=low + + * New upstream release. + + -- Akira TAGOH Sun, 16 Jun 2002 03:33:22 +0900 + +glib2.0 (2.0.3-1) unstable; urgency=low + + * New upstream release. + + -- Akira TAGOH Wed, 29 May 2002 00:49:56 +0900 + +glib2.0 (2.0.1-2) unstable; urgency=low + + * debian/scripts/vars.build: fix bashism. + * debian/README.Debian: add static link issue. + * debian/rules: add --enable-static. (closes: Bug#142198) + + -- Akira TAGOH Thu, 11 Apr 2002 19:25:17 +0900 + +glib2.0 (2.0.1-1) unstable; urgency=low + + * New upstream release. + + -- Akira TAGOH Sat, 30 Mar 2002 16:23:54 +0900 + +glib2.0 (2.0.0-1) unstable; urgency=low + + * Initial Release. + + -- Akira TAGOH Tue, 12 Mar 2002 02:32:11 +0900 diff --git a/debian/clean b/debian/clean new file mode 100644 index 0000000..2cecdbc --- /dev/null +++ b/debian/clean @@ -0,0 +1,6 @@ +debian/cross.txt +debian/cross.txt.in +debian/libglib2.0-0.triggers +debian/libglib2.0-0.postinst +debian/libglib2.0-0.postrm +gio/gdbus-2.0/codegen/*.pyc diff --git a/debian/clean-up-unmanaged-libraries b/debian/clean-up-unmanaged-libraries new file mode 100755 index 0000000..9dec236 --- /dev/null +++ b/debian/clean-up-unmanaged-libraries @@ -0,0 +1,216 @@ +#!/bin/dash +# (This script requires either dash or bash due to its use of test -ef.) + +# Copyright 2020 Collabora Ltd. +# SPDX-License-Identifier: MIT +# (see "Expat" paragraph in debian/copyright) + +set -eu + +# global +bug_ref=911225 +force= +me="$0" +need_ldconfig= +really=yes +verbose= + +debug () { + [ -z "$verbose" ] || echo "DEBUG: $me: $*" >&2 +} + +warning () { + echo "WARNING: $me: $*" >&2 +} + +usage () { + local status="${1:-2}" + + if [ "$status" -gt 0 ]; then + exec >&2 + fi + + cat <&2 || : + + if [ -n "$really" ]; then + warning "Moving $impl into $removal" + install -d "$removal" + rm -f "$removal/${impl##*/}" + mv "$impl" "$removal/." + else + warning "Not moving $impl into $removal (--dry-run)" + fi + + echo >&2 + need_ldconfig=yes + done + + if [ -z "$found_one" ]; then + debug "No stray files found at /lib/$multiarch/$soname.*" + fi +} + +main () { + local getopt_temp + local multiarch + local soname + + getopt_temp="help" + getopt_temp="$getopt_temp,bug-ref:" + getopt_temp="$getopt_temp,dry-run" + getopt_temp="$getopt_temp,force" + getopt_temp="$getopt_temp,verbose" + + getopt_temp="$(getopt -o '' --long "$getopt_temp" -n "$me" -- "$@")" + eval "set -- $getopt_temp" + + while [ "$#" -gt 0 ] + do + case "$1" in + (--dry-run) + really= + verbose=yes + shift + ;; + + (--bug-ref) + bug_ref="$2" + shift 2 + ;; + + (--force) + force=yes + shift + ;; + + (--help) + usage 0 + ;; + + (--verbose) + verbose=yes + shift + ;; + + (--) + shift + break + ;; + + (-*) + warning "Unknown option: $1" + usage 2 + ;; + + (*) + break + ;; + esac + done + + if [ "$#" -lt 2 ]; then + warning "A multiarch tuple and at least one SONAME are required" + usage 2 + fi + + multiarch="$1" + shift + + if [ -n "$force" ]; then + debug "Using force" + elif [ "/usr/lib/$multiarch" -ef "/lib/$multiarch" ]; then + # On a merged-/usr system, a new library like libglib-2.0.so.0.5000.0 + # will take precedence over a stale library like + # libglib-2.0.so.0.4200.0 in the same directory without us needing + # to do anything, so the safe route is to avoid doing anything. + debug "Merged-/usr system, no need to do anything without --force" + return 0 + fi + + for soname in "$@"; do + do_soname "$multiarch" "$soname" + done + + if [ -n "$need_ldconfig" ] && [ -n "$really" ]; then + warning "Changes were made, running ldconfig..." + ldconfig || ldconfig --verbose + elif [ -n "$need_ldconfig" ]; then + debug "Would run ldconfig, but skipped due to --dry-run" + fi +} + +main "$@" + +# vim:set sw=4 sts=4 et: diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..b38d912 --- /dev/null +++ b/debian/control @@ -0,0 +1,208 @@ +# This file is autogenerated. DO NOT EDIT! +# +# Modifications should be made to debian/control.in instead. +# This file is regenerated automatically in the clean target. +Source: glib2.0 +Section: libs +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian GNOME Maintainers +Uploaders: Iain Lane , Jeremy Bicha , Simon McVittie +Build-Depends: dbus , + debhelper-compat (= 13), + dh-sequence-python3, + dh-sequence-gnome, + docbook-xml, + docbook-xsl, + dpkg-dev (>= 1.17.14), + gettext, + libdbus-1-dev (>= 1.2.14) , + libelf-dev (>= 0.142), + libffi-dev (>= 3.3), + libgamin-dev [hurd-any] | libfam-dev [hurd-any], + libmount-dev (>= 2.35.2-7~) [linux-any], + libpcre3-dev (>= 1:8.35), + libselinux1-dev [linux-any], + libxml2-utils, + linux-libc-dev [linux-any], + meson (>= 0.52.0), + pkg-config (>= 0.16.0), + python3-distutils, + python3:any (>= 2.7.5-5~), + xsltproc, + zlib1g-dev +Build-Depends-Arch: desktop-file-utils , + locales | locales-all , + python3-dbus , + python3-gi , + shared-mime-info , + tzdata , + xterm +Build-Depends-Indep: gtk-doc-tools (>= 1.32.1), +Rules-Requires-Root: no +Standards-Version: 4.6.0 +Homepage: https://wiki.gnome.org/Projects/GLib +XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/glib +XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/glib.git +Vcs-Browser: https://salsa.debian.org/gnome-team/glib/tree/ubuntu/jammy +Vcs-Git: https://salsa.debian.org/gnome-team/glib.git -b ubuntu/jammy + +Package: libglib2.0-0 +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends} +Recommends: libglib2.0-data, + shared-mime-info, + xdg-user-dirs +Breaks: gimp (<< 2.10.14-3~), + glib-networking-tests (<< 2.70.0~), + gnome-keyring (<< 40.0-3~), + libgio-fam (<< 2.64.1-2~) [kfreebsd-any hurd-any], + libgirepository-1.0-1 (<< 1.62.0-4~), + libgladeui-2-6 (<< 3.22.2), + libsoup2.4-tests (<< 2.72.0-3~), +Replaces: libgio-fam (<< 2.64.1-2~) [kfreebsd-any hurd-any] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Description: GLib library of C routines + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the shared libraries. + +Package: libglib2.0-tests +Build-profiles: +Architecture: any +Depends: gir1.2-glib-2.0, + libglib2.0-dev-bin, + python3-dbus, + python3-dbusmock, + python3-gi, + shared-mime-info, + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Recommends: xdg-desktop-portal, +Pre-Depends: ${misc:Pre-Depends} +Description: GLib library of C routines - installed tests + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains test programs, designed to be run as part of a + regression testsuite. + +Package: libglib2.0-udeb +Build-Profiles: +Section: debian-installer +Package-Type: udeb +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends} +Description: GLib library of C routines - minimal runtime + This is a udeb, or a microdeb, for the debian-installer. + . + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the minimal runtime library needed by the Debian + installer. + +Package: libglib2.0-bin +Section: misc +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: libglib2.0-data, + ${misc:Depends}, + ${shlibs:Depends} +Multi-Arch: foreign +Description: Programs for the GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the program files which is used for the libraries + and others. + +Package: libglib2.0-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libffi-dev (>= 3.3), + libglib2.0-0 (= ${binary:Version}), + libglib2.0-bin (= ${binary:Version}), + libglib2.0-dev-bin (= ${binary:Version}), + libmount-dev (>= 2.35.2-7~) [linux-any], + libpcre3-dev (>= 1:8.31), + libselinux1-dev [linux-any], + pkg-config, + zlib1g-dev, + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Breaks: libglib2.0-0-dbg (<< 2.51.4-1~) +Replaces: libglib2.0-0-dbg (<< 2.51.4-1~) +Suggests: libgirepository1.0-dev (>= 1.62), + libglib2.0-doc +Description: Development files for the GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package is needed to compile programs against libglib2.0-0, + as only it includes the header files and static libraries (optionally) + needed for compiling. + . + GObject-Introspection metadata for this library can be found in the + libgirepository1.0-dev package. + +Package: libglib2.0-dev-bin +Section: libdevel +Architecture: any +Depends: python3-distutils, + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Suggests: libgdk-pixbuf2.0-bin (>= 2.36.12-2~) | libgdk-pixbuf2.0-dev, + libxml2-utils +Breaks: libglib2.0-bin (<< 2.54.2-5~), + libglib2.0-dev (<< 2.53) +Replaces: libglib2.0-bin (<< 2.54.2-5~), + libglib2.0-dev (<< 2.53) +Multi-Arch: foreign +Description: Development utilities for the GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package is needed to compile programs against libglib2.0-0. It contains + development utilities typically run during compilation and should not be + installed directly. Use libglib2.0-dev instead. + +Package: libglib2.0-data +Architecture: all +Depends: ${misc:Depends} +Multi-Arch: foreign +Description: Common files for GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package is needed for the runtime libraries to display messages in + languages other than English. + +Package: libglib2.0-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Suggests: devhelp +Multi-Arch: foreign +Description: Documentation files for the GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the HTML documentation for the GLib library + in /usr/share/doc/libglib2.0-doc/ . diff --git a/debian/control.in b/debian/control.in new file mode 100644 index 0000000..758cf99 --- /dev/null +++ b/debian/control.in @@ -0,0 +1,204 @@ +Source: glib2.0 +Section: libs +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian GNOME Maintainers +Uploaders: @GNOME_TEAM@, Simon McVittie +Build-Depends: dbus , + debhelper-compat (= 13), + dh-sequence-python3, + dh-sequence-gnome, + docbook-xml, + docbook-xsl, + dpkg-dev (>= 1.17.14), + gettext, + libdbus-1-dev (>= 1.2.14) , + libelf-dev (>= 0.142), + libffi-dev (>= 3.3), + libgamin-dev [hurd-any] | libfam-dev [hurd-any], + libmount-dev (>= 2.35.2-7~) [linux-any], + libpcre3-dev (>= 1:8.35), + libselinux1-dev [linux-any], + libxml2-utils, + linux-libc-dev [linux-any], + meson (>= 0.52.0), + pkg-config (>= 0.16.0), + python3-distutils, + python3:any (>= 2.7.5-5~), + xsltproc, + zlib1g-dev +Build-Depends-Arch: desktop-file-utils , + locales | locales-all , + python3-dbus , + python3-gi , + shared-mime-info , + tzdata , + xterm +Build-Depends-Indep: gtk-doc-tools (>= 1.32.1), +Rules-Requires-Root: no +Standards-Version: 4.6.0 +Homepage: https://wiki.gnome.org/Projects/GLib +XS-Debian-Vcs-Browser: https://salsa.debian.org/gnome-team/glib +XS-Debian-Vcs-Git: https://salsa.debian.org/gnome-team/glib.git +Vcs-Browser: https://salsa.debian.org/gnome-team/glib/tree/ubuntu/jammy +Vcs-Git: https://salsa.debian.org/gnome-team/glib.git -b ubuntu/jammy + +Package: libglib2.0-0 +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends} +Recommends: libglib2.0-data, + shared-mime-info, + xdg-user-dirs +Breaks: gimp (<< 2.10.14-3~), + glib-networking-tests (<< 2.70.0~), + gnome-keyring (<< 40.0-3~), + libgio-fam (<< 2.64.1-2~) [kfreebsd-any hurd-any], + libgirepository-1.0-1 (<< 1.62.0-4~), + libgladeui-2-6 (<< 3.22.2), + libsoup2.4-tests (<< 2.72.0-3~), +Replaces: libgio-fam (<< 2.64.1-2~) [kfreebsd-any hurd-any] +Multi-Arch: same +Pre-Depends: ${misc:Pre-Depends} +Description: GLib library of C routines + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the shared libraries. + +Package: libglib2.0-tests +Build-profiles: +Architecture: any +Depends: gir1.2-glib-2.0, + libglib2.0-dev-bin, + python3-dbus, + python3-dbusmock, + python3-gi, + shared-mime-info, + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Recommends: xdg-desktop-portal, +Pre-Depends: ${misc:Pre-Depends} +Description: GLib library of C routines - installed tests + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains test programs, designed to be run as part of a + regression testsuite. + +Package: libglib2.0-udeb +Build-Profiles: +Section: debian-installer +Package-Type: udeb +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends} +Description: GLib library of C routines - minimal runtime + This is a udeb, or a microdeb, for the debian-installer. + . + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the minimal runtime library needed by the Debian + installer. + +Package: libglib2.0-bin +Section: misc +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: libglib2.0-data, + ${misc:Depends}, + ${shlibs:Depends} +Multi-Arch: foreign +Description: Programs for the GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the program files which is used for the libraries + and others. + +Package: libglib2.0-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: libffi-dev (>= 3.3), + libglib2.0-0 (= ${binary:Version}), + libglib2.0-bin (= ${binary:Version}), + libglib2.0-dev-bin (= ${binary:Version}), + libmount-dev (>= 2.35.2-7~) [linux-any], + libpcre3-dev (>= 1:8.31), + libselinux1-dev [linux-any], + pkg-config, + zlib1g-dev, + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Breaks: libglib2.0-0-dbg (<< 2.51.4-1~) +Replaces: libglib2.0-0-dbg (<< 2.51.4-1~) +Suggests: libgirepository1.0-dev (>= 1.62), + libglib2.0-doc +Description: Development files for the GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package is needed to compile programs against libglib2.0-0, + as only it includes the header files and static libraries (optionally) + needed for compiling. + . + GObject-Introspection metadata for this library can be found in the + libgirepository1.0-dev package. + +Package: libglib2.0-dev-bin +Section: libdevel +Architecture: any +Depends: python3-distutils, + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Suggests: libgdk-pixbuf2.0-bin (>= 2.36.12-2~) | libgdk-pixbuf2.0-dev, + libxml2-utils +Breaks: libglib2.0-bin (<< 2.54.2-5~), + libglib2.0-dev (<< 2.53) +Replaces: libglib2.0-bin (<< 2.54.2-5~), + libglib2.0-dev (<< 2.53) +Multi-Arch: foreign +Description: Development utilities for the GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package is needed to compile programs against libglib2.0-0. It contains + development utilities typically run during compilation and should not be + installed directly. Use libglib2.0-dev instead. + +Package: libglib2.0-data +Architecture: all +Depends: ${misc:Depends} +Multi-Arch: foreign +Description: Common files for GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package is needed for the runtime libraries to display messages in + languages other than English. + +Package: libglib2.0-doc +Section: doc +Architecture: all +Depends: ${misc:Depends} +Suggests: devhelp +Multi-Arch: foreign +Description: Documentation files for the GLib library + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the HTML documentation for the GLib library + in /usr/share/doc/libglib2.0-doc/ . diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..e9dffa1 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,107 @@ +This package was debianized by Akira TAGOH on +Thu, 7 Mar 2002 01:05:25 +0900. + +It was downloaded from . + +Original Authors +---------------- +Peter Mattis +Spencer Kimball +Josh MacDonald + +Please do not mail the original authors asking questions about this +version of GLib. + +GLib Team +--------- +Shawn T. Amundson +Jeff Garzik +Raja R Harinath +Tim Janik +Elliot Lee +Tor Lillqvist +Paolo Molaro +Havoc Pennington +Manish Singh +Owen Taylor +Sebastian Wilhelmi + +The random number generator "Mersenne Twister", which is used by GLib, +was developed and originally coded by: +Makoto Matsumoto +Takuji Nishimura + +Major copyright holders: + + Copyright © 1995-2021 Red Hat, Inc. + Copyright © 2008-2010 Novell, Inc. + Copyright © 2008-2010 Codethink Limited. + Copyright © 2008-2018 Collabora, Ltd. + Copyright © 2018 Endless Mobile, Inc. + Copyright © 2018 Emmanuele Bassi + +License: + + This package is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU Lesser General +Public License can be found in `/usr/share/common-licenses/LGPL'. + +Files: + gobject/tests/taptestrunner.py +Copyright: + 2015 Remko Tronçon +License: Expat + +Files: + tests/gen-casefold-txt.py + tests/gen-casemap-txt.py +Copyright: + 1998-1999 Tom Tromey + 2001 Red Hat Software +License: GPL-2+ + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +License: GPL-2+ + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program; if not, see . diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..8913f46 --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +NEWS +README.md diff --git a/debian/gbp.conf b/debian/gbp.conf new file mode 100644 index 0000000..38ea28e --- /dev/null +++ b/debian/gbp.conf @@ -0,0 +1,18 @@ +[DEFAULT] +pristine-tar = True +debian-branch = ubuntu/jammy +debian-tag = ubuntu/%(version)s +upstream-branch = upstream/2.72.x + +[buildpackage] +sign-tags = True + +[dch] +multimaint-merge = True + +[import-orig] +postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit +upstream-vcs-tag = %(version%~%.)s + +[pq] +patch-numbers = False diff --git a/debian/gio-launch-desktop b/debian/gio-launch-desktop new file mode 100755 index 0000000..9b949c3 --- /dev/null +++ b/debian/gio-launch-desktop @@ -0,0 +1,12 @@ +#!/bin/sh +# Fallback implementation of gio-launch-desktop. If we upgrade from a +# GLib version between 2.57.2 and 2.63.5, as long as that version is +# still loaded into some process, it requires this executable to launch +# .desktop files. +# +# This script will be removed after Ubuntu 20.04 and Debian 11 are released. +# Do not rely on it. + +set -eu +export GIO_LAUNCHED_DESKTOP_FILE_PID="$$" +exec "$@" diff --git a/debian/libglib2.0-0.dirs b/debian/libglib2.0-0.dirs new file mode 100644 index 0000000..0541661 --- /dev/null +++ b/debian/libglib2.0-0.dirs @@ -0,0 +1,2 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/gio/modules +/usr/share/glib-2.0/schemas diff --git a/debian/libglib2.0-0.install b/debian/libglib2.0-0.install new file mode 100644 index 0000000..eb06f41 --- /dev/null +++ b/debian/libglib2.0-0.install @@ -0,0 +1,7 @@ +usr/lib/*/libglib*.so.* +usr/lib/*/libgobject*.so.* +usr/lib/*/libgmodule*.so.* +usr/lib/*/libgthread*.so.* +usr/lib/*/libgio*.so.* +usr/bin/gio-querymodules usr/lib/${DEB_HOST_MULTIARCH}/glib-2.0 +usr/bin/glib-compile-schemas usr/lib/${DEB_HOST_MULTIARCH}/glib-2.0 diff --git a/debian/libglib2.0-0.lintian-overrides b/debian/libglib2.0-0.lintian-overrides new file mode 100644 index 0000000..71438d8 --- /dev/null +++ b/debian/libglib2.0-0.lintian-overrides @@ -0,0 +1,7 @@ +# GObject uses GLib functions instead of using libc directly +libglib2.0-0: hardening-no-fortify-functions [usr/lib/*/libgobject-2.0.so.*] +# It's a deliberate choice of bundling them together +libglib2.0-0: package-name-doesnt-match-sonames libgio-2.0-0 libglib-2.0-0 libgmodule-2.0-0 libgobject-2.0-0 libgthread-2.0-0 +# These empty directories are deliberate. +libglib2.0-0: package-contains-empty-directory usr/lib/*/gio/modules/ +libglib2.0-0: package-contains-empty-directory usr/share/glib-2.0/schemas/ diff --git a/debian/libglib2.0-0.postinst.in b/debian/libglib2.0-0.postinst.in new file mode 100644 index 0000000..231ca3e --- /dev/null +++ b/debian/libglib2.0-0.postinst.in @@ -0,0 +1,68 @@ +#!/bin/sh +set -e + + +handle_triggers () { + local trigger + local dirs + + for trigger in "$@"; do + if ! [ -d $trigger ]; then + continue + fi + case $trigger in + /usr/share/glib-2.0/schemas) + # This is triggered everytime an application installs a + # GSettings schema + "/usr/lib/#MULTIARCH#/glib-2.0/glib-compile-schemas" /usr/share/glib-2.0/schemas || true + ;; + + "/usr/lib/#MULTIARCH#/gio/modules") + # This is triggered everytime an application installs a GIO + # module into /usr/lib/#MULTIARCH#/gio/modules + + "/usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules" "/usr/lib/#MULTIARCH#/gio/modules" || true + ;; + esac + done +} + +cleanup () { + /usr/share/glib-2.0/clean-up-unmanaged-libraries \ + --bug-ref=896019 \ + "$@" \ + "#MULTIARCH#" \ + libglib-2.0.so.0 +} + +if [ "$1" = triggered ]; then + handle_triggers $2 + exit 0 +fi + +# Clean up stale shared libraries on upgrades if necessary. Do this before running +# glib-compile-schemas, gio-querymodules. +# This workaround can be removed after Ubuntu 22.04 is released. +if [ -n "$2" ] && ! cleanup; then + echo "$0: Trying cleanup again with more logging..." + cleanup --verbose +fi + +#DEBHELPER# + +# This is shipped in the .deb (see debian/libglib2.0-0.dirs) but would +# be removed if empty during upgrade by old versions of the postrm (#987913). +# This workaround can be removed after Ubuntu 22.04 is released. +install -d "/usr/lib/#MULTIARCH#/gio/modules" + +"/usr/lib/#MULTIARCH#/glib-2.0/glib-compile-schemas" /usr/share/glib-2.0/schemas || true +"/usr/lib/#MULTIARCH#/glib-2.0/gio-querymodules" "/usr/lib/#MULTIARCH#/gio/modules" || true + +# Clean up pre-multiarch giomodule.cache. +# This workaround can be removed after Debian 12 and Ubuntu 22.04 are released. +if [ -d /usr/lib/gio/modules ]; then + rm -f /usr/lib/gio/modules/giomodule.cache + rmdir -p --ignore-fail-on-non-empty /usr/lib/gio/modules +fi + +# vim:set sw=4 sts=4 et: diff --git a/debian/libglib2.0-0.postrm.in b/debian/libglib2.0-0.postrm.in new file mode 100644 index 0000000..c9d5cc0 --- /dev/null +++ b/debian/libglib2.0-0.postrm.in @@ -0,0 +1,21 @@ +#! /bin/sh +set -e + +#DEBHELPER# + +case "$1" in + (remove|purge) + if [ -d /usr/lib/#MULTIARCH#/gio/modules ]; then + # Purge the cache + rm -f /usr/lib/#MULTIARCH#/gio/modules/giomodule.cache + rmdir -p --ignore-fail-on-non-empty /usr/lib/#MULTIARCH#/gio/modules + fi + ;; +esac + +if [ "$1" = purge ] && [ -d /usr/share/glib-2.0/schemas ] && [ "$DPKG_MAINTSCRIPT_PACKAGE_REFCOUNT" = 1 ]; then + # This is the last multiarch variant to be removed, so drop the + # architecture-independent compiled schemas + rm -f /usr/share/glib-2.0/schemas/gschemas.compiled + rmdir -p --ignore-fail-on-non-empty /usr/share/glib-2.0/schemas +fi diff --git a/debian/libglib2.0-0.symbols b/debian/libglib2.0-0.symbols new file mode 100644 index 0000000..268f89c --- /dev/null +++ b/debian/libglib2.0-0.symbols @@ -0,0 +1,4381 @@ +libgio-2.0.so.0 libglib2.0-0 #MINVER# +* Build-Depends-Package: libglib2.0-dev + g_action_activate@Base 2.28.0 + g_action_change_state@Base 2.30.0 + g_action_get_enabled@Base 2.28.0 + g_action_get_name@Base 2.28.0 + g_action_get_parameter_type@Base 2.28.0 + g_action_get_state@Base 2.28.0 + g_action_get_state_hint@Base 2.28.0 + g_action_get_state_type@Base 2.28.0 + g_action_get_type@Base 2.28.0 + g_action_group_action_added@Base 2.28.0 + g_action_group_action_enabled_changed@Base 2.28.0 + g_action_group_action_removed@Base 2.28.0 + g_action_group_action_state_changed@Base 2.28.0 + g_action_group_activate_action@Base 2.28.0 + g_action_group_change_action_state@Base 2.28.0 + g_action_group_get_action_enabled@Base 2.28.0 + g_action_group_get_action_parameter_type@Base 2.28.0 + g_action_group_get_action_state@Base 2.28.0 + g_action_group_get_action_state_hint@Base 2.28.0 + g_action_group_get_action_state_type@Base 2.28.0 + g_action_group_get_type@Base 2.28.0 + g_action_group_has_action@Base 2.28.0 + g_action_group_list_actions@Base 2.28.0 + g_action_group_query_action@Base 2.31.8 + g_action_map_add_action@Base 2.31.8 + g_action_map_add_action_entries@Base 2.31.8 + g_action_map_get_type@Base 2.31.8 + g_action_map_lookup_action@Base 2.31.8 + g_action_map_remove_action@Base 2.31.8 + g_action_name_is_valid@Base 2.37.5 + g_action_parse_detailed_name@Base 2.37.0 + g_action_print_detailed_name@Base 2.37.5 + g_app_info_add_supports_type@Base 2.16.0 + g_app_info_can_delete@Base 2.20.0 + g_app_info_can_remove_supports_type@Base 2.16.0 + g_app_info_create_flags_get_type@Base 2.16.0 + g_app_info_create_from_commandline@Base 2.16.0 + g_app_info_delete@Base 2.20.0 + g_app_info_dup@Base 2.16.0 + g_app_info_equal@Base 2.16.0 + g_app_info_get_all@Base 2.16.0 + g_app_info_get_all_for_type@Base 2.16.0 + g_app_info_get_commandline@Base 2.20.0 + g_app_info_get_default_for_type@Base 2.16.0 + g_app_info_get_default_for_uri_scheme@Base 2.16.0 + g_app_info_get_description@Base 2.16.0 + g_app_info_get_display_name@Base 2.24.0 + g_app_info_get_executable@Base 2.16.0 + g_app_info_get_fallback_for_type@Base 2.28.0 + g_app_info_get_icon@Base 2.16.0 + g_app_info_get_id@Base 2.16.0 + g_app_info_get_name@Base 2.16.0 + g_app_info_get_recommended_for_type@Base 2.28.0 + g_app_info_get_supported_types@Base 2.33.14 + g_app_info_get_type@Base 2.16.0 + g_app_info_launch@Base 2.16.0 + g_app_info_launch_default_for_uri@Base 2.16.0 + g_app_info_launch_default_for_uri_async@Base 2.49.5 + g_app_info_launch_default_for_uri_finish@Base 2.49.5 + g_app_info_launch_uris@Base 2.16.0 + g_app_info_launch_uris_async@Base 2.59.2 + g_app_info_launch_uris_finish@Base 2.59.2 + g_app_info_monitor_get@Base 2.39.4 + g_app_info_monitor_get_type@Base 2.39.4 + g_app_info_remove_supports_type@Base 2.16.0 + g_app_info_reset_type_associations@Base 2.20.0 + g_app_info_set_as_default_for_extension@Base 2.16.0 + g_app_info_set_as_default_for_type@Base 2.16.0 + g_app_info_set_as_last_used_for_type@Base 2.28.0 + g_app_info_should_show@Base 2.16.0 + g_app_info_supports_files@Base 2.16.0 + g_app_info_supports_uris@Base 2.16.0 + g_app_launch_context_get_display@Base 2.16.0 + g_app_launch_context_get_environment@Base 2.31.8 + g_app_launch_context_get_startup_notify_id@Base 2.16.0 + g_app_launch_context_get_type@Base 2.16.0 + g_app_launch_context_launch_failed@Base 2.16.0 + g_app_launch_context_new@Base 2.16.0 + g_app_launch_context_setenv@Base 2.31.8 + g_app_launch_context_unsetenv@Base 2.31.8 + g_application_activate@Base 2.28.0 + g_application_add_main_option@Base 2.41.4 + g_application_add_main_option_entries@Base 2.39.90 + g_application_add_option_group@Base 2.39.90 + g_application_bind_busy_property@Base 2.43.90 + g_application_command_line_create_file_for_arg@Base 2.35.8 + g_application_command_line_get_arguments@Base 2.28.0 + g_application_command_line_get_cwd@Base 2.28.0 + g_application_command_line_get_environ@Base 2.28.0 + g_application_command_line_get_exit_status@Base 2.28.0 + g_application_command_line_get_is_remote@Base 2.28.0 + g_application_command_line_get_options_dict@Base 2.39.90 + g_application_command_line_get_platform_data@Base 2.28.0 + g_application_command_line_get_stdin@Base 2.35.8 + g_application_command_line_get_type@Base 2.28.0 + g_application_command_line_getenv@Base 2.28.0 + g_application_command_line_print@Base 2.28.0 + g_application_command_line_printerr@Base 2.28.0 + g_application_command_line_set_exit_status@Base 2.28.0 + g_application_flags_get_type@Base 2.28.0 + g_application_get_application_id@Base 2.28.0 + g_application_get_dbus_connection@Base 2.33.14 + g_application_get_dbus_object_path@Base 2.33.14 + g_application_get_default@Base 2.31.8 + g_application_get_flags@Base 2.28.0 + g_application_get_inactivity_timeout@Base 2.28.0 + g_application_get_is_busy@Base 2.43.91 + g_application_get_is_registered@Base 2.28.0 + g_application_get_is_remote@Base 2.28.0 + g_application_get_resource_base_path@Base 2.41.2 + g_application_get_type@Base 2.28.0 + g_application_hold@Base 2.28.0 + g_application_id_is_valid@Base 2.28.0 + g_application_mark_busy@Base 2.37.0 + g_application_new@Base 2.28.0 + g_application_open@Base 2.28.0 + g_application_quit@Base 2.31.18 + g_application_register@Base 2.28.0 + g_application_release@Base 2.28.0 + g_application_run@Base 2.28.0 + g_application_send_notification@Base 2.39.4 + g_application_set_action_group@Base 2.28.0 + g_application_set_application_id@Base 2.28.0 + g_application_set_default@Base 2.31.8 + g_application_set_flags@Base 2.28.0 + g_application_set_inactivity_timeout@Base 2.28.0 + g_application_set_option_context_description@Base 2.55.1 + g_application_set_option_context_parameter_string@Base 2.55.1 + g_application_set_option_context_summary@Base 2.55.1 + g_application_set_resource_base_path@Base 2.41.2 + g_application_unbind_busy_property@Base 2.43.91 + g_application_unmark_busy@Base 2.37.0 + g_application_withdraw_notification@Base 2.39.4 + g_ask_password_flags_get_type@Base 2.16.0 + g_async_initable_get_type@Base 2.22.0 + g_async_initable_init_async@Base 2.22.0 + g_async_initable_init_finish@Base 2.22.0 + g_async_initable_new_async@Base 2.22.0 + g_async_initable_new_finish@Base 2.22.0 + g_async_initable_new_valist_async@Base 2.22.0 + g_async_initable_newv_async@Base 2.22.0 + g_async_result_get_source_object@Base 2.16.0 + g_async_result_get_type@Base 2.16.0 + g_async_result_get_user_data@Base 2.16.0 + g_async_result_is_tagged@Base 2.33.14 + g_async_result_legacy_propagate_error@Base 2.33.14 + g_buffered_input_stream_fill@Base 2.16.0 + g_buffered_input_stream_fill_async@Base 2.16.0 + g_buffered_input_stream_fill_finish@Base 2.16.0 + g_buffered_input_stream_get_available@Base 2.16.0 + g_buffered_input_stream_get_buffer_size@Base 2.16.0 + g_buffered_input_stream_get_type@Base 2.16.0 + g_buffered_input_stream_new@Base 2.16.0 + g_buffered_input_stream_new_sized@Base 2.16.0 + g_buffered_input_stream_peek@Base 2.16.0 + g_buffered_input_stream_peek_buffer@Base 2.16.0 + g_buffered_input_stream_read_byte@Base 2.16.0 + g_buffered_input_stream_set_buffer_size@Base 2.16.0 + g_buffered_output_stream_get_auto_grow@Base 2.16.0 + g_buffered_output_stream_get_buffer_size@Base 2.16.0 + g_buffered_output_stream_get_type@Base 2.16.0 + g_buffered_output_stream_new@Base 2.16.0 + g_buffered_output_stream_new_sized@Base 2.16.0 + g_buffered_output_stream_set_auto_grow@Base 2.16.0 + g_buffered_output_stream_set_buffer_size@Base 2.16.0 + g_bus_get@Base 2.26.0 + g_bus_get_finish@Base 2.26.0 + g_bus_get_sync@Base 2.26.0 + g_bus_name_owner_flags_get_type@Base 2.26.0 + g_bus_name_watcher_flags_get_type@Base 2.26.0 + g_bus_own_name@Base 2.26.0 + g_bus_own_name_on_connection@Base 2.26.0 + g_bus_own_name_on_connection_with_closures@Base 2.26.0 + g_bus_own_name_with_closures@Base 2.26.0 + g_bus_type_get_type@Base 2.26.0 + g_bus_unown_name@Base 2.26.0 + g_bus_unwatch_name@Base 2.26.0 + g_bus_watch_name@Base 2.26.0 + g_bus_watch_name_on_connection@Base 2.26.0 + g_bus_watch_name_on_connection_with_closures@Base 2.26.0 + g_bus_watch_name_with_closures@Base 2.26.0 + g_bytes_icon_get_bytes@Base 2.37.0 + g_bytes_icon_get_type@Base 2.37.0 + g_bytes_icon_new@Base 2.37.0 + g_cancellable_cancel@Base 2.16.0 + g_cancellable_connect@Base 2.22.0 + g_cancellable_disconnect@Base 2.22.0 + g_cancellable_get_current@Base 2.16.0 + g_cancellable_get_fd@Base 2.16.0 + g_cancellable_get_type@Base 2.16.0 + g_cancellable_is_cancelled@Base 2.16.0 + g_cancellable_make_pollfd@Base 2.22.0 + g_cancellable_new@Base 2.16.0 + g_cancellable_pop_current@Base 2.16.0 + g_cancellable_push_current@Base 2.16.0 + g_cancellable_release_fd@Base 2.22.0 + g_cancellable_reset@Base 2.16.0 + g_cancellable_set_error_if_cancelled@Base 2.16.0 + g_cancellable_source_new@Base 2.28.0 + g_charset_converter_get_num_fallbacks@Base 2.24.0 + g_charset_converter_get_type@Base 2.24.0 + g_charset_converter_get_use_fallback@Base 2.24.0 + g_charset_converter_new@Base 2.24.0 + g_charset_converter_set_use_fallback@Base 2.24.0 + g_content_type_can_be_executable@Base 2.16.0 + g_content_type_equals@Base 2.16.0 + g_content_type_from_mime_type@Base 2.18.0 + g_content_type_get_description@Base 2.16.0 + g_content_type_get_generic_icon_name@Base 2.33.14 + g_content_type_get_icon@Base 2.16.0 + g_content_type_get_mime_dirs@Base 2.59.0 + g_content_type_get_mime_type@Base 2.16.0 + g_content_type_get_symbolic_icon@Base 2.33.14 + g_content_type_guess@Base 2.16.0 + g_content_type_guess_for_tree@Base 2.18.0 + g_content_type_is_a@Base 2.16.0 + g_content_type_is_mime_type@Base 2.51.5 + g_content_type_is_unknown@Base 2.16.0 + g_content_type_set_mime_dirs@Base 2.59.0 + g_content_types_get_registered@Base 2.16.0 + g_converter_convert@Base 2.24.0 + g_converter_flags_get_type@Base 2.24.0 + g_converter_get_type@Base 2.24.0 + g_converter_input_stream_get_converter@Base 2.24.0 + g_converter_input_stream_get_type@Base 2.24.0 + g_converter_input_stream_new@Base 2.24.0 + g_converter_output_stream_get_converter@Base 2.24.0 + g_converter_output_stream_get_type@Base 2.24.0 + g_converter_output_stream_new@Base 2.24.0 + g_converter_reset@Base 2.24.0 + g_converter_result_get_type@Base 2.24.0 + g_credentials_get_native@Base 2.26.0 + g_credentials_get_type@Base 2.26.0 + g_credentials_get_unix_pid@Base 2.35.8 + g_credentials_get_unix_user@Base 2.26.0 + g_credentials_is_same_user@Base 2.26.0 + g_credentials_new@Base 2.26.0 + g_credentials_set_native@Base 2.26.0 + g_credentials_set_unix_user@Base 2.26.0 + g_credentials_to_string@Base 2.26.0 + g_credentials_type_get_type@Base 2.26.0 + g_data_input_stream_get_byte_order@Base 2.16.0 + g_data_input_stream_get_newline_type@Base 2.16.0 + g_data_input_stream_get_type@Base 2.16.0 + g_data_input_stream_new@Base 2.16.0 + g_data_input_stream_read_byte@Base 2.16.0 + g_data_input_stream_read_int16@Base 2.16.0 + g_data_input_stream_read_int32@Base 2.16.0 + g_data_input_stream_read_int64@Base 2.16.0 + g_data_input_stream_read_line@Base 2.16.0 + g_data_input_stream_read_line_async@Base 2.20.0 + g_data_input_stream_read_line_finish@Base 2.20.0 + g_data_input_stream_read_line_finish_utf8@Base 2.30.0 + g_data_input_stream_read_line_utf8@Base 2.30.0 + g_data_input_stream_read_uint16@Base 2.16.0 + g_data_input_stream_read_uint32@Base 2.16.0 + g_data_input_stream_read_uint64@Base 2.16.0 + g_data_input_stream_read_until@Base 2.16.0 + g_data_input_stream_read_until_async@Base 2.20.0 + g_data_input_stream_read_until_finish@Base 2.20.0 + g_data_input_stream_read_upto@Base 2.26.0 + g_data_input_stream_read_upto_async@Base 2.26.0 + g_data_input_stream_read_upto_finish@Base 2.26.0 + g_data_input_stream_set_byte_order@Base 2.16.0 + g_data_input_stream_set_newline_type@Base 2.16.0 + g_data_output_stream_get_byte_order@Base 2.16.0 + g_data_output_stream_get_type@Base 2.16.0 + g_data_output_stream_new@Base 2.16.0 + g_data_output_stream_put_byte@Base 2.16.0 + g_data_output_stream_put_int16@Base 2.16.0 + g_data_output_stream_put_int32@Base 2.16.0 + g_data_output_stream_put_int64@Base 2.16.0 + g_data_output_stream_put_string@Base 2.16.0 + g_data_output_stream_put_uint16@Base 2.16.0 + g_data_output_stream_put_uint32@Base 2.16.0 + g_data_output_stream_put_uint64@Base 2.16.0 + g_data_output_stream_set_byte_order@Base 2.16.0 + g_data_stream_byte_order_get_type@Base 2.16.0 + g_data_stream_newline_type_get_type@Base 2.16.0 + g_datagram_based_condition_check@Base 2.47.1 + g_datagram_based_condition_wait@Base 2.47.1 + g_datagram_based_create_source@Base 2.47.1 + g_datagram_based_get_type@Base 2.47.1 + g_datagram_based_receive_messages@Base 2.47.1 + g_datagram_based_send_messages@Base 2.47.1 + g_dbus_action_group_get@Base 2.31.8 + g_dbus_action_group_get_type@Base 2.31.8 + g_dbus_address_escape_value@Base 2.35.8 + g_dbus_address_get_for_bus_sync@Base 2.26.0 + g_dbus_address_get_stream@Base 2.26.0 + g_dbus_address_get_stream_finish@Base 2.26.0 + g_dbus_address_get_stream_sync@Base 2.26.0 + g_dbus_annotation_info_get_type@Base 2.26.0 + g_dbus_annotation_info_lookup@Base 2.26.0 + g_dbus_annotation_info_ref@Base 2.26.0 + g_dbus_annotation_info_unref@Base 2.26.0 + g_dbus_arg_info_get_type@Base 2.26.0 + g_dbus_arg_info_ref@Base 2.26.0 + g_dbus_arg_info_unref@Base 2.26.0 + g_dbus_auth_observer_allow_mechanism@Base 2.33.14 + g_dbus_auth_observer_authorize_authenticated_peer@Base 2.26.0 + g_dbus_auth_observer_get_type@Base 2.26.0 + g_dbus_auth_observer_new@Base 2.26.0 + g_dbus_call_flags_get_type@Base 2.26.0 + g_dbus_capability_flags_get_type@Base 2.26.0 + g_dbus_connection_add_filter@Base 2.26.0 + g_dbus_connection_call@Base 2.26.0 + g_dbus_connection_call_finish@Base 2.26.0 + g_dbus_connection_call_sync@Base 2.26.0 + g_dbus_connection_call_with_unix_fd_list@Base 2.30.0 + g_dbus_connection_call_with_unix_fd_list_finish@Base 2.30.0 + g_dbus_connection_call_with_unix_fd_list_sync@Base 2.30.0 + g_dbus_connection_close@Base 2.26.0 + g_dbus_connection_close_finish@Base 2.26.0 + g_dbus_connection_close_sync@Base 2.26.0 + g_dbus_connection_emit_signal@Base 2.26.0 + g_dbus_connection_export_action_group@Base 2.31.8 + g_dbus_connection_export_menu_model@Base 2.31.8 + g_dbus_connection_flags_get_type@Base 2.26.0 + g_dbus_connection_flush@Base 2.26.0 + g_dbus_connection_flush_finish@Base 2.26.0 + g_dbus_connection_flush_sync@Base 2.26.0 + g_dbus_connection_get_capabilities@Base 2.26.0 + g_dbus_connection_get_exit_on_close@Base 2.26.0 + g_dbus_connection_get_flags@Base 2.59.0 + g_dbus_connection_get_guid@Base 2.26.0 + g_dbus_connection_get_last_serial@Base 2.33.14 + g_dbus_connection_get_peer_credentials@Base 2.26.0 + g_dbus_connection_get_stream@Base 2.26.0 + g_dbus_connection_get_type@Base 2.26.0 + g_dbus_connection_get_unique_name@Base 2.26.0 + g_dbus_connection_is_closed@Base 2.26.0 + g_dbus_connection_new@Base 2.26.0 + g_dbus_connection_new_finish@Base 2.26.0 + g_dbus_connection_new_for_address@Base 2.26.0 + g_dbus_connection_new_for_address_finish@Base 2.26.0 + g_dbus_connection_new_for_address_sync@Base 2.26.0 + g_dbus_connection_new_sync@Base 2.26.0 + g_dbus_connection_register_object@Base 2.26.0 + g_dbus_connection_register_object_with_closures@Base 2.45.6 + g_dbus_connection_register_subtree@Base 2.26.0 + g_dbus_connection_remove_filter@Base 2.26.0 + g_dbus_connection_send_message@Base 2.26.0 + g_dbus_connection_send_message_with_reply@Base 2.26.0 + g_dbus_connection_send_message_with_reply_finish@Base 2.26.0 + g_dbus_connection_send_message_with_reply_sync@Base 2.26.0 + g_dbus_connection_set_exit_on_close@Base 2.26.0 + g_dbus_connection_signal_subscribe@Base 2.26.0 + g_dbus_connection_signal_unsubscribe@Base 2.26.0 + g_dbus_connection_start_message_processing@Base 2.26.0 + g_dbus_connection_unexport_action_group@Base 2.31.8 + g_dbus_connection_unexport_menu_model@Base 2.31.8 + g_dbus_connection_unregister_object@Base 2.26.0 + g_dbus_connection_unregister_subtree@Base 2.26.0 + g_dbus_error_encode_gerror@Base 2.26.0 + g_dbus_error_get_remote_error@Base 2.26.0 + g_dbus_error_get_type@Base 2.26.0 + g_dbus_error_is_remote_error@Base 2.26.0 + g_dbus_error_new_for_dbus_error@Base 2.26.0 + g_dbus_error_quark@Base 2.26.0 + g_dbus_error_register_error@Base 2.26.0 + g_dbus_error_register_error_domain@Base 2.26.0 + g_dbus_error_set_dbus_error@Base 2.26.0 + g_dbus_error_set_dbus_error_valist@Base 2.26.0 + g_dbus_error_strip_remote_error@Base 2.26.0 + g_dbus_error_unregister_error@Base 2.26.0 + g_dbus_escape_object_path@Base 2.67.3 + g_dbus_escape_object_path_bytestring@Base 2.67.3 + g_dbus_generate_guid@Base 2.26.0 + g_dbus_gvalue_to_gvariant@Base 2.30.0 + g_dbus_gvariant_to_gvalue@Base 2.30.0 + g_dbus_interface_dup_object@Base 2.31.18 + g_dbus_interface_get_info@Base 2.30.0 + g_dbus_interface_get_object@Base 2.30.0 + g_dbus_interface_get_type@Base 2.30.0 + g_dbus_interface_info_cache_build@Base 2.30.0 + g_dbus_interface_info_cache_release@Base 2.30.0 + g_dbus_interface_info_generate_xml@Base 2.26.0 + g_dbus_interface_info_get_type@Base 2.26.0 + g_dbus_interface_info_lookup_method@Base 2.26.0 + g_dbus_interface_info_lookup_property@Base 2.26.0 + g_dbus_interface_info_lookup_signal@Base 2.26.0 + g_dbus_interface_info_ref@Base 2.26.0 + g_dbus_interface_info_unref@Base 2.26.0 + g_dbus_interface_set_object@Base 2.30.0 + g_dbus_interface_skeleton_export@Base 2.30.0 + g_dbus_interface_skeleton_flags_get_type@Base 2.30.0 + g_dbus_interface_skeleton_flush@Base 2.30.0 + g_dbus_interface_skeleton_get_connection@Base 2.30.0 + g_dbus_interface_skeleton_get_connections@Base 2.31.8 + g_dbus_interface_skeleton_get_flags@Base 2.30.0 + g_dbus_interface_skeleton_get_info@Base 2.30.0 + g_dbus_interface_skeleton_get_object_path@Base 2.30.0 + g_dbus_interface_skeleton_get_properties@Base 2.30.0 + g_dbus_interface_skeleton_get_type@Base 2.30.0 + g_dbus_interface_skeleton_get_vtable@Base 2.30.0 + g_dbus_interface_skeleton_has_connection@Base 2.31.8 + g_dbus_interface_skeleton_set_flags@Base 2.30.0 + g_dbus_interface_skeleton_unexport@Base 2.30.0 + g_dbus_interface_skeleton_unexport_from_connection@Base 2.31.8 + g_dbus_is_address@Base 2.26.0 + g_dbus_is_error_name@Base 2.70.0 + g_dbus_is_guid@Base 2.26.0 + g_dbus_is_interface_name@Base 2.26.0 + g_dbus_is_member_name@Base 2.26.0 + g_dbus_is_name@Base 2.26.0 + g_dbus_is_supported_address@Base 2.26.0 + g_dbus_is_unique_name@Base 2.26.0 + g_dbus_menu_model_get@Base 2.31.8 + g_dbus_menu_model_get_type@Base 2.31.8 + g_dbus_message_byte_order_get_type@Base 2.26.0 + g_dbus_message_bytes_needed@Base 2.26.0 + g_dbus_message_copy@Base 2.26.0 + g_dbus_message_flags_get_type@Base 2.26.0 + g_dbus_message_get_arg0@Base 2.26.0 + g_dbus_message_get_body@Base 2.26.0 + g_dbus_message_get_byte_order@Base 2.26.0 + g_dbus_message_get_destination@Base 2.26.0 + g_dbus_message_get_error_name@Base 2.26.0 + g_dbus_message_get_flags@Base 2.26.0 + g_dbus_message_get_header@Base 2.26.0 + g_dbus_message_get_header_fields@Base 2.26.0 + g_dbus_message_get_interface@Base 2.26.0 + g_dbus_message_get_locked@Base 2.26.0 + g_dbus_message_get_member@Base 2.26.0 + g_dbus_message_get_message_type@Base 2.26.0 + g_dbus_message_get_num_unix_fds@Base 2.26.0 + g_dbus_message_get_path@Base 2.26.0 + g_dbus_message_get_reply_serial@Base 2.26.0 + g_dbus_message_get_sender@Base 2.26.0 + g_dbus_message_get_serial@Base 2.26.0 + g_dbus_message_get_signature@Base 2.26.0 + g_dbus_message_get_type@Base 2.26.0 + g_dbus_message_get_unix_fd_list@Base 2.26.0 + g_dbus_message_header_field_get_type@Base 2.26.0 + g_dbus_message_lock@Base 2.26.0 + g_dbus_message_new@Base 2.26.0 + g_dbus_message_new_from_blob@Base 2.26.0 + g_dbus_message_new_method_call@Base 2.26.0 + g_dbus_message_new_method_error@Base 2.26.0 + g_dbus_message_new_method_error_literal@Base 2.26.0 + g_dbus_message_new_method_error_valist@Base 2.26.0 + g_dbus_message_new_method_reply@Base 2.26.0 + g_dbus_message_new_signal@Base 2.26.0 + g_dbus_message_print@Base 2.26.0 + g_dbus_message_set_body@Base 2.26.0 + g_dbus_message_set_byte_order@Base 2.26.0 + g_dbus_message_set_destination@Base 2.26.0 + g_dbus_message_set_error_name@Base 2.26.0 + g_dbus_message_set_flags@Base 2.26.0 + g_dbus_message_set_header@Base 2.26.0 + g_dbus_message_set_interface@Base 2.26.0 + g_dbus_message_set_member@Base 2.26.0 + g_dbus_message_set_message_type@Base 2.26.0 + g_dbus_message_set_num_unix_fds@Base 2.26.0 + g_dbus_message_set_path@Base 2.26.0 + g_dbus_message_set_reply_serial@Base 2.26.0 + g_dbus_message_set_sender@Base 2.26.0 + g_dbus_message_set_serial@Base 2.26.0 + g_dbus_message_set_signature@Base 2.26.0 + g_dbus_message_set_unix_fd_list@Base 2.26.0 + g_dbus_message_to_blob@Base 2.26.0 + g_dbus_message_to_gerror@Base 2.26.0 + g_dbus_message_type_get_type@Base 2.26.0 + g_dbus_method_info_get_type@Base 2.26.0 + g_dbus_method_info_ref@Base 2.26.0 + g_dbus_method_info_unref@Base 2.26.0 + g_dbus_method_invocation_get_connection@Base 2.26.0 + g_dbus_method_invocation_get_interface_name@Base 2.26.0 + g_dbus_method_invocation_get_message@Base 2.26.0 + g_dbus_method_invocation_get_method_info@Base 2.26.0 + g_dbus_method_invocation_get_method_name@Base 2.26.0 + g_dbus_method_invocation_get_object_path@Base 2.26.0 + g_dbus_method_invocation_get_parameters@Base 2.26.0 + g_dbus_method_invocation_get_property_info@Base 2.37.3 + g_dbus_method_invocation_get_sender@Base 2.26.0 + g_dbus_method_invocation_get_type@Base 2.26.0 + g_dbus_method_invocation_get_user_data@Base 2.26.0 + g_dbus_method_invocation_return_dbus_error@Base 2.26.0 + g_dbus_method_invocation_return_error@Base 2.26.0 + g_dbus_method_invocation_return_error_literal@Base 2.26.0 + g_dbus_method_invocation_return_error_valist@Base 2.26.0 + g_dbus_method_invocation_return_gerror@Base 2.26.0 + g_dbus_method_invocation_return_value@Base 2.26.0 + g_dbus_method_invocation_return_value_with_unix_fd_list@Base 2.30.0 + g_dbus_method_invocation_take_error@Base 2.30.0 + g_dbus_node_info_generate_xml@Base 2.26.0 + g_dbus_node_info_get_type@Base 2.26.0 + g_dbus_node_info_lookup_interface@Base 2.26.0 + g_dbus_node_info_new_for_xml@Base 2.26.0 + g_dbus_node_info_ref@Base 2.26.0 + g_dbus_node_info_unref@Base 2.26.0 + g_dbus_object_get_interface@Base 2.30.0 + g_dbus_object_get_interfaces@Base 2.30.0 + g_dbus_object_get_object_path@Base 2.30.0 + g_dbus_object_get_type@Base 2.30.0 + g_dbus_object_manager_client_flags_get_type@Base 2.30.0 + g_dbus_object_manager_client_get_connection@Base 2.30.0 + g_dbus_object_manager_client_get_flags@Base 2.30.0 + g_dbus_object_manager_client_get_name@Base 2.30.0 + g_dbus_object_manager_client_get_name_owner@Base 2.30.0 + g_dbus_object_manager_client_get_type@Base 2.30.0 + g_dbus_object_manager_client_new@Base 2.30.0 + g_dbus_object_manager_client_new_finish@Base 2.30.0 + g_dbus_object_manager_client_new_for_bus@Base 2.30.0 + g_dbus_object_manager_client_new_for_bus_finish@Base 2.30.0 + g_dbus_object_manager_client_new_for_bus_sync@Base 2.30.0 + g_dbus_object_manager_client_new_sync@Base 2.30.0 + g_dbus_object_manager_get_interface@Base 2.30.0 + g_dbus_object_manager_get_object@Base 2.30.0 + g_dbus_object_manager_get_object_path@Base 2.30.0 + g_dbus_object_manager_get_objects@Base 2.30.0 + g_dbus_object_manager_get_type@Base 2.30.0 + g_dbus_object_manager_server_export@Base 2.30.0 + g_dbus_object_manager_server_export_uniquely@Base 2.30.0 + g_dbus_object_manager_server_get_connection@Base 2.30.0 + g_dbus_object_manager_server_get_type@Base 2.30.0 + g_dbus_object_manager_server_is_exported@Base 2.33.14 + g_dbus_object_manager_server_new@Base 2.30.0 + g_dbus_object_manager_server_set_connection@Base 2.30.0 + g_dbus_object_manager_server_unexport@Base 2.30.0 + g_dbus_object_proxy_get_connection@Base 2.30.0 + g_dbus_object_proxy_get_type@Base 2.30.0 + g_dbus_object_proxy_new@Base 2.30.0 + g_dbus_object_skeleton_add_interface@Base 2.30.0 + g_dbus_object_skeleton_flush@Base 2.30.0 + g_dbus_object_skeleton_get_type@Base 2.30.0 + g_dbus_object_skeleton_new@Base 2.30.0 + g_dbus_object_skeleton_remove_interface@Base 2.30.0 + g_dbus_object_skeleton_remove_interface_by_name@Base 2.30.0 + g_dbus_object_skeleton_set_object_path@Base 2.30.0 + g_dbus_property_info_flags_get_type@Base 2.26.0 + g_dbus_property_info_get_type@Base 2.26.0 + g_dbus_property_info_ref@Base 2.26.0 + g_dbus_property_info_unref@Base 2.26.0 + g_dbus_proxy_call@Base 2.26.0 + g_dbus_proxy_call_finish@Base 2.26.0 + g_dbus_proxy_call_sync@Base 2.26.0 + g_dbus_proxy_call_with_unix_fd_list@Base 2.30.0 + g_dbus_proxy_call_with_unix_fd_list_finish@Base 2.30.0 + g_dbus_proxy_call_with_unix_fd_list_sync@Base 2.30.0 + g_dbus_proxy_flags_get_type@Base 2.26.0 + g_dbus_proxy_get_cached_property@Base 2.26.0 + g_dbus_proxy_get_cached_property_names@Base 2.26.0 + g_dbus_proxy_get_connection@Base 2.26.0 + g_dbus_proxy_get_default_timeout@Base 2.26.0 + g_dbus_proxy_get_flags@Base 2.26.0 + g_dbus_proxy_get_interface_info@Base 2.26.0 + g_dbus_proxy_get_interface_name@Base 2.26.0 + g_dbus_proxy_get_name@Base 2.26.0 + g_dbus_proxy_get_name_owner@Base 2.26.0 + g_dbus_proxy_get_object_path@Base 2.26.0 + g_dbus_proxy_get_type@Base 2.26.0 + g_dbus_proxy_new@Base 2.26.0 + g_dbus_proxy_new_finish@Base 2.26.0 + g_dbus_proxy_new_for_bus@Base 2.26.0 + g_dbus_proxy_new_for_bus_finish@Base 2.26.0 + g_dbus_proxy_new_for_bus_sync@Base 2.26.0 + g_dbus_proxy_new_sync@Base 2.26.0 + g_dbus_proxy_set_cached_property@Base 2.26.0 + g_dbus_proxy_set_default_timeout@Base 2.26.0 + g_dbus_proxy_set_interface_info@Base 2.26.0 + g_dbus_send_message_flags_get_type@Base 2.26.0 + g_dbus_server_flags_get_type@Base 2.26.0 + g_dbus_server_get_client_address@Base 2.26.0 + g_dbus_server_get_flags@Base 2.26.0 + g_dbus_server_get_guid@Base 2.26.0 + g_dbus_server_get_type@Base 2.26.0 + g_dbus_server_is_active@Base 2.26.0 + g_dbus_server_new_sync@Base 2.68.0 + g_dbus_server_start@Base 2.26.0 + g_dbus_server_stop@Base 2.26.0 + g_dbus_signal_flags_get_type@Base 2.26.0 + g_dbus_signal_info_get_type@Base 2.26.0 + g_dbus_signal_info_ref@Base 2.26.0 + g_dbus_signal_info_unref@Base 2.26.0 + g_dbus_subtree_flags_get_type@Base 2.26.0 + g_dbus_unescape_object_path@Base 2.67.3 + g_debug_controller_dbus_get_type@Base 2.71.1 + g_debug_controller_dbus_new@Base 2.71.1 + g_debug_controller_dbus_stop@Base 2.71.2 + g_debug_controller_get_debug_enabled@Base 2.71.1 + g_debug_controller_get_type@Base 2.71.1 + g_debug_controller_set_debug_enabled@Base 2.71.1 + g_desktop_app_info_get_action_name@Base 2.37.5 + g_desktop_app_info_get_boolean@Base 2.35.8 + g_desktop_app_info_get_categories@Base 2.30.0 + g_desktop_app_info_get_filename@Base 2.24.0 + g_desktop_app_info_get_generic_name@Base 2.30.0 + g_desktop_app_info_get_implementations@Base 2.41.0 + g_desktop_app_info_get_is_hidden@Base 2.16.0 + g_desktop_app_info_get_keywords@Base 2.31.8 + g_desktop_app_info_get_locale_string@Base 2.55.1 + g_desktop_app_info_get_nodisplay@Base 2.30.0 + g_desktop_app_info_get_show_in@Base 2.30.0 + g_desktop_app_info_get_startup_wm_class@Base 2.33.14 + g_desktop_app_info_get_string@Base 2.35.8 + g_desktop_app_info_get_string_list@Base 2.59.0 + g_desktop_app_info_get_type@Base 2.16.0 + g_desktop_app_info_has_key@Base 2.35.8 + g_desktop_app_info_launch_action@Base 2.37.5 + g_desktop_app_info_launch_uris_as_manager@Base 2.28.0 + g_desktop_app_info_launch_uris_as_manager_with_fds@Base 2.57.2 + g_desktop_app_info_list_actions@Base 2.37.5 + g_desktop_app_info_lookup_get_default_for_uri_scheme@Base 2.28.0 + g_desktop_app_info_lookup_get_type@Base 2.28.0 + g_desktop_app_info_new@Base 2.16.0 + g_desktop_app_info_new_from_filename@Base 2.16.0 + g_desktop_app_info_new_from_keyfile@Base 2.18.0 + g_desktop_app_info_search@Base 2.39.4 + g_desktop_app_info_set_desktop_env@Base 2.16.0 + g_drive_can_eject@Base 2.16.0 + g_drive_can_poll_for_media@Base 2.16.0 + g_drive_can_start@Base 2.22.0 + g_drive_can_start_degraded@Base 2.22.0 + g_drive_can_stop@Base 2.22.0 + g_drive_eject@Base 2.16.0 + g_drive_eject_finish@Base 2.16.0 + g_drive_eject_with_operation@Base 2.22.0 + g_drive_eject_with_operation_finish@Base 2.22.0 + g_drive_enumerate_identifiers@Base 2.16.0 + g_drive_get_icon@Base 2.16.0 + g_drive_get_identifier@Base 2.16.0 + g_drive_get_name@Base 2.16.0 + g_drive_get_sort_key@Base 2.31.8 + g_drive_get_start_stop_type@Base 2.22.0 + g_drive_get_symbolic_icon@Base 2.33.14 + g_drive_get_type@Base 2.16.0 + g_drive_get_volumes@Base 2.16.0 + g_drive_has_media@Base 2.16.0 + g_drive_has_volumes@Base 2.16.0 + g_drive_is_media_check_automatic@Base 2.16.0 + g_drive_is_media_removable@Base 2.16.0 + g_drive_is_removable@Base 2.49.2 + g_drive_poll_for_media@Base 2.16.0 + g_drive_poll_for_media_finish@Base 2.16.0 + g_drive_start@Base 2.22.0 + g_drive_start_finish@Base 2.22.0 + g_drive_start_flags_get_type@Base 2.22.0 + g_drive_start_stop_type_get_type@Base 2.22.0 + g_drive_stop@Base 2.22.0 + g_drive_stop_finish@Base 2.22.0 + g_dtls_client_connection_get_accepted_cas@Base 2.47.5 + g_dtls_client_connection_get_server_identity@Base 2.47.5 + g_dtls_client_connection_get_type@Base 2.47.5 + g_dtls_client_connection_get_validation_flags@Base 2.47.5 + g_dtls_client_connection_new@Base 2.47.5 + g_dtls_client_connection_set_server_identity@Base 2.47.5 + g_dtls_client_connection_set_validation_flags@Base 2.47.5 + g_dtls_connection_close@Base 2.47.5 + g_dtls_connection_close_async@Base 2.47.5 + g_dtls_connection_close_finish@Base 2.47.5 + g_dtls_connection_emit_accept_certificate@Base 2.47.5 + g_dtls_connection_get_certificate@Base 2.47.5 + g_dtls_connection_get_channel_binding_data@Base 2.65.1 + g_dtls_connection_get_ciphersuite_name@Base 2.70.0 + g_dtls_connection_get_database@Base 2.47.5 + g_dtls_connection_get_interaction@Base 2.47.5 + g_dtls_connection_get_negotiated_protocol@Base 2.59.0 + g_dtls_connection_get_peer_certificate@Base 2.47.5 + g_dtls_connection_get_peer_certificate_errors@Base 2.47.5 + g_dtls_connection_get_protocol_version@Base 2.70.0 + g_dtls_connection_get_rehandshake_mode@Base 2.47.5 + g_dtls_connection_get_require_close_notify@Base 2.47.5 + g_dtls_connection_get_type@Base 2.47.5 + g_dtls_connection_handshake@Base 2.47.5 + g_dtls_connection_handshake_async@Base 2.47.5 + g_dtls_connection_handshake_finish@Base 2.47.5 + g_dtls_connection_set_advertised_protocols@Base 2.59.0 + g_dtls_connection_set_certificate@Base 2.47.5 + g_dtls_connection_set_database@Base 2.47.5 + g_dtls_connection_set_interaction@Base 2.47.5 + g_dtls_connection_set_rehandshake_mode@Base 2.47.5 + g_dtls_connection_set_require_close_notify@Base 2.47.5 + g_dtls_connection_shutdown@Base 2.47.5 + g_dtls_connection_shutdown_async@Base 2.47.5 + g_dtls_connection_shutdown_finish@Base 2.47.5 + g_dtls_server_connection_get_type@Base 2.47.5 + g_dtls_server_connection_new@Base 2.47.5 + g_emblem_get_icon@Base 2.18.0 + g_emblem_get_origin@Base 2.18.0 + g_emblem_get_type@Base 2.18.0 + g_emblem_new@Base 2.18.0 + g_emblem_new_with_origin@Base 2.18.0 + g_emblem_origin_get_type@Base 2.18.0 + g_emblemed_icon_add_emblem@Base 2.18.0 + g_emblemed_icon_clear_emblems@Base 2.28.0 + g_emblemed_icon_get_emblems@Base 2.18.0 + g_emblemed_icon_get_icon@Base 2.18.0 + g_emblemed_icon_get_type@Base 2.18.0 + g_emblemed_icon_new@Base 2.18.0 + g_file_append_to@Base 2.16.0 + g_file_append_to_async@Base 2.16.0 + g_file_append_to_finish@Base 2.16.0 + g_file_attribute_info_flags_get_type@Base 2.16.0 + g_file_attribute_info_list_add@Base 2.16.0 + g_file_attribute_info_list_dup@Base 2.16.0 + g_file_attribute_info_list_get_type@Base 2.20.0 + g_file_attribute_info_list_lookup@Base 2.16.0 + g_file_attribute_info_list_new@Base 2.16.0 + g_file_attribute_info_list_ref@Base 2.16.0 + g_file_attribute_info_list_unref@Base 2.16.0 + g_file_attribute_matcher_enumerate_namespace@Base 2.16.0 + g_file_attribute_matcher_enumerate_next@Base 2.16.0 + g_file_attribute_matcher_get_type@Base 2.26.0 + g_file_attribute_matcher_matches@Base 2.16.0 + g_file_attribute_matcher_matches_only@Base 2.16.0 + g_file_attribute_matcher_new@Base 2.16.0 + g_file_attribute_matcher_ref@Base 2.16.0 + g_file_attribute_matcher_subtract@Base 2.31.8 + g_file_attribute_matcher_to_string@Base 2.31.8 + g_file_attribute_matcher_unref@Base 2.16.0 + g_file_attribute_status_get_type@Base 2.16.0 + g_file_attribute_type_get_type@Base 2.16.0 + g_file_build_attribute_list_for_copy@Base 2.67.1 + g_file_copy@Base 2.16.0 + g_file_copy_async@Base 2.16.0 + g_file_copy_attributes@Base 2.16.0 + g_file_copy_finish@Base 2.16.0 + g_file_copy_flags_get_type@Base 2.16.0 + g_file_create@Base 2.16.0 + g_file_create_async@Base 2.16.0 + g_file_create_finish@Base 2.16.0 + g_file_create_flags_get_type@Base 2.16.0 + g_file_create_readwrite@Base 2.22.0 + g_file_create_readwrite_async@Base 2.22.0 + g_file_create_readwrite_finish@Base 2.22.0 + g_file_delete@Base 2.16.0 + g_file_delete_async@Base 2.33.14 + g_file_delete_finish@Base 2.33.14 + g_file_descriptor_based_get_fd@Base 2.24.0 + g_file_descriptor_based_get_type@Base 2.24.0 + g_file_dup@Base 2.16.0 + g_file_eject_mountable@Base 2.16.0 + g_file_eject_mountable_finish@Base 2.16.0 + g_file_eject_mountable_with_operation@Base 2.22.0 + g_file_eject_mountable_with_operation_finish@Base 2.22.0 + g_file_enumerate_children@Base 2.16.0 + g_file_enumerate_children_async@Base 2.16.0 + g_file_enumerate_children_finish@Base 2.16.0 + g_file_enumerator_close@Base 2.16.0 + g_file_enumerator_close_async@Base 2.16.0 + g_file_enumerator_close_finish@Base 2.16.0 + g_file_enumerator_get_child@Base 2.35.8 + g_file_enumerator_get_container@Base 2.18.0 + g_file_enumerator_get_type@Base 2.16.0 + g_file_enumerator_has_pending@Base 2.16.0 + g_file_enumerator_is_closed@Base 2.16.0 + g_file_enumerator_iterate@Base 2.43.91 + g_file_enumerator_next_file@Base 2.16.0 + g_file_enumerator_next_files_async@Base 2.16.0 + g_file_enumerator_next_files_finish@Base 2.16.0 + g_file_enumerator_set_pending@Base 2.16.0 + g_file_equal@Base 2.16.0 + g_file_find_enclosing_mount@Base 2.16.0 + g_file_find_enclosing_mount_async@Base 2.16.0 + g_file_find_enclosing_mount_finish@Base 2.16.0 + g_file_get_basename@Base 2.16.0 + g_file_get_child@Base 2.16.0 + g_file_get_child_for_display_name@Base 2.16.0 + g_file_get_parent@Base 2.16.0 + g_file_get_parse_name@Base 2.16.0 + g_file_get_path@Base 2.16.0 + g_file_get_relative_path@Base 2.16.0 + g_file_get_type@Base 2.16.0 + g_file_get_uri@Base 2.16.0 + g_file_get_uri_scheme@Base 2.16.0 + g_file_has_parent@Base 2.24.0 + g_file_has_prefix@Base 2.16.0 + g_file_has_uri_scheme@Base 2.16.0 + g_file_hash@Base 2.16.0 + g_file_icon_get_file@Base 2.16.0 + g_file_icon_get_type@Base 2.16.0 + g_file_icon_new@Base 2.16.0 + g_file_info_clear_status@Base 2.16.0 + g_file_info_copy_into@Base 2.16.0 + g_file_info_dup@Base 2.16.0 + g_file_info_get_access_date_time@Base 2.70.0 + g_file_info_get_attribute_as_string@Base 2.16.0 + g_file_info_get_attribute_boolean@Base 2.16.0 + g_file_info_get_attribute_byte_string@Base 2.16.0 + g_file_info_get_attribute_data@Base 2.16.0 + g_file_info_get_attribute_int32@Base 2.16.0 + g_file_info_get_attribute_int64@Base 2.16.0 + g_file_info_get_attribute_object@Base 2.16.0 + g_file_info_get_attribute_status@Base 2.16.0 + g_file_info_get_attribute_string@Base 2.16.0 + g_file_info_get_attribute_stringv@Base 2.22.0 + g_file_info_get_attribute_type@Base 2.16.0 + g_file_info_get_attribute_uint32@Base 2.16.0 + g_file_info_get_attribute_uint64@Base 2.16.0 + g_file_info_get_content_type@Base 2.16.0 + g_file_info_get_creation_date_time@Base 2.70.0 + g_file_info_get_deletion_date@Base 2.35.8 + g_file_info_get_display_name@Base 2.16.0 + g_file_info_get_edit_name@Base 2.16.0 + g_file_info_get_etag@Base 2.16.0 + g_file_info_get_file_type@Base 2.16.0 + g_file_info_get_icon@Base 2.16.0 + g_file_info_get_is_backup@Base 2.16.0 + g_file_info_get_is_hidden@Base 2.16.0 + g_file_info_get_is_symlink@Base 2.16.0 + g_file_info_get_modification_date_time@Base 2.61.2 + g_file_info_get_modification_time@Base 2.16.0 + g_file_info_get_name@Base 2.16.0 + g_file_info_get_size@Base 2.16.0 + g_file_info_get_sort_order@Base 2.16.0 + g_file_info_get_symbolic_icon@Base 2.33.14 + g_file_info_get_symlink_target@Base 2.16.0 + g_file_info_get_type@Base 2.16.0 + g_file_info_has_attribute@Base 2.16.0 + g_file_info_has_namespace@Base 2.22.0 + g_file_info_list_attributes@Base 2.16.0 + g_file_info_new@Base 2.16.0 + g_file_info_remove_attribute@Base 2.16.0 + g_file_info_set_access_date_time@Base 2.70.0 + g_file_info_set_attribute@Base 2.16.0 + g_file_info_set_attribute_boolean@Base 2.16.0 + g_file_info_set_attribute_byte_string@Base 2.16.0 + g_file_info_set_attribute_int32@Base 2.16.0 + g_file_info_set_attribute_int64@Base 2.16.0 + g_file_info_set_attribute_mask@Base 2.16.0 + g_file_info_set_attribute_object@Base 2.16.0 + g_file_info_set_attribute_status@Base 2.22.0 + g_file_info_set_attribute_string@Base 2.16.0 + g_file_info_set_attribute_stringv@Base 2.22.0 + g_file_info_set_attribute_uint32@Base 2.16.0 + g_file_info_set_attribute_uint64@Base 2.16.0 + g_file_info_set_content_type@Base 2.16.0 + g_file_info_set_creation_date_time@Base 2.70.0 + g_file_info_set_display_name@Base 2.16.0 + g_file_info_set_edit_name@Base 2.16.0 + g_file_info_set_file_type@Base 2.16.0 + g_file_info_set_icon@Base 2.16.0 + g_file_info_set_is_hidden@Base 2.16.0 + g_file_info_set_is_symlink@Base 2.16.0 + g_file_info_set_modification_date_time@Base 2.61.2 + g_file_info_set_modification_time@Base 2.16.0 + g_file_info_set_name@Base 2.16.0 + g_file_info_set_size@Base 2.16.0 + g_file_info_set_sort_order@Base 2.16.0 + g_file_info_set_symbolic_icon@Base 2.33.14 + g_file_info_set_symlink_target@Base 2.16.0 + g_file_info_unset_attribute_mask@Base 2.16.0 + g_file_input_stream_get_type@Base 2.16.0 + g_file_input_stream_query_info@Base 2.16.0 + g_file_input_stream_query_info_async@Base 2.16.0 + g_file_input_stream_query_info_finish@Base 2.16.0 + g_file_io_stream_get_etag@Base 2.22.0 + g_file_io_stream_get_type@Base 2.22.0 + g_file_io_stream_query_info@Base 2.22.0 + g_file_io_stream_query_info_async@Base 2.22.0 + g_file_io_stream_query_info_finish@Base 2.22.0 + g_file_is_native@Base 2.16.0 + g_file_load_bytes@Base 2.55.1 + g_file_load_bytes_async@Base 2.55.1 + g_file_load_bytes_finish@Base 2.55.1 + g_file_load_contents@Base 2.16.0 + g_file_load_contents_async@Base 2.16.0 + g_file_load_contents_finish@Base 2.16.0 + g_file_load_partial_contents_async@Base 2.16.0 + g_file_load_partial_contents_finish@Base 2.16.0 + g_file_make_directory@Base 2.16.0 + g_file_make_directory_async@Base 2.37.0 + g_file_make_directory_finish@Base 2.37.0 + g_file_make_directory_with_parents@Base 2.18.0 + g_file_make_symbolic_link@Base 2.16.0 + g_file_measure_disk_usage@Base 2.37.93 + g_file_measure_disk_usage_async@Base 2.37.93 + g_file_measure_disk_usage_finish@Base 2.37.93 + g_file_measure_flags_get_type@Base 2.37.93 + g_file_monitor@Base 2.18.0 + g_file_monitor_cancel@Base 2.16.0 + g_file_monitor_directory@Base 2.16.0 + g_file_monitor_emit_event@Base 2.16.0 + g_file_monitor_event_get_type@Base 2.16.0 + g_file_monitor_file@Base 2.16.0 + g_file_monitor_flags_get_type@Base 2.16.0 + g_file_monitor_get_type@Base 2.16.0 + g_file_monitor_is_cancelled@Base 2.16.0 + g_file_monitor_set_rate_limit@Base 2.16.0 + g_file_monitor_source_handle_event@Base 2.45.1 + g_file_mount_enclosing_volume@Base 2.16.0 + g_file_mount_enclosing_volume_finish@Base 2.16.0 + g_file_mount_mountable@Base 2.16.0 + g_file_mount_mountable_finish@Base 2.16.0 + g_file_move@Base 2.16.0 + g_file_move_async@Base 2.71.2 + g_file_move_finish@Base 2.71.2 + g_file_new_build_filename@Base 2.55.1 + g_file_new_for_commandline_arg@Base 2.16.0 + g_file_new_for_commandline_arg_and_cwd@Base 2.35.8 + g_file_new_for_path@Base 2.16.0 + g_file_new_for_uri@Base 2.16.0 + g_file_new_tmp@Base 2.31.8 + g_file_open_readwrite@Base 2.22.0 + g_file_open_readwrite_async@Base 2.22.0 + g_file_open_readwrite_finish@Base 2.22.0 + g_file_output_stream_get_etag@Base 2.16.0 + g_file_output_stream_get_type@Base 2.16.0 + g_file_output_stream_query_info@Base 2.16.0 + g_file_output_stream_query_info_async@Base 2.16.0 + g_file_output_stream_query_info_finish@Base 2.16.0 + g_file_parse_name@Base 2.16.0 + g_file_peek_path@Base 2.55.2 + g_file_poll_mountable@Base 2.22.0 + g_file_poll_mountable_finish@Base 2.22.0 + g_file_query_default_handler@Base 2.16.0 + g_file_query_default_handler_async@Base 2.59.2 + g_file_query_default_handler_finish@Base 2.59.2 + g_file_query_exists@Base 2.16.0 + g_file_query_file_type@Base 2.18.0 + g_file_query_filesystem_info@Base 2.16.0 + g_file_query_filesystem_info_async@Base 2.16.0 + g_file_query_filesystem_info_finish@Base 2.16.0 + g_file_query_info@Base 2.16.0 + g_file_query_info_async@Base 2.16.0 + g_file_query_info_finish@Base 2.16.0 + g_file_query_info_flags_get_type@Base 2.16.0 + g_file_query_settable_attributes@Base 2.16.0 + g_file_query_writable_namespaces@Base 2.16.0 + g_file_read@Base 2.16.0 + g_file_read_async@Base 2.16.0 + g_file_read_finish@Base 2.16.0 + g_file_replace@Base 2.16.0 + g_file_replace_async@Base 2.16.0 + g_file_replace_contents@Base 2.16.0 + g_file_replace_contents_async@Base 2.16.0 + g_file_replace_contents_bytes_async@Base 2.39.4 + g_file_replace_contents_finish@Base 2.16.0 + g_file_replace_finish@Base 2.16.0 + g_file_replace_readwrite@Base 2.22.0 + g_file_replace_readwrite_async@Base 2.22.0 + g_file_replace_readwrite_finish@Base 2.22.0 + g_file_resolve_relative_path@Base 2.16.0 + g_file_set_attribute@Base 2.16.0 + g_file_set_attribute_byte_string@Base 2.16.0 + g_file_set_attribute_int32@Base 2.16.0 + g_file_set_attribute_int64@Base 2.16.0 + g_file_set_attribute_string@Base 2.16.0 + g_file_set_attribute_uint32@Base 2.16.0 + g_file_set_attribute_uint64@Base 2.16.0 + g_file_set_attributes_async@Base 2.16.0 + g_file_set_attributes_finish@Base 2.16.0 + g_file_set_attributes_from_info@Base 2.16.0 + g_file_set_display_name@Base 2.16.0 + g_file_set_display_name_async@Base 2.16.0 + g_file_set_display_name_finish@Base 2.16.0 + g_file_start_mountable@Base 2.22.0 + g_file_start_mountable_finish@Base 2.22.0 + g_file_stop_mountable@Base 2.22.0 + g_file_stop_mountable_finish@Base 2.22.0 + g_file_supports_thread_contexts@Base 2.22.0 + g_file_trash@Base 2.16.0 + g_file_trash_async@Base 2.37.0 + g_file_trash_finish@Base 2.37.0 + g_file_type_get_type@Base 2.16.0 + g_file_unmount_mountable@Base 2.16.0 + g_file_unmount_mountable_finish@Base 2.16.0 + g_file_unmount_mountable_with_operation@Base 2.22.0 + g_file_unmount_mountable_with_operation_finish@Base 2.22.0 + g_filename_completer_get_completion_suffix@Base 2.16.0 + g_filename_completer_get_completions@Base 2.16.0 + g_filename_completer_get_type@Base 2.16.0 + g_filename_completer_new@Base 2.16.0 + g_filename_completer_set_dirs_only@Base 2.16.0 + g_filesystem_preview_type_get_type@Base 2.16.0 + g_filter_input_stream_get_base_stream@Base 2.16.0 + g_filter_input_stream_get_close_base_stream@Base 2.20.0 + g_filter_input_stream_get_type@Base 2.16.0 + g_filter_input_stream_set_close_base_stream@Base 2.20.0 + g_filter_output_stream_get_base_stream@Base 2.16.0 + g_filter_output_stream_get_close_base_stream@Base 2.20.0 + g_filter_output_stream_get_type@Base 2.16.0 + g_filter_output_stream_set_close_base_stream@Base 2.20.0 + g_icon_deserialize@Base 2.37.0 + g_icon_equal@Base 2.16.0 + g_icon_get_type@Base 2.16.0 + g_icon_hash@Base 2.16.0 + g_icon_new_for_string@Base 2.20.0 + g_icon_serialize@Base 2.37.0 + g_icon_to_string@Base 2.20.0 + g_inet_address_equal@Base 2.30.0 + g_inet_address_get_family@Base 2.22.0 + g_inet_address_get_is_any@Base 2.22.0 + g_inet_address_get_is_link_local@Base 2.22.0 + g_inet_address_get_is_loopback@Base 2.22.0 + g_inet_address_get_is_mc_global@Base 2.22.0 + g_inet_address_get_is_mc_link_local@Base 2.22.0 + g_inet_address_get_is_mc_node_local@Base 2.22.0 + g_inet_address_get_is_mc_org_local@Base 2.22.0 + g_inet_address_get_is_mc_site_local@Base 2.22.0 + g_inet_address_get_is_multicast@Base 2.22.0 + g_inet_address_get_is_site_local@Base 2.22.0 + g_inet_address_get_native_size@Base 2.22.0 + g_inet_address_get_type@Base 2.22.0 + g_inet_address_mask_equal@Base 2.31.8 + g_inet_address_mask_get_address@Base 2.31.8 + g_inet_address_mask_get_family@Base 2.31.8 + g_inet_address_mask_get_length@Base 2.31.8 + g_inet_address_mask_get_type@Base 2.31.8 + g_inet_address_mask_matches@Base 2.31.8 + g_inet_address_mask_new@Base 2.31.8 + g_inet_address_mask_new_from_string@Base 2.31.8 + g_inet_address_mask_to_string@Base 2.31.8 + g_inet_address_new_any@Base 2.22.0 + g_inet_address_new_from_bytes@Base 2.22.0 + g_inet_address_new_from_string@Base 2.22.0 + g_inet_address_new_loopback@Base 2.22.0 + g_inet_address_to_bytes@Base 2.22.0 + g_inet_address_to_string@Base 2.22.0 + g_inet_socket_address_get_address@Base 2.22.0 + g_inet_socket_address_get_flowinfo@Base 2.31.18 + g_inet_socket_address_get_port@Base 2.22.0 + g_inet_socket_address_get_scope_id@Base 2.31.18 + g_inet_socket_address_get_type@Base 2.22.0 + g_inet_socket_address_new@Base 2.22.0 + g_inet_socket_address_new_from_string@Base 2.39.90 + g_initable_get_type@Base 2.22.0 + g_initable_init@Base 2.22.0 + g_initable_new@Base 2.22.0 + g_initable_new_valist@Base 2.22.0 + g_initable_newv@Base 2.22.0 + g_input_stream_clear_pending@Base 2.16.0 + g_input_stream_close@Base 2.16.0 + g_input_stream_close_async@Base 2.16.0 + g_input_stream_close_finish@Base 2.16.0 + g_input_stream_get_type@Base 2.16.0 + g_input_stream_has_pending@Base 2.16.0 + g_input_stream_is_closed@Base 2.16.0 + g_input_stream_read@Base 2.16.0 + g_input_stream_read_all@Base 2.16.0 + g_input_stream_read_all_async@Base 2.43.1 + g_input_stream_read_all_finish@Base 2.43.1 + g_input_stream_read_async@Base 2.16.0 + g_input_stream_read_bytes@Base 2.33.14 + g_input_stream_read_bytes_async@Base 2.33.14 + g_input_stream_read_bytes_finish@Base 2.33.14 + g_input_stream_read_finish@Base 2.16.0 + g_input_stream_set_pending@Base 2.16.0 + g_input_stream_skip@Base 2.16.0 + g_input_stream_skip_async@Base 2.16.0 + g_input_stream_skip_finish@Base 2.16.0 + g_io_error_enum_get_type@Base 2.16.0 + g_io_error_from_errno@Base 2.16.0 + g_io_error_quark@Base 2.16.0 + g_io_extension_get_name@Base 2.16.0 + g_io_extension_get_priority@Base 2.16.0 + g_io_extension_get_type@Base 2.16.0 + g_io_extension_point_get_extension_by_name@Base 2.16.0 + g_io_extension_point_get_extensions@Base 2.16.0 + g_io_extension_point_get_required_type@Base 2.16.0 + g_io_extension_point_implement@Base 2.16.0 + g_io_extension_point_lookup@Base 2.16.0 + g_io_extension_point_register@Base 2.16.0 + g_io_extension_point_set_required_type@Base 2.16.0 + g_io_extension_ref_class@Base 2.16.0 + g_io_module_get_type@Base 2.16.0 + g_io_module_new@Base 2.16.0 + g_io_module_scope_block@Base 2.30.0 + g_io_module_scope_flags_get_type@Base 2.30.0 + g_io_module_scope_free@Base 2.30.0 + g_io_module_scope_new@Base 2.30.0 + g_io_modules_load_all_in_directory@Base 2.16.0 + g_io_modules_load_all_in_directory_with_scope@Base 2.30.0 + g_io_modules_scan_all_in_directory@Base 2.24.0 + g_io_modules_scan_all_in_directory_with_scope@Base 2.30.0 + g_io_scheduler_cancel_all_jobs@Base 2.16.0 + g_io_scheduler_job_send_to_mainloop@Base 2.16.0 + g_io_scheduler_job_send_to_mainloop_async@Base 2.16.0 + g_io_scheduler_push_job@Base 2.16.0 + g_io_stream_clear_pending@Base 2.22.0 + g_io_stream_close@Base 2.22.0 + g_io_stream_close_async@Base 2.22.0 + g_io_stream_close_finish@Base 2.22.0 + g_io_stream_get_input_stream@Base 2.22.0 + g_io_stream_get_output_stream@Base 2.22.0 + g_io_stream_get_type@Base 2.22.0 + g_io_stream_has_pending@Base 2.22.0 + g_io_stream_is_closed@Base 2.22.0 + g_io_stream_set_pending@Base 2.22.0 + g_io_stream_splice_async@Base 2.28.0 + g_io_stream_splice_finish@Base 2.28.0 + g_io_stream_splice_flags_get_type@Base 2.28.0 + g_keyfile_settings_backend_new@Base 2.26.0 + g_list_model_get_item@Base 2.43.4 + g_list_model_get_item_type@Base 2.43.4 + g_list_model_get_n_items@Base 2.43.4 + g_list_model_get_object@Base 2.43.4 + g_list_model_get_type@Base 2.43.4 + g_list_model_items_changed@Base 2.43.4 + g_list_store_append@Base 2.43.4 + g_list_store_find@Base 2.63.3 + g_list_store_find_with_equal_func@Base 2.63.3 + g_list_store_get_type@Base 2.43.4 + g_list_store_insert@Base 2.43.4 + g_list_store_insert_sorted@Base 2.43.4 + g_list_store_new@Base 2.43.4 + g_list_store_remove@Base 2.43.4 + g_list_store_remove_all@Base 2.43.4 + g_list_store_sort@Base 2.45.7 + g_list_store_splice@Base 2.43.4 + g_loadable_icon_get_type@Base 2.16.0 + g_loadable_icon_load@Base 2.16.0 + g_loadable_icon_load_async@Base 2.16.0 + g_loadable_icon_load_finish@Base 2.16.0 + g_local_file_monitor_get_type@Base 2.16.0 + g_memory_input_stream_add_bytes@Base 2.33.14 + g_memory_input_stream_add_data@Base 2.16.0 + g_memory_input_stream_get_type@Base 2.16.0 + g_memory_input_stream_new@Base 2.16.0 + g_memory_input_stream_new_from_bytes@Base 2.33.14 + g_memory_input_stream_new_from_data@Base 2.16.0 + g_memory_monitor_dup_default@Base 2.63.3 + g_memory_monitor_get_type@Base 2.63.3 + g_memory_monitor_warning_level_get_type@Base 2.63.3 + g_memory_output_stream_get_data@Base 2.16.0 + g_memory_output_stream_get_data_size@Base 2.18.0 + g_memory_output_stream_get_size@Base 2.16.0 + g_memory_output_stream_get_type@Base 2.16.0 + g_memory_output_stream_new@Base 2.16.0 + g_memory_output_stream_new_resizable@Base 2.35.8 + g_memory_output_stream_steal_as_bytes@Base 2.33.14 + g_memory_output_stream_steal_data@Base 2.26.0 + g_memory_settings_backend_new@Base 2.28.0 + g_menu_append@Base 2.31.8 + g_menu_append_item@Base 2.31.8 + g_menu_append_section@Base 2.31.8 + g_menu_append_submenu@Base 2.31.8 + g_menu_attribute_iter_get_name@Base 2.31.8 + g_menu_attribute_iter_get_next@Base 2.31.8 + g_menu_attribute_iter_get_type@Base 2.31.8 + g_menu_attribute_iter_get_value@Base 2.31.8 + g_menu_attribute_iter_next@Base 2.31.8 + g_menu_freeze@Base 2.31.8 + g_menu_get_type@Base 2.31.8 + g_menu_insert@Base 2.31.8 + g_menu_insert_item@Base 2.31.8 + g_menu_insert_section@Base 2.31.8 + g_menu_insert_submenu@Base 2.31.8 + g_menu_item_get_attribute@Base 2.33.14 + g_menu_item_get_attribute_value@Base 2.33.14 + g_menu_item_get_link@Base 2.33.14 + g_menu_item_get_type@Base 2.31.8 + g_menu_item_new@Base 2.31.8 + g_menu_item_new_from_model@Base 2.33.14 + g_menu_item_new_section@Base 2.31.8 + g_menu_item_new_submenu@Base 2.31.8 + g_menu_item_set_action_and_target@Base 2.31.8 + g_menu_item_set_action_and_target_value@Base 2.31.8 + g_menu_item_set_attribute@Base 2.31.8 + g_menu_item_set_attribute_value@Base 2.31.8 + g_menu_item_set_detailed_action@Base 2.31.8 + g_menu_item_set_icon@Base 2.37.0 + g_menu_item_set_label@Base 2.31.8 + g_menu_item_set_link@Base 2.31.8 + g_menu_item_set_section@Base 2.31.8 + g_menu_item_set_submenu@Base 2.31.8 + g_menu_link_iter_get_name@Base 2.31.8 + g_menu_link_iter_get_next@Base 2.31.8 + g_menu_link_iter_get_type@Base 2.31.8 + g_menu_link_iter_get_value@Base 2.31.8 + g_menu_link_iter_next@Base 2.31.8 + g_menu_model_get_item_attribute@Base 2.31.8 + g_menu_model_get_item_attribute_value@Base 2.31.8 + g_menu_model_get_item_link@Base 2.31.8 + g_menu_model_get_n_items@Base 2.31.8 + g_menu_model_get_type@Base 2.31.8 + g_menu_model_is_mutable@Base 2.31.8 + g_menu_model_items_changed@Base 2.31.8 + g_menu_model_iterate_item_attributes@Base 2.31.8 + g_menu_model_iterate_item_links@Base 2.31.8 + g_menu_new@Base 2.31.8 + g_menu_prepend@Base 2.31.8 + g_menu_prepend_item@Base 2.31.8 + g_menu_prepend_section@Base 2.31.8 + g_menu_prepend_submenu@Base 2.31.8 + g_menu_remove@Base 2.31.8 + g_menu_remove_all@Base 2.37.0 + g_mount_can_eject@Base 2.16.0 + g_mount_can_unmount@Base 2.16.0 + g_mount_eject@Base 2.16.0 + g_mount_eject_finish@Base 2.16.0 + g_mount_eject_with_operation@Base 2.22.0 + g_mount_eject_with_operation_finish@Base 2.22.0 + g_mount_get_default_location@Base 2.24.0 + g_mount_get_drive@Base 2.16.0 + g_mount_get_icon@Base 2.16.0 + g_mount_get_name@Base 2.16.0 + g_mount_get_root@Base 2.16.0 + g_mount_get_sort_key@Base 2.31.8 + g_mount_get_symbolic_icon@Base 2.33.14 + g_mount_get_type@Base 2.16.0 + g_mount_get_uuid@Base 2.16.0 + g_mount_get_volume@Base 2.16.0 + g_mount_guess_content_type@Base 2.18.0 + g_mount_guess_content_type_finish@Base 2.18.0 + g_mount_guess_content_type_sync@Base 2.18.0 + g_mount_is_shadowed@Base 2.20.0 + g_mount_mount_flags_get_type@Base 2.16.0 + g_mount_operation_get_anonymous@Base 2.16.0 + g_mount_operation_get_choice@Base 2.16.0 + g_mount_operation_get_domain@Base 2.16.0 + g_mount_operation_get_is_tcrypt_hidden_volume@Base 2.57.2 + g_mount_operation_get_is_tcrypt_system_volume@Base 2.57.2 + g_mount_operation_get_password@Base 2.16.0 + g_mount_operation_get_password_save@Base 2.16.0 + g_mount_operation_get_pim@Base 2.57.2 + g_mount_operation_get_type@Base 2.16.0 + g_mount_operation_get_username@Base 2.16.0 + g_mount_operation_new@Base 2.16.0 + g_mount_operation_reply@Base 2.16.0 + g_mount_operation_result_get_type@Base 2.16.0 + g_mount_operation_set_anonymous@Base 2.16.0 + g_mount_operation_set_choice@Base 2.16.0 + g_mount_operation_set_domain@Base 2.16.0 + g_mount_operation_set_is_tcrypt_hidden_volume@Base 2.57.2 + g_mount_operation_set_is_tcrypt_system_volume@Base 2.57.2 + g_mount_operation_set_password@Base 2.16.0 + g_mount_operation_set_password_save@Base 2.16.0 + g_mount_operation_set_pim@Base 2.57.2 + g_mount_operation_set_username@Base 2.16.0 + g_mount_remount@Base 2.16.0 + g_mount_remount_finish@Base 2.16.0 + g_mount_shadow@Base 2.20.0 + g_mount_unmount@Base 2.16.0 + g_mount_unmount_finish@Base 2.16.0 + g_mount_unmount_flags_get_type@Base 2.16.0 + g_mount_unmount_with_operation@Base 2.22.0 + g_mount_unmount_with_operation_finish@Base 2.22.0 + g_mount_unshadow@Base 2.20.0 + g_native_socket_address_get_type@Base 2.45.3 + g_native_socket_address_new@Base 2.45.3 + g_native_volume_monitor_get_type@Base 2.16.0 + g_network_address_get_hostname@Base 2.22.0 + g_network_address_get_port@Base 2.22.0 + g_network_address_get_scheme@Base 2.26.0 + g_network_address_get_type@Base 2.22.0 + g_network_address_new@Base 2.22.0 + g_network_address_new_loopback@Base 2.43.2 + g_network_address_parse@Base 2.22.0 + g_network_address_parse_uri@Base 2.26.0 + g_network_connectivity_get_type@Base 2.43.2 + g_network_monitor_base_add_network@Base 2.31.8 + g_network_monitor_base_get_type@Base 2.31.8 + g_network_monitor_base_remove_network@Base 2.31.8 + g_network_monitor_base_set_networks@Base 2.31.8 + g_network_monitor_can_reach@Base 2.31.8 + g_network_monitor_can_reach_async@Base 2.31.8 + g_network_monitor_can_reach_finish@Base 2.31.8 + g_network_monitor_get_connectivity@Base 2.43.2 + g_network_monitor_get_default@Base 2.31.8 + g_network_monitor_get_network_available@Base 2.31.8 + g_network_monitor_get_network_metered@Base 2.45.6 + g_network_monitor_get_type@Base 2.31.8 + g_network_service_get_domain@Base 2.22.0 + g_network_service_get_protocol@Base 2.22.0 + g_network_service_get_scheme@Base 2.26.0 + g_network_service_get_service@Base 2.22.0 + g_network_service_get_type@Base 2.22.0 + g_network_service_new@Base 2.22.0 + g_network_service_set_scheme@Base 2.26.0 + g_networking_init@Base 2.35.8 + g_notification_add_button@Base 2.39.4 + g_notification_add_button_with_target@Base 2.39.4 + g_notification_add_button_with_target_value@Base 2.39.4 + g_notification_get_type@Base 2.39.4 + g_notification_new@Base 2.39.4 + g_notification_priority_get_type@Base 2.41.2 + g_notification_set_body@Base 2.39.4 + g_notification_set_category@Base 2.70.0 + g_notification_set_default_action@Base 2.39.4 + g_notification_set_default_action_and_target@Base 2.39.4 + g_notification_set_default_action_and_target_value@Base 2.39.4 + g_notification_set_icon@Base 2.39.4 + g_notification_set_priority@Base 2.41.2 + g_notification_set_title@Base 2.39.4 + g_notification_set_urgent@Base 2.39.4 + g_null_settings_backend_new@Base 2.28.0 + g_output_stream_clear_pending@Base 2.16.0 + g_output_stream_close@Base 2.16.0 + g_output_stream_close_async@Base 2.16.0 + g_output_stream_close_finish@Base 2.16.0 + g_output_stream_flush@Base 2.16.0 + g_output_stream_flush_async@Base 2.16.0 + g_output_stream_flush_finish@Base 2.16.0 + g_output_stream_get_type@Base 2.16.0 + g_output_stream_has_pending@Base 2.16.0 + g_output_stream_is_closed@Base 2.16.0 + g_output_stream_is_closing@Base 2.24.0 + g_output_stream_printf@Base 2.39.4 + g_output_stream_set_pending@Base 2.16.0 + g_output_stream_splice@Base 2.16.0 + g_output_stream_splice_async@Base 2.16.0 + g_output_stream_splice_finish@Base 2.16.0 + g_output_stream_splice_flags_get_type@Base 2.16.0 + g_output_stream_vprintf@Base 2.39.4 + g_output_stream_write@Base 2.16.0 + g_output_stream_write_all@Base 2.16.0 + g_output_stream_write_all_async@Base 2.43.1 + g_output_stream_write_all_finish@Base 2.43.1 + g_output_stream_write_async@Base 2.16.0 + g_output_stream_write_bytes@Base 2.33.14 + g_output_stream_write_bytes_async@Base 2.33.14 + g_output_stream_write_bytes_finish@Base 2.33.14 + g_output_stream_write_finish@Base 2.16.0 + g_output_stream_writev@Base 2.59.2 + g_output_stream_writev_all@Base 2.59.2 + g_output_stream_writev_all_async@Base 2.59.2 + g_output_stream_writev_all_finish@Base 2.59.2 + g_output_stream_writev_async@Base 2.59.2 + g_output_stream_writev_finish@Base 2.59.2 + g_password_save_get_type@Base 2.16.0 + g_permission_acquire@Base 2.26.0 + g_permission_acquire_async@Base 2.26.0 + g_permission_acquire_finish@Base 2.26.0 + g_permission_get_allowed@Base 2.26.0 + g_permission_get_can_acquire@Base 2.26.0 + g_permission_get_can_release@Base 2.26.0 + g_permission_get_type@Base 2.26.0 + g_permission_impl_update@Base 2.26.0 + g_permission_release@Base 2.26.0 + g_permission_release_async@Base 2.26.0 + g_permission_release_finish@Base 2.26.0 + g_pollable_input_stream_can_poll@Base 2.28.0 + g_pollable_input_stream_create_source@Base 2.28.0 + g_pollable_input_stream_get_type@Base 2.28.0 + g_pollable_input_stream_is_readable@Base 2.28.0 + g_pollable_input_stream_read_nonblocking@Base 2.28.0 + g_pollable_output_stream_can_poll@Base 2.28.0 + g_pollable_output_stream_create_source@Base 2.28.0 + g_pollable_output_stream_get_type@Base 2.28.0 + g_pollable_output_stream_is_writable@Base 2.28.0 + g_pollable_output_stream_write_nonblocking@Base 2.28.0 + g_pollable_output_stream_writev_nonblocking@Base 2.59.2 + g_pollable_return_get_type@Base 2.59.2 + g_pollable_source_new@Base 2.28.0 + g_pollable_source_new_full@Base 2.33.14 + g_pollable_stream_read@Base 2.33.14 + g_pollable_stream_write@Base 2.33.14 + g_pollable_stream_write_all@Base 2.33.14 + g_power_profile_monitor_dup_default@Base 2.70.0 + g_power_profile_monitor_get_power_saver_enabled@Base 2.70.0 + g_power_profile_monitor_get_type@Base 2.70.0 + g_property_action_get_type@Base 2.37.5 + g_property_action_new@Base 2.37.5 + g_proxy_address_enumerator_get_type@Base 2.26.0 + g_proxy_address_get_destination_hostname@Base 2.26.0 + g_proxy_address_get_destination_port@Base 2.26.0 + g_proxy_address_get_destination_protocol@Base 2.33.14 + g_proxy_address_get_password@Base 2.26.0 + g_proxy_address_get_protocol@Base 2.26.0 + g_proxy_address_get_type@Base 2.26.0 + g_proxy_address_get_uri@Base 2.33.14 + g_proxy_address_get_username@Base 2.26.0 + g_proxy_address_new@Base 2.26.0 + g_proxy_connect@Base 2.26.0 + g_proxy_connect_async@Base 2.26.0 + g_proxy_connect_finish@Base 2.26.0 + g_proxy_get_default_for_protocol@Base 2.26.0 + g_proxy_get_type@Base 2.26.0 + g_proxy_resolver_get_default@Base 2.26.0 + g_proxy_resolver_get_type@Base 2.26.0 + g_proxy_resolver_is_supported@Base 2.26.0 + g_proxy_resolver_lookup@Base 2.26.0 + g_proxy_resolver_lookup_async@Base 2.26.0 + g_proxy_resolver_lookup_finish@Base 2.26.0 + g_proxy_supports_hostname@Base 2.26.0 + g_remote_action_group_activate_action_full@Base 2.31.8 + g_remote_action_group_change_action_state_full@Base 2.31.8 + g_remote_action_group_get_type@Base 2.31.8 + g_resolver_error_get_type@Base 2.22.0 + g_resolver_error_quark@Base 2.22.0 + g_resolver_free_addresses@Base 2.22.0 + g_resolver_free_targets@Base 2.22.0 + g_resolver_get_default@Base 2.22.0 + g_resolver_get_type@Base 2.22.0 + g_resolver_lookup_by_address@Base 2.22.0 + g_resolver_lookup_by_address_async@Base 2.22.0 + g_resolver_lookup_by_address_finish@Base 2.22.0 + g_resolver_lookup_by_name@Base 2.22.0 + g_resolver_lookup_by_name_async@Base 2.22.0 + g_resolver_lookup_by_name_finish@Base 2.22.0 + g_resolver_lookup_by_name_with_flags@Base 2.59.0 + g_resolver_lookup_by_name_with_flags_async@Base 2.59.0 + g_resolver_lookup_by_name_with_flags_finish@Base 2.59.0 + g_resolver_lookup_records@Base 2.33.14 + g_resolver_lookup_records_async@Base 2.33.14 + g_resolver_lookup_records_finish@Base 2.33.14 + g_resolver_lookup_service@Base 2.22.0 + g_resolver_lookup_service_async@Base 2.22.0 + g_resolver_lookup_service_finish@Base 2.22.0 + g_resolver_name_lookup_flags_get_type@Base 2.59.0 + g_resolver_record_type_get_type@Base 2.33.14 + g_resolver_record_type_to_rrtype@Base 2.72.1 + g_resolver_records_from_res_query@Base 2.71.0 + g_resolver_set_default@Base 2.22.0 + g_resource_enumerate_children@Base 2.31.18 + g_resource_error_get_type@Base 2.31.18 + g_resource_error_quark@Base 2.31.18 + g_resource_flags_get_type@Base 2.31.18 + g_resource_get_info@Base 2.31.18 + g_resource_get_type@Base 2.31.18 + g_resource_load@Base 2.31.18 + g_resource_lookup_data@Base 2.31.18 + g_resource_lookup_flags_get_type@Base 2.31.18 + g_resource_new_from_data@Base 2.31.18 + g_resource_open_stream@Base 2.31.18 + g_resource_ref@Base 2.31.18 + g_resource_unref@Base 2.31.18 + g_resources_enumerate_children@Base 2.31.18 + g_resources_get_info@Base 2.31.18 + g_resources_lookup_data@Base 2.31.18 + g_resources_open_stream@Base 2.31.18 + g_resources_register@Base 2.31.18 + g_resources_unregister@Base 2.31.18 + g_seekable_can_seek@Base 2.16.0 + g_seekable_can_truncate@Base 2.16.0 + g_seekable_get_type@Base 2.16.0 + g_seekable_seek@Base 2.16.0 + g_seekable_tell@Base 2.16.0 + g_seekable_truncate@Base 2.16.0 + g_settings_apply@Base 2.26.0 + g_settings_backend_changed@Base 2.26.0 + g_settings_backend_changed_tree@Base 2.26.0 + g_settings_backend_flatten_tree@Base 2.26.0 + g_settings_backend_get_default@Base 2.28.0 + g_settings_backend_get_type@Base 2.26.0 + g_settings_backend_keys_changed@Base 2.26.0 + g_settings_backend_path_changed@Base 2.26.0 + g_settings_backend_path_writable_changed@Base 2.26.0 + g_settings_backend_writable_changed@Base 2.26.0 + g_settings_bind@Base 2.26.0 + g_settings_bind_flags_get_type@Base 2.26.0 + g_settings_bind_with_mapping@Base 2.26.0 + g_settings_bind_writable@Base 2.26.0 + g_settings_create_action@Base 2.31.18 + g_settings_delay@Base 2.26.0 + g_settings_get@Base 2.26.0 + g_settings_get_boolean@Base 2.26.0 + g_settings_get_child@Base 2.26.0 + g_settings_get_default_value@Base 2.39.4 + g_settings_get_double@Base 2.26.0 + g_settings_get_enum@Base 2.26.0 + g_settings_get_flags@Base 2.26.0 + g_settings_get_has_unapplied@Base 2.26.0 + g_settings_get_int64@Base 2.49.2 + g_settings_get_int@Base 2.26.0 + g_settings_get_mapped@Base 2.26.0 + g_settings_get_range@Base 2.28.0 + g_settings_get_string@Base 2.26.0 + g_settings_get_strv@Base 2.26.0 + g_settings_get_type@Base 2.26.0 + g_settings_get_uint64@Base 2.49.2 + g_settings_get_uint@Base 2.30.0 + g_settings_get_user_value@Base 2.39.4 + g_settings_get_value@Base 2.26.0 + g_settings_is_writable@Base 2.26.0 + g_settings_list_children@Base 2.26.0 + g_settings_list_keys@Base 2.26.0 + g_settings_list_relocatable_schemas@Base 2.28.0 + g_settings_list_schemas@Base 2.26.0 + g_settings_new@Base 2.26.0 + g_settings_new_full@Base 2.31.8 + g_settings_new_with_backend@Base 2.26.0 + g_settings_new_with_backend_and_path@Base 2.26.0 + g_settings_new_with_path@Base 2.26.0 + g_settings_range_check@Base 2.28.0 + g_settings_reset@Base 2.26.0 + g_settings_revert@Base 2.26.0 + g_settings_schema_get_id@Base 2.31.8 + g_settings_schema_get_key@Base 2.39.4 + g_settings_schema_get_path@Base 2.31.8 + g_settings_schema_get_type@Base 2.31.8 + g_settings_schema_has_key@Base 2.39.4 + g_settings_schema_key_get_default_value@Base 2.39.4 + g_settings_schema_key_get_description@Base 2.39.4 + g_settings_schema_key_get_name@Base 2.43.4 + g_settings_schema_key_get_range@Base 2.39.4 + g_settings_schema_key_get_summary@Base 2.39.4 + g_settings_schema_key_get_type@Base 2.39.4 + g_settings_schema_key_get_value_type@Base 2.39.4 + g_settings_schema_key_range_check@Base 2.39.4 + g_settings_schema_key_ref@Base 2.39.4 + g_settings_schema_key_unref@Base 2.39.4 + g_settings_schema_list_children@Base 2.43.4 + g_settings_schema_list_keys@Base 2.45.3 + g_settings_schema_ref@Base 2.31.8 + g_settings_schema_source_get_default@Base 2.31.8 + g_settings_schema_source_get_type@Base 2.31.8 + g_settings_schema_source_list_schemas@Base 2.39.4 + g_settings_schema_source_lookup@Base 2.31.8 + g_settings_schema_source_new_from_directory@Base 2.31.8 + g_settings_schema_source_ref@Base 2.31.8 + g_settings_schema_source_unref@Base 2.31.8 + g_settings_schema_unref@Base 2.31.8 + g_settings_set@Base 2.26.0 + g_settings_set_boolean@Base 2.26.0 + g_settings_set_double@Base 2.26.0 + g_settings_set_enum@Base 2.26.0 + g_settings_set_flags@Base 2.26.0 + g_settings_set_int64@Base 2.49.2 + g_settings_set_int@Base 2.26.0 + g_settings_set_string@Base 2.26.0 + g_settings_set_strv@Base 2.26.0 + g_settings_set_uint64@Base 2.49.2 + g_settings_set_uint@Base 2.30.0 + g_settings_set_value@Base 2.26.0 + g_settings_sync@Base 2.26.0 + g_settings_unbind@Base 2.26.0 + g_simple_action_get_type@Base 2.28.0 + g_simple_action_group_add_entries@Base 2.30.0 + g_simple_action_group_get_type@Base 2.28.0 + g_simple_action_group_insert@Base 2.28.0 + g_simple_action_group_lookup@Base 2.28.0 + g_simple_action_group_new@Base 2.28.0 + g_simple_action_group_remove@Base 2.28.0 + g_simple_action_new@Base 2.28.0 + g_simple_action_new_stateful@Base 2.28.0 + g_simple_action_set_enabled@Base 2.28.0 + g_simple_action_set_state@Base 2.30.0 + g_simple_action_set_state_hint@Base 2.43.4 + g_simple_async_report_error_in_idle@Base 2.16.0 + g_simple_async_report_gerror_in_idle@Base 2.16.0 + g_simple_async_report_take_gerror_in_idle@Base 2.28.0 + g_simple_async_result_complete@Base 2.16.0 + g_simple_async_result_complete_in_idle@Base 2.16.0 + g_simple_async_result_get_op_res_gboolean@Base 2.16.0 + g_simple_async_result_get_op_res_gpointer@Base 2.16.0 + g_simple_async_result_get_op_res_gssize@Base 2.16.0 + g_simple_async_result_get_source_tag@Base 2.16.0 + g_simple_async_result_get_type@Base 2.16.0 + g_simple_async_result_is_valid@Base 2.20.0 + g_simple_async_result_new@Base 2.16.0 + g_simple_async_result_new_error@Base 2.16.0 + g_simple_async_result_new_from_error@Base 2.16.0 + g_simple_async_result_new_take_error@Base 2.28.0 + g_simple_async_result_propagate_error@Base 2.16.0 + g_simple_async_result_run_in_thread@Base 2.16.0 + g_simple_async_result_set_check_cancellable@Base 2.31.22 + g_simple_async_result_set_error@Base 2.16.0 + g_simple_async_result_set_error_va@Base 2.16.0 + g_simple_async_result_set_from_error@Base 2.16.0 + g_simple_async_result_set_handle_cancellation@Base 2.16.0 + g_simple_async_result_set_op_res_gboolean@Base 2.16.0 + g_simple_async_result_set_op_res_gpointer@Base 2.16.0 + g_simple_async_result_set_op_res_gssize@Base 2.16.0 + g_simple_async_result_take_error@Base 2.28.0 + g_simple_io_stream_get_type@Base 2.43.90 + g_simple_io_stream_new@Base 2.43.90 + g_simple_permission_get_type@Base 2.26.0 + g_simple_permission_new@Base 2.26.0 + g_simple_proxy_resolver_get_type@Base 2.35.8 + g_simple_proxy_resolver_new@Base 2.35.8 + g_simple_proxy_resolver_set_default_proxy@Base 2.35.8 + g_simple_proxy_resolver_set_ignore_hosts@Base 2.35.8 + g_simple_proxy_resolver_set_uri_proxy@Base 2.35.8 + g_socket_accept@Base 2.22.0 + g_socket_address_enumerator_get_type@Base 2.22.0 + g_socket_address_enumerator_next@Base 2.22.0 + g_socket_address_enumerator_next_async@Base 2.22.0 + g_socket_address_enumerator_next_finish@Base 2.22.0 + g_socket_address_get_family@Base 2.22.0 + g_socket_address_get_native_size@Base 2.22.0 + g_socket_address_get_type@Base 2.22.0 + g_socket_address_new_from_native@Base 2.22.0 + g_socket_address_to_native@Base 2.22.0 + g_socket_bind@Base 2.22.0 + g_socket_check_connect_result@Base 2.22.0 + g_socket_client_add_application_proxy@Base 2.26.0 + g_socket_client_connect@Base 2.22.0 + g_socket_client_connect_async@Base 2.22.0 + g_socket_client_connect_finish@Base 2.22.0 + g_socket_client_connect_to_host@Base 2.22.0 + g_socket_client_connect_to_host_async@Base 2.22.0 + g_socket_client_connect_to_host_finish@Base 2.22.0 + g_socket_client_connect_to_service@Base 2.22.0 + g_socket_client_connect_to_service_async@Base 2.22.0 + g_socket_client_connect_to_service_finish@Base 2.22.0 + g_socket_client_connect_to_uri@Base 2.26.0 + g_socket_client_connect_to_uri_async@Base 2.26.0 + g_socket_client_connect_to_uri_finish@Base 2.26.0 + g_socket_client_event_get_type@Base 2.31.8 + g_socket_client_get_enable_proxy@Base 2.26.0 + g_socket_client_get_family@Base 2.22.0 + g_socket_client_get_local_address@Base 2.22.0 + g_socket_client_get_protocol@Base 2.22.0 + g_socket_client_get_proxy_resolver@Base 2.35.8 + g_socket_client_get_socket_type@Base 2.22.0 + g_socket_client_get_timeout@Base 2.26.0 + g_socket_client_get_tls@Base 2.28.0 + g_socket_client_get_tls_validation_flags@Base 2.28.0 + g_socket_client_get_type@Base 2.22.0 + g_socket_client_new@Base 2.22.0 + g_socket_client_set_enable_proxy@Base 2.26.0 + g_socket_client_set_family@Base 2.22.0 + g_socket_client_set_local_address@Base 2.22.0 + g_socket_client_set_protocol@Base 2.22.0 + g_socket_client_set_proxy_resolver@Base 2.35.8 + g_socket_client_set_socket_type@Base 2.22.0 + g_socket_client_set_timeout@Base 2.26.0 + g_socket_client_set_tls@Base 2.28.0 + g_socket_client_set_tls_validation_flags@Base 2.28.0 + g_socket_close@Base 2.22.0 + g_socket_condition_check@Base 2.22.0 + g_socket_condition_timed_wait@Base 2.31.18 + g_socket_condition_wait@Base 2.22.0 + g_socket_connect@Base 2.22.0 + g_socket_connectable_enumerate@Base 2.22.0 + g_socket_connectable_get_type@Base 2.22.0 + g_socket_connectable_proxy_enumerate@Base 2.26.0 + g_socket_connectable_to_string@Base 2.47.1 + g_socket_connection_connect@Base 2.31.8 + g_socket_connection_connect_async@Base 2.31.8 + g_socket_connection_connect_finish@Base 2.31.8 + g_socket_connection_factory_create_connection@Base 2.22.0 + g_socket_connection_factory_lookup_type@Base 2.22.0 + g_socket_connection_factory_register_type@Base 2.22.0 + g_socket_connection_get_local_address@Base 2.22.0 + g_socket_connection_get_remote_address@Base 2.22.0 + g_socket_connection_get_socket@Base 2.22.0 + g_socket_connection_get_type@Base 2.22.0 + g_socket_connection_is_connected@Base 2.31.8 + g_socket_control_message_deserialize@Base 2.22.0 + g_socket_control_message_get_level@Base 2.22.0 + g_socket_control_message_get_msg_type@Base 2.22.0 + g_socket_control_message_get_size@Base 2.22.0 + g_socket_control_message_get_type@Base 2.22.0 + g_socket_control_message_serialize@Base 2.22.0 + g_socket_create_source@Base 2.22.0 + g_socket_family_get_type@Base 2.22.0 + g_socket_get_available_bytes@Base 2.31.18 + g_socket_get_blocking@Base 2.22.0 + g_socket_get_broadcast@Base 2.31.18 + g_socket_get_credentials@Base 2.26.0 + g_socket_get_family@Base 2.22.0 + g_socket_get_fd@Base 2.22.0 + g_socket_get_keepalive@Base 2.22.0 + g_socket_get_listen_backlog@Base 2.22.0 + g_socket_get_local_address@Base 2.22.0 + g_socket_get_multicast_loopback@Base 2.31.18 + g_socket_get_multicast_ttl@Base 2.31.18 + g_socket_get_option@Base 2.35.8 + g_socket_get_protocol@Base 2.22.0 + g_socket_get_remote_address@Base 2.22.0 + g_socket_get_socket_type@Base 2.22.0 + g_socket_get_timeout@Base 2.26.0 + g_socket_get_ttl@Base 2.31.18 + g_socket_get_type@Base 2.22.0 + g_socket_is_closed@Base 2.22.0 + g_socket_is_connected@Base 2.22.0 + g_socket_join_multicast_group@Base 2.31.18 + g_socket_join_multicast_group_ssm@Base 2.55.1 + g_socket_leave_multicast_group@Base 2.31.18 + g_socket_leave_multicast_group_ssm@Base 2.55.1 + g_socket_listen@Base 2.22.0 + g_socket_listener_accept@Base 2.22.0 + g_socket_listener_accept_async@Base 2.22.0 + g_socket_listener_accept_finish@Base 2.22.0 + g_socket_listener_accept_socket@Base 2.22.0 + g_socket_listener_accept_socket_async@Base 2.22.0 + g_socket_listener_accept_socket_finish@Base 2.22.0 + g_socket_listener_add_address@Base 2.22.0 + g_socket_listener_add_any_inet_port@Base 2.24.0 + g_socket_listener_add_inet_port@Base 2.22.0 + g_socket_listener_add_socket@Base 2.22.0 + g_socket_listener_close@Base 2.22.0 + g_socket_listener_event_get_type@Base 2.45.1 + g_socket_listener_get_type@Base 2.22.0 + g_socket_listener_new@Base 2.22.0 + g_socket_listener_set_backlog@Base 2.22.0 + g_socket_msg_flags_get_type@Base 2.22.0 + g_socket_new@Base 2.22.0 + g_socket_new_from_fd@Base 2.22.0 + g_socket_protocol_get_type@Base 2.22.0 + g_socket_receive@Base 2.22.0 + g_socket_receive_from@Base 2.22.0 + g_socket_receive_message@Base 2.22.0 + g_socket_receive_messages@Base 2.47.1 + g_socket_receive_with_blocking@Base 2.26.0 + g_socket_send@Base 2.22.0 + g_socket_send_message@Base 2.22.0 + g_socket_send_message_with_timeout@Base 2.59.2 + g_socket_send_messages@Base 2.43.2 + g_socket_send_to@Base 2.22.0 + g_socket_send_with_blocking@Base 2.26.0 + g_socket_service_get_type@Base 2.22.0 + g_socket_service_is_active@Base 2.22.0 + g_socket_service_new@Base 2.22.0 + g_socket_service_start@Base 2.22.0 + g_socket_service_stop@Base 2.22.0 + g_socket_set_blocking@Base 2.22.0 + g_socket_set_broadcast@Base 2.31.18 + g_socket_set_keepalive@Base 2.22.0 + g_socket_set_listen_backlog@Base 2.22.0 + g_socket_set_multicast_loopback@Base 2.31.18 + g_socket_set_multicast_ttl@Base 2.31.18 + g_socket_set_option@Base 2.35.8 + g_socket_set_timeout@Base 2.26.0 + g_socket_set_ttl@Base 2.31.18 + g_socket_shutdown@Base 2.22.0 + g_socket_speaks_ipv4@Base 2.22.0 + g_socket_type_get_type@Base 2.22.0 + g_srv_target_copy@Base 2.22.0 + g_srv_target_free@Base 2.22.0 + g_srv_target_get_hostname@Base 2.22.0 + g_srv_target_get_port@Base 2.22.0 + g_srv_target_get_priority@Base 2.22.0 + g_srv_target_get_type@Base 2.22.0 + g_srv_target_get_weight@Base 2.22.0 + g_srv_target_list_sort@Base 2.22.0 + g_srv_target_new@Base 2.22.0 + g_static_resource_fini@Base 2.31.18 + g_static_resource_get_resource@Base 2.31.18 + g_static_resource_init@Base 2.31.18 + g_subprocess_communicate@Base 2.39.4 + g_subprocess_communicate_async@Base 2.39.4 + g_subprocess_communicate_finish@Base 2.39.4 + g_subprocess_communicate_utf8@Base 2.39.4 + g_subprocess_communicate_utf8_async@Base 2.39.4 + g_subprocess_communicate_utf8_finish@Base 2.39.4 + g_subprocess_flags_get_type@Base 2.39.4 + g_subprocess_force_exit@Base 2.39.4 + g_subprocess_get_exit_status@Base 2.39.4 + g_subprocess_get_identifier@Base 2.39.4 + g_subprocess_get_if_exited@Base 2.39.4 + g_subprocess_get_if_signaled@Base 2.39.4 + g_subprocess_get_status@Base 2.39.4 + g_subprocess_get_stderr_pipe@Base 2.39.4 + g_subprocess_get_stdin_pipe@Base 2.39.4 + g_subprocess_get_stdout_pipe@Base 2.39.4 + g_subprocess_get_successful@Base 2.39.4 + g_subprocess_get_term_sig@Base 2.39.4 + g_subprocess_get_type@Base 2.39.4 + g_subprocess_launcher_close@Base 2.67.1 + g_subprocess_launcher_get_type@Base 2.39.4 + g_subprocess_launcher_getenv@Base 2.39.4 + g_subprocess_launcher_new@Base 2.39.4 + g_subprocess_launcher_set_child_setup@Base 2.39.4 + g_subprocess_launcher_set_cwd@Base 2.39.4 + g_subprocess_launcher_set_environ@Base 2.39.4 + g_subprocess_launcher_set_flags@Base 2.39.4 + g_subprocess_launcher_set_stderr_file_path@Base 2.39.4 + g_subprocess_launcher_set_stdin_file_path@Base 2.39.4 + g_subprocess_launcher_set_stdout_file_path@Base 2.39.4 + g_subprocess_launcher_setenv@Base 2.39.4 + g_subprocess_launcher_spawn@Base 2.39.4 + g_subprocess_launcher_spawnv@Base 2.39.4 + g_subprocess_launcher_take_fd@Base 2.39.4 + g_subprocess_launcher_take_stderr_fd@Base 2.39.4 + g_subprocess_launcher_take_stdin_fd@Base 2.39.4 + g_subprocess_launcher_take_stdout_fd@Base 2.39.4 + g_subprocess_launcher_unsetenv@Base 2.39.4 + g_subprocess_new@Base 2.39.4 + g_subprocess_newv@Base 2.39.4 + g_subprocess_send_signal@Base 2.39.4 + g_subprocess_wait@Base 2.39.4 + g_subprocess_wait_async@Base 2.39.4 + g_subprocess_wait_check@Base 2.39.4 + g_subprocess_wait_check_async@Base 2.39.4 + g_subprocess_wait_check_finish@Base 2.39.4 + g_subprocess_wait_finish@Base 2.39.4 + g_task_attach_source@Base 2.35.8 + g_task_get_cancellable@Base 2.35.8 + g_task_get_check_cancellable@Base 2.35.8 + g_task_get_completed@Base 2.43.92 + g_task_get_context@Base 2.35.8 + g_task_get_name@Base 2.59.0 + g_task_get_priority@Base 2.35.8 + g_task_get_return_on_cancel@Base 2.35.8 + g_task_get_source_object@Base 2.35.8 + g_task_get_source_tag@Base 2.35.8 + g_task_get_task_data@Base 2.35.8 + g_task_get_type@Base 2.35.8 + g_task_had_error@Base 2.35.8 + g_task_is_valid@Base 2.35.8 + g_task_new@Base 2.35.8 + g_task_propagate_boolean@Base 2.35.8 + g_task_propagate_int@Base 2.35.8 + g_task_propagate_pointer@Base 2.35.8 + g_task_propagate_value@Base 2.63.2 + g_task_report_error@Base 2.35.8 + g_task_report_new_error@Base 2.35.8 + g_task_return_boolean@Base 2.35.8 + g_task_return_error@Base 2.35.8 + g_task_return_error_if_cancelled@Base 2.35.8 + g_task_return_int@Base 2.35.8 + g_task_return_new_error@Base 2.35.8 + g_task_return_pointer@Base 2.35.8 + g_task_return_value@Base 2.63.2 + g_task_run_in_thread@Base 2.35.8 + g_task_run_in_thread_sync@Base 2.35.8 + g_task_set_check_cancellable@Base 2.35.8 + g_task_set_name@Base 2.59.0 + g_task_set_priority@Base 2.35.8 + g_task_set_return_on_cancel@Base 2.35.8 + g_task_set_source_tag@Base 2.35.8 + g_task_set_task_data@Base 2.35.8 + g_tcp_connection_get_graceful_disconnect@Base 2.22.0 + g_tcp_connection_get_type@Base 2.22.0 + g_tcp_connection_set_graceful_disconnect@Base 2.22.0 + g_tcp_wrapper_connection_get_base_io_stream@Base 2.28.0 + g_tcp_wrapper_connection_get_type@Base 2.28.0 + g_tcp_wrapper_connection_new@Base 2.28.0 + g_test_dbus_add_service_dir@Base 2.33.14 + g_test_dbus_down@Base 2.33.14 + g_test_dbus_flags_get_type@Base 2.33.14 + g_test_dbus_get_bus_address@Base 2.33.14 + g_test_dbus_get_flags@Base 2.33.14 + g_test_dbus_get_type@Base 2.33.14 + g_test_dbus_new@Base 2.33.14 + g_test_dbus_stop@Base 2.33.14 + g_test_dbus_unset@Base 2.33.14 + g_test_dbus_up@Base 2.33.14 + g_themed_icon_append_name@Base 2.16.0 + g_themed_icon_get_names@Base 2.16.0 + g_themed_icon_get_type@Base 2.16.0 + g_themed_icon_new@Base 2.16.0 + g_themed_icon_new_from_names@Base 2.16.0 + g_themed_icon_new_with_default_fallbacks@Base 2.16.0 + g_themed_icon_prepend_name@Base 2.18.0 + g_threaded_resolver_get_type@Base 2.22.0 + g_threaded_socket_service_get_type@Base 2.22.0 + g_threaded_socket_service_new@Base 2.22.0 + g_tls_authentication_mode_get_type@Base 2.28.0 + g_tls_backend_get_certificate_type@Base 2.28.0 + g_tls_backend_get_client_connection_type@Base 2.28.0 + g_tls_backend_get_default@Base 2.28.0 + g_tls_backend_get_default_database@Base 2.30.0 + g_tls_backend_get_dtls_client_connection_type@Base 2.47.5 + g_tls_backend_get_dtls_server_connection_type@Base 2.47.5 + g_tls_backend_get_file_database_type@Base 2.30.0 + g_tls_backend_get_server_connection_type@Base 2.28.0 + g_tls_backend_get_type@Base 2.28.0 + g_tls_backend_set_default_database@Base 2.59.0 + g_tls_backend_supports_dtls@Base 2.47.5 + g_tls_backend_supports_tls@Base 2.28.0 + g_tls_certificate_flags_get_type@Base 2.28.0 + g_tls_certificate_get_dns_names@Base 2.70.0 + g_tls_certificate_get_ip_addresses@Base 2.70.0 + g_tls_certificate_get_issuer@Base 2.28.0 + g_tls_certificate_get_issuer_name@Base 2.70.0 + g_tls_certificate_get_not_valid_after@Base 2.70.0 + g_tls_certificate_get_not_valid_before@Base 2.70.0 + g_tls_certificate_get_subject_name@Base 2.70.0 + g_tls_certificate_get_type@Base 2.28.0 + g_tls_certificate_is_same@Base 2.33.14 + g_tls_certificate_list_new_from_file@Base 2.28.0 + g_tls_certificate_new_from_file@Base 2.28.0 + g_tls_certificate_new_from_file_with_password@Base 2.71.1 + g_tls_certificate_new_from_files@Base 2.28.0 + g_tls_certificate_new_from_pem@Base 2.28.0 + g_tls_certificate_new_from_pkcs11_uris@Base 2.67.1 + g_tls_certificate_new_from_pkcs12@Base 2.71.1 + g_tls_certificate_request_flags_get_type@Base 2.39.4 + g_tls_certificate_verify@Base 2.28.0 + g_tls_channel_binding_error_get_type@Base 2.65.1 + g_tls_channel_binding_error_quark@Base 2.65.1 + g_tls_channel_binding_type_get_type@Base 2.65.1 + g_tls_client_connection_copy_session_state@Base 2.45.1 + g_tls_client_connection_get_accepted_cas@Base 2.28.0 + g_tls_client_connection_get_server_identity@Base 2.28.0 + g_tls_client_connection_get_type@Base 2.28.0 + g_tls_client_connection_get_use_ssl3@Base 2.28.0 + g_tls_client_connection_get_validation_flags@Base 2.28.0 + g_tls_client_connection_new@Base 2.28.0 + g_tls_client_connection_set_server_identity@Base 2.28.0 + g_tls_client_connection_set_use_ssl3@Base 2.28.0 + g_tls_client_connection_set_validation_flags@Base 2.28.0 + g_tls_connection_emit_accept_certificate@Base 2.28.0 + g_tls_connection_get_certificate@Base 2.28.0 + g_tls_connection_get_channel_binding_data@Base 2.65.1 + g_tls_connection_get_ciphersuite_name@Base 2.70.0 + g_tls_connection_get_database@Base 2.30.0 + g_tls_connection_get_interaction@Base 2.30.0 + g_tls_connection_get_negotiated_protocol@Base 2.59.0 + g_tls_connection_get_peer_certificate@Base 2.28.0 + g_tls_connection_get_peer_certificate_errors@Base 2.28.0 + g_tls_connection_get_protocol_version@Base 2.70.0 + g_tls_connection_get_rehandshake_mode@Base 2.28.0 + g_tls_connection_get_require_close_notify@Base 2.28.0 + g_tls_connection_get_type@Base 2.28.0 + g_tls_connection_get_use_system_certdb@Base 2.28.0 + g_tls_connection_handshake@Base 2.28.0 + g_tls_connection_handshake_async@Base 2.28.0 + g_tls_connection_handshake_finish@Base 2.28.0 + g_tls_connection_set_advertised_protocols@Base 2.59.0 + g_tls_connection_set_certificate@Base 2.28.0 + g_tls_connection_set_database@Base 2.30.0 + g_tls_connection_set_interaction@Base 2.30.0 + g_tls_connection_set_rehandshake_mode@Base 2.28.0 + g_tls_connection_set_require_close_notify@Base 2.28.0 + g_tls_connection_set_use_system_certdb@Base 2.28.0 + g_tls_database_create_certificate_handle@Base 2.30.0 + g_tls_database_get_type@Base 2.30.0 + g_tls_database_lookup_certificate_for_handle@Base 2.30.0 + g_tls_database_lookup_certificate_for_handle_async@Base 2.30.0 + g_tls_database_lookup_certificate_for_handle_finish@Base 2.30.0 + g_tls_database_lookup_certificate_issuer@Base 2.30.0 + g_tls_database_lookup_certificate_issuer_async@Base 2.30.0 + g_tls_database_lookup_certificate_issuer_finish@Base 2.30.0 + g_tls_database_lookup_certificates_issued_by@Base 2.30.0 + g_tls_database_lookup_certificates_issued_by_async@Base 2.30.0 + g_tls_database_lookup_certificates_issued_by_finish@Base 2.30.0 + g_tls_database_lookup_flags_get_type@Base 2.30.0 + g_tls_database_verify_chain@Base 2.30.0 + g_tls_database_verify_chain_async@Base 2.30.0 + g_tls_database_verify_chain_finish@Base 2.30.0 + g_tls_database_verify_flags_get_type@Base 2.30.0 + g_tls_error_get_type@Base 2.28.0 + g_tls_error_quark@Base 2.28.0 + g_tls_file_database_get_type@Base 2.30.0 + g_tls_file_database_new@Base 2.30.0 + g_tls_interaction_ask_password@Base 2.30.0 + g_tls_interaction_ask_password_async@Base 2.30.0 + g_tls_interaction_ask_password_finish@Base 2.30.0 + g_tls_interaction_get_type@Base 2.30.0 + g_tls_interaction_invoke_ask_password@Base 2.30.0 + g_tls_interaction_invoke_request_certificate@Base 2.39.4 + g_tls_interaction_request_certificate@Base 2.39.4 + g_tls_interaction_request_certificate_async@Base 2.39.4 + g_tls_interaction_request_certificate_finish@Base 2.39.4 + g_tls_interaction_result_get_type@Base 2.30.0 + g_tls_password_flags_get_type@Base 2.30.0 + g_tls_password_get_description@Base 2.30.0 + g_tls_password_get_flags@Base 2.30.0 + g_tls_password_get_type@Base 2.30.0 + g_tls_password_get_value@Base 2.30.0 + g_tls_password_get_warning@Base 2.30.0 + g_tls_password_new@Base 2.30.0 + g_tls_password_set_description@Base 2.30.0 + g_tls_password_set_flags@Base 2.30.0 + g_tls_password_set_value@Base 2.30.0 + g_tls_password_set_value_full@Base 2.30.0 + g_tls_password_set_warning@Base 2.30.0 + g_tls_protocol_version_get_type@Base 2.70.0 + g_tls_rehandshake_mode_get_type@Base 2.28.0 + g_tls_server_connection_get_type@Base 2.28.0 + g_tls_server_connection_new@Base 2.28.0 + g_unix_connection_get_type@Base 2.22.0 + g_unix_connection_receive_credentials@Base 2.26.0 + g_unix_connection_receive_credentials_async@Base 2.31.18 + g_unix_connection_receive_credentials_finish@Base 2.31.18 + g_unix_connection_receive_fd@Base 2.22.0 + g_unix_connection_send_credentials@Base 2.26.0 + g_unix_connection_send_credentials_async@Base 2.31.18 + g_unix_connection_send_credentials_finish@Base 2.31.18 + g_unix_connection_send_fd@Base 2.22.0 + g_unix_credentials_message_get_credentials@Base 2.26.0 + g_unix_credentials_message_get_type@Base 2.26.0 + g_unix_credentials_message_is_supported@Base 2.26.0 + g_unix_credentials_message_new@Base 2.26.0 + g_unix_credentials_message_new_with_credentials@Base 2.26.0 + g_unix_fd_list_append@Base 2.24.0 + g_unix_fd_list_get@Base 2.24.0 + g_unix_fd_list_get_length@Base 2.24.0 + g_unix_fd_list_get_type@Base 2.24.0 + g_unix_fd_list_new@Base 2.24.0 + g_unix_fd_list_new_from_array@Base 2.24.0 + g_unix_fd_list_peek_fds@Base 2.24.0 + g_unix_fd_list_steal_fds@Base 2.24.0 + g_unix_fd_message_append_fd@Base 2.22.0 + g_unix_fd_message_get_fd_list@Base 2.24.0 + g_unix_fd_message_get_type@Base 2.22.0 + g_unix_fd_message_new@Base 2.22.0 + g_unix_fd_message_new_with_fd_list@Base 2.24.0 + g_unix_fd_message_steal_fds@Base 2.22.0 + g_unix_input_stream_get_close_fd@Base 2.20.0 + g_unix_input_stream_get_fd@Base 2.20.0 + g_unix_input_stream_get_type@Base 2.16.0 + g_unix_input_stream_new@Base 2.16.0 + g_unix_input_stream_set_close_fd@Base 2.20.0 + g_unix_is_mount_path_system_internal@Base 2.16.0 + g_unix_is_system_device_path@Base 2.55.1 + g_unix_is_system_fs_type@Base 2.55.1 + g_unix_mount_at@Base 2.16.0 + g_unix_mount_compare@Base 2.16.0 + g_unix_mount_copy@Base 2.53.1 + g_unix_mount_entry_get_type@Base 2.53.1 + g_unix_mount_for@Base 2.51.0 + g_unix_mount_free@Base 2.16.0 + g_unix_mount_get_device_path@Base 2.16.0 + g_unix_mount_get_fs_type@Base 2.16.0 + g_unix_mount_get_mount_path@Base 2.16.0 + g_unix_mount_get_options@Base 2.57.2 + g_unix_mount_get_root_path@Base 2.59.0 + g_unix_mount_guess_can_eject@Base 2.16.0 + g_unix_mount_guess_icon@Base 2.16.0 + g_unix_mount_guess_name@Base 2.16.0 + g_unix_mount_guess_should_display@Base 2.16.0 + g_unix_mount_guess_symbolic_icon@Base 2.33.14 + g_unix_mount_is_readonly@Base 2.16.0 + g_unix_mount_is_system_internal@Base 2.16.0 + g_unix_mount_monitor_get@Base 2.43.92 + g_unix_mount_monitor_get_type@Base 2.16.0 + g_unix_mount_monitor_new@Base 2.16.0 + g_unix_mount_monitor_set_rate_limit@Base 2.18.0 + g_unix_mount_point_at@Base 2.65.1 + g_unix_mount_point_compare@Base 2.16.0 + g_unix_mount_point_copy@Base 2.53.1 + g_unix_mount_point_free@Base 2.16.0 + g_unix_mount_point_get_device_path@Base 2.16.0 + g_unix_mount_point_get_fs_type@Base 2.16.0 + g_unix_mount_point_get_mount_path@Base 2.16.0 + g_unix_mount_point_get_options@Base 2.31.8 + g_unix_mount_point_get_type@Base 2.53.1 + g_unix_mount_point_guess_can_eject@Base 2.16.0 + g_unix_mount_point_guess_icon@Base 2.16.0 + g_unix_mount_point_guess_name@Base 2.16.0 + g_unix_mount_point_guess_symbolic_icon@Base 2.33.14 + g_unix_mount_point_is_loopback@Base 2.16.0 + g_unix_mount_point_is_readonly@Base 2.16.0 + g_unix_mount_point_is_user_mountable@Base 2.16.0 + g_unix_mount_points_changed_since@Base 2.16.0 + g_unix_mount_points_get@Base 2.16.0 + g_unix_mounts_changed_since@Base 2.16.0 + g_unix_mounts_get@Base 2.16.0 + g_unix_output_stream_get_close_fd@Base 2.20.0 + g_unix_output_stream_get_fd@Base 2.20.0 + g_unix_output_stream_get_type@Base 2.16.0 + g_unix_output_stream_new@Base 2.16.0 + g_unix_output_stream_set_close_fd@Base 2.20.0 + g_unix_socket_address_abstract_names_supported@Base 2.22.0 + g_unix_socket_address_get_address_type@Base 2.26.0 + g_unix_socket_address_get_is_abstract@Base 2.22.0 + g_unix_socket_address_get_path@Base 2.22.0 + g_unix_socket_address_get_path_len@Base 2.22.0 + g_unix_socket_address_get_type@Base 2.22.0 + g_unix_socket_address_new@Base 2.22.0 + g_unix_socket_address_new_abstract@Base 2.22.0 + g_unix_socket_address_new_with_type@Base 2.26.0 + g_unix_socket_address_type_get_type@Base 2.26.0 + g_vfs_get_default@Base 2.16.0 + g_vfs_get_file_for_path@Base 2.16.0 + g_vfs_get_file_for_uri@Base 2.16.0 + g_vfs_get_local@Base 2.16.0 + g_vfs_get_supported_uri_schemes@Base 2.16.0 + g_vfs_get_type@Base 2.16.0 + g_vfs_is_active@Base 2.16.0 + g_vfs_parse_name@Base 2.16.0 + g_vfs_register_uri_scheme@Base 2.49.3 + g_vfs_unregister_uri_scheme@Base 2.49.3 + g_volume_can_eject@Base 2.16.0 + g_volume_can_mount@Base 2.16.0 + g_volume_eject@Base 2.16.0 + g_volume_eject_finish@Base 2.16.0 + g_volume_eject_with_operation@Base 2.22.0 + g_volume_eject_with_operation_finish@Base 2.22.0 + g_volume_enumerate_identifiers@Base 2.16.0 + g_volume_get_activation_root@Base 2.18.0 + g_volume_get_drive@Base 2.16.0 + g_volume_get_icon@Base 2.16.0 + g_volume_get_identifier@Base 2.16.0 + g_volume_get_mount@Base 2.16.0 + g_volume_get_name@Base 2.16.0 + g_volume_get_sort_key@Base 2.31.8 + g_volume_get_symbolic_icon@Base 2.33.14 + g_volume_get_type@Base 2.16.0 + g_volume_get_uuid@Base 2.16.0 + g_volume_monitor_adopt_orphan_mount@Base 2.16.0 + g_volume_monitor_get@Base 2.16.0 + g_volume_monitor_get_connected_drives@Base 2.16.0 + g_volume_monitor_get_mount_for_uuid@Base 2.16.0 + g_volume_monitor_get_mounts@Base 2.16.0 + g_volume_monitor_get_type@Base 2.16.0 + g_volume_monitor_get_volume_for_uuid@Base 2.16.0 + g_volume_monitor_get_volumes@Base 2.16.0 + g_volume_mount@Base 2.16.0 + g_volume_mount_finish@Base 2.16.0 + g_volume_should_automount@Base 2.16.0 + g_zlib_compressor_format_get_type@Base 2.24.0 + g_zlib_compressor_get_file_info@Base 2.26.0 + g_zlib_compressor_get_type@Base 2.24.0 + g_zlib_compressor_new@Base 2.24.0 + g_zlib_compressor_set_file_info@Base 2.26.0 + g_zlib_decompressor_get_file_info@Base 2.26.0 + g_zlib_decompressor_get_type@Base 2.24.0 + g_zlib_decompressor_new@Base 2.24.0 +libglib-2.0.so.0 libglib2.0-0 #MINVER# +* Build-Depends-Package: libglib2.0-dev + __glib_assert_msg@Base 2.37.6 + g_access@Base 2.12.0 + g_aligned_alloc@Base 2.71.2 + g_aligned_alloc0@Base 2.71.2 + g_aligned_free@Base 2.71.2 + g_allocator_free@Base 2.12.0 + g_allocator_new@Base 2.12.0 + g_array_append_vals@Base 2.12.0 + g_array_binary_search@Base 2.61.2 + g_array_copy@Base 2.61.2 + g_array_free@Base 2.12.0 + g_array_get_element_size@Base 2.22.0 + g_array_insert_vals@Base 2.12.0 + g_array_new@Base 2.12.0 + g_array_prepend_vals@Base 2.12.0 + g_array_ref@Base 2.22.0 + g_array_remove_index@Base 2.12.0 + g_array_remove_index_fast@Base 2.12.0 + g_array_remove_range@Base 2.12.0 + g_array_set_clear_func@Base 2.31.18 + g_array_set_size@Base 2.12.0 + g_array_sized_new@Base 2.12.0 + g_array_sort@Base 2.12.0 + g_array_sort_with_data@Base 2.12.0 + g_array_steal@Base 2.63.1 + g_array_unref@Base 2.22.0 + g_ascii_digit_value@Base 2.12.0 + g_ascii_dtostr@Base 2.12.0 + g_ascii_formatd@Base 2.12.0 + g_ascii_strcasecmp@Base 2.12.0 + g_ascii_strdown@Base 2.12.0 + g_ascii_string_to_signed@Base 2.53.2 + g_ascii_string_to_unsigned@Base 2.53.2 + g_ascii_strncasecmp@Base 2.12.0 + g_ascii_strtod@Base 2.12.0 + g_ascii_strtoll@Base 2.12.0 + g_ascii_strtoull@Base 2.12.0 + g_ascii_strup@Base 2.12.0 + g_ascii_table@Base 2.12.0 + g_ascii_tolower@Base 2.12.0 + g_ascii_toupper@Base 2.12.0 + g_ascii_xdigit_value@Base 2.12.0 + g_assert_warning@Base 2.12.0 + g_assertion_message@Base 2.16.0 + g_assertion_message_cmpnum@Base 2.16.0 + g_assertion_message_cmpstr@Base 2.16.0 + g_assertion_message_cmpstrv@Base 2.67.1 + g_assertion_message_error@Base 2.20.0 + g_assertion_message_expr@Base 2.16.0 + g_async_queue_length@Base 2.12.0 + g_async_queue_length_unlocked@Base 2.12.0 + g_async_queue_lock@Base 2.12.0 + g_async_queue_new@Base 2.12.0 + g_async_queue_new_full@Base 2.16.0 + g_async_queue_pop@Base 2.12.0 + g_async_queue_pop_unlocked@Base 2.12.0 + g_async_queue_push@Base 2.12.0 + g_async_queue_push_front@Base 2.45.4 + g_async_queue_push_front_unlocked@Base 2.45.4 + g_async_queue_push_sorted@Base 2.12.0 + g_async_queue_push_sorted_unlocked@Base 2.12.0 + g_async_queue_push_unlocked@Base 2.12.0 + g_async_queue_ref@Base 2.12.0 + g_async_queue_ref_unlocked@Base 2.12.0 + g_async_queue_remove@Base 2.45.4 + g_async_queue_remove_unlocked@Base 2.45.4 + g_async_queue_sort@Base 2.12.0 + g_async_queue_sort_unlocked@Base 2.12.0 + g_async_queue_timed_pop@Base 2.12.0 + g_async_queue_timed_pop_unlocked@Base 2.12.0 + g_async_queue_timeout_pop@Base 2.31.18 + g_async_queue_timeout_pop_unlocked@Base 2.31.18 + g_async_queue_try_pop@Base 2.12.0 + g_async_queue_try_pop_unlocked@Base 2.12.0 + g_async_queue_unlock@Base 2.12.0 + g_async_queue_unref@Base 2.12.0 + g_async_queue_unref_and_unlock@Base 2.12.0 + g_atexit@Base 2.12.0 + g_atomic_int_add@Base 2.12.0 + g_atomic_int_and@Base 2.30.0 + g_atomic_int_compare_and_exchange@Base 2.12.0 + g_atomic_int_dec_and_test@Base 2.30.0 + g_atomic_int_exchange_and_add@Base 2.12.0 + g_atomic_int_get@Base 2.12.0 + g_atomic_int_inc@Base 2.30.0 + g_atomic_int_or@Base 2.30.0 + g_atomic_int_set@Base 2.12.0 + g_atomic_int_xor@Base 2.30.0 + g_atomic_pointer_add@Base 2.30.0 + g_atomic_pointer_and@Base 2.30.0 + g_atomic_pointer_compare_and_exchange@Base 2.12.0 + g_atomic_pointer_get@Base 2.12.0 + g_atomic_pointer_or@Base 2.30.0 + g_atomic_pointer_set@Base 2.12.0 + g_atomic_pointer_xor@Base 2.30.0 + g_atomic_rc_box_acquire@Base 2.57.2 + g_atomic_rc_box_alloc@Base 2.57.2 + g_atomic_rc_box_alloc0@Base 2.57.2 + g_atomic_rc_box_dup@Base 2.57.2 + g_atomic_rc_box_get_size@Base 2.57.2 + g_atomic_rc_box_release@Base 2.57.2 + g_atomic_rc_box_release_full@Base 2.57.2 + g_atomic_ref_count_compare@Base 2.57.2 + g_atomic_ref_count_dec@Base 2.57.2 + g_atomic_ref_count_inc@Base 2.57.2 + g_atomic_ref_count_init@Base 2.57.2 + g_base64_decode@Base 2.12.0 + g_base64_decode_inplace@Base 2.20.0 + g_base64_decode_step@Base 2.12.0 + g_base64_encode@Base 2.12.0 + g_base64_encode_close@Base 2.12.0 + g_base64_encode_step@Base 2.12.0 + g_basename@Base 2.12.0 + g_bit_lock@Base 2.24.0 + g_bit_nth_lsf@Base 2.12.0 + g_bit_nth_msf@Base 2.12.0 + g_bit_storage@Base 2.12.0 + g_bit_trylock@Base 2.24.0 + g_bit_unlock@Base 2.24.0 + g_blow_chunks@Base 2.12.0 + g_bookmark_file_add_application@Base 2.12.0 + g_bookmark_file_add_group@Base 2.12.0 + g_bookmark_file_error_quark@Base 2.12.0 + g_bookmark_file_free@Base 2.12.0 + g_bookmark_file_get_added@Base 2.12.0 + g_bookmark_file_get_added_date_time@Base 2.65.1 + g_bookmark_file_get_app_info@Base 2.12.0 + g_bookmark_file_get_application_info@Base 2.65.1 + g_bookmark_file_get_applications@Base 2.12.0 + g_bookmark_file_get_description@Base 2.12.0 + g_bookmark_file_get_groups@Base 2.12.0 + g_bookmark_file_get_icon@Base 2.12.0 + g_bookmark_file_get_is_private@Base 2.12.0 + g_bookmark_file_get_mime_type@Base 2.12.0 + g_bookmark_file_get_modified@Base 2.12.0 + g_bookmark_file_get_modified_date_time@Base 2.65.1 + g_bookmark_file_get_size@Base 2.12.0 + g_bookmark_file_get_title@Base 2.12.0 + g_bookmark_file_get_uris@Base 2.12.0 + g_bookmark_file_get_visited@Base 2.12.0 + g_bookmark_file_get_visited_date_time@Base 2.65.1 + g_bookmark_file_has_application@Base 2.12.0 + g_bookmark_file_has_group@Base 2.12.0 + g_bookmark_file_has_item@Base 2.12.0 + g_bookmark_file_load_from_data@Base 2.12.0 + g_bookmark_file_load_from_data_dirs@Base 2.12.0 + g_bookmark_file_load_from_file@Base 2.12.0 + g_bookmark_file_move_item@Base 2.12.0 + g_bookmark_file_new@Base 2.12.0 + g_bookmark_file_remove_application@Base 2.12.0 + g_bookmark_file_remove_group@Base 2.12.0 + g_bookmark_file_remove_item@Base 2.12.0 + g_bookmark_file_set_added@Base 2.12.0 + g_bookmark_file_set_added_date_time@Base 2.65.1 + g_bookmark_file_set_app_info@Base 2.12.0 + g_bookmark_file_set_application_info@Base 2.65.1 + g_bookmark_file_set_description@Base 2.12.0 + g_bookmark_file_set_groups@Base 2.12.0 + g_bookmark_file_set_icon@Base 2.12.0 + g_bookmark_file_set_is_private@Base 2.12.0 + g_bookmark_file_set_mime_type@Base 2.12.0 + g_bookmark_file_set_modified@Base 2.12.0 + g_bookmark_file_set_modified_date_time@Base 2.65.1 + g_bookmark_file_set_title@Base 2.12.0 + g_bookmark_file_set_visited@Base 2.12.0 + g_bookmark_file_set_visited_date_time@Base 2.65.1 + g_bookmark_file_to_data@Base 2.12.0 + g_bookmark_file_to_file@Base 2.12.0 + g_build_filename@Base 2.12.0 + g_build_filename_valist@Base 2.55.1 + g_build_filenamev@Base 2.12.0 + g_build_path@Base 2.12.0 + g_build_pathv@Base 2.12.0 + g_byte_array_append@Base 2.12.0 + g_byte_array_free@Base 2.12.0 + g_byte_array_free_to_bytes@Base 2.31.8 + g_byte_array_new@Base 2.12.0 + g_byte_array_new_take@Base 2.31.8 + g_byte_array_prepend@Base 2.12.0 + g_byte_array_ref@Base 2.22.0 + g_byte_array_remove_index@Base 2.12.0 + g_byte_array_remove_index_fast@Base 2.12.0 + g_byte_array_remove_range@Base 2.12.0 + g_byte_array_set_size@Base 2.12.0 + g_byte_array_sized_new@Base 2.12.0 + g_byte_array_sort@Base 2.12.0 + g_byte_array_sort_with_data@Base 2.12.0 + g_byte_array_steal@Base 2.63.1 + g_byte_array_unref@Base 2.22.0 + g_bytes_compare@Base 2.31.8 + g_bytes_equal@Base 2.31.8 + g_bytes_get_data@Base 2.31.8 + g_bytes_get_region@Base 2.70.0 + g_bytes_get_size@Base 2.31.8 + g_bytes_hash@Base 2.31.8 + g_bytes_new@Base 2.31.8 + g_bytes_new_from_bytes@Base 2.31.8 + g_bytes_new_static@Base 2.31.8 + g_bytes_new_take@Base 2.31.8 + g_bytes_new_with_free_func@Base 2.31.8 + g_bytes_ref@Base 2.31.8 + g_bytes_unref@Base 2.31.8 + g_bytes_unref_to_array@Base 2.31.8 + g_bytes_unref_to_data@Base 2.31.8 + g_cache_destroy@Base 2.12.0 + g_cache_insert@Base 2.12.0 + g_cache_key_foreach@Base 2.12.0 + g_cache_new@Base 2.12.0 + g_cache_remove@Base 2.12.0 + g_cache_value_foreach@Base 2.12.0 + g_canonicalize_filename@Base 2.57.2 + g_chdir@Base 2.12.0 + g_checksum_copy@Base 2.16.0 + g_checksum_free@Base 2.16.0 + g_checksum_get_digest@Base 2.16.0 + g_checksum_get_string@Base 2.16.0 + g_checksum_new@Base 2.16.0 + g_checksum_reset@Base 2.18.0 + g_checksum_type_get_length@Base 2.16.0 + g_checksum_update@Base 2.16.0 + g_child_watch_add@Base 2.12.0 + g_child_watch_add_full@Base 2.12.0 + g_child_watch_funcs@Base 2.12.0 + g_child_watch_source_new@Base 2.12.0 + g_chmod@Base 2.12.0 + g_clear_error@Base 2.12.0 + g_clear_handle_id@Base 2.55.1 + g_clear_list@Base 2.63.3 + g_clear_pointer@Base 2.33.14 + g_clear_slist@Base 2.63.3 + g_close@Base 2.35.8 + g_completion_add_items@Base 2.12.0 + g_completion_clear_items@Base 2.12.0 + g_completion_complete@Base 2.12.0 + g_completion_complete_utf8@Base 2.12.0 + g_completion_free@Base 2.12.0 + g_completion_new@Base 2.12.0 + g_completion_remove_items@Base 2.12.0 + g_completion_set_compare@Base 2.12.0 + g_compute_checksum_for_bytes@Base 2.33.14 + g_compute_checksum_for_data@Base 2.16.0 + g_compute_checksum_for_string@Base 2.16.0 + g_compute_hmac_for_bytes@Base 2.49.3 + g_compute_hmac_for_data@Base 2.30.0 + g_compute_hmac_for_string@Base 2.30.0 + g_cond_broadcast@Base 2.31.8 + g_cond_clear@Base 2.31.8 + g_cond_free@Base 2.31.8 + g_cond_init@Base 2.31.8 + g_cond_new@Base 2.31.8 + g_cond_signal@Base 2.31.8 + g_cond_timed_wait@Base 2.31.8 + g_cond_wait@Base 2.31.8 + g_cond_wait_until@Base 2.31.8 + g_convert@Base 2.12.0 + g_convert_error_quark@Base 2.12.0 + g_convert_with_fallback@Base 2.12.0 + g_convert_with_iconv@Base 2.12.0 + g_creat@Base 2.12.0 + g_datalist_clear@Base 2.12.0 + g_datalist_foreach@Base 2.12.0 + g_datalist_get_data@Base 2.30.0 + g_datalist_get_flags@Base 2.12.0 + g_datalist_id_dup_data@Base 2.33.14 + g_datalist_id_get_data@Base 2.12.0 + g_datalist_id_remove_no_notify@Base 2.12.0 + g_datalist_id_replace_data@Base 2.33.14 + g_datalist_id_set_data_full@Base 2.12.0 + g_datalist_init@Base 2.12.0 + g_datalist_set_flags@Base 2.12.0 + g_datalist_unset_flags@Base 2.12.0 + g_dataset_destroy@Base 2.12.0 + g_dataset_foreach@Base 2.12.0 + g_dataset_id_get_data@Base 2.12.0 + g_dataset_id_remove_no_notify@Base 2.12.0 + g_dataset_id_set_data_full@Base 2.12.0 + g_date_add_days@Base 2.12.0 + g_date_add_months@Base 2.12.0 + g_date_add_years@Base 2.12.0 + g_date_clamp@Base 2.12.0 + g_date_clear@Base 2.12.0 + g_date_compare@Base 2.12.0 + g_date_copy@Base 2.55.1 + g_date_days_between@Base 2.12.0 + g_date_free@Base 2.12.0 + g_date_get_day@Base 2.12.0 + g_date_get_day_of_year@Base 2.12.0 + g_date_get_days_in_month@Base 2.12.0 + g_date_get_iso8601_week_of_year@Base 2.12.0 + g_date_get_julian@Base 2.12.0 + g_date_get_monday_week_of_year@Base 2.12.0 + g_date_get_monday_weeks_in_year@Base 2.12.0 + g_date_get_month@Base 2.12.0 + g_date_get_sunday_week_of_year@Base 2.12.0 + g_date_get_sunday_weeks_in_year@Base 2.12.0 + g_date_get_weekday@Base 2.12.0 + g_date_get_year@Base 2.12.0 + g_date_is_first_of_month@Base 2.12.0 + g_date_is_last_of_month@Base 2.12.0 + g_date_is_leap_year@Base 2.12.0 + g_date_new@Base 2.12.0 + g_date_new_dmy@Base 2.12.0 + g_date_new_julian@Base 2.12.0 + g_date_order@Base 2.12.0 + g_date_set_day@Base 2.12.0 + g_date_set_dmy@Base 2.12.0 + g_date_set_julian@Base 2.12.0 + g_date_set_month@Base 2.12.0 + g_date_set_parse@Base 2.12.0 + g_date_set_time@Base 2.12.0 + g_date_set_time_t@Base 2.12.0 + g_date_set_time_val@Base 2.12.0 + g_date_set_year@Base 2.12.0 + g_date_strftime@Base 2.12.0 + g_date_subtract_days@Base 2.12.0 + g_date_subtract_months@Base 2.12.0 + g_date_subtract_years@Base 2.12.0 + g_date_time_add@Base 2.26.0 + g_date_time_add_days@Base 2.26.0 + g_date_time_add_full@Base 2.26.0 + g_date_time_add_hours@Base 2.26.0 + g_date_time_add_minutes@Base 2.26.0 + g_date_time_add_months@Base 2.26.0 + g_date_time_add_seconds@Base 2.26.0 + g_date_time_add_weeks@Base 2.26.0 + g_date_time_add_years@Base 2.26.0 + g_date_time_compare@Base 2.26.0 + g_date_time_difference@Base 2.26.0 + g_date_time_equal@Base 2.26.0 + g_date_time_format@Base 2.26.0 + g_date_time_format_iso8601@Base 2.61.2 + g_date_time_get_day_of_month@Base 2.26.0 + g_date_time_get_day_of_week@Base 2.26.0 + g_date_time_get_day_of_year@Base 2.26.0 + g_date_time_get_hour@Base 2.26.0 + g_date_time_get_microsecond@Base 2.26.0 + g_date_time_get_minute@Base 2.26.0 + g_date_time_get_month@Base 2.26.0 + g_date_time_get_second@Base 2.26.0 + g_date_time_get_seconds@Base 2.26.0 + g_date_time_get_timezone@Base 2.57.2 + g_date_time_get_timezone_abbreviation@Base 2.26.0 + g_date_time_get_utc_offset@Base 2.26.0 + g_date_time_get_week_numbering_year@Base 2.28.0 + g_date_time_get_week_of_year@Base 2.26.0 + g_date_time_get_year@Base 2.26.0 + g_date_time_get_ymd@Base 2.26.0 + g_date_time_hash@Base 2.26.0 + g_date_time_is_daylight_savings@Base 2.26.0 + g_date_time_new@Base 2.26.0 + g_date_time_new_from_iso8601@Base 2.55.1 + g_date_time_new_from_timeval_local@Base 2.26.0 + g_date_time_new_from_timeval_utc@Base 2.26.0 + g_date_time_new_from_unix_local@Base 2.26.0 + g_date_time_new_from_unix_utc@Base 2.26.0 + g_date_time_new_local@Base 2.26.0 + g_date_time_new_now@Base 2.26.0 + g_date_time_new_now_local@Base 2.26.0 + g_date_time_new_now_utc@Base 2.26.0 + g_date_time_new_utc@Base 2.26.0 + g_date_time_ref@Base 2.26.0 + g_date_time_to_local@Base 2.26.0 + g_date_time_to_timeval@Base 2.26.0 + g_date_time_to_timezone@Base 2.26.0 + g_date_time_to_unix@Base 2.26.0 + g_date_time_to_utc@Base 2.26.0 + g_date_time_unref@Base 2.26.0 + g_date_to_struct_tm@Base 2.12.0 + g_date_valid@Base 2.12.0 + g_date_valid_day@Base 2.12.0 + g_date_valid_dmy@Base 2.12.0 + g_date_valid_julian@Base 2.12.0 + g_date_valid_month@Base 2.12.0 + g_date_valid_weekday@Base 2.12.0 + g_date_valid_year@Base 2.12.0 + g_dcgettext@Base 2.26.0 + g_dgettext@Base 2.18.0 + g_dir_close@Base 2.12.0 + g_dir_make_tmp@Base 2.30.0 + g_dir_open@Base 2.12.0 + g_dir_read_name@Base 2.12.0 + g_dir_rewind@Base 2.12.0 + g_direct_equal@Base 2.12.0 + g_direct_hash@Base 2.12.0 + g_dngettext@Base 2.18.0 + g_double_equal@Base 2.22.0 + g_double_hash@Base 2.22.0 + g_dpgettext2@Base 2.18.0 + g_dpgettext@Base 2.16.0 + g_environ_getenv@Base 2.31.8 + g_environ_setenv@Base 2.31.8 + g_environ_unsetenv@Base 2.31.8 + g_error_copy@Base 2.12.0 + g_error_domain_register@Base 2.67.2 + g_error_domain_register_static@Base 2.67.2 + g_error_free@Base 2.12.0 + g_error_matches@Base 2.12.0 + g_error_new@Base 2.12.0 + g_error_new_literal@Base 2.12.0 + g_error_new_valist@Base 2.22.0 + g_file_error_from_errno@Base 2.12.0 + g_file_error_quark@Base 2.12.0 + g_file_get_contents@Base 2.12.0 + g_file_open_tmp@Base 2.12.0 + g_file_read_link@Base 2.12.0 + g_file_set_contents@Base 2.12.0 + g_file_set_contents_full@Base 2.65.1 + g_file_test@Base 2.12.0 + g_filename_display_basename@Base 2.12.0 + g_filename_display_name@Base 2.12.0 + g_filename_from_uri@Base 2.12.0 + g_filename_from_utf8@Base 2.12.0 + g_filename_to_uri@Base 2.12.0 + g_filename_to_utf8@Base 2.12.0 + g_find_program_in_path@Base 2.12.0 + g_fopen@Base 2.12.0 + g_format_size@Base 2.30.0 + g_format_size_for_display@Base 2.16.0 + g_format_size_full@Base 2.30.0 + g_fprintf@Base 2.12.0 + g_free@Base 2.12.0 + g_freopen@Base 2.12.0 + g_fsync@Base 2.63.1 + g_get_application_name@Base 2.12.0 + g_get_charset@Base 2.12.0 + g_get_codeset@Base 2.12.0 + g_get_console_charset@Base 2.61.2 + g_get_current_dir@Base 2.12.0 + g_get_current_time@Base 2.12.0 + g_get_environ@Base 2.28.0 + g_get_filename_charsets@Base 2.12.0 + g_get_home_dir@Base 2.35.9 + g_get_host_name@Base 2.12.0 + g_get_language_names@Base 2.12.0 + g_get_language_names_with_category@Base 2.57.2 + g_get_locale_variants@Base 2.28.0 + g_get_monotonic_time@Base 2.28.0 + g_get_num_processors@Base 2.35.8 + g_get_os_info@Base 2.63.1 + g_get_prgname@Base 2.12.0 + g_get_real_name@Base 2.12.0 + g_get_real_time@Base 2.28.0 + g_get_system_config_dirs@Base 2.12.0 + g_get_system_data_dirs@Base 2.12.0 + g_get_tmp_dir@Base 2.12.0 + g_get_user_cache_dir@Base 2.12.0 + g_get_user_config_dir@Base 2.12.0 + g_get_user_data_dir@Base 2.12.0 + g_get_user_name@Base 2.12.0 + g_get_user_runtime_dir@Base 2.28.0 + g_get_user_special_dir@Base 2.14.0 + g_get_user_state_dir@Base 2.71.1 + g_getenv@Base 2.12.0 + g_hash_table_add@Base 2.31.8 + g_hash_table_contains@Base 2.31.8 + g_hash_table_destroy@Base 2.12.0 + g_hash_table_find@Base 2.12.0 + g_hash_table_foreach@Base 2.12.0 + g_hash_table_foreach_remove@Base 2.12.0 + g_hash_table_foreach_steal@Base 2.12.0 + g_hash_table_get_keys@Base 2.14.0 + g_hash_table_get_keys_as_array@Base 2.39.4 + g_hash_table_get_values@Base 2.14.0 + g_hash_table_insert@Base 2.12.0 + g_hash_table_iter_get_hash_table@Base 2.16.0 + g_hash_table_iter_init@Base 2.16.0 + g_hash_table_iter_next@Base 2.16.0 + g_hash_table_iter_remove@Base 2.16.0 + g_hash_table_iter_replace@Base 2.30.0 + g_hash_table_iter_steal@Base 2.16.0 + g_hash_table_lookup@Base 2.12.0 + g_hash_table_lookup_extended@Base 2.12.0 + g_hash_table_new@Base 2.12.0 + g_hash_table_new_full@Base 2.12.0 + g_hash_table_new_similar@Base 2.71.1 + g_hash_table_ref@Base 2.12.0 + g_hash_table_remove@Base 2.12.0 + g_hash_table_remove_all@Base 2.12.0 + g_hash_table_replace@Base 2.12.0 + g_hash_table_size@Base 2.12.0 + g_hash_table_steal@Base 2.12.0 + g_hash_table_steal_all@Base 2.12.0 + g_hash_table_steal_extended@Base 2.57.2 + g_hash_table_unref@Base 2.12.0 + g_hmac_copy@Base 2.30.0 + g_hmac_get_digest@Base 2.30.0 + g_hmac_get_string@Base 2.30.0 + g_hmac_new@Base 2.30.0 + g_hmac_ref@Base 2.30.0 + g_hmac_unref@Base 2.30.0 + g_hmac_update@Base 2.30.0 + g_hook_alloc@Base 2.12.0 + g_hook_compare_ids@Base 2.12.0 + g_hook_destroy@Base 2.12.0 + g_hook_destroy_link@Base 2.12.0 + g_hook_find@Base 2.12.0 + g_hook_find_data@Base 2.12.0 + g_hook_find_func@Base 2.12.0 + g_hook_find_func_data@Base 2.12.0 + g_hook_first_valid@Base 2.12.0 + g_hook_free@Base 2.12.0 + g_hook_get@Base 2.12.0 + g_hook_insert_before@Base 2.12.0 + g_hook_insert_sorted@Base 2.12.0 + g_hook_list_clear@Base 2.12.0 + g_hook_list_init@Base 2.12.0 + g_hook_list_invoke@Base 2.12.0 + g_hook_list_invoke_check@Base 2.12.0 + g_hook_list_marshal@Base 2.12.0 + g_hook_list_marshal_check@Base 2.12.0 + g_hook_next_valid@Base 2.12.0 + g_hook_prepend@Base 2.12.0 + g_hook_ref@Base 2.12.0 + g_hook_unref@Base 2.12.0 + g_hostname_is_ascii_encoded@Base 2.22.0 + g_hostname_is_ip_address@Base 2.22.0 + g_hostname_is_non_ascii@Base 2.22.0 + g_hostname_to_ascii@Base 2.22.0 + g_hostname_to_unicode@Base 2.22.0 + g_iconv@Base 2.12.0 + g_iconv_close@Base 2.12.0 + g_iconv_open@Base 2.12.0 + g_idle_add@Base 2.12.0 + g_idle_add_full@Base 2.12.0 + g_idle_funcs@Base 2.12.0 + g_idle_remove_by_data@Base 2.12.0 + g_idle_source_new@Base 2.12.0 + g_int64_equal@Base 2.22.0 + g_int64_hash@Base 2.22.0 + g_int_equal@Base 2.12.0 + g_int_hash@Base 2.12.0 + g_intern_static_string@Base 2.12.0 + g_intern_string@Base 2.12.0 + g_io_add_watch@Base 2.12.0 + g_io_add_watch_full@Base 2.12.0 + g_io_channel_close@Base 2.12.0 + g_io_channel_error_from_errno@Base 2.12.0 + g_io_channel_error_quark@Base 2.12.0 + g_io_channel_flush@Base 2.12.0 + g_io_channel_get_buffer_condition@Base 2.12.0 + g_io_channel_get_buffer_size@Base 2.12.0 + g_io_channel_get_buffered@Base 2.12.0 + g_io_channel_get_close_on_unref@Base 2.12.0 + g_io_channel_get_encoding@Base 2.12.0 + g_io_channel_get_flags@Base 2.12.0 + g_io_channel_get_line_term@Base 2.12.0 + g_io_channel_init@Base 2.12.0 + g_io_channel_new_file@Base 2.12.0 + g_io_channel_read@Base 2.12.0 + g_io_channel_read_chars@Base 2.12.0 + g_io_channel_read_line@Base 2.12.0 + g_io_channel_read_line_string@Base 2.12.0 + g_io_channel_read_to_end@Base 2.12.0 + g_io_channel_read_unichar@Base 2.12.0 + g_io_channel_ref@Base 2.12.0 + g_io_channel_seek@Base 2.12.0 + g_io_channel_seek_position@Base 2.12.0 + g_io_channel_set_buffer_size@Base 2.12.0 + g_io_channel_set_buffered@Base 2.12.0 + g_io_channel_set_close_on_unref@Base 2.12.0 + g_io_channel_set_encoding@Base 2.12.0 + g_io_channel_set_flags@Base 2.12.0 + g_io_channel_set_line_term@Base 2.12.0 + g_io_channel_shutdown@Base 2.12.0 + g_io_channel_unix_get_fd@Base 2.12.0 + g_io_channel_unix_new@Base 2.12.0 + g_io_channel_unref@Base 2.12.0 + g_io_channel_write@Base 2.12.0 + g_io_channel_write_chars@Base 2.12.0 + g_io_channel_write_unichar@Base 2.12.0 + g_io_create_watch@Base 2.12.0 + g_io_watch_funcs@Base 2.12.0 + g_key_file_error_quark@Base 2.12.0 + g_key_file_free@Base 2.12.0 + g_key_file_get_boolean@Base 2.12.0 + g_key_file_get_boolean_list@Base 2.12.0 + g_key_file_get_comment@Base 2.12.0 + g_key_file_get_double@Base 2.12.0 + g_key_file_get_double_list@Base 2.12.0 + g_key_file_get_groups@Base 2.12.0 + g_key_file_get_int64@Base 2.26.0 + g_key_file_get_integer@Base 2.12.0 + g_key_file_get_integer_list@Base 2.12.0 + g_key_file_get_keys@Base 2.12.0 + g_key_file_get_locale_for_key@Base 2.55.2 + g_key_file_get_locale_string@Base 2.12.0 + g_key_file_get_locale_string_list@Base 2.12.0 + g_key_file_get_start_group@Base 2.12.0 + g_key_file_get_string@Base 2.12.0 + g_key_file_get_string_list@Base 2.12.0 + g_key_file_get_uint64@Base 2.26.0 + g_key_file_get_value@Base 2.12.0 + g_key_file_has_group@Base 2.12.0 + g_key_file_has_key@Base 2.12.0 + g_key_file_load_from_bytes@Base 2.49.3 + g_key_file_load_from_data@Base 2.12.0 + g_key_file_load_from_data_dirs@Base 2.12.0 + g_key_file_load_from_dirs@Base 2.14.0 + g_key_file_load_from_file@Base 2.12.0 + g_key_file_new@Base 2.12.0 + g_key_file_ref@Base 2.31.8 + g_key_file_remove_comment@Base 2.12.0 + g_key_file_remove_group@Base 2.12.0 + g_key_file_remove_key@Base 2.12.0 + g_key_file_save_to_file@Base 2.39.4 + g_key_file_set_boolean@Base 2.12.0 + g_key_file_set_boolean_list@Base 2.12.0 + g_key_file_set_comment@Base 2.12.0 + g_key_file_set_double@Base 2.12.0 + g_key_file_set_double_list@Base 2.12.0 + g_key_file_set_int64@Base 2.26.0 + g_key_file_set_integer@Base 2.12.0 + g_key_file_set_integer_list@Base 2.12.0 + g_key_file_set_list_separator@Base 2.12.0 + g_key_file_set_locale_string@Base 2.12.0 + g_key_file_set_locale_string_list@Base 2.12.0 + g_key_file_set_string@Base 2.12.0 + g_key_file_set_string_list@Base 2.12.0 + g_key_file_set_uint64@Base 2.26.0 + g_key_file_set_value@Base 2.12.0 + g_key_file_to_data@Base 2.12.0 + g_key_file_unref@Base 2.31.8 + g_list_alloc@Base 2.12.0 + g_list_append@Base 2.12.0 + g_list_concat@Base 2.12.0 + g_list_copy@Base 2.12.0 + g_list_copy_deep@Base 2.33.14 + g_list_delete_link@Base 2.12.0 + g_list_find@Base 2.12.0 + g_list_find_custom@Base 2.12.0 + g_list_first@Base 2.12.0 + g_list_foreach@Base 2.12.0 + g_list_free@Base 2.12.0 + g_list_free_1@Base 2.12.0 + g_list_free_full@Base 2.28.0 + g_list_index@Base 2.12.0 + g_list_insert@Base 2.12.0 + g_list_insert_before@Base 2.12.0 + g_list_insert_before_link@Base 2.61.1 + g_list_insert_sorted@Base 2.12.0 + g_list_insert_sorted_with_data@Base 2.12.0 + g_list_last@Base 2.12.0 + g_list_length@Base 2.12.0 + g_list_nth@Base 2.12.0 + g_list_nth_data@Base 2.12.0 + g_list_nth_prev@Base 2.12.0 + g_list_pop_allocator@Base 2.12.0 + g_list_position@Base 2.12.0 + g_list_prepend@Base 2.12.0 + g_list_push_allocator@Base 2.12.0 + g_list_remove@Base 2.12.0 + g_list_remove_all@Base 2.12.0 + g_list_remove_link@Base 2.12.0 + g_list_reverse@Base 2.12.0 + g_list_sort@Base 2.12.0 + g_list_sort_with_data@Base 2.12.0 + g_listenv@Base 2.12.0 + g_locale_from_utf8@Base 2.12.0 + g_locale_to_utf8@Base 2.12.0 + g_log@Base 2.12.0 + g_log_default_handler@Base 2.12.0 + g_log_get_debug_enabled@Base 2.71.1 + g_log_remove_handler@Base 2.12.0 + g_log_set_always_fatal@Base 2.12.0 + g_log_set_debug_enabled@Base 2.71.1 + g_log_set_default_handler@Base 2.12.0 + g_log_set_fatal_mask@Base 2.12.0 + g_log_set_handler@Base 2.12.0 + g_log_set_handler_full@Base 2.45.3 + g_log_set_writer_func@Base 2.49.3 + g_log_structured@Base 2.49.3 + g_log_structured_array@Base 2.49.3 + g_log_structured_standard@Base 2.55.2 + g_log_variant@Base 2.49.7 + g_log_writer_default@Base 2.49.3 + g_log_writer_default_set_use_stderr@Base 2.67.1 + g_log_writer_default_would_drop@Base 2.67.1 + g_log_writer_format_fields@Base 2.49.3 + g_log_writer_is_journald@Base 2.49.3 + g_log_writer_journald@Base 2.49.3 + g_log_writer_standard_streams@Base 2.49.3 + g_log_writer_supports_color@Base 2.49.3 + g_logv@Base 2.12.0 + g_lstat@Base 2.12.0 + g_main_context_acquire@Base 2.12.0 + g_main_context_add_poll@Base 2.12.0 + g_main_context_check@Base 2.12.0 + g_main_context_default@Base 2.12.0 + g_main_context_dispatch@Base 2.12.0 + g_main_context_find_source_by_funcs_user_data@Base 2.12.0 + g_main_context_find_source_by_id@Base 2.12.0 + g_main_context_find_source_by_user_data@Base 2.12.0 + g_main_context_get_poll_func@Base 2.12.0 + g_main_context_get_thread_default@Base 2.22.0 + g_main_context_invoke@Base 2.28.0 + g_main_context_invoke_full@Base 2.28.0 + g_main_context_is_owner@Base 2.12.0 + g_main_context_iteration@Base 2.12.0 + g_main_context_new@Base 2.12.0 + g_main_context_new_with_flags@Base 2.71.0 + g_main_context_pending@Base 2.12.0 + g_main_context_pop_thread_default@Base 2.22.0 + g_main_context_prepare@Base 2.12.0 + g_main_context_push_thread_default@Base 2.22.0 + g_main_context_query@Base 2.12.0 + g_main_context_ref@Base 2.12.0 + g_main_context_ref_thread_default@Base 2.31.8 + g_main_context_release@Base 2.12.0 + g_main_context_remove_poll@Base 2.12.0 + g_main_context_set_poll_func@Base 2.12.0 + g_main_context_unref@Base 2.12.0 + g_main_context_wait@Base 2.12.0 + g_main_context_wakeup@Base 2.12.0 + g_main_current_source@Base 2.12.0 + g_main_depth@Base 2.12.0 + g_main_loop_get_context@Base 2.12.0 + g_main_loop_is_running@Base 2.12.0 + g_main_loop_new@Base 2.12.0 + g_main_loop_quit@Base 2.12.0 + g_main_loop_ref@Base 2.12.0 + g_main_loop_run@Base 2.12.0 + g_main_loop_unref@Base 2.12.0 + g_malloc0@Base 2.12.0 + g_malloc0_n@Base 2.24.0 + g_malloc@Base 2.12.0 + g_malloc_n@Base 2.24.0 + g_mapped_file_free@Base 2.12.0 + g_mapped_file_get_bytes@Base 2.33.14 + g_mapped_file_get_contents@Base 2.12.0 + g_mapped_file_get_length@Base 2.12.0 + g_mapped_file_new@Base 2.12.0 + g_mapped_file_new_from_fd@Base 2.31.8 + g_mapped_file_ref@Base 2.22.0 + g_mapped_file_unref@Base 2.22.0 + g_markup_collect_attributes@Base 2.16.0 + g_markup_error_quark@Base 2.12.0 + g_markup_escape_text@Base 2.12.0 + g_markup_parse_context_end_parse@Base 2.12.0 + g_markup_parse_context_free@Base 2.12.0 + g_markup_parse_context_get_element@Base 2.12.0 + g_markup_parse_context_get_element_stack@Base 2.16.0 + g_markup_parse_context_get_position@Base 2.12.0 + g_markup_parse_context_get_user_data@Base 2.18.0 + g_markup_parse_context_new@Base 2.12.0 + g_markup_parse_context_parse@Base 2.12.0 + g_markup_parse_context_pop@Base 2.18.0 + g_markup_parse_context_push@Base 2.18.0 + g_markup_parse_context_ref@Base 2.35.8 + g_markup_parse_context_unref@Base 2.35.8 + g_markup_printf_escaped@Base 2.12.0 + g_markup_vprintf_escaped@Base 2.12.0 + g_match_info_expand_references@Base 2.14.0 + g_match_info_fetch@Base 2.14.0 + g_match_info_fetch_all@Base 2.14.0 + g_match_info_fetch_named@Base 2.14.0 + g_match_info_fetch_named_pos@Base 2.14.0 + g_match_info_fetch_pos@Base 2.14.0 + g_match_info_free@Base 2.14.0 + g_match_info_get_match_count@Base 2.14.0 + g_match_info_get_regex@Base 2.14.0 + g_match_info_get_string@Base 2.14.0 + g_match_info_is_partial_match@Base 2.14.0 + g_match_info_matches@Base 2.14.0 + g_match_info_next@Base 2.14.0 + g_match_info_ref@Base 2.30.0 + g_match_info_unref@Base 2.30.0 + g_mem_chunk_alloc0@Base 2.12.0 + g_mem_chunk_alloc@Base 2.12.0 + g_mem_chunk_clean@Base 2.12.0 + g_mem_chunk_destroy@Base 2.12.0 + g_mem_chunk_free@Base 2.12.0 + g_mem_chunk_info@Base 2.12.0 + g_mem_chunk_new@Base 2.12.0 + g_mem_chunk_print@Base 2.12.0 + g_mem_chunk_reset@Base 2.12.0 + g_mem_gc_friendly@Base 2.12.0 + g_mem_is_system_malloc@Base 2.12.0 + g_mem_profile@Base 2.12.0 + g_mem_set_vtable@Base 2.12.0 + g_memdup2@Base 2.67.3 + g_memdup@Base 2.12.0 + g_mkdir@Base 2.12.0 + g_mkdir_with_parents@Base 2.12.0 + g_mkdtemp@Base 2.30.0 + g_mkdtemp_full@Base 2.30.0 + g_mkstemp@Base 2.12.0 + g_mkstemp_full@Base 2.22.0 + g_mutex_clear@Base 2.31.8 + g_mutex_free@Base 2.31.8 + g_mutex_init@Base 2.31.8 + g_mutex_lock@Base 2.31.8 + g_mutex_new@Base 2.31.8 + g_mutex_trylock@Base 2.31.8 + g_mutex_unlock@Base 2.31.8 + g_node_child_index@Base 2.12.0 + g_node_child_position@Base 2.12.0 + g_node_children_foreach@Base 2.12.0 + g_node_copy@Base 2.12.0 + g_node_copy_deep@Base 2.12.0 + g_node_depth@Base 2.12.0 + g_node_destroy@Base 2.12.0 + g_node_find@Base 2.12.0 + g_node_find_child@Base 2.12.0 + g_node_first_sibling@Base 2.12.0 + g_node_get_root@Base 2.12.0 + g_node_insert@Base 2.12.0 + g_node_insert_after@Base 2.12.0 + g_node_insert_before@Base 2.12.0 + g_node_is_ancestor@Base 2.12.0 + g_node_last_child@Base 2.12.0 + g_node_last_sibling@Base 2.12.0 + g_node_max_height@Base 2.12.0 + g_node_n_children@Base 2.12.0 + g_node_n_nodes@Base 2.12.0 + g_node_new@Base 2.12.0 + g_node_nth_child@Base 2.12.0 + g_node_pop_allocator@Base 2.12.0 + g_node_prepend@Base 2.12.0 + g_node_push_allocator@Base 2.12.0 + g_node_reverse_children@Base 2.12.0 + g_node_traverse@Base 2.12.0 + g_node_unlink@Base 2.12.0 + g_nullify_pointer@Base 2.12.0 + g_number_parser_error_quark@Base 2.53.2 + g_on_error_query@Base 2.12.0 + g_on_error_stack_trace@Base 2.12.0 + g_once_impl@Base 2.12.0 + g_once_init_enter@Base 2.14.0 + g_once_init_enter_impl@Base 2.14.0 + g_once_init_leave@Base 2.14.0 + g_open@Base 2.12.0 + g_option_context_add_group@Base 2.12.0 + g_option_context_add_main_entries@Base 2.12.0 + g_option_context_free@Base 2.12.0 + g_option_context_get_description@Base 2.12.0 + g_option_context_get_help@Base 2.14.0 + g_option_context_get_help_enabled@Base 2.12.0 + g_option_context_get_ignore_unknown_options@Base 2.12.0 + g_option_context_get_main_group@Base 2.12.0 + g_option_context_get_strict_posix@Base 2.43.1 + g_option_context_get_summary@Base 2.12.0 + g_option_context_new@Base 2.12.0 + g_option_context_parse@Base 2.12.0 + g_option_context_parse_strv@Base 2.39.4 + g_option_context_set_description@Base 2.12.0 + g_option_context_set_help_enabled@Base 2.12.0 + g_option_context_set_ignore_unknown_options@Base 2.12.0 + g_option_context_set_main_group@Base 2.12.0 + g_option_context_set_strict_posix@Base 2.43.1 + g_option_context_set_summary@Base 2.12.0 + g_option_context_set_translate_func@Base 2.12.0 + g_option_context_set_translation_domain@Base 2.12.0 + g_option_error_quark@Base 2.12.0 + g_option_group_add_entries@Base 2.12.0 + g_option_group_free@Base 2.12.0 + g_option_group_new@Base 2.12.0 + g_option_group_ref@Base 2.43.90 + g_option_group_set_error_hook@Base 2.12.0 + g_option_group_set_parse_hooks@Base 2.12.0 + g_option_group_set_translate_func@Base 2.12.0 + g_option_group_set_translation_domain@Base 2.12.0 + g_option_group_unref@Base 2.43.90 + g_parse_debug_string@Base 2.12.0 + g_path_get_basename@Base 2.12.0 + g_path_get_dirname@Base 2.12.0 + g_path_is_absolute@Base 2.12.0 + g_path_skip_root@Base 2.12.0 + g_pattern_match@Base 2.12.0 + g_pattern_match_simple@Base 2.12.0 + g_pattern_match_string@Base 2.12.0 + g_pattern_spec_copy@Base 2.70.0 + g_pattern_spec_equal@Base 2.12.0 + g_pattern_spec_free@Base 2.12.0 + g_pattern_spec_match@Base 2.70.0 + g_pattern_spec_match_string@Base 2.70.0 + g_pattern_spec_new@Base 2.12.0 + g_pointer_bit_lock@Base 2.30.0 + g_pointer_bit_trylock@Base 2.30.0 + g_pointer_bit_unlock@Base 2.30.0 + g_poll@Base 2.20.0 + g_prefix_error@Base 2.16.0 + g_prefix_error_literal@Base 2.70.0 + g_print@Base 2.12.0 + g_printerr@Base 2.12.0 + g_printf@Base 2.12.0 + g_printf_string_upper_bound@Base 2.12.0 + g_private_get@Base 2.31.8 + g_private_new@Base 2.31.8 + g_private_replace@Base 2.31.8 + g_private_set@Base 2.31.8 + g_propagate_error@Base 2.12.0 + g_propagate_prefixed_error@Base 2.16.0 + g_ptr_array_add@Base 2.12.0 + g_ptr_array_copy@Base 2.61.2 + g_ptr_array_extend@Base 2.61.2 + g_ptr_array_extend_and_steal@Base 2.61.2 + g_ptr_array_find@Base 2.53.2 + g_ptr_array_find_with_equal_func@Base 2.53.2 + g_ptr_array_foreach@Base 2.12.0 + g_ptr_array_free@Base 2.12.0 + g_ptr_array_insert@Base 2.39.4 + g_ptr_array_new@Base 2.12.0 + g_ptr_array_new_full@Base 2.30.0 + g_ptr_array_new_with_free_func@Base 2.22.0 + g_ptr_array_ref@Base 2.22.0 + g_ptr_array_remove@Base 2.12.0 + g_ptr_array_remove_fast@Base 2.12.0 + g_ptr_array_remove_index@Base 2.12.0 + g_ptr_array_remove_index_fast@Base 2.12.0 + g_ptr_array_remove_range@Base 2.12.0 + g_ptr_array_set_free_func@Base 2.22.0 + g_ptr_array_set_size@Base 2.12.0 + g_ptr_array_sized_new@Base 2.12.0 + g_ptr_array_sort@Base 2.12.0 + g_ptr_array_sort_with_data@Base 2.12.0 + g_ptr_array_steal@Base 2.63.1 + g_ptr_array_steal_index@Base 2.57.2 + g_ptr_array_steal_index_fast@Base 2.57.2 + g_ptr_array_unref@Base 2.22.0 + g_qsort_with_data@Base 2.12.0 + g_quark_from_static_string@Base 2.12.0 + g_quark_from_string@Base 2.12.0 + g_quark_to_string@Base 2.12.0 + g_quark_try_string@Base 2.12.0 + g_queue_clear@Base 2.14.0 + g_queue_clear_full@Base 2.59.2 + g_queue_copy@Base 2.12.0 + g_queue_delete_link@Base 2.12.0 + g_queue_find@Base 2.12.0 + g_queue_find_custom@Base 2.12.0 + g_queue_foreach@Base 2.12.0 + g_queue_free@Base 2.12.0 + g_queue_free_full@Base 2.31.8 + g_queue_get_length@Base 2.12.0 + g_queue_index@Base 2.12.0 + g_queue_init@Base 2.14.0 + g_queue_insert_after@Base 2.12.0 + g_queue_insert_after_link@Base 2.61.1 + g_queue_insert_before@Base 2.12.0 + g_queue_insert_before_link@Base 2.61.1 + g_queue_insert_sorted@Base 2.12.0 + g_queue_is_empty@Base 2.12.0 + g_queue_link_index@Base 2.12.0 + g_queue_new@Base 2.12.0 + g_queue_peek_head@Base 2.12.0 + g_queue_peek_head_link@Base 2.12.0 + g_queue_peek_nth@Base 2.12.0 + g_queue_peek_nth_link@Base 2.12.0 + g_queue_peek_tail@Base 2.12.0 + g_queue_peek_tail_link@Base 2.12.0 + g_queue_pop_head@Base 2.12.0 + g_queue_pop_head_link@Base 2.12.0 + g_queue_pop_nth@Base 2.12.0 + g_queue_pop_nth_link@Base 2.12.0 + g_queue_pop_tail@Base 2.12.0 + g_queue_pop_tail_link@Base 2.12.0 + g_queue_push_head@Base 2.12.0 + g_queue_push_head_link@Base 2.12.0 + g_queue_push_nth@Base 2.12.0 + g_queue_push_nth_link@Base 2.12.0 + g_queue_push_tail@Base 2.12.0 + g_queue_push_tail_link@Base 2.12.0 + g_queue_remove@Base 2.12.0 + g_queue_remove_all@Base 2.12.0 + g_queue_reverse@Base 2.12.0 + g_queue_sort@Base 2.12.0 + g_queue_unlink@Base 2.12.0 + g_rand_copy@Base 2.12.0 + g_rand_double@Base 2.12.0 + g_rand_double_range@Base 2.12.0 + g_rand_free@Base 2.12.0 + g_rand_int@Base 2.12.0 + g_rand_int_range@Base 2.12.0 + g_rand_new@Base 2.12.0 + g_rand_new_with_seed@Base 2.12.0 + g_rand_new_with_seed_array@Base 2.12.0 + g_rand_set_seed@Base 2.12.0 + g_rand_set_seed_array@Base 2.12.0 + g_random_double@Base 2.12.0 + g_random_double_range@Base 2.12.0 + g_random_int@Base 2.12.0 + g_random_int_range@Base 2.12.0 + g_random_set_seed@Base 2.12.0 + g_rc_box_acquire@Base 2.57.2 + g_rc_box_alloc@Base 2.57.2 + g_rc_box_alloc0@Base 2.57.2 + g_rc_box_dup@Base 2.57.2 + g_rc_box_get_size@Base 2.57.2 + g_rc_box_release@Base 2.57.2 + g_rc_box_release_full@Base 2.57.2 + g_realloc@Base 2.12.0 + g_realloc_n@Base 2.24.0 + g_rec_mutex_clear@Base 2.31.8 + g_rec_mutex_init@Base 2.31.8 + g_rec_mutex_lock@Base 2.31.8 + g_rec_mutex_trylock@Base 2.31.8 + g_rec_mutex_unlock@Base 2.31.8 + g_ref_count_compare@Base 2.57.2 + g_ref_count_dec@Base 2.57.2 + g_ref_count_inc@Base 2.57.2 + g_ref_count_init@Base 2.57.2 + g_ref_string_acquire@Base 2.57.2 + g_ref_string_length@Base 2.57.2 + g_ref_string_new@Base 2.57.2 + g_ref_string_new_intern@Base 2.57.2 + g_ref_string_new_len@Base 2.57.2 + g_ref_string_release@Base 2.57.2 + g_regex_check_replacement@Base 2.14.0 + g_regex_error_quark@Base 2.14.0 + g_regex_escape_nul@Base 2.30.0 + g_regex_escape_string@Base 2.14.0 + g_regex_get_capture_count@Base 2.14.0 + g_regex_get_compile_flags@Base 2.26.0 + g_regex_get_has_cr_or_lf@Base 2.33.14 + g_regex_get_match_flags@Base 2.26.0 + g_regex_get_max_backref@Base 2.14.0 + g_regex_get_max_lookbehind@Base 2.37.5 + g_regex_get_pattern@Base 2.14.0 + g_regex_get_string_number@Base 2.14.0 + g_regex_match@Base 2.14.0 + g_regex_match_all@Base 2.14.0 + g_regex_match_all_full@Base 2.14.0 + g_regex_match_full@Base 2.14.0 + g_regex_match_simple@Base 2.14.0 + g_regex_new@Base 2.14.0 + g_regex_ref@Base 2.14.0 + g_regex_replace@Base 2.14.0 + g_regex_replace_eval@Base 2.14.0 + g_regex_replace_literal@Base 2.14.0 + g_regex_split@Base 2.14.0 + g_regex_split_full@Base 2.14.0 + g_regex_split_simple@Base 2.14.0 + g_regex_unref@Base 2.14.0 + g_relation_count@Base 2.12.0 + g_relation_delete@Base 2.12.0 + g_relation_destroy@Base 2.12.0 + g_relation_exists@Base 2.12.0 + g_relation_index@Base 2.12.0 + g_relation_insert@Base 2.12.0 + g_relation_new@Base 2.12.0 + g_relation_print@Base 2.12.0 + g_relation_select@Base 2.12.0 + g_reload_user_special_dirs_cache@Base 2.22.0 + g_remove@Base 2.12.0 + g_rename@Base 2.12.0 + g_return_if_fail_warning@Base 2.12.0 + g_rmdir@Base 2.12.0 + g_rw_lock_clear@Base 2.31.8 + g_rw_lock_init@Base 2.31.8 + g_rw_lock_reader_lock@Base 2.31.8 + g_rw_lock_reader_trylock@Base 2.31.8 + g_rw_lock_reader_unlock@Base 2.31.8 + g_rw_lock_writer_lock@Base 2.31.8 + g_rw_lock_writer_trylock@Base 2.31.8 + g_rw_lock_writer_unlock@Base 2.31.8 + g_scanner_cur_line@Base 2.12.0 + g_scanner_cur_position@Base 2.12.0 + g_scanner_cur_token@Base 2.12.0 + g_scanner_cur_value@Base 2.12.0 + g_scanner_destroy@Base 2.12.0 + g_scanner_eof@Base 2.12.0 + g_scanner_error@Base 2.12.0 + g_scanner_get_next_token@Base 2.12.0 + g_scanner_input_file@Base 2.12.0 + g_scanner_input_text@Base 2.12.0 + g_scanner_lookup_symbol@Base 2.12.0 + g_scanner_new@Base 2.12.0 + g_scanner_peek_next_token@Base 2.12.0 + g_scanner_scope_add_symbol@Base 2.12.0 + g_scanner_scope_foreach_symbol@Base 2.12.0 + g_scanner_scope_lookup_symbol@Base 2.12.0 + g_scanner_scope_remove_symbol@Base 2.12.0 + g_scanner_set_scope@Base 2.12.0 + g_scanner_sync_file_offset@Base 2.12.0 + g_scanner_unexp_token@Base 2.12.0 + g_scanner_warn@Base 2.12.0 + g_sequence_append@Base 2.14.0 + g_sequence_foreach@Base 2.14.0 + g_sequence_foreach_range@Base 2.14.0 + g_sequence_free@Base 2.14.0 + g_sequence_get@Base 2.14.0 + g_sequence_get_begin_iter@Base 2.14.0 + g_sequence_get_end_iter@Base 2.14.0 + g_sequence_get_iter_at_pos@Base 2.14.0 + g_sequence_get_length@Base 2.14.0 + g_sequence_insert_before@Base 2.14.0 + g_sequence_insert_sorted@Base 2.14.0 + g_sequence_insert_sorted_iter@Base 2.14.0 + g_sequence_is_empty@Base 2.47.1 + g_sequence_iter_compare@Base 2.14.0 + g_sequence_iter_get_position@Base 2.14.0 + g_sequence_iter_get_sequence@Base 2.14.0 + g_sequence_iter_is_begin@Base 2.14.0 + g_sequence_iter_is_end@Base 2.14.0 + g_sequence_iter_move@Base 2.14.0 + g_sequence_iter_next@Base 2.14.0 + g_sequence_iter_prev@Base 2.14.0 + g_sequence_lookup@Base 2.28.0 + g_sequence_lookup_iter@Base 2.28.0 + g_sequence_move@Base 2.14.0 + g_sequence_move_range@Base 2.14.0 + g_sequence_new@Base 2.14.0 + g_sequence_prepend@Base 2.14.0 + g_sequence_range_get_midpoint@Base 2.14.0 + g_sequence_remove@Base 2.14.0 + g_sequence_remove_range@Base 2.14.0 + g_sequence_search@Base 2.14.0 + g_sequence_search_iter@Base 2.14.0 + g_sequence_set@Base 2.14.0 + g_sequence_sort@Base 2.14.0 + g_sequence_sort_changed@Base 2.14.0 + g_sequence_sort_changed_iter@Base 2.14.0 + g_sequence_sort_iter@Base 2.14.0 + g_sequence_swap@Base 2.14.0 + g_set_application_name@Base 2.12.0 + g_set_error@Base 2.12.0 + g_set_error_literal@Base 2.18.0 + g_set_prgname@Base 2.12.0 + g_set_print_handler@Base 2.12.0 + g_set_printerr_handler@Base 2.12.0 + g_set_user_dirs@Base 2.59.0 + g_setenv@Base 2.12.0 + g_shell_error_quark@Base 2.12.0 + g_shell_parse_argv@Base 2.12.0 + g_shell_quote@Base 2.12.0 + g_shell_unquote@Base 2.12.0 + g_slice_alloc0@Base 2.12.0 + g_slice_alloc@Base 2.12.0 + g_slice_copy@Base 2.14.0 + g_slice_free1@Base 2.12.0 + g_slice_free_chain_with_offset@Base 2.12.0 + g_slice_get_config@Base 2.12.0 + g_slice_get_config_state@Base 2.12.0 + g_slice_set_config@Base 2.12.0 + g_slist_alloc@Base 2.12.0 + g_slist_append@Base 2.12.0 + g_slist_concat@Base 2.12.0 + g_slist_copy@Base 2.12.0 + g_slist_copy_deep@Base 2.33.14 + g_slist_delete_link@Base 2.12.0 + g_slist_find@Base 2.12.0 + g_slist_find_custom@Base 2.12.0 + g_slist_foreach@Base 2.12.0 + g_slist_free@Base 2.12.0 + g_slist_free_1@Base 2.12.0 + g_slist_free_full@Base 2.28.0 + g_slist_index@Base 2.12.0 + g_slist_insert@Base 2.12.0 + g_slist_insert_before@Base 2.12.0 + g_slist_insert_sorted@Base 2.12.0 + g_slist_insert_sorted_with_data@Base 2.12.0 + g_slist_last@Base 2.12.0 + g_slist_length@Base 2.12.0 + g_slist_nth@Base 2.12.0 + g_slist_nth_data@Base 2.12.0 + g_slist_pop_allocator@Base 2.12.0 + g_slist_position@Base 2.12.0 + g_slist_prepend@Base 2.12.0 + g_slist_push_allocator@Base 2.12.0 + g_slist_remove@Base 2.12.0 + g_slist_remove_all@Base 2.12.0 + g_slist_remove_link@Base 2.12.0 + g_slist_reverse@Base 2.12.0 + g_slist_sort@Base 2.12.0 + g_slist_sort_with_data@Base 2.12.0 + g_snprintf@Base 2.12.0 + g_source_add_child_source@Base 2.28.0 + g_source_add_poll@Base 2.12.0 + g_source_add_unix_fd@Base 2.35.8 + g_source_attach@Base 2.12.0 + g_source_destroy@Base 2.12.0 + g_source_get_can_recurse@Base 2.12.0 + g_source_get_context@Base 2.12.0 + g_source_get_current_time@Base 2.12.0 + g_source_get_id@Base 2.12.0 + g_source_get_name@Base 2.26.0 + g_source_get_priority@Base 2.12.0 + g_source_get_ready_time@Base 2.35.8 + g_source_get_time@Base 2.28.0 + g_source_is_destroyed@Base 2.12.0 + g_source_modify_unix_fd@Base 2.35.8 + g_source_new@Base 2.12.0 + g_source_query_unix_fd@Base 2.35.8 + g_source_ref@Base 2.12.0 + g_source_remove@Base 2.12.0 + g_source_remove_by_funcs_user_data@Base 2.12.0 + g_source_remove_by_user_data@Base 2.12.0 + g_source_remove_child_source@Base 2.28.0 + g_source_remove_poll@Base 2.12.0 + g_source_remove_unix_fd@Base 2.35.8 + g_source_set_callback@Base 2.12.0 + g_source_set_callback_indirect@Base 2.12.0 + g_source_set_can_recurse@Base 2.12.0 + g_source_set_dispose_function@Base 2.63.3 + g_source_set_funcs@Base 2.12.0 + g_source_set_name@Base 2.26.0 + g_source_set_name_by_id@Base 2.26.0 + g_source_set_priority@Base 2.12.0 + g_source_set_ready_time@Base 2.35.8 + g_source_set_static_name@Base 2.70.0 + g_source_unref@Base 2.12.0 + g_spaced_primes_closest@Base 2.12.0 + g_spawn_async@Base 2.12.0 + g_spawn_async_with_fds@Base 2.57.2 + g_spawn_async_with_pipes@Base 2.12.0 + g_spawn_async_with_pipes_and_fds@Base 2.67.4 + g_spawn_check_exit_status@Base 2.33.14 + g_spawn_check_wait_status@Base 2.70.0 + g_spawn_close_pid@Base 2.12.0 + g_spawn_command_line_async@Base 2.12.0 + g_spawn_command_line_sync@Base 2.12.0 + g_spawn_error_quark@Base 2.12.0 + g_spawn_exit_error_quark@Base 2.33.14 + g_spawn_sync@Base 2.12.0 + g_sprintf@Base 2.12.0 + g_stat@Base 2.12.0 + g_static_mutex_free@Base 2.12.0 + g_static_mutex_get_mutex_impl@Base 2.12.0 + g_static_mutex_init@Base 2.12.0 + g_static_private_free@Base 2.12.0 + g_static_private_get@Base 2.12.0 + g_static_private_init@Base 2.12.0 + g_static_private_set@Base 2.12.0 + g_static_rec_mutex_free@Base 2.12.0 + g_static_rec_mutex_init@Base 2.12.0 + g_static_rec_mutex_lock@Base 2.12.0 + g_static_rec_mutex_lock_full@Base 2.12.0 + g_static_rec_mutex_trylock@Base 2.12.0 + g_static_rec_mutex_unlock@Base 2.12.0 + g_static_rec_mutex_unlock_full@Base 2.12.0 + g_static_rw_lock_free@Base 2.12.0 + g_static_rw_lock_init@Base 2.12.0 + g_static_rw_lock_reader_lock@Base 2.12.0 + g_static_rw_lock_reader_trylock@Base 2.12.0 + g_static_rw_lock_reader_unlock@Base 2.12.0 + g_static_rw_lock_writer_lock@Base 2.12.0 + g_static_rw_lock_writer_trylock@Base 2.12.0 + g_static_rw_lock_writer_unlock@Base 2.12.0 + g_stpcpy@Base 2.12.0 + g_str_equal@Base 2.12.0 + g_str_has_prefix@Base 2.12.0 + g_str_has_suffix@Base 2.12.0 + g_str_hash@Base 2.12.0 + g_str_is_ascii@Base 2.39.4 + g_str_match_string@Base 2.39.4 + g_str_to_ascii@Base 2.39.91 + g_str_tokenize_and_fold@Base 2.39.4 + g_strcanon@Base 2.12.0 + g_strcasecmp@Base 2.12.0 + g_strchomp@Base 2.12.0 + g_strchug@Base 2.12.0 + g_strcmp0@Base 2.16.0 + g_strcompress@Base 2.12.0 + g_strconcat@Base 2.12.0 + g_strdelimit@Base 2.12.0 + g_strdown@Base 2.12.0 + g_strdup@Base 2.12.0 + g_strdup_printf@Base 2.12.0 + g_strdup_vprintf@Base 2.12.0 + g_strdupv@Base 2.12.0 + g_strerror@Base 2.12.0 + g_strescape@Base 2.12.0 + g_strfreev@Base 2.12.0 + g_string_append@Base 2.12.0 + g_string_append_c@Base 2.12.0 + g_string_append_len@Base 2.12.0 + g_string_append_printf@Base 2.12.0 + g_string_append_unichar@Base 2.12.0 + g_string_append_uri_escaped@Base 2.16.0 + g_string_append_vprintf@Base 2.14.0 + g_string_ascii_down@Base 2.12.0 + g_string_ascii_up@Base 2.12.0 + g_string_assign@Base 2.12.0 + g_string_chunk_clear@Base 2.14.0 + g_string_chunk_free@Base 2.12.0 + g_string_chunk_insert@Base 2.12.0 + g_string_chunk_insert_const@Base 2.12.0 + g_string_chunk_insert_len@Base 2.12.0 + g_string_chunk_new@Base 2.12.0 + g_string_down@Base 2.12.0 + g_string_equal@Base 2.12.0 + g_string_erase@Base 2.12.0 + g_string_free@Base 2.12.0 + g_string_free_to_bytes@Base 2.33.14 + g_string_hash@Base 2.12.0 + g_string_insert@Base 2.12.0 + g_string_insert_c@Base 2.12.0 + g_string_insert_len@Base 2.12.0 + g_string_insert_unichar@Base 2.12.0 + g_string_new@Base 2.12.0 + g_string_new_len@Base 2.12.0 + g_string_overwrite@Base 2.14.0 + g_string_overwrite_len@Base 2.14.0 + g_string_prepend@Base 2.12.0 + g_string_prepend_c@Base 2.12.0 + g_string_prepend_len@Base 2.12.0 + g_string_prepend_unichar@Base 2.12.0 + g_string_printf@Base 2.12.0 + g_string_replace@Base 2.67.3+git20210214 + g_string_set_size@Base 2.12.0 + g_string_sized_new@Base 2.12.0 + g_string_truncate@Base 2.12.0 + g_string_up@Base 2.12.0 + g_string_vprintf@Base 2.14.0 + g_strip_context@Base 2.12.0 + g_strjoin@Base 2.12.0 + g_strjoinv@Base 2.12.0 + g_strlcat@Base 2.12.0 + g_strlcpy@Base 2.12.0 + g_strncasecmp@Base 2.12.0 + g_strndup@Base 2.12.0 + g_strnfill@Base 2.12.0 + g_strreverse@Base 2.12.0 + g_strrstr@Base 2.12.0 + g_strrstr_len@Base 2.12.0 + g_strsignal@Base 2.12.0 + g_strsplit@Base 2.12.0 + g_strsplit_set@Base 2.12.0 + g_strstr_len@Base 2.12.0 + g_strtod@Base 2.12.0 + g_strup@Base 2.12.0 + g_strv_builder_add@Base 2.67.1 + g_strv_builder_add_many@Base 2.70.0 + g_strv_builder_addv@Base 2.70.0 + g_strv_builder_end@Base 2.67.1 + g_strv_builder_new@Base 2.67.1 + g_strv_builder_ref@Base 2.67.1 + g_strv_builder_unref@Base 2.67.1 + g_strv_contains@Base 2.43.2 + g_strv_equal@Base 2.59.0 + g_strv_length@Base 2.12.0 + g_test_add_data_func@Base 2.16.0 + g_test_add_data_func_full@Base 2.33.14 + g_test_add_func@Base 2.16.0 + g_test_add_vtable@Base 2.16.0 + g_test_assert_expected_messages_internal@Base 2.33.14 + g_test_bug@Base 2.16.0 + g_test_bug_base@Base 2.16.0 + g_test_build_filename@Base 2.37.2 + g_test_case_free@Base 2.70.0 + g_test_config_vars@Base 2.16.0 + g_test_create_case@Base 2.16.0 + g_test_create_suite@Base 2.16.0 + g_test_expect_message@Base 2.33.14 + g_test_fail@Base 2.30.0 + g_test_fail_printf@Base 2.70.0 + g_test_failed@Base 2.37.6 + g_test_get_dir@Base 2.37.2 + g_test_get_filename@Base 2.37.2 + g_test_get_path@Base 2.67.3 + g_test_get_root@Base 2.16.0 + g_test_incomplete@Base 2.37.6 + g_test_incomplete_printf@Base 2.70.0 + g_test_init@Base 2.16.0 + g_test_log_buffer_free@Base 2.16.0 + g_test_log_buffer_new@Base 2.16.0 + g_test_log_buffer_pop@Base 2.16.0 + g_test_log_buffer_push@Base 2.16.0 + g_test_log_msg_free@Base 2.16.0 + g_test_log_set_fatal_handler@Base 2.22.0 + g_test_log_type_name@Base 2.16.0 + g_test_maximized_result@Base 2.16.0 + g_test_message@Base 2.16.0 + g_test_minimized_result@Base 2.16.0 + g_test_queue_destroy@Base 2.16.0 + g_test_queue_free@Base 2.16.0 + g_test_rand_double@Base 2.16.0 + g_test_rand_double_range@Base 2.16.0 + g_test_rand_int@Base 2.16.0 + g_test_rand_int_range@Base 2.16.0 + g_test_run@Base 2.16.0 + g_test_run_suite@Base 2.16.0 + g_test_set_nonfatal_assertions@Base 2.37.6 + g_test_skip@Base 2.37.6 + g_test_skip_printf@Base 2.70.0 + g_test_subprocess@Base 2.37.1 + g_test_suite_add@Base 2.16.0 + g_test_suite_add_suite@Base 2.16.0 + g_test_suite_free@Base 2.70.0 + g_test_summary@Base 2.61.1 + g_test_timer_elapsed@Base 2.16.0 + g_test_timer_last@Base 2.16.0 + g_test_timer_start@Base 2.16.0 + g_test_trap_assertions@Base 2.16.0 + g_test_trap_fork@Base 2.16.0 + g_test_trap_has_passed@Base 2.16.0 + g_test_trap_reached_timeout@Base 2.16.0 + g_test_trap_subprocess@Base 2.37.1 + g_thread_create@Base 2.31.8 + g_thread_create_full@Base 2.12.0 + g_thread_error_quark@Base 2.12.0 + g_thread_exit@Base 2.12.0 + g_thread_foreach@Base 2.12.0 + g_thread_functions_for_glib_use@Base 2.12.0 + g_thread_get_initialized@Base 2.20.0 + g_thread_gettime@Base 2.14.0 + g_thread_init_glib@Base 2.12.0 + g_thread_join@Base 2.12.0 + g_thread_new@Base 2.31.8 + g_thread_pool_free@Base 2.12.0 + g_thread_pool_get_max_idle_time@Base 2.12.0 + g_thread_pool_get_max_threads@Base 2.12.0 + g_thread_pool_get_max_unused_threads@Base 2.12.0 + g_thread_pool_get_num_threads@Base 2.12.0 + g_thread_pool_get_num_unused_threads@Base 2.12.0 + g_thread_pool_move_to_front@Base 2.45.4 + g_thread_pool_new@Base 2.12.0 + g_thread_pool_new_full@Base 2.70.0 + g_thread_pool_push@Base 2.12.0 + g_thread_pool_set_max_idle_time@Base 2.12.0 + g_thread_pool_set_max_threads@Base 2.12.0 + g_thread_pool_set_max_unused_threads@Base 2.12.0 + g_thread_pool_set_sort_function@Base 2.12.0 + g_thread_pool_stop_unused_threads@Base 2.12.0 + g_thread_pool_unprocessed@Base 2.12.0 + g_thread_ref@Base 2.31.8 + g_thread_self@Base 2.12.0 + g_thread_set_priority@Base 2.12.0 + g_thread_try_new@Base 2.31.8 + g_thread_unref@Base 2.31.8 + g_thread_use_default_impl@Base 2.12.0 + g_thread_yield@Base 2.31.8 + g_threads_got_initialized@Base 2.12.0 + g_time_val_add@Base 2.12.0 + g_time_val_from_iso8601@Base 2.12.0 + g_time_val_to_iso8601@Base 2.12.0 + g_time_zone_adjust_time@Base 2.28.0 + g_time_zone_find_interval@Base 2.28.0 + g_time_zone_get_abbreviation@Base 2.28.0 + g_time_zone_get_identifier@Base 2.57.2 + g_time_zone_get_offset@Base 2.28.0 + g_time_zone_is_dst@Base 2.28.0 + g_time_zone_new@Base 2.26.0 + g_time_zone_new_identifier@Base 2.67.1 + g_time_zone_new_local@Base 2.26.0 + g_time_zone_new_offset@Base 2.57.2 + g_time_zone_new_utc@Base 2.26.0 + g_time_zone_ref@Base 2.26.0 + g_time_zone_unref@Base 2.26.0 + g_timeout_add@Base 2.12.0 + g_timeout_add_full@Base 2.12.0 + g_timeout_add_seconds@Base 2.14.0 + g_timeout_add_seconds_full@Base 2.14.0 + g_timeout_funcs@Base 2.12.0 + g_timeout_source_new@Base 2.12.0 + g_timeout_source_new_seconds@Base 2.14.0 + g_timer_continue@Base 2.12.0 + g_timer_destroy@Base 2.12.0 + g_timer_elapsed@Base 2.12.0 + g_timer_is_active@Base 2.61.2 + g_timer_new@Base 2.12.0 + g_timer_reset@Base 2.12.0 + g_timer_start@Base 2.12.0 + g_timer_stop@Base 2.12.0 + g_trash_stack_height@Base 2.12.0 + g_trash_stack_peek@Base 2.12.0 + g_trash_stack_pop@Base 2.12.0 + g_trash_stack_push@Base 2.12.0 + g_tree_destroy@Base 2.12.0 + g_tree_foreach@Base 2.12.0 + g_tree_foreach_node@Base 2.67.1 + g_tree_height@Base 2.12.0 + g_tree_insert@Base 2.12.0 + g_tree_insert_node@Base 2.67.1 + g_tree_lookup@Base 2.12.0 + g_tree_lookup_extended@Base 2.12.0 + g_tree_lookup_node@Base 2.67.1 + g_tree_lower_bound@Base 2.67.1 + g_tree_new@Base 2.12.0 + g_tree_new_full@Base 2.12.0 + g_tree_new_with_data@Base 2.12.0 + g_tree_nnodes@Base 2.12.0 + g_tree_node_first@Base 2.67.1 + g_tree_node_key@Base 2.67.1 + g_tree_node_last@Base 2.67.1 + g_tree_node_next@Base 2.67.1 + g_tree_node_previous@Base 2.67.1 + g_tree_node_value@Base 2.67.1 + g_tree_ref@Base 2.22.0 + g_tree_remove@Base 2.12.0 + g_tree_remove_all@Base 2.70.0 + g_tree_replace@Base 2.12.0 + g_tree_replace_node@Base 2.67.1 + g_tree_search@Base 2.12.0 + g_tree_search_node@Base 2.67.1 + g_tree_steal@Base 2.12.0 + g_tree_traverse@Base 2.12.0 + g_tree_unref@Base 2.22.0 + g_tree_upper_bound@Base 2.67.1 + g_try_malloc0@Base 2.12.0 + g_try_malloc0_n@Base 2.24.0 + g_try_malloc@Base 2.12.0 + g_try_malloc_n@Base 2.24.0 + g_try_realloc@Base 2.12.0 + g_try_realloc_n@Base 2.24.0 + g_tuples_destroy@Base 2.12.0 + g_tuples_index@Base 2.12.0 + g_ucs4_to_utf16@Base 2.12.0 + g_ucs4_to_utf8@Base 2.12.0 + g_unichar_break_type@Base 2.12.0 + g_unichar_combining_class@Base 2.14.0 + g_unichar_compose@Base 2.30.0 + g_unichar_decompose@Base 2.30.0 + g_unichar_digit_value@Base 2.12.0 + g_unichar_fully_decompose@Base 2.30.0 + g_unichar_get_mirror_char@Base 2.12.0 + g_unichar_get_script@Base 2.14.0 + g_unichar_isalnum@Base 2.12.0 + g_unichar_isalpha@Base 2.12.0 + g_unichar_iscntrl@Base 2.12.0 + g_unichar_isdefined@Base 2.12.0 + g_unichar_isdigit@Base 2.12.0 + g_unichar_isgraph@Base 2.12.0 + g_unichar_islower@Base 2.12.0 + g_unichar_ismark@Base 2.14.0 + g_unichar_isprint@Base 2.12.0 + g_unichar_ispunct@Base 2.12.0 + g_unichar_isspace@Base 2.12.0 + g_unichar_istitle@Base 2.12.0 + g_unichar_isupper@Base 2.12.0 + g_unichar_iswide@Base 2.12.0 + g_unichar_iswide_cjk@Base 2.12.0 + g_unichar_isxdigit@Base 2.12.0 + g_unichar_iszerowidth@Base 2.14.0 + g_unichar_to_utf8@Base 2.12.0 + g_unichar_tolower@Base 2.12.0 + g_unichar_totitle@Base 2.12.0 + g_unichar_toupper@Base 2.12.0 + g_unichar_type@Base 2.12.0 + g_unichar_validate@Base 2.12.0 + g_unichar_xdigit_value@Base 2.12.0 + g_unicode_canonical_decomposition@Base 2.12.0 + g_unicode_canonical_ordering@Base 2.12.0 + g_unicode_script_from_iso15924@Base 2.30.0 + g_unicode_script_to_iso15924@Base 2.30.0 + g_unix_error_quark@Base 2.30.0 + g_unix_fd_add@Base 2.35.8 + g_unix_fd_add_full@Base 2.35.8 + g_unix_fd_source_funcs@Base 2.37.5 + g_unix_fd_source_new@Base 2.35.8 + g_unix_get_passwd_entry@Base 2.63.3 + g_unix_open_pipe@Base 2.30.0 + g_unix_set_fd_nonblocking@Base 2.30.0 + g_unix_signal_add@Base 2.30.0 + g_unix_signal_add_full@Base 2.30.0 + g_unix_signal_funcs@Base 2.37.5 + g_unix_signal_source_new@Base 2.30.0 + g_unlink@Base 2.12.0 + g_unsetenv@Base 2.12.0 + g_uri_build@Base 2.65.1 + g_uri_build_with_user@Base 2.65.1 + g_uri_error_quark@Base 2.65.1 + g_uri_escape_bytes@Base 2.65.1 + g_uri_escape_string@Base 2.16.0 + g_uri_get_auth_params@Base 2.65.1 + g_uri_get_flags@Base 2.65.1 + g_uri_get_fragment@Base 2.65.1 + g_uri_get_host@Base 2.65.1 + g_uri_get_password@Base 2.65.1 + g_uri_get_path@Base 2.65.1 + g_uri_get_port@Base 2.65.1 + g_uri_get_query@Base 2.65.1 + g_uri_get_scheme@Base 2.65.1 + g_uri_get_user@Base 2.65.1 + g_uri_get_userinfo@Base 2.65.1 + g_uri_is_valid@Base 2.65.1 + g_uri_join@Base 2.65.1 + g_uri_join_with_user@Base 2.65.1 + g_uri_list_extract_uris@Base 2.12.0 + g_uri_params_iter_init@Base 2.65.1 + g_uri_params_iter_next@Base 2.65.1 + g_uri_parse@Base 2.65.1 + g_uri_parse_params@Base 2.65.1 + g_uri_parse_relative@Base 2.65.1 + g_uri_parse_scheme@Base 2.16.0 + g_uri_peek_scheme@Base 2.65.1 + g_uri_ref@Base 2.65.1 + g_uri_resolve_relative@Base 2.65.1 + g_uri_split@Base 2.65.1 + g_uri_split_network@Base 2.65.1 + g_uri_split_with_user@Base 2.65.1 + g_uri_to_string@Base 2.65.1 + g_uri_to_string_partial@Base 2.65.1 + g_uri_unescape_bytes@Base 2.65.1 + g_uri_unescape_segment@Base 2.16.0 + g_uri_unescape_string@Base 2.16.0 + g_uri_unref@Base 2.65.1 + g_usleep@Base 2.12.0 + g_utf16_to_ucs4@Base 2.12.0 + g_utf16_to_utf8@Base 2.12.0 + g_utf8_casefold@Base 2.12.0 + g_utf8_collate@Base 2.12.0 + g_utf8_collate_key@Base 2.12.0 + g_utf8_collate_key_for_filename@Base 2.12.0 + g_utf8_find_next_char@Base 2.12.0 + g_utf8_find_prev_char@Base 2.12.0 + g_utf8_get_char@Base 2.12.0 + g_utf8_get_char_validated@Base 2.12.0 + g_utf8_make_valid@Base 2.51.0 + g_utf8_normalize@Base 2.12.0 + g_utf8_offset_to_pointer@Base 2.12.0 + g_utf8_pointer_to_offset@Base 2.12.0 + g_utf8_prev_char@Base 2.12.0 + g_utf8_skip@Base 2.12.0 + g_utf8_strchr@Base 2.12.0 + g_utf8_strdown@Base 2.12.0 + g_utf8_strlen@Base 2.12.0 + g_utf8_strncpy@Base 2.12.0 + g_utf8_strrchr@Base 2.12.0 + g_utf8_strreverse@Base 2.12.0 + g_utf8_strup@Base 2.12.0 + g_utf8_substring@Base 2.30.0 + g_utf8_to_ucs4@Base 2.12.0 + g_utf8_to_ucs4_fast@Base 2.12.0 + g_utf8_to_utf16@Base 2.12.0 + g_utf8_validate@Base 2.12.0 + g_utf8_validate_len@Base 2.59.0 + g_utime@Base 2.18.0 + g_uuid_string_is_valid@Base 2.51.2 + g_uuid_string_random@Base 2.51.2 + g_variant_builder_add@Base 2.24.0 + g_variant_builder_add_parsed@Base 2.26.0 + g_variant_builder_add_value@Base 2.24.0 + g_variant_builder_clear@Base 2.24.0 + g_variant_builder_close@Base 2.24.0 + g_variant_builder_end@Base 2.24.0 + g_variant_builder_init@Base 2.24.0 + g_variant_builder_new@Base 2.24.0 + g_variant_builder_open@Base 2.24.0 + g_variant_builder_ref@Base 2.24.0 + g_variant_builder_unref@Base 2.24.0 + g_variant_byteswap@Base 2.24.0 + g_variant_check_format_string@Base 2.33.14 + g_variant_classify@Base 2.24.0 + g_variant_compare@Base 2.26.0 + g_variant_dict_clear@Base 2.39.90 + g_variant_dict_contains@Base 2.39.90 + g_variant_dict_end@Base 2.39.90 + g_variant_dict_init@Base 2.39.90 + g_variant_dict_insert@Base 2.39.90 + g_variant_dict_insert_value@Base 2.39.90 + g_variant_dict_lookup@Base 2.39.90 + g_variant_dict_lookup_value@Base 2.39.90 + g_variant_dict_new@Base 2.39.90 + g_variant_dict_ref@Base 2.39.90 + g_variant_dict_remove@Base 2.39.90 + g_variant_dict_unref@Base 2.39.90 + g_variant_dup_bytestring@Base 2.26.0 + g_variant_dup_bytestring_array@Base 2.26.0 + g_variant_dup_objv@Base 2.30.0 + g_variant_dup_string@Base 2.24.0 + g_variant_dup_strv@Base 2.24.0 + g_variant_equal@Base 2.24.0 + g_variant_format_string_scan@Base 2.24.0 + g_variant_format_string_scan_type@Base 2.24.0 + g_variant_get@Base 2.24.0 + g_variant_get_boolean@Base 2.24.0 + g_variant_get_byte@Base 2.24.0 + g_variant_get_bytestring@Base 2.26.0 + g_variant_get_bytestring_array@Base 2.26.0 + g_variant_get_child@Base 2.24.0 + g_variant_get_child_value@Base 2.24.0 + g_variant_get_data@Base 2.24.0 + g_variant_get_data_as_bytes@Base 2.35.8 + g_variant_get_double@Base 2.24.0 + g_variant_get_fixed_array@Base 2.24.0 + g_variant_get_handle@Base 2.24.0 + g_variant_get_int16@Base 2.24.0 + g_variant_get_int32@Base 2.24.0 + g_variant_get_int64@Base 2.24.0 + g_variant_get_maybe@Base 2.24.0 + g_variant_get_normal_form@Base 2.24.0 + g_variant_get_objv@Base 2.30.0 + g_variant_get_size@Base 2.24.0 + g_variant_get_string@Base 2.24.0 + g_variant_get_strv@Base 2.24.0 + g_variant_get_type@Base 2.24.0 + g_variant_get_type_string@Base 2.24.0 + g_variant_get_uint16@Base 2.24.0 + g_variant_get_uint32@Base 2.24.0 + g_variant_get_uint64@Base 2.24.0 + g_variant_get_va@Base 2.24.0 + g_variant_get_variant@Base 2.24.0 + g_variant_hash@Base 2.24.0 + g_variant_is_container@Base 2.24.0 + g_variant_is_floating@Base 2.26.0 + g_variant_is_normal_form@Base 2.24.0 + g_variant_is_object_path@Base 2.24.0 + g_variant_is_of_type@Base 2.24.0 + g_variant_is_signature@Base 2.24.0 + g_variant_iter_copy@Base 2.24.0 + g_variant_iter_free@Base 2.24.0 + g_variant_iter_init@Base 2.24.0 + g_variant_iter_loop@Base 2.24.0 + g_variant_iter_n_children@Base 2.24.0 + g_variant_iter_new@Base 2.24.0 + g_variant_iter_next@Base 2.24.0 + g_variant_iter_next_value@Base 2.24.0 + g_variant_lookup@Base 2.28.0 + g_variant_lookup_value@Base 2.28.0 + g_variant_n_children@Base 2.24.0 + g_variant_new@Base 2.24.0 + g_variant_new_array@Base 2.24.0 + g_variant_new_boolean@Base 2.24.0 + g_variant_new_byte@Base 2.24.0 + g_variant_new_bytestring@Base 2.26.0 + g_variant_new_bytestring_array@Base 2.26.0 + g_variant_new_dict_entry@Base 2.24.0 + g_variant_new_double@Base 2.24.0 + g_variant_new_fixed_array@Base 2.31.8 + g_variant_new_from_bytes@Base 2.35.8 + g_variant_new_from_data@Base 2.24.0 + g_variant_new_handle@Base 2.24.0 + g_variant_new_int16@Base 2.24.0 + g_variant_new_int32@Base 2.24.0 + g_variant_new_int64@Base 2.24.0 + g_variant_new_maybe@Base 2.24.0 + g_variant_new_object_path@Base 2.24.0 + g_variant_new_objv@Base 2.30.0 + g_variant_new_parsed@Base 2.24.0 + g_variant_new_parsed_va@Base 2.24.0 + g_variant_new_printf@Base 2.37.5 + g_variant_new_signature@Base 2.24.0 + g_variant_new_string@Base 2.24.0 + g_variant_new_strv@Base 2.24.0 + g_variant_new_take_string@Base 2.37.0 + g_variant_new_tuple@Base 2.24.0 + g_variant_new_uint16@Base 2.24.0 + g_variant_new_uint32@Base 2.24.0 + g_variant_new_uint64@Base 2.24.0 + g_variant_new_va@Base 2.24.0 + g_variant_new_variant@Base 2.24.0 + g_variant_parse@Base 2.24.0 + g_variant_parse_error_print_context@Base 2.39.4 + g_variant_parse_error_quark@Base 2.39.4 + g_variant_parser_get_error_quark@Base 2.24.0 + g_variant_print@Base 2.24.0 + g_variant_print_string@Base 2.24.0 + g_variant_ref@Base 2.24.0 + g_variant_ref_sink@Base 2.24.0 + g_variant_serialised_byteswap@Base 2.24.0 + g_variant_serialised_check@Base 2.59.0 + g_variant_serialised_get_child@Base 2.24.0 + g_variant_serialised_is_normal@Base 2.24.0 + g_variant_serialised_n_children@Base 2.24.0 + g_variant_serialiser_is_object_path@Base 2.24.0 + g_variant_serialiser_is_signature@Base 2.24.0 + g_variant_serialiser_is_string@Base 2.24.0 + g_variant_serialiser_needed_size@Base 2.24.0 + g_variant_serialiser_serialise@Base 2.24.0 + g_variant_store@Base 2.24.0 + g_variant_take_ref@Base 2.30.0 + g_variant_type_checked_@Base 2.24.0 + g_variant_type_copy@Base 2.24.0 + g_variant_type_dup_string@Base 2.24.0 + g_variant_type_element@Base 2.24.0 + g_variant_type_equal@Base 2.24.0 + g_variant_type_first@Base 2.24.0 + g_variant_type_free@Base 2.24.0 + g_variant_type_get_string_length@Base 2.24.0 + g_variant_type_hash@Base 2.24.0 + g_variant_type_info_assert_no_infos@Base 2.24.0 + g_variant_type_info_element@Base 2.24.0 + g_variant_type_info_get@Base 2.24.0 + g_variant_type_info_get_type_string@Base 2.24.0 + g_variant_type_info_member_info@Base 2.24.0 + g_variant_type_info_n_members@Base 2.24.0 + g_variant_type_info_query@Base 2.24.0 + g_variant_type_info_query_depth@Base 2.58.2 + g_variant_type_info_query_element@Base 2.24.0 + g_variant_type_info_ref@Base 2.24.0 + g_variant_type_info_unref@Base 2.24.0 + g_variant_type_is_array@Base 2.24.0 + g_variant_type_is_basic@Base 2.24.0 + g_variant_type_is_container@Base 2.24.0 + g_variant_type_is_definite@Base 2.24.0 + g_variant_type_is_dict_entry@Base 2.24.0 + g_variant_type_is_maybe@Base 2.24.0 + g_variant_type_is_subtype_of@Base 2.24.0 + g_variant_type_is_tuple@Base 2.24.0 + g_variant_type_is_variant@Base 2.24.0 + g_variant_type_key@Base 2.24.0 + g_variant_type_n_items@Base 2.24.0 + g_variant_type_new@Base 2.24.0 + g_variant_type_new_array@Base 2.24.0 + g_variant_type_new_dict_entry@Base 2.24.0 + g_variant_type_new_maybe@Base 2.24.0 + g_variant_type_new_tuple@Base 2.24.0 + g_variant_type_next@Base 2.24.0 + g_variant_type_peek_string@Base 2.24.0 + g_variant_type_string_get_depth_@Base 2.58.2 + g_variant_type_string_is_valid@Base 2.24.0 + g_variant_type_string_scan@Base 2.24.0 + g_variant_type_value@Base 2.24.0 + g_variant_unref@Base 2.24.0 + g_vasprintf@Base 2.12.0 + g_vfprintf@Base 2.12.0 + g_vprintf@Base 2.12.0 + g_vsnprintf@Base 2.12.0 + g_vsprintf@Base 2.12.0 + g_warn_message@Base 2.16.0 + glib__private__@Base 2.31.8 + glib_binary_age@Base 2.12.0 + glib_check_version@Base 2.12.0 + glib_gettext@Base 2.16.0 + glib_interface_age@Base 2.12.0 + glib_major_version@Base 2.12.0 + glib_mem_profiler_table@Base 2.12.0 + glib_micro_version@Base 2.12.0 + glib_minor_version@Base 2.12.0 + glib_on_error_halt@Base 2.12.0 + glib_pgettext@Base 2.28.3 +libgmodule-2.0.so.0 libglib2.0-0 #MINVER# +* Build-Depends-Package: libglib2.0-dev + g_module_build_path@Base 2.12.0 + g_module_close@Base 2.12.0 + g_module_error@Base 2.12.0 + g_module_error_quark@Base 2.70.0 + g_module_make_resident@Base 2.12.0 + g_module_name@Base 2.12.0 + g_module_open@Base 2.12.0 + g_module_open_full@Base 2.70.0 + g_module_supported@Base 2.12.0 + g_module_symbol@Base 2.12.0 +libgobject-2.0.so.0 libglib2.0-0 #MINVER# +* Build-Depends-Package: libglib2.0-dev + g_array_get_type@Base 2.22.0 + g_binding_dup_source@Base 2.67.1 + g_binding_dup_target@Base 2.67.1 + g_binding_flags_get_type@Base 2.26.0 + g_binding_get_flags@Base 2.26.0 + g_binding_get_source@Base 2.26.0 + g_binding_get_source_property@Base 2.26.0 + g_binding_get_target@Base 2.26.0 + g_binding_get_target_property@Base 2.26.0 + g_binding_get_type@Base 2.26.0 + g_binding_group_bind@Base 2.71.2 + g_binding_group_bind_full@Base 2.71.2 + g_binding_group_bind_with_closures@Base 2.71.2 + g_binding_group_dup_source@Base 2.71.2 + g_binding_group_get_type@Base 2.71.2 + g_binding_group_new@Base 2.71.2 + g_binding_group_set_source@Base 2.71.2 + g_binding_unbind@Base 2.37.1 + g_boxed_copy@Base 2.12.0 + g_boxed_free@Base 2.12.0 + g_boxed_type_register_static@Base 2.12.0 + g_byte_array_get_type@Base 2.22.0 + g_bytes_get_type@Base 2.31.8 + g_cclosure_marshal_BOOLEAN__BOXED_BOXED@Base 2.26.0 + g_cclosure_marshal_BOOLEAN__BOXED_BOXEDv@Base 2.31.20 + g_cclosure_marshal_BOOLEAN__FLAGS@Base 2.12.0 + g_cclosure_marshal_BOOLEAN__FLAGSv@Base 2.31.20 + g_cclosure_marshal_STRING__OBJECT_POINTER@Base 2.12.0 + g_cclosure_marshal_STRING__OBJECT_POINTERv@Base 2.31.20 + g_cclosure_marshal_VOID__BOOLEAN@Base 2.12.0 + g_cclosure_marshal_VOID__BOOLEANv@Base 2.31.20 + g_cclosure_marshal_VOID__BOXED@Base 2.12.0 + g_cclosure_marshal_VOID__BOXEDv@Base 2.31.20 + g_cclosure_marshal_VOID__CHAR@Base 2.12.0 + g_cclosure_marshal_VOID__CHARv@Base 2.31.20 + g_cclosure_marshal_VOID__DOUBLE@Base 2.12.0 + g_cclosure_marshal_VOID__DOUBLEv@Base 2.31.20 + g_cclosure_marshal_VOID__ENUM@Base 2.12.0 + g_cclosure_marshal_VOID__ENUMv@Base 2.31.20 + g_cclosure_marshal_VOID__FLAGS@Base 2.12.0 + g_cclosure_marshal_VOID__FLAGSv@Base 2.31.20 + g_cclosure_marshal_VOID__FLOAT@Base 2.12.0 + g_cclosure_marshal_VOID__FLOATv@Base 2.31.20 + g_cclosure_marshal_VOID__INT@Base 2.12.0 + g_cclosure_marshal_VOID__INTv@Base 2.31.20 + g_cclosure_marshal_VOID__LONG@Base 2.12.0 + g_cclosure_marshal_VOID__LONGv@Base 2.31.20 + g_cclosure_marshal_VOID__OBJECT@Base 2.12.0 + g_cclosure_marshal_VOID__OBJECTv@Base 2.31.20 + g_cclosure_marshal_VOID__PARAM@Base 2.12.0 + g_cclosure_marshal_VOID__PARAMv@Base 2.31.20 + g_cclosure_marshal_VOID__POINTER@Base 2.12.0 + g_cclosure_marshal_VOID__POINTERv@Base 2.31.20 + g_cclosure_marshal_VOID__STRING@Base 2.12.0 + g_cclosure_marshal_VOID__STRINGv@Base 2.31.20 + g_cclosure_marshal_VOID__UCHAR@Base 2.12.0 + g_cclosure_marshal_VOID__UCHARv@Base 2.31.20 + g_cclosure_marshal_VOID__UINT@Base 2.12.0 + g_cclosure_marshal_VOID__UINT_POINTER@Base 2.12.0 + g_cclosure_marshal_VOID__UINT_POINTERv@Base 2.31.20 + g_cclosure_marshal_VOID__UINTv@Base 2.31.20 + g_cclosure_marshal_VOID__ULONG@Base 2.12.0 + g_cclosure_marshal_VOID__ULONGv@Base 2.31.20 + g_cclosure_marshal_VOID__VARIANT@Base 2.26.0 + g_cclosure_marshal_VOID__VARIANTv@Base 2.31.20 + g_cclosure_marshal_VOID__VOID@Base 2.12.0 + g_cclosure_marshal_VOID__VOIDv@Base 2.31.20 + g_cclosure_marshal_generic@Base 2.30.0 + g_cclosure_marshal_generic_va@Base 2.31.20 + g_cclosure_new@Base 2.12.0 + g_cclosure_new_object@Base 2.12.0 + g_cclosure_new_object_swap@Base 2.12.0 + g_cclosure_new_swap@Base 2.12.0 + g_checksum_get_type@Base 2.35.8 + g_clear_object@Base 2.28.0 + g_clear_signal_handler@Base 2.61.1 + g_closure_add_finalize_notifier@Base 2.12.0 + g_closure_add_invalidate_notifier@Base 2.12.0 + g_closure_add_marshal_guards@Base 2.12.0 + g_closure_get_type@Base 2.12.0 + g_closure_invalidate@Base 2.12.0 + g_closure_invoke@Base 2.12.0 + g_closure_new_object@Base 2.12.0 + g_closure_new_simple@Base 2.12.0 + g_closure_ref@Base 2.12.0 + g_closure_remove_finalize_notifier@Base 2.12.0 + g_closure_remove_invalidate_notifier@Base 2.12.0 + g_closure_set_marshal@Base 2.12.0 + g_closure_set_meta_marshal@Base 2.12.0 + g_closure_sink@Base 2.12.0 + g_closure_unref@Base 2.12.0 + g_date_get_type@Base 2.12.0 + g_date_time_get_type@Base 2.26.0 + g_enum_complete_type_info@Base 2.12.0 + g_enum_get_value@Base 2.12.0 + g_enum_get_value_by_name@Base 2.12.0 + g_enum_get_value_by_nick@Base 2.12.0 + g_enum_register_static@Base 2.12.0 + g_enum_to_string@Base 2.53.1 + g_error_get_type@Base 2.26.0 + g_flags_complete_type_info@Base 2.12.0 + g_flags_get_first_value@Base 2.12.0 + g_flags_get_value_by_name@Base 2.12.0 + g_flags_get_value_by_nick@Base 2.12.0 + g_flags_register_static@Base 2.12.0 + g_flags_to_string@Base 2.53.1 + g_gstring_get_type@Base 2.12.0 + g_gtype_get_type@Base 2.12.0 + g_hash_table_get_type@Base 2.12.0 + g_initially_unowned_get_type@Base 2.12.0 + g_io_channel_get_type@Base 2.12.0 + g_io_condition_get_type@Base 2.12.0 + g_key_file_get_type@Base 2.31.8 + g_main_context_get_type@Base 2.30.0 + g_main_loop_get_type@Base 2.30.0 + g_mapped_file_get_type@Base 2.39.4 + g_markup_parse_context_get_type@Base 2.35.8 + g_match_info_get_type@Base 2.30.0 + g_normalize_mode_get_type@Base 2.59.2 + g_object_add_toggle_ref@Base 2.12.0 + g_object_add_weak_pointer@Base 2.12.0 + g_object_bind_property@Base 2.26.0 + g_object_bind_property_full@Base 2.26.0 + g_object_bind_property_with_closures@Base 2.26.0 + g_object_class_find_property@Base 2.12.0 + g_object_class_install_properties@Base 2.26.0 + g_object_class_install_property@Base 2.12.0 + g_object_class_list_properties@Base 2.12.0 + g_object_class_override_property@Base 2.12.0 + g_object_compat_control@Base 2.12.0 + g_object_connect@Base 2.12.0 + g_object_disconnect@Base 2.12.0 + g_object_dup_data@Base 2.33.14 + g_object_dup_qdata@Base 2.33.14 + g_object_force_floating@Base 2.12.0 + g_object_freeze_notify@Base 2.12.0 + g_object_get@Base 2.12.0 + g_object_get_data@Base 2.12.0 + g_object_get_property@Base 2.12.0 + g_object_get_qdata@Base 2.12.0 + g_object_get_type@Base 2.18.0 + g_object_get_valist@Base 2.12.0 + g_object_getv@Base 2.53.1 + g_object_interface_find_property@Base 2.12.0 + g_object_interface_install_property@Base 2.12.0 + g_object_interface_list_properties@Base 2.12.0 + g_object_is_floating@Base 2.12.0 + g_object_new@Base 2.12.0 + g_object_new_valist@Base 2.12.0 + g_object_newv@Base 2.12.0 + g_object_new_with_properties@Base 2.53.1 + g_object_notify@Base 2.12.0 + g_object_notify_by_pspec@Base 2.26.0 + g_object_ref@Base 2.12.0 + g_object_ref_sink@Base 2.12.0 + g_object_take_ref@Base 2.70.0 + g_object_remove_toggle_ref@Base 2.12.0 + g_object_remove_weak_pointer@Base 2.12.0 + g_object_replace_data@Base 2.33.14 + g_object_replace_qdata@Base 2.33.14 + g_object_run_dispose@Base 2.12.0 + g_object_set@Base 2.12.0 + g_object_set_data@Base 2.12.0 + g_object_set_data_full@Base 2.12.0 + g_object_set_property@Base 2.12.0 + g_object_set_qdata@Base 2.12.0 + g_object_set_qdata_full@Base 2.12.0 + g_object_set_valist@Base 2.12.0 + g_object_setv@Base 2.53.1 + g_object_steal_data@Base 2.12.0 + g_object_steal_qdata@Base 2.12.0 + g_object_thaw_notify@Base 2.12.0 + g_object_unref@Base 2.12.0 + g_object_watch_closure@Base 2.12.0 + g_object_weak_ref@Base 2.12.0 + g_object_weak_unref@Base 2.12.0 + g_option_group_get_type@Base 2.43.90 + g_param_spec_boolean@Base 2.12.0 + g_param_spec_boxed@Base 2.12.0 + g_param_spec_char@Base 2.12.0 + g_param_spec_double@Base 2.12.0 + g_param_spec_enum@Base 2.12.0 + g_param_spec_flags@Base 2.12.0 + g_param_spec_float@Base 2.12.0 + g_param_spec_get_blurb@Base 2.12.0 + g_param_spec_get_default_value@Base 2.37.0 + g_param_spec_get_name@Base 2.12.0 + g_param_spec_get_name_quark@Base 2.45.8 + g_param_spec_get_nick@Base 2.12.0 + g_param_spec_get_qdata@Base 2.12.0 + g_param_spec_get_redirect_target@Base 2.12.0 + g_param_spec_gtype@Base 2.12.0 + g_param_spec_int64@Base 2.12.0 + g_param_spec_int@Base 2.12.0 + g_param_spec_internal@Base 2.12.0 + g_param_spec_is_valid_name@Base 2.65.1 + g_param_spec_long@Base 2.12.0 + g_param_spec_object@Base 2.12.0 + g_param_spec_override@Base 2.12.0 + g_param_spec_param@Base 2.12.0 + g_param_spec_pointer@Base 2.12.0 + g_param_spec_pool_insert@Base 2.12.0 + g_param_spec_pool_list@Base 2.12.0 + g_param_spec_pool_list_owned@Base 2.12.0 + g_param_spec_pool_lookup@Base 2.12.0 + g_param_spec_pool_new@Base 2.12.0 + g_param_spec_pool_remove@Base 2.12.0 + g_param_spec_ref@Base 2.12.0 + g_param_spec_ref_sink@Base 2.12.0 + g_param_spec_set_qdata@Base 2.12.0 + g_param_spec_set_qdata_full@Base 2.12.0 + g_param_spec_sink@Base 2.12.0 + g_param_spec_steal_qdata@Base 2.12.0 + g_param_spec_string@Base 2.12.0 + g_param_spec_types@Base 2.12.0 + g_param_spec_uchar@Base 2.12.0 + g_param_spec_uint64@Base 2.12.0 + g_param_spec_uint@Base 2.12.0 + g_param_spec_ulong@Base 2.12.0 + g_param_spec_unichar@Base 2.12.0 + g_param_spec_unref@Base 2.12.0 + g_param_spec_value_array@Base 2.12.0 + g_param_spec_variant@Base 2.26.0 + g_param_type_register_static@Base 2.12.0 + g_param_value_convert@Base 2.12.0 + g_param_value_defaults@Base 2.12.0 + g_param_value_set_default@Base 2.12.0 + g_param_value_validate@Base 2.12.0 + g_param_values_cmp@Base 2.12.0 + g_pattern_spec_get_type@Base 2.70.0 + g_pointer_type_register_static@Base 2.12.0 + g_pollfd_get_type@Base 2.35.8 + g_ptr_array_get_type@Base 2.22.0 + g_regex_get_type@Base 2.14.0 + g_signal_accumulator_first_wins@Base 2.28.0 + g_signal_accumulator_true_handled@Base 2.12.0 + g_signal_add_emission_hook@Base 2.12.0 + g_signal_chain_from_overridden@Base 2.12.0 + g_signal_chain_from_overridden_handler@Base 2.18.0 + g_signal_connect_closure@Base 2.12.0 + g_signal_connect_closure_by_id@Base 2.12.0 + g_signal_connect_data@Base 2.12.0 + g_signal_connect_object@Base 2.12.0 + g_signal_emit@Base 2.12.0 + g_signal_emit_by_name@Base 2.12.0 + g_signal_emit_valist@Base 2.12.0 + g_signal_emitv@Base 2.12.0 + g_signal_get_invocation_hint@Base 2.12.0 + g_signal_group_block@Base 2.71.2 + g_signal_group_connect@Base 2.71.2 + g_signal_group_connect_after@Base 2.71.2 + g_signal_group_connect_data@Base 2.71.2 + g_signal_group_connect_object@Base 2.71.2 + g_signal_group_connect_swapped@Base 2.71.2 + g_signal_group_dup_target@Base 2.71.2 + g_signal_group_get_type@Base 2.71.2 + g_signal_group_new@Base 2.71.2 + g_signal_group_set_target@Base 2.71.2 + g_signal_group_unblock@Base 2.71.2 + g_signal_handler_block@Base 2.12.0 + g_signal_handler_disconnect@Base 2.12.0 + g_signal_handler_find@Base 2.12.0 + g_signal_handler_is_connected@Base 2.12.0 + g_signal_handler_unblock@Base 2.12.0 + g_signal_handlers_block_matched@Base 2.12.0 + g_signal_handlers_destroy@Base 2.12.0 + g_signal_handlers_disconnect_matched@Base 2.12.0 + g_signal_handlers_unblock_matched@Base 2.12.0 + g_signal_has_handler_pending@Base 2.12.0 + g_signal_is_valid_name@Base 2.65.1 + g_signal_list_ids@Base 2.12.0 + g_signal_lookup@Base 2.12.0 + g_signal_name@Base 2.12.0 + g_signal_new@Base 2.12.0 + g_signal_new_class_handler@Base 2.18.0 + g_signal_new_valist@Base 2.12.0 + g_signal_newv@Base 2.12.0 + g_signal_override_class_closure@Base 2.12.0 + g_signal_override_class_handler@Base 2.18.0 + g_signal_parse_name@Base 2.12.0 + g_signal_query@Base 2.12.0 + g_signal_remove_emission_hook@Base 2.12.0 + g_signal_set_va_marshaller@Base 2.31.20 + g_signal_stop_emission@Base 2.12.0 + g_signal_stop_emission_by_name@Base 2.12.0 + g_signal_type_cclosure_new@Base 2.12.0 + g_source_get_type@Base 2.30.0 + g_source_set_closure@Base 2.12.0 + g_source_set_dummy_callback@Base 2.28.0 + g_strdup_value_contents@Base 2.12.0 + g_strv_get_type@Base 2.12.0 + g_thread_get_type@Base 2.35.8 + g_time_zone_get_type@Base 2.33.14 + g_tree_get_type@Base 2.67.1 + g_type_add_class_cache_func@Base 2.12.0 + g_type_add_class_private@Base 2.24.0 + g_type_add_instance_private@Base 2.37.3 + g_type_add_interface_check@Base 2.12.0 + g_type_add_interface_dynamic@Base 2.12.0 + g_type_add_interface_static@Base 2.12.0 + g_type_check_class_cast@Base 2.12.0 + g_type_check_class_is_a@Base 2.12.0 + g_type_check_instance@Base 2.12.0 + g_type_check_instance_cast@Base 2.12.0 + g_type_check_instance_is_a@Base 2.12.0 + g_type_check_instance_is_fundamentally_a@Base 2.41.1 + g_type_check_is_value_type@Base 2.12.0 + g_type_check_value@Base 2.12.0 + g_type_check_value_holds@Base 2.12.0 + g_type_children@Base 2.12.0 + g_type_class_add_private@Base 2.12.0 + g_type_class_adjust_private_offset@Base 2.37.3 + g_type_class_get_instance_private_offset@Base 2.37.0 + g_type_class_get_private@Base 2.24.0 + g_type_class_peek@Base 2.12.0 + g_type_class_peek_parent@Base 2.12.0 + g_type_class_peek_static@Base 2.12.0 + g_type_class_ref@Base 2.12.0 + g_type_class_unref@Base 2.12.0 + g_type_class_unref_uncached@Base 2.12.0 + g_type_create_instance@Base 2.12.0 + g_type_default_interface_peek@Base 2.12.0 + g_type_default_interface_ref@Base 2.12.0 + g_type_default_interface_unref@Base 2.12.0 + g_type_depth@Base 2.12.0 + g_type_ensure@Base 2.33.14 + g_type_free_instance@Base 2.12.0 + g_type_from_name@Base 2.12.0 + g_type_fundamental@Base 2.12.0 + g_type_fundamental_next@Base 2.12.0 + g_type_get_instance_count@Base 2.43.1 + g_type_get_plugin@Base 2.12.0 + g_type_get_qdata@Base 2.12.0 + g_type_get_type_registration_serial@Base 2.35.8 + g_type_init@Base 2.12.0 + g_type_init_with_debug_flags@Base 2.12.0 + g_type_instance_get_private@Base 2.12.0 + g_type_interface_add_prerequisite@Base 2.12.0 + g_type_interface_get_plugin@Base 2.12.0 + g_type_interface_instantiatable_prerequisite@Base 2.67.1 + g_type_interface_peek@Base 2.12.0 + g_type_interface_peek_parent@Base 2.12.0 + g_type_interface_prerequisites@Base 2.12.0 + g_type_interfaces@Base 2.12.0 + g_type_is_a@Base 2.12.0 + g_type_module_add_interface@Base 2.12.0 + g_type_module_get_type@Base 2.12.0 + g_type_module_register_enum@Base 2.12.0 + g_type_module_register_flags@Base 2.12.0 + g_type_module_register_type@Base 2.12.0 + g_type_module_set_name@Base 2.12.0 + g_type_module_unuse@Base 2.12.0 + g_type_module_use@Base 2.12.0 + g_type_name@Base 2.12.0 + g_type_name_from_class@Base 2.12.0 + g_type_name_from_instance@Base 2.12.0 + g_type_next_base@Base 2.12.0 + g_type_parent@Base 2.12.0 + g_type_plugin_complete_interface_info@Base 2.12.0 + g_type_plugin_complete_type_info@Base 2.12.0 + g_type_plugin_get_type@Base 2.12.0 + g_type_plugin_unuse@Base 2.12.0 + g_type_plugin_use@Base 2.12.0 + g_type_qname@Base 2.12.0 + g_type_query@Base 2.12.0 + g_type_register_dynamic@Base 2.12.0 + g_type_register_fundamental@Base 2.12.0 + g_type_register_static@Base 2.12.0 + g_type_register_static_simple@Base 2.12.0 + g_type_remove_class_cache_func@Base 2.12.0 + g_type_remove_interface_check@Base 2.12.0 + g_type_set_qdata@Base 2.12.0 + g_type_test_flags@Base 2.12.0 + g_type_value_table_peek@Base 2.12.0 + g_unicode_break_type_get_type@Base 2.59.2 + g_unicode_script_get_type@Base 2.59.2 + g_unicode_type_get_type@Base 2.59.2 + g_uri_get_type@Base 2.65.1 + g_value_array_append@Base 2.12.0 + g_value_array_copy@Base 2.12.0 + g_value_array_free@Base 2.12.0 + g_value_array_get_nth@Base 2.12.0 + g_value_array_get_type@Base 2.12.0 + g_value_array_insert@Base 2.12.0 + g_value_array_new@Base 2.12.0 + g_value_array_prepend@Base 2.12.0 + g_value_array_remove@Base 2.12.0 + g_value_array_sort@Base 2.12.0 + g_value_array_sort_with_data@Base 2.12.0 + g_value_copy@Base 2.12.0 + g_value_dup_boxed@Base 2.12.0 + g_value_dup_object@Base 2.12.0 + g_value_dup_param@Base 2.12.0 + g_value_dup_string@Base 2.12.0 + g_value_dup_variant@Base 2.26.0 + g_value_fits_pointer@Base 2.12.0 + g_value_get_boolean@Base 2.12.0 + g_value_get_boxed@Base 2.12.0 + g_value_get_char@Base 2.12.0 + g_value_get_double@Base 2.12.0 + g_value_get_enum@Base 2.12.0 + g_value_get_flags@Base 2.12.0 + g_value_get_float@Base 2.12.0 + g_value_get_gtype@Base 2.12.0 + g_value_get_int64@Base 2.12.0 + g_value_get_int@Base 2.12.0 + g_value_get_long@Base 2.12.0 + g_value_get_object@Base 2.12.0 + g_value_get_param@Base 2.12.0 + g_value_get_pointer@Base 2.12.0 + g_value_get_schar@Base 2.31.8 + g_value_get_string@Base 2.12.0 + g_value_get_type@Base 2.12.0 + g_value_get_uchar@Base 2.12.0 + g_value_get_uint64@Base 2.12.0 + g_value_get_uint@Base 2.12.0 + g_value_get_ulong@Base 2.12.0 + g_value_get_variant@Base 2.26.0 + g_value_init@Base 2.12.0 + g_value_init_from_instance@Base 2.41.2 + g_value_peek_pointer@Base 2.12.0 + g_value_register_transform_func@Base 2.12.0 + g_value_reset@Base 2.12.0 + g_value_set_boolean@Base 2.12.0 + g_value_set_boxed@Base 2.12.0 + g_value_set_boxed_take_ownership@Base 2.12.0 + g_value_set_char@Base 2.12.0 + g_value_set_double@Base 2.12.0 + g_value_set_enum@Base 2.12.0 + g_value_set_flags@Base 2.12.0 + g_value_set_float@Base 2.12.0 + g_value_set_gtype@Base 2.12.0 + g_value_set_instance@Base 2.12.0 + g_value_set_int64@Base 2.12.0 + g_value_set_int@Base 2.12.0 + g_value_set_interned_string@Base 2.65.1 + g_value_set_long@Base 2.12.0 + g_value_set_object@Base 2.12.0 + g_value_set_object_take_ownership@Base 2.12.0 + g_value_set_param@Base 2.12.0 + g_value_set_param_take_ownership@Base 2.12.0 + g_value_set_pointer@Base 2.12.0 + g_value_set_schar@Base 2.31.8 + g_value_set_static_boxed@Base 2.12.0 + g_value_set_static_string@Base 2.12.0 + g_value_set_string@Base 2.12.0 + g_value_set_string_take_ownership@Base 2.12.0 + g_value_set_uchar@Base 2.12.0 + g_value_set_uint64@Base 2.12.0 + g_value_set_uint@Base 2.12.0 + g_value_set_ulong@Base 2.12.0 + g_value_set_variant@Base 2.26.0 + g_value_take_boxed@Base 2.12.0 + g_value_take_object@Base 2.12.0 + g_value_take_param@Base 2.12.0 + g_value_take_string@Base 2.12.0 + g_value_take_variant@Base 2.26.0 + g_value_transform@Base 2.12.0 + g_value_type_compatible@Base 2.12.0 + g_value_type_transformable@Base 2.12.0 + g_value_unset@Base 2.12.0 + g_variant_builder_get_type@Base 2.30.0 + g_variant_dict_get_type@Base 2.39.90 + g_variant_get_gtype@Base 2.24.0 + g_variant_type_get_gtype@Base 2.24.0 + g_weak_ref_clear@Base 2.31.8 + g_weak_ref_get@Base 2.31.8 + g_weak_ref_init@Base 2.31.8 + g_weak_ref_set@Base 2.31.8 +libgthread-2.0.so.0 libglib2.0-0 #MINVER# +* Build-Depends-Package: libglib2.0-dev + g_thread_init@Base 2.12.0 + g_thread_init_with_errorcheck_mutexes@Base 2.12.0 diff --git a/debian/libglib2.0-0.triggers.in b/debian/libglib2.0-0.triggers.in new file mode 100644 index 0000000..b365a66 --- /dev/null +++ b/debian/libglib2.0-0.triggers.in @@ -0,0 +1,2 @@ +interest-noawait /usr/lib/#MULTIARCH#/gio/modules +interest-await /usr/share/glib-2.0/schemas diff --git a/debian/libglib2.0-bin.install b/debian/libglib2.0-bin.install new file mode 100644 index 0000000..1c406ca --- /dev/null +++ b/debian/libglib2.0-bin.install @@ -0,0 +1,13 @@ +usr/bin/gapplication +usr/bin/gdbus +usr/bin/gio +usr/bin/gresource +usr/bin/gsettings +usr/share/bash-completion +usr/share/man/man1/gapplication.1* +usr/share/man/man1/gdbus.1* +usr/share/man/man1/gio-querymodules.1* +usr/share/man/man1/gio.1* +usr/share/man/man1/glib-compile-schemas.1* +usr/share/man/man1/gresource.1* +usr/share/man/man1/gsettings.1* diff --git a/debian/libglib2.0-bin.links b/debian/libglib2.0-bin.links new file mode 100644 index 0000000..3ccceac --- /dev/null +++ b/debian/libglib2.0-bin.links @@ -0,0 +1,2 @@ +/usr/lib/${DEB_HOST_MULTIARCH}/glib-2.0/gio-querymodules /usr/bin/gio-querymodules +/usr/lib/${DEB_HOST_MULTIARCH}/glib-2.0/glib-compile-schemas /usr/bin/glib-compile-schemas diff --git a/debian/libglib2.0-bin.lintian-overrides b/debian/libglib2.0-bin.lintian-overrides new file mode 100644 index 0000000..3b4f46b --- /dev/null +++ b/debian/libglib2.0-bin.lintian-overrides @@ -0,0 +1,2 @@ +# GLib programs normally use GLib functions instead of using libc directly +libglib2.0-bin: hardening-no-fortify-functions [usr/bin/gio] diff --git a/debian/libglib2.0-data.install b/debian/libglib2.0-data.install new file mode 100644 index 0000000..3635480 --- /dev/null +++ b/debian/libglib2.0-data.install @@ -0,0 +1 @@ +usr/share/locale diff --git a/debian/libglib2.0-dev-bin.install b/debian/libglib2.0-dev-bin.install new file mode 100644 index 0000000..84156be --- /dev/null +++ b/debian/libglib2.0-dev-bin.install @@ -0,0 +1,19 @@ +usr/bin/gdbus-codegen +usr/bin/glib-compile-resources +usr/bin/glib-genmarshal +usr/bin/glib-gettextize +usr/bin/glib-mkenums +usr/bin/gobject-query +usr/bin/gtester +usr/bin/gtester-report +usr/share/aclocal +usr/share/glib-2.0/codegen/*.py +usr/share/glib-2.0/gettext +usr/share/man/man1/gdbus-codegen.1* +usr/share/man/man1/glib-compile-resources.1* +usr/share/man/man1/glib-genmarshal.1* +usr/share/man/man1/glib-gettextize.1* +usr/share/man/man1/glib-mkenums.1* +usr/share/man/man1/gobject-query.1* +usr/share/man/man1/gtester-report.1* +usr/share/man/man1/gtester.1* diff --git a/debian/libglib2.0-dev.README.Debian b/debian/libglib2.0-dev.README.Debian new file mode 100644 index 0000000..b36c218 --- /dev/null +++ b/debian/libglib2.0-dev.README.Debian @@ -0,0 +1,15 @@ +GLib2.0 for Debian +------------------- + +Static libraries issue: +Right now glib2.0 provides some static libraries. If your application +uses g_module* functions or other libraries uses g_module* functions and +your application link it, Please don't statically link this libraries. +You may get some strange proglem between static-linked application and +dynamic-loaded modules, g_module* provides the feature for dynamically +loading some modules. +This is well-known bug, so please don't file a bug report. + + + -- Akira TAGOH , Thu, 11 Apr 2002 19:28:50 +0900 + diff --git a/debian/libglib2.0-dev.install b/debian/libglib2.0-dev.install new file mode 100644 index 0000000..0bb46ef --- /dev/null +++ b/debian/libglib2.0-dev.install @@ -0,0 +1,14 @@ +usr/include/* +usr/lib/*/glib-2.0 +usr/lib/*/lib*.a +usr/lib/*/libgio*.so +usr/lib/*/libglib*.so +usr/lib/*/libgmodule*.so +usr/lib/*/libgobject*.so +usr/lib/*/libgthread*.so +usr/lib/*/pkgconfig +usr/share/gdb +usr/share/gettext/its +usr/share/glib-2.0/gdb +usr/share/glib-2.0/schemas +usr/share/glib-2.0/valgrind diff --git a/debian/libglib2.0-doc.doc-base.gio b/debian/libglib2.0-doc.doc-base.gio new file mode 100644 index 0000000..72ffc95 --- /dev/null +++ b/debian/libglib2.0-doc.doc-base.gio @@ -0,0 +1,14 @@ +Document: gio +Title: GIO (GLib) Reference Manual +Author: Damon Chaplin et al. +Abstract: GIO is striving to provide a modern, easy-to-use VFS API that sits at + the right level in the library stack. The goal is to overcome the shortcomings + of GnomeVFS and provide an API that is so good that developers prefer it over + raw POSIX calls. Among other things that means using GObject. It also means + not cloning the POSIX API, but providing higher-level, document-centric + interfaces. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libglib2.0-doc/gio/index.html +Files: /usr/share/doc/libglib2.0-doc/gio/*.html diff --git a/debian/libglib2.0-doc.doc-base.glib b/debian/libglib2.0-doc.doc-base.glib new file mode 100644 index 0000000..d611198 --- /dev/null +++ b/debian/libglib2.0-doc.doc-base.glib @@ -0,0 +1,12 @@ +Document: glib +Title: GLib Reference Manual +Author: Damon Chaplin et al. +Abstract: The GLib C library is used in GTK+ and GNOME + programs as a general-purpose set of functions for hash, tree, list, + and string operations, which C is oddly lacking whatsoever in any + of its standard libraries. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libglib2.0-doc/glib/index.html +Files: /usr/share/doc/libglib2.0-doc/glib/*.html diff --git a/debian/libglib2.0-doc.doc-base.gobject b/debian/libglib2.0-doc.doc-base.gobject new file mode 100644 index 0000000..adcc6f0 --- /dev/null +++ b/debian/libglib2.0-doc.doc-base.gobject @@ -0,0 +1,15 @@ +Document: gobject +Title: GObject (GLib) Reference Manual +Author: Damon Chaplin et al. +Abstract: Most modern programming languages come with their own native object + systems and additional fundamental algorithmic language constructs. + Just as GLib serves as an implementation of such fundamental + types and algorithms (linked lists, hash tables and so forth), the + GLib Object System provides the required implementations of a + flexible extensible and intentionally easy to map (into other + languages) object oriented framework for C. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libglib2.0-doc/gobject/index.html +Files: /usr/share/doc/libglib2.0-doc/gobject/*.html diff --git a/debian/libglib2.0-doc.install b/debian/libglib2.0-doc.install new file mode 100644 index 0000000..a5f4974 --- /dev/null +++ b/debian/libglib2.0-doc.install @@ -0,0 +1,3 @@ +usr/share/gtk-doc/html/gio +usr/share/gtk-doc/html/glib +usr/share/gtk-doc/html/gobject diff --git a/debian/libglib2.0-doc.links b/debian/libglib2.0-doc.links new file mode 100644 index 0000000..a979f87 --- /dev/null +++ b/debian/libglib2.0-doc.links @@ -0,0 +1,3 @@ +usr/share/gtk-doc/html/gio usr/share/doc/libglib2.0-doc/gio +usr/share/gtk-doc/html/glib usr/share/doc/libglib2.0-doc/glib +usr/share/gtk-doc/html/gobject usr/share/doc/libglib2.0-doc/gobject diff --git a/debian/libglib2.0-doc.lintian-overrides b/debian/libglib2.0-doc.lintian-overrides new file mode 100644 index 0000000..48af548 --- /dev/null +++ b/debian/libglib2.0-doc.lintian-overrides @@ -0,0 +1,2 @@ +# https://bugs.debian.org/970275 +package-contains-documentation-outside-usr-share-doc usr/share/gtk-doc/html/* diff --git a/debian/libglib2.0-doc.maintscript b/debian/libglib2.0-doc.maintscript new file mode 100644 index 0000000..807786b --- /dev/null +++ b/debian/libglib2.0-doc.maintscript @@ -0,0 +1,6 @@ +dir_to_symlink /usr/share/doc/libglib2.0-doc/gio ../../gtk-doc/html/gio 2.58.0-4~ +dir_to_symlink /usr/share/doc/libglib2.0-doc/glib ../../gtk-doc/html/glib 2.58.0-4~ +dir_to_symlink /usr/share/doc/libglib2.0-doc/gobject ../../gtk-doc/html/gobject 2.58.0-4~ +symlink_to_dir /usr/share/gtk-doc/html/gio ../../doc/libglib2.0-doc/gio 2.58.0-4~ +symlink_to_dir /usr/share/gtk-doc/html/glib ../../doc/libglib2.0-doc/glib 2.58.0-4~ +symlink_to_dir /usr/share/gtk-doc/html/gobject ../../doc/libglib2.0-doc/gobject 2.58.0-4~ diff --git a/debian/libglib2.0-tests.install b/debian/libglib2.0-tests.install new file mode 100644 index 0000000..e2a2951 --- /dev/null +++ b/debian/libglib2.0-tests.install @@ -0,0 +1,2 @@ +usr/libexec/installed-tests +usr/share/installed-tests diff --git a/debian/libglib2.0-tests.lintian-overrides b/debian/libglib2.0-tests.lintian-overrides new file mode 100644 index 0000000..e5e79f4 --- /dev/null +++ b/debian/libglib2.0-tests.lintian-overrides @@ -0,0 +1,12 @@ +# Lots of tests don't use libc functions +libglib2.0-tests: hardening-no-fortify-functions [usr/libexec/installed-tests/glib/*] +# Some are deliberately not well-formed UTF-8 +libglib2.0-tests: national-encoding usr/libexec/installed-tests/glib/markups/fail* +# Not every .txt file is documentation +libglib2.0-tests: package-contains-documentation-outside-usr-share-doc usr/libexec/installed-tests/glib/*.txt +# Test data for content-type sniffing, never actually executed +libglib2.0-tests: script-not-executable [usr/libexec/installed-tests/glib/x-content/unix-software/autorun.sh] +# This is lorem ipsum in a test-case, nothing to do with the Debian Free Software Guidelines +libglib2.0-tests: spelling-error-in-binary usr/libexec/installed-tests/glib/utf8-pointer dsfg dfsg +# Depends on a private test-only library +libglib2.0-tests: custom-library-search-path RUNPATH /usr/libexec/installed-tests/glib [usr/libexec/installed-tests/glib/gdbus-peer] diff --git a/debian/libglib2.0-udeb.install b/debian/libglib2.0-udeb.install new file mode 100644 index 0000000..d484cc1 --- /dev/null +++ b/debian/libglib2.0-udeb.install @@ -0,0 +1,2 @@ +usr/lib/*/lib*.so.* +usr/share/locale diff --git a/debian/libglib2.0-udeb.lintian-overrides b/debian/libglib2.0-udeb.lintian-overrides new file mode 100644 index 0000000..e60fe9e --- /dev/null +++ b/debian/libglib2.0-udeb.lintian-overrides @@ -0,0 +1,2 @@ +# It's a deliberate choice of bundling them together +libglib2.0-udeb udeb: package-name-doesnt-match-sonames libgio-2.0-0 libglib-2.0-0 libgmodule-2.0-0 libgobject-2.0-0 libgthread-2.0-0 diff --git a/debian/patches/0001-gio-Make-portal-support-aware-of-snaps.patch b/debian/patches/0001-gio-Make-portal-support-aware-of-snaps.patch new file mode 100644 index 0000000..80f2b7a --- /dev/null +++ b/debian/patches/0001-gio-Make-portal-support-aware-of-snaps.patch @@ -0,0 +1,1136 @@ +From 3cfd08a16c3d9424d37ef71756e4471930c32598 Mon Sep 17 00:00:00 2001 +From: Robert Ancell +Date: Mon, 31 Oct 2022 12:07:52 +0100 +Subject: [PATCH] gio: Make portal support aware of snaps + +--- + docs/reference/gio/meson.build | 1 + + gio/gportalsupport.c | 155 ++++++++++++------ + gio/gsandbox.c | 126 ++++++++++++++ + gio/gsandbox.h | 47 ++++++ + gio/meson.build | 3 +- + gio/tests/meson.build | 22 +++ + gio/tests/portal-support-env-var.c | 45 +++++ + gio/tests/portal-support-none.c | 43 +++++ + gio/tests/portal-support-snap-classic.c | 119 ++++++++++++++ + gio/tests/portal-support-snap.c | 208 ++++++++++++++++++++++++ + gio/tests/portal-support-utils.c | 87 ++++++++++ + gio/tests/portal-support-utils.h | 30 ++++ + gio/tests/sandbox.c | 80 +++++++++ + 13 files changed, 919 insertions(+), 47 deletions(-) + create mode 100644 gio/gsandbox.c + create mode 100644 gio/gsandbox.h + create mode 100644 gio/tests/portal-support-env-var.c + create mode 100644 gio/tests/portal-support-none.c + create mode 100644 gio/tests/portal-support-snap-classic.c + create mode 100644 gio/tests/portal-support-snap.c + create mode 100644 gio/tests/portal-support-utils.c + create mode 100644 gio/tests/portal-support-utils.h + create mode 100644 gio/tests/sandbox.c + +diff --git a/docs/reference/gio/meson.build b/docs/reference/gio/meson.build +index bb14e6923..fe32a2ad3 100644 +--- a/docs/reference/gio/meson.build ++++ b/docs/reference/gio/meson.build +@@ -71,6 +71,7 @@ if get_option('gtk_doc') + 'gproxyresolverportal.h', + 'gregistrysettingsbackend.h', + 'gresourcefile.h', ++ 'gsandbox.h', + 'gsettingsbackendinternal.h', + 'gsettings-mapping.h', + 'gsettingsschema-internal.h', +diff --git a/gio/gportalsupport.c b/gio/gportalsupport.c +index 233f6af45..0742b9beb 100644 +--- a/gio/gportalsupport.c ++++ b/gio/gportalsupport.c +@@ -18,84 +18,147 @@ + + #include "config.h" + ++#include "glib-private.h" + #include "gportalsupport.h" ++#include "gsandbox.h" + ++static GSandboxType sandbox_type = G_SANDBOX_TYPE_UNKNOWN; + static gboolean use_portal; + static gboolean network_available; + static gboolean dconf_access; + ++#ifdef G_PORTAL_SUPPORT_TEST ++static const char *snapctl = "snapctl"; ++#else ++static const char *snapctl = "/usr/bin/snapctl"; ++#endif ++ ++static gboolean ++snap_plug_is_connected (const gchar *plug_name) ++{ ++ gint wait_status; ++ const gchar *argv[] = { snapctl, "is-connected", plug_name, NULL }; ++ ++ /* Bail out if our process is privileged - we don't want to pass those ++ * privileges to snapctl. It could be overridden and this would ++ * allow arbitrary code execution. ++ */ ++ if (GLIB_PRIVATE_CALL (g_check_setuid) ()) ++ return FALSE; ++ ++ if (!g_spawn_sync (NULL, (gchar **) argv, NULL, ++#ifdef G_PORTAL_SUPPORT_TEST ++ G_SPAWN_SEARCH_PATH | ++#endif ++ G_SPAWN_STDOUT_TO_DEV_NULL | ++ G_SPAWN_STDERR_TO_DEV_NULL, ++ NULL, NULL, NULL, NULL, &wait_status, ++ NULL)) ++ return FALSE; ++ ++ return g_spawn_check_wait_status (wait_status, NULL); ++} ++ + static void +-read_flatpak_info (void) ++sandbox_info_read (void) + { +- static gsize flatpak_info_read = 0; +- const gchar *path = "/.flatpak-info"; ++ static gsize sandbox_info_is_read = 0; + +- if (!g_once_init_enter (&flatpak_info_read)) ++ /* Sandbox type and Flatpak info is static, so only read once */ ++ if (!g_once_init_enter (&sandbox_info_is_read)) + return; + +- if (g_file_test (path, G_FILE_TEST_EXISTS)) +- { +- GKeyFile *keyfile; +- +- use_portal = TRUE; +- network_available = FALSE; +- dconf_access = FALSE; +- +- keyfile = g_key_file_new (); +- if (g_key_file_load_from_file (keyfile, path, G_KEY_FILE_NONE, NULL)) +- { +- char **shared = NULL; +- char *dconf_policy = NULL; +- +- shared = g_key_file_get_string_list (keyfile, "Context", "shared", NULL, NULL); +- if (shared) +- { +- network_available = g_strv_contains ((const char * const *)shared, "network"); +- g_strfreev (shared); +- } +- +- dconf_policy = g_key_file_get_string (keyfile, "Session Bus Policy", "ca.desrt.dconf", NULL); +- if (dconf_policy) +- { +- if (strcmp (dconf_policy, "talk") == 0) +- dconf_access = TRUE; +- g_free (dconf_policy); +- } +- } +- +- g_key_file_unref (keyfile); +- } +- else ++ sandbox_type = glib_get_sandbox_type (); ++ ++ switch (sandbox_type) + { +- const char *var; ++ case G_SANDBOX_TYPE_FLATPAK: ++ { ++ GKeyFile *keyfile; + +- var = g_getenv ("GTK_USE_PORTAL"); +- if (var && var[0] == '1') + use_portal = TRUE; +- network_available = TRUE; +- dconf_access = TRUE; ++ network_available = FALSE; ++ dconf_access = FALSE; ++ ++ keyfile = g_key_file_new (); ++ if (g_key_file_load_from_file (keyfile, "/.flatpak-info", G_KEY_FILE_NONE, NULL)) ++ { ++ char **shared = NULL; ++ char *dconf_policy = NULL; ++ ++ shared = g_key_file_get_string_list (keyfile, "Context", "shared", NULL, NULL); ++ if (shared) ++ { ++ network_available = g_strv_contains ((const char * const *)shared, "network"); ++ g_strfreev (shared); ++ } ++ ++ dconf_policy = g_key_file_get_string (keyfile, "Session Bus Policy", "ca.desrt.dconf", NULL); ++ if (dconf_policy) ++ { ++ if (strcmp (dconf_policy, "talk") == 0) ++ dconf_access = TRUE; ++ g_free (dconf_policy); ++ } ++ } ++ ++ g_key_file_unref (keyfile); ++ } ++ break; ++ case G_SANDBOX_TYPE_SNAP: ++ break; ++ case G_SANDBOX_TYPE_UNKNOWN: ++ { ++ const char *var; ++ ++ var = g_getenv ("GTK_USE_PORTAL"); ++ if (var && var[0] == '1') ++ use_portal = TRUE; ++ network_available = TRUE; ++ dconf_access = TRUE; ++ } ++ break; + } + +- g_once_init_leave (&flatpak_info_read, 1); ++ g_once_init_leave (&sandbox_info_is_read, 1); + } + + gboolean + glib_should_use_portal (void) + { +- read_flatpak_info (); ++ sandbox_info_read (); ++ ++ if (sandbox_type == G_SANDBOX_TYPE_SNAP) ++ return snap_plug_is_connected ("desktop"); ++ + return use_portal; + } + + gboolean + glib_network_available_in_sandbox (void) + { +- read_flatpak_info (); ++ sandbox_info_read (); ++ ++ if (sandbox_type == G_SANDBOX_TYPE_SNAP) ++ { ++ /* FIXME: This is inefficient doing multiple calls to check connections. ++ * See https://github.com/snapcore/snapd/pull/12301 for a proposed ++ * improvement to snapd for this. ++ */ ++ return snap_plug_is_connected ("desktop") || ++ snap_plug_is_connected ("network-status"); ++ } ++ + return network_available; + } + + gboolean + glib_has_dconf_access_in_sandbox (void) + { +- read_flatpak_info (); ++ sandbox_info_read (); ++ ++ if (sandbox_type == G_SANDBOX_TYPE_SNAP) ++ return snap_plug_is_connected ("gsettings"); ++ + return dconf_access; + } +diff --git a/gio/gsandbox.c b/gio/gsandbox.c +new file mode 100644 +index 000000000..34f680b5a +--- /dev/null ++++ b/gio/gsandbox.c +@@ -0,0 +1,126 @@ ++/* GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright 2022 Canonical Ltd ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ */ ++ ++#include "config.h" ++ ++#include "gsandbox.h" ++ ++#include ++ ++#define SNAP_CONFINEMENT_PREFIX "confinement:" ++ ++static gboolean ++is_flatpak (void) ++{ ++ return g_file_test ("/.flatpak-info", G_FILE_TEST_EXISTS); ++} ++ ++static gchar * ++get_snap_confinement (const char *snap_yaml, ++ GError **error) ++{ ++ char *confinement = NULL; ++ char *yaml_contents; ++ ++ if (g_file_get_contents (snap_yaml, &yaml_contents, NULL, error)) ++ { ++ const char *line = yaml_contents; ++ ++ do ++ { ++ if (g_str_has_prefix (line, SNAP_CONFINEMENT_PREFIX)) ++ break; ++ ++ line = strchr (line, '\n'); ++ if (line) ++ line += 1; ++ } ++ while (line != NULL); ++ ++ if (line) ++ { ++ const char *start = line + strlen (SNAP_CONFINEMENT_PREFIX); ++ const char *end = strchr (start, '\n'); ++ ++ confinement = ++ g_strstrip (end ? g_strndup (start, end-start) : g_strdup (start)); ++ } ++ ++ g_free (yaml_contents); ++ } ++ ++ return g_steal_pointer (&confinement); ++} ++ ++static gboolean ++is_snap (void) ++{ ++ GError *error = NULL; ++ const gchar *snap_path; ++ gchar *yaml_path; ++ char *confinement; ++ gboolean result; ++ ++ snap_path = g_getenv ("SNAP"); ++ if (snap_path == NULL) ++ return FALSE; ++ ++ result = FALSE; ++ yaml_path = g_build_filename (snap_path, "meta", "snap.yaml", NULL); ++ confinement = get_snap_confinement (yaml_path, &error); ++ g_free (yaml_path); ++ ++ /* Classic snaps are de-facto no sandboxed apps, so we can ignore them */ ++ if (!error && g_strcmp0 (confinement, "classic") != 0) ++ result = TRUE; ++ ++ g_clear_error (&error); ++ g_free (confinement); ++ ++ return result; ++} ++ ++/* ++ * glib_get_sandbox_type: ++ * ++ * Gets the type of sandbox this process is running inside. ++ * ++ * Checking for sandboxes may involve doing blocking I/O calls, but should not take ++ * any significant time. ++ * ++ * The sandbox will not change over the lifetime of the process, so calling this ++ * function once and reusing the result is valid. ++ * ++ * If this process is not sandboxed then @G_SANDBOX_TYPE_UNKNOWN will be returned. ++ * This is because this function only detects known sandbox types in #GSandboxType. ++ * It may be updated in the future if new sandboxes come into use. ++ * ++ * Returns: a #GSandboxType. ++ */ ++GSandboxType ++glib_get_sandbox_type (void) ++{ ++ if (is_flatpak ()) ++ return G_SANDBOX_TYPE_FLATPAK; ++ else if (is_snap ()) ++ return G_SANDBOX_TYPE_SNAP; ++ else ++ return G_SANDBOX_TYPE_UNKNOWN; ++} +diff --git a/gio/gsandbox.h b/gio/gsandbox.h +new file mode 100644 +index 000000000..7861b2756 +--- /dev/null ++++ b/gio/gsandbox.h +@@ -0,0 +1,47 @@ ++/* GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright 2022 Canonical Ltd ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ */ ++ ++#ifndef __G_SANDBOX_H__ ++#define __G_SANDBOX_H__ ++ ++#include ++ ++G_BEGIN_DECLS ++ ++/* ++ * GSandboxType: ++ * @G_SANDBOX_TYPE_UNKNOWN: process is running inside an unknown or no sandbox. ++ * @G_SANDBOX_TYPE_FLATPAK: process is running inside a flatpak sandbox. ++ * @G_SANDBOX_TYPE_SNAP: process is running inside a snap sandbox. ++ * ++ * The type of sandbox that processes can be running inside. ++ */ ++typedef enum ++{ ++ G_SANDBOX_TYPE_UNKNOWN, ++ G_SANDBOX_TYPE_FLATPAK, ++ G_SANDBOX_TYPE_SNAP ++} GSandboxType; ++ ++GSandboxType glib_get_sandbox_type (void); ++ ++G_END_DECLS ++ ++#endif +diff --git a/gio/meson.build b/gio/meson.build +index 9019104a4..ad4bc47ee 100644 +--- a/gio/meson.build ++++ b/gio/meson.build +@@ -375,7 +375,8 @@ if host_system != 'windows' + 'gproxyresolverportal.c', + 'gtrashportal.c', + 'gportalsupport.c', +- 'gportalnotificationbackend.c'), ++ 'gportalnotificationbackend.c', ++ 'gsandbox.c'), + xdp_dbus_generated + ] + +diff --git a/gio/tests/meson.build b/gio/tests/meson.build +index 383d84319..f1345189a 100644 +--- a/gio/tests/meson.build ++++ b/gio/tests/meson.build +@@ -94,6 +94,9 @@ gio_tests = { + 'power-profile-monitor' : {}, + 'proxy-test' : {}, + 'readwrite' : {}, ++ 'sandbox' : { ++ 'extra_sources': ['../gsandbox.c', 'portal-support-utils.c'], ++ }, + 'simple-async-result' : {}, + 'simple-proxy' : {}, + 'sleepy-stream' : {}, +@@ -198,6 +201,25 @@ if host_machine.system() != 'windows' + }, + 'gdbus-peer-object-manager' : {}, + 'live-g-file' : {}, ++ 'portal-support-none' : { ++ 'extra_sources': ['../gportalsupport.c', '../gsandbox.c'], ++ 'c_args': ['-DG_PORTAL_SUPPORT_TEST'], ++ 'suite': ['portal-support'], ++ }, ++ 'portal-support-env-var' : { ++ 'extra_sources': ['../gportalsupport.c', '../gsandbox.c'], ++ 'suite': ['portal-support'], ++ }, ++ 'portal-support-snap' : { ++ 'extra_sources': ['../gportalsupport.c', '../gsandbox.c', 'portal-support-utils.c'], ++ 'c_args': ['-DG_PORTAL_SUPPORT_TEST'], ++ 'suite': ['portal-support'], ++ }, ++ 'portal-support-snap-classic' : { ++ 'extra_sources': ['../gportalsupport.c', '../gsandbox.c', 'portal-support-utils.c'], ++ 'c_args': ['-DG_PORTAL_SUPPORT_TEST'], ++ 'suite': ['portal-support'], ++ }, + 'resolver-parsing' : {'dependencies' : [network_libs]}, + 'socket-address' : {}, + 'stream-rw_all' : {}, +diff --git a/gio/tests/portal-support-env-var.c b/gio/tests/portal-support-env-var.c +new file mode 100644 +index 000000000..b1d3fd3c3 +--- /dev/null ++++ b/gio/tests/portal-support-env-var.c +@@ -0,0 +1,45 @@ ++/* ++ * GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright (C) 2022 Canonical Ltd. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ * ++ * Author: Marco Trevisan ++ */ ++ ++#include "../gportalsupport.h" ++#include ++ ++static void ++test_portal_support_env_var (void) ++{ ++ g_assert_true (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++} ++ ++int ++main (int argc, char **argv) ++{ ++ g_test_init (&argc, &argv, NULL); ++ ++ g_setenv ("GTK_USE_PORTAL", "1", TRUE); ++ ++ g_test_add_func ("/portal-support/env-var", test_portal_support_env_var); ++ ++ return g_test_run (); ++} +diff --git a/gio/tests/portal-support-none.c b/gio/tests/portal-support-none.c +new file mode 100644 +index 000000000..1bc0a9391 +--- /dev/null ++++ b/gio/tests/portal-support-none.c +@@ -0,0 +1,43 @@ ++/* ++ * GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright (C) 2022 Canonical Ltd. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ * ++ * Author: Marco Trevisan ++ */ ++ ++#include "../gportalsupport.h" ++#include ++ ++static void ++test_portal_support_none (void) ++{ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++} ++ ++int ++main (int argc, char **argv) ++{ ++ g_test_init (&argc, &argv, NULL); ++ ++ g_test_add_func ("/portal-support/none", test_portal_support_none); ++ ++ return g_test_run (); ++} +diff --git a/gio/tests/portal-support-snap-classic.c b/gio/tests/portal-support-snap-classic.c +new file mode 100644 +index 000000000..8c0ed90c2 +--- /dev/null ++++ b/gio/tests/portal-support-snap-classic.c +@@ -0,0 +1,119 @@ ++/* ++ * GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright (C) 2022 Canonical Ltd. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ * ++ * Author: Marco Trevisan ++ */ ++ ++#include "portal-support-utils.h" ++ ++#include "../gportalsupport.h" ++#include ++ ++typedef struct ++{ ++ char *old_path; ++ char *old_snap; ++ ++ const char *bin_path; ++ const char *snap_path; ++} SetupData; ++ ++static void ++tests_setup (SetupData *setup_data, ++ gconstpointer data) ++{ ++ setup_data->old_path = g_strdup (g_getenv ("PATH")); ++ setup_data->old_snap = g_strdup (g_getenv ("SNAP")); ++ ++ setup_data->bin_path = g_get_user_runtime_dir (); ++ setup_data->snap_path = g_getenv ("G_TEST_TMPDIR"); ++ ++ g_assert_nonnull (setup_data->bin_path); ++ g_assert_nonnull (setup_data->snap_path); ++ ++ g_setenv ("PATH", setup_data->bin_path, TRUE); ++ g_setenv ("SNAP", setup_data->snap_path, TRUE); ++} ++ ++static void ++tests_teardown (SetupData *setup_data, ++ gconstpointer data) ++{ ++ if (setup_data->old_path) ++ g_setenv ("PATH", setup_data->old_path, TRUE); ++ else ++ g_unsetenv ("PATH"); ++ ++ if (setup_data->old_snap) ++ g_setenv ("SNAP", setup_data->old_snap, TRUE); ++ else ++ g_unsetenv ("SNAP"); ++ ++ g_clear_pointer (&setup_data->old_path, g_free); ++ g_clear_pointer (&setup_data->old_snap, g_free); ++} ++ ++static void ++test_portal_support_snap_no_snapctl (SetupData *setup, ++ gconstpointer data) ++{ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++} ++ ++static void ++test_portal_support_snap_none (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, TRUE); ++ create_fake_snapctl (setup->bin_path, NULL); ++ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++} ++ ++static void ++test_portal_support_snap_all (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, TRUE); ++ create_fake_snapctl (setup->bin_path, "desktop|network-status|gsettings"); ++ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++} ++ ++int ++main (int argc, char **argv) ++{ ++ g_test_init (&argc, &argv, G_TEST_OPTION_ISOLATE_DIRS, NULL); ++ ++ g_test_add ("/portal-support/snap-classic/no-snapctl", SetupData, NULL, ++ tests_setup, test_portal_support_snap_no_snapctl, tests_teardown); ++ g_test_add ("/portal-support/snap-classic/none", SetupData, NULL, ++ tests_setup, test_portal_support_snap_none, tests_teardown); ++ g_test_add ("/portal-support/snap-classic/all", SetupData, NULL, ++ tests_setup, test_portal_support_snap_all, tests_teardown); ++ ++ return g_test_run (); ++} +diff --git a/gio/tests/portal-support-snap.c b/gio/tests/portal-support-snap.c +new file mode 100644 +index 000000000..7dd14d82f +--- /dev/null ++++ b/gio/tests/portal-support-snap.c +@@ -0,0 +1,208 @@ ++/* ++ * GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright (C) 2022 Canonical Ltd. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ * ++ * Author: Marco Trevisan ++ */ ++ ++#include "portal-support-utils.h" ++ ++#include "../gportalsupport.h" ++#include ++#include ++ ++typedef struct ++{ ++ char *old_path; ++ char *old_snap; ++ ++ const char *bin_path; ++ const char *snap_path; ++} SetupData; ++ ++static void ++tests_setup (SetupData *setup_data, ++ gconstpointer data) ++{ ++ setup_data->old_path = g_strdup (g_getenv ("PATH")); ++ setup_data->old_snap = g_strdup (g_getenv ("SNAP")); ++ ++ setup_data->bin_path = g_get_user_runtime_dir (); ++ setup_data->snap_path = g_getenv ("G_TEST_TMPDIR"); ++ ++ g_assert_nonnull (setup_data->bin_path); ++ g_assert_nonnull (setup_data->snap_path); ++ ++ g_setenv ("PATH", setup_data->bin_path, TRUE); ++ g_setenv ("SNAP", setup_data->snap_path, TRUE); ++} ++ ++static void ++tests_teardown (SetupData *setup_data, ++ gconstpointer data) ++{ ++ if (setup_data->old_path) ++ g_setenv ("PATH", setup_data->old_path, TRUE); ++ else ++ g_unsetenv ("PATH"); ++ ++ if (setup_data->old_snap) ++ g_setenv ("SNAP", setup_data->old_snap, TRUE); ++ else ++ g_unsetenv ("SNAP"); ++ ++ g_clear_pointer (&setup_data->old_path, g_free); ++ g_clear_pointer (&setup_data->old_snap, g_free); ++} ++ ++static void ++test_portal_support_snap_no_snapctl (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, FALSE); ++ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_false (glib_network_available_in_sandbox ()); ++ g_assert_false (glib_has_dconf_access_in_sandbox ()); ++} ++ ++static void ++test_portal_support_snap_none (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, FALSE); ++ create_fake_snapctl (setup->bin_path, NULL); ++ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_false (glib_network_available_in_sandbox ()); ++ g_assert_false (glib_has_dconf_access_in_sandbox ()); ++} ++ ++static void ++test_portal_support_snap_all (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, FALSE); ++ create_fake_snapctl (setup->bin_path, "desktop|network-status|gsettings"); ++ ++ g_assert_true (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++} ++ ++static void ++test_portal_support_snap_desktop_only (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, FALSE); ++ create_fake_snapctl (setup->bin_path, "desktop"); ++ ++ g_assert_true (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_false (glib_has_dconf_access_in_sandbox ()); ++} ++ ++static void ++test_portal_support_snap_network_only (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, FALSE); ++ create_fake_snapctl (setup->bin_path, "network-status"); ++ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_false (glib_has_dconf_access_in_sandbox ()); ++} ++ ++static void ++test_portal_support_snap_gsettings_only (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, FALSE); ++ create_fake_snapctl (setup->bin_path, "gsettings"); ++ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_false (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++} ++ ++static void ++test_portal_support_snap_updates_dynamically (SetupData *setup, ++ gconstpointer data) ++{ ++ create_fake_snap_yaml (setup->snap_path, FALSE); ++ create_fake_snapctl (setup->bin_path, NULL); ++ ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_false (glib_network_available_in_sandbox ()); ++ g_assert_false (glib_has_dconf_access_in_sandbox ()); ++ ++ create_fake_snapctl (setup->bin_path, "desktop"); ++ g_assert_true (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_false (glib_has_dconf_access_in_sandbox ()); ++ ++ create_fake_snapctl (setup->bin_path, "network-status|gsettings"); ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++ ++ create_fake_snapctl (setup->bin_path, "desktop|network-status|gsettings"); ++ g_assert_true (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++ ++ create_fake_snapctl (setup->bin_path, "desktop|gsettings"); ++ g_assert_true (glib_should_use_portal ()); ++ g_assert_true (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++ ++ create_fake_snapctl (setup->bin_path, "gsettings"); ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_false (glib_network_available_in_sandbox ()); ++ g_assert_true (glib_has_dconf_access_in_sandbox ()); ++ ++ create_fake_snapctl (setup->bin_path, NULL); ++ g_assert_false (glib_should_use_portal ()); ++ g_assert_false (glib_network_available_in_sandbox ()); ++ g_assert_false (glib_has_dconf_access_in_sandbox ()); ++} ++ ++int ++main (int argc, char **argv) ++{ ++ g_test_init (&argc, &argv, G_TEST_OPTION_ISOLATE_DIRS, NULL); ++ ++ g_test_add ("/portal-support/snap/no-snapctl", SetupData, NULL, ++ tests_setup, test_portal_support_snap_no_snapctl, tests_teardown); ++ g_test_add ("/portal-support/snap/none", SetupData, NULL, ++ tests_setup, test_portal_support_snap_none, tests_teardown); ++ g_test_add ("/portal-support/snap/all", SetupData, NULL, ++ tests_setup, test_portal_support_snap_all, tests_teardown); ++ g_test_add ("/portal-support/snap/desktop-only", SetupData, NULL, ++ tests_setup, test_portal_support_snap_desktop_only, tests_teardown); ++ g_test_add ("/portal-support/snap/network-only", SetupData, NULL, ++ tests_setup, test_portal_support_snap_network_only, tests_teardown); ++ g_test_add ("/portal-support/snap/gsettings-only", SetupData, NULL, ++ tests_setup, test_portal_support_snap_gsettings_only, tests_teardown); ++ g_test_add ("/portal-support/snap/updates-dynamically", SetupData, NULL, ++ tests_setup, test_portal_support_snap_updates_dynamically, tests_teardown); ++ ++ return g_test_run (); ++} +diff --git a/gio/tests/portal-support-utils.c b/gio/tests/portal-support-utils.c +new file mode 100644 +index 000000000..9fb69287a +--- /dev/null ++++ b/gio/tests/portal-support-utils.c +@@ -0,0 +1,87 @@ ++/* ++ * GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright (C) 2022 Canonical Ltd. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ * ++ * Author: Marco Trevisan ++ */ ++ ++#include "portal-support-utils.h" ++ ++#include ++#include ++ ++void ++create_fake_snapctl (const char *path, ++ const char *supported_op) ++{ ++ GError *error = NULL; ++ char *snapctl_content; ++ char *snapctl; ++ ++ snapctl = g_build_filename (path, "snapctl", NULL); ++ snapctl_content = g_strdup_printf ("#!/bin/sh\n" \ ++ "[ \"$1\" != 'is-connected' ] && exit 2\n" ++ "[ -z \"$2\" ] && exit 3\n" ++ "[ -n \"$3\" ] && exit 4\n" ++ "case \"$2\" in\n" ++ " %s) exit 0;;\n" ++ " *) exit 1;;\n" ++ "esac\n", ++ supported_op ? supported_op : ""); ++ ++ g_file_set_contents (snapctl, snapctl_content, -1, &error); ++ g_assert_no_error (error); ++ g_assert_cmpint (g_chmod (snapctl, 0500), ==, 0); ++ ++ g_test_message ("Created snapctl in %s", snapctl); ++ ++ g_clear_error (&error); ++ g_free (snapctl_content); ++ g_free (snapctl); ++} ++ ++void ++create_fake_snap_yaml (const char *snap_path, ++ gboolean is_classic) ++{ ++ char *meta_path; ++ char *yaml_path; ++ char *yaml_contents; ++ ++ g_assert_nonnull (snap_path); ++ ++ yaml_contents = g_strconcat ("name: glib-test-portal-support\n" ++ "title: GLib Portal Support Test\n" ++ "version: 2.76\n" ++ "summary: Test it works\n", ++ is_classic ? ++ "confinement: classic\n" : NULL, NULL); ++ ++ meta_path = g_build_filename (snap_path, "meta", NULL); ++ g_assert_cmpint (g_mkdir_with_parents (meta_path, 0700), ==, 0); ++ ++ yaml_path = g_build_filename (meta_path, "snap.yaml", NULL); ++ g_file_set_contents (yaml_path, yaml_contents, -1, NULL); ++ ++ g_test_message ("Created snap.yaml in %s", yaml_path); ++ ++ g_free (meta_path); ++ g_free (yaml_path); ++ g_free (yaml_contents); ++} +diff --git a/gio/tests/portal-support-utils.h b/gio/tests/portal-support-utils.h +new file mode 100644 +index 000000000..bb5a31c6e +--- /dev/null ++++ b/gio/tests/portal-support-utils.h +@@ -0,0 +1,30 @@ ++/* ++ * GIO - GLib Input, Output and Streaming Library ++ * ++ * Copyright (C) 2022 Canonical Ltd. ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ * ++ * Author: Marco Trevisan ++ */ ++ ++#include ++ ++void create_fake_snap_yaml (const char *snap_path, ++ gboolean is_classic); ++ ++void create_fake_snapctl (const char *path, ++ const char *supported_op); +diff --git a/gio/tests/sandbox.c b/gio/tests/sandbox.c +new file mode 100644 +index 000000000..a432556dd +--- /dev/null ++++ b/gio/tests/sandbox.c +@@ -0,0 +1,80 @@ ++/* ++ * Copyright 2022 Canonical Ltd ++ * ++ * SPDX-License-Identifier: LGPL-2.1-or-later ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ * ++ * You should have received a copy of the GNU Lesser General ++ * Public License along with this library; if not, see . ++ */ ++ ++#include "portal-support-utils.h" ++ ++#include "../gsandbox.h" ++#include ++#include ++ ++static void ++test_sandbox_none (void) ++{ ++ g_assert_cmpint (glib_get_sandbox_type (), ==, G_SANDBOX_TYPE_UNKNOWN); ++} ++ ++static void ++test_sandbox_snap (void) ++{ ++ const char *temp_dir; ++ gchar *snap_path; ++ ++ temp_dir = g_getenv ("G_TEST_TMPDIR"); ++ g_assert_nonnull (temp_dir); ++ ++ snap_path = g_build_filename (temp_dir, "snap", "current", NULL); ++ create_fake_snap_yaml (snap_path, FALSE); ++ g_setenv ("SNAP", snap_path, TRUE); ++ ++ g_assert_cmpint (glib_get_sandbox_type (), ==, G_SANDBOX_TYPE_SNAP); ++ ++ g_unsetenv ("SNAP"); ++ g_free (snap_path); ++} ++ ++static void ++test_sandbox_snap_classic (void) ++{ ++ const char *temp_dir; ++ char *snap_path; ++ ++ temp_dir = g_getenv ("G_TEST_TMPDIR"); ++ g_assert_nonnull (temp_dir); ++ ++ snap_path = g_build_filename (temp_dir, "snap", "current", NULL); ++ create_fake_snap_yaml (snap_path, TRUE); ++ g_setenv ("SNAP", snap_path, TRUE); ++ ++ g_assert_cmpint (glib_get_sandbox_type (), ==, G_SANDBOX_TYPE_UNKNOWN); ++ ++ g_unsetenv ("SNAP"); ++ g_free (snap_path); ++} ++ ++int ++main (int argc, char **argv) ++{ ++ g_test_init (&argc, &argv, G_TEST_OPTION_ISOLATE_DIRS, NULL); ++ ++ g_test_add_func ("/sandbox/none", test_sandbox_none); ++ g_test_add_func ("/sandbox/snap", test_sandbox_snap); ++ g_test_add_func ("/sandbox/classic-snap", test_sandbox_snap_classic); ++ ++ return g_test_run (); ++} +-- +2.39.2 + diff --git a/debian/patches/0001-timer-test-use-volatile-for-locals.patch b/debian/patches/0001-timer-test-use-volatile-for-locals.patch new file mode 100644 index 0000000..1bf63f8 --- /dev/null +++ b/debian/patches/0001-timer-test-use-volatile-for-locals.patch @@ -0,0 +1,38 @@ +From: Ryan Lortie +Date: Tue, 4 Mar 2014 09:20:38 -0500 +Subject: timer test: use 'volatile' for locals + +GCC seems to be failing to follow the letter of the C spec by allowing extra +precision in floating point values to persist across assignments which are +optimised away. + +Force its hand by using 'volatile' on the locals in question. + +Bug: https://gitlab.gnome.org/GNOME/glib/issues/820 +Forwarded: yes +--- + glib/tests/timer.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/glib/tests/timer.c b/glib/tests/timer.c +index 102406e..8ea5c1f 100644 +--- a/glib/tests/timer.c ++++ b/glib/tests/timer.c +@@ -30,7 +30,7 @@ static void + test_timer_basic (void) + { + GTimer *timer; +- gdouble elapsed; ++ volatile gdouble elapsed; + gulong micros; + + timer = g_timer_new (); +@@ -65,7 +65,7 @@ static void + test_timer_stop (void) + { + GTimer *timer; +- gdouble elapsed, elapsed2; ++ volatile gdouble elapsed, elapsed2; + + timer = g_timer_new (); + diff --git a/debian/patches/01_gettext-desktopfiles.patch b/debian/patches/01_gettext-desktopfiles.patch new file mode 100644 index 0000000..95163b6 --- /dev/null +++ b/debian/patches/01_gettext-desktopfiles.patch @@ -0,0 +1,167 @@ +From: Philip Withnall +Date: Thu, 23 Nov 2017 18:48:58 +0000 +Subject: Call gettext if .desktop file does not have inline translations + +Patch from OpenSUSE via Ubuntu, original author unknown. Martin Pitt and +Vincent Untz appear to be the main authors. + +Reworked slightly by Philip Withnall to avoid exposing new public API +for the non-standard keys. + +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=569829 +Bug-Ubuntu: https://launchpad.net/bugs/3935 +Applied-upstream: no, rejected because "this will be solved soon" (in 2013) +--- + glib/gkeyfile.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 83 insertions(+) + +diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c +index 6460970..762dfef 100644 +--- a/glib/gkeyfile.c ++++ b/glib/gkeyfile.c +@@ -489,6 +489,17 @@ + * Since: 2.14 + */ + ++/* Downstream Debian defines for calling gettext() if a .desktop file doesn’t ++ * contain translations. These are not standardised. ++ * ++ * See: https://launchpad.net/bugs/3935 ++ * See:http://bugzilla.gnome.org/show_bug.cgi?id=569829 ++ */ ++#define G_KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX "Desktop Action" ++#define G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN "X-GNOME-Gettext-Domain" ++#define G_KEY_FILE_DESKTOP_KEY_FULLNAME "X-GNOME-FullName" ++#define G_KEY_FILE_DESKTOP_KEY_KEYWORDS "Keywords" ++ + typedef struct _GKeyFileGroup GKeyFileGroup; + + /** +@@ -513,6 +524,7 @@ struct _GKeyFile + + gboolean checked_locales; /* TRUE if @locales has been initialised */ + gchar **locales; /* (nullable) */ ++ gchar *gettext_domain; + + gint ref_count; /* (atomic) */ + }; +@@ -639,6 +651,7 @@ g_key_file_init (GKeyFile *key_file) + key_file->parse_buffer = NULL; + key_file->list_separator = ';'; + key_file->flags = 0; ++ key_file->gettext_domain = NULL; + } + + static void +@@ -659,6 +672,12 @@ g_key_file_clear (GKeyFile *key_file) + key_file->parse_buffer = NULL; + } + ++ if (key_file->gettext_domain) ++ { ++ g_free (key_file->gettext_domain); ++ key_file->gettext_domain = NULL; ++ } ++ + tmp = key_file->groups; + while (tmp != NULL) + { +@@ -879,6 +898,11 @@ g_key_file_load_from_fd (GKeyFile *key_file, + return FALSE; + } + ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, ++ NULL); ++ + return TRUE; + } + +@@ -991,6 +1015,11 @@ g_key_file_load_from_data (GKeyFile *key_file, + return FALSE; + } + ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, ++ NULL); ++ + return TRUE; + } + +@@ -2240,6 +2269,8 @@ g_key_file_get_locale_string (GKeyFile *key_file, + GError *key_file_error; + gchar **languages; + gboolean free_languages = FALSE; ++ gboolean try_gettext = FALSE; ++ const gchar *msg_locale; + gint i; + + g_return_val_if_fail (key_file != NULL, NULL); +@@ -2261,6 +2292,25 @@ g_key_file_get_locale_string (GKeyFile *key_file, + free_languages = FALSE; + } + ++ /* we're only interested in gettext translation if we don't have a ++ * translation in the .desktop file itself and if the key is one of the keys ++ * we know we want to translate: Name, GenericName, Comment, Keywords. ++ * Blindly doing this for all keys can give strange result for the icons, ++ * since the Icon is a locale string in the spec, eg. We also only get ++ * translation in the mo file if the requested locale is the LC_MESSAGES one. ++ * Ideally, we should do more and change LC_MESSAGES to use the requested ++ * locale, but there's no guarantee it's installed on the system and it might ++ * have some side-effects. Since this is a corner case, let's ignore it. */ ++ msg_locale = setlocale (LC_MESSAGES, NULL); ++ try_gettext = msg_locale && key_file->gettext_domain && ++ (strcmp (group_name, G_KEY_FILE_DESKTOP_GROUP) == 0 || ++ g_str_has_prefix (group_name, G_KEY_FILE_DESKTOP_ACTION_GROUP_PREFIX)) && ++ (strcmp (key, G_KEY_FILE_DESKTOP_KEY_NAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_FULLNAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_GENERIC_NAME) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_KEYWORDS) == 0 || ++ strcmp (key, G_KEY_FILE_DESKTOP_KEY_COMMENT) == 0); ++ + for (i = 0; languages[i]; i++) + { + candidate_key = g_strdup_printf ("%s[%s]", key, languages[i]); +@@ -2274,6 +2324,39 @@ g_key_file_get_locale_string (GKeyFile *key_file, + break; + } + ++ /* Fallback to gettext */ ++ if (try_gettext && !translated_value) ++ { ++ gchar *orig_value = g_key_file_get_string (key_file, group_name, key, NULL); ++ ++ if (orig_value) ++ { ++ gboolean codeset_set; ++ const gchar *translated; ++ gboolean has_gettext; ++ ++ codeset_set = bind_textdomain_codeset (key_file->gettext_domain, "UTF-8") != NULL; ++ translated = NULL; ++ ++ translated = g_dgettext (key_file->gettext_domain, ++ orig_value); ++ has_gettext = translated != orig_value; ++ ++ g_free (orig_value); ++ ++ if (has_gettext) ++ { ++ if (codeset_set) ++ translated_value = g_strdup (translated); ++ else ++ translated_value = g_locale_to_utf8 (translated, ++ -1, NULL, NULL, NULL); ++ } ++ else ++ translated_value = NULL; ++ } ++ } ++ + /* Fallback to untranslated key + */ + if (!translated_value) diff --git a/debian/patches/debian/02_gettext-desktopfiles-ubuntu.patch b/debian/patches/debian/02_gettext-desktopfiles-ubuntu.patch new file mode 100644 index 0000000..fa5ae60 --- /dev/null +++ b/debian/patches/debian/02_gettext-desktopfiles-ubuntu.patch @@ -0,0 +1,51 @@ +From: Martin Pitt +Date: Tue, 24 Feb 2009 16:08:05 +0100 +Subject: Provide backwards compatibility for 01_gettext-desktopfiles.patch + for X-{Debian,Ubuntu}-Gettext-Domain + +Ubuntu-specific. 01_gettext-desktopfiles.patch was changed to use +X-GNOME-, so this is necessary until all our .desktop files are converted. + +Forwarded: no +--- + glib/gkeyfile.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +diff --git a/glib/gkeyfile.c b/glib/gkeyfile.c +index 762dfef..6b9f45b 100644 +--- a/glib/gkeyfile.c ++++ b/glib/gkeyfile.c +@@ -902,6 +902,16 @@ g_key_file_load_from_fd (GKeyFile *key_file, + G_KEY_FILE_DESKTOP_GROUP, + G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, + NULL); ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ "X-Ubuntu-Gettext-Domain", ++ NULL); ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ "X-Debian-Gettext-Domain", ++ NULL); + + return TRUE; + } +@@ -1019,6 +1029,16 @@ g_key_file_load_from_data (GKeyFile *key_file, + G_KEY_FILE_DESKTOP_GROUP, + G_KEY_FILE_DESKTOP_KEY_GETTEXT_DOMAIN, + NULL); ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ "X-Ubuntu-Gettext-Domain", ++ NULL); ++ if (!key_file->gettext_domain) ++ key_file->gettext_domain = g_key_file_get_string (key_file, ++ G_KEY_FILE_DESKTOP_GROUP, ++ "X-Debian-Gettext-Domain", ++ NULL); + + return TRUE; + } diff --git a/debian/patches/debian/03_disble_glib_compile_schemas_warning.patch b/debian/patches/debian/03_disble_glib_compile_schemas_warning.patch new file mode 100644 index 0000000..bf2a4de --- /dev/null +++ b/debian/patches/debian/03_disble_glib_compile_schemas_warning.patch @@ -0,0 +1,36 @@ +From: Iain Lane +Date: Mon, 10 Sep 2012 16:25:18 +0100 +Subject: Disable confusing (to users) warning about deprecated schema paths + +Disable a warning when compiling schemas which are installed +into 'deprecated' locations. Users see this very often due to +glib-compile-schemas being called from libglib2.0-0's trigger and it is +not very useful for them. + +Forwarded: not-needed +--- + gio/glib-compile-schemas.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c +index 7e1152f..57f6b96 100644 +--- a/gio/glib-compile-schemas.c ++++ b/gio/glib-compile-schemas.c +@@ -1232,6 +1232,9 @@ parse_state_start_schema (ParseState *state, + return; + } + ++ // Disable this warning: it confuses users and there is unlikely to be much ++ // progress towards fixing ++ /* + if (path && (g_str_has_prefix (path, "/apps/") || + g_str_has_prefix (path, "/desktop/") || + g_str_has_prefix (path, "/system/"))) +@@ -1244,6 +1247,7 @@ parse_state_start_schema (ParseState *state, + g_printerr ("%s\n", message); + g_free (message); + } ++ */ + + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); diff --git a/debian/patches/debian/06_thread_test_ignore_prctl_fail.patch b/debian/patches/debian/06_thread_test_ignore_prctl_fail.patch new file mode 100644 index 0000000..f416084 --- /dev/null +++ b/debian/patches/debian/06_thread_test_ignore_prctl_fail.patch @@ -0,0 +1,33 @@ +From: Martin Pitt +Date: Tue, 26 Jun 2012 19:28:14 +0200 +Subject: Do not fail the /thread/thread4 test if prlimit() fails + +This happens on the Debian buildds. + +[smcv: Use g_test_skip()] + +Forwarded: no, Debian buildd specific +--- + glib/tests/thread.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/glib/tests/thread.c b/glib/tests/thread.c +index 2bae96c..d2a91bf 100644 +--- a/glib/tests/thread.c ++++ b/glib/tests/thread.c +@@ -146,7 +146,14 @@ test_thread4 (void) + nl.rlim_cur = 1; + + if ((ret = prlimit (getpid (), RLIMIT_NPROC, &nl, &ol)) != 0) +- g_error ("prlimit failed: %s", g_strerror (errno)); ++ { ++ gchar *message = g_strdup_printf ("setting PRLIMIT_NPROC to {cur=%d,max=%d} failed: %s", ++ (int) nl.rlim_cur, (int) nl.rlim_max, ++ g_strerror (errno)); ++ g_test_skip (message); ++ g_free (message); ++ return; ++ } + + error = NULL; + thread = g_thread_try_new ("a", thread1_func, NULL, &error); diff --git a/debian/patches/debian/Add-extra-debug-to-memory-monitor-dbus-test.patch b/debian/patches/debian/Add-extra-debug-to-memory-monitor-dbus-test.patch new file mode 100644 index 0000000..3dc4a85 --- /dev/null +++ b/debian/patches/debian/Add-extra-debug-to-memory-monitor-dbus-test.patch @@ -0,0 +1,70 @@ +From: Simon McVittie +Date: Sun, 24 Oct 2021 22:40:11 +0100 +Subject: Add extra debug to memory-monitor-dbus test + +Hopefully this will give us the necessary information to find out why +this test isn't reliable. + +Bug-Debian: https://bugs.debian.org/995178 +Forwarded: no +--- + gio/tests/memory-monitor-dbus.py.in | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in +index 17862e3..61e6f94 100755 +--- a/gio/tests/memory-monitor-dbus.py.in ++++ b/gio/tests/memory-monitor-dbus.py.in +@@ -74,18 +74,29 @@ try: + Timeout is in deciseconds, defaulting to 50 (5 seconds). message is + printed on failure. + ''' ++ print('Waiting up to {}/10 seconds for {!r} to be true'.format(timeout, condition)) ++ orig_timeout = timeout ++ + while timeout >= 0: ++ print('Loop iteration') + context = GLib.MainContext.default() + while context.iteration(False): ++ print('Iterating main loop') + pass + if condition(): ++ print('Condition reached') + break + timeout -= 1 + time.sleep(0.1) + else: ++ print('Condition not reached in {}/10 seconds'.format(orig_timeout)) + self.fail(message or 'timed out waiting for ' + str(condition)) + + def memory_warning_cb(self, monitor, level): ++ print('low-memory-warning: monitor {!r} reports level {}'.format( ++ monitor, ++ level, ++ )) + self.last_warning = level + self.main_context.wakeup() + +@@ -95,17 +106,20 @@ try: + # Wait 2 seconds + timeout = 2 + while timeout > 0: ++ print('Waiting 0.5s for stray events...') + time.sleep(0.5) + timeout -= 0.5 + self.main_context.iteration(False) + ++ print('Emitting mock low-memory warning, level 100: try to free memory') + self.dbusmock.EmitWarning(100) + # Wait 2 seconds or until warning +- self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) ++ self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 100) + ++ print('Emitting mock low-memory warning, level 255: OOM imminent') + self.dbusmock.EmitWarning(255) + # Wait 2 seconds or until warning +- self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) ++ self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 100) + + except ImportError as e: + @unittest.skip("Cannot import %s" % e.name) diff --git a/debian/patches/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch b/debian/patches/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch new file mode 100644 index 0000000..8df9442 --- /dev/null +++ b/debian/patches/debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch @@ -0,0 +1,70 @@ +From: Martin Pitt +Date: Thu, 27 Sep 2012 11:22:56 +0200 +Subject: Disable some tests on slow architectures which keep failing the + tests + +[smcv: Modified to use g_test_skip() instead of omitting those test cases +completely, and allow them to be re-enabled with a Debian-specific +environment variable] + +Co-authored-by: Simon McVittie +Forwarded: no +--- + glib/tests/mainloop.c | 16 ++++++++++++++++ + glib/tests/timeout.c | 9 +++++++++ + 2 files changed, 25 insertions(+) + +diff --git a/glib/tests/mainloop.c b/glib/tests/mainloop.c +index 2bbb3d8..d6220a6 100644 +--- a/glib/tests/mainloop.c ++++ b/glib/tests/mainloop.c +@@ -520,6 +520,14 @@ test_child_sources (void) + GMainLoop *loop; + GSource *parent, *child_b, *child_c, *end; + ++#if defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable on older ARM hardware"); ++ return; ++ } ++#endif ++ + ctx = g_main_context_new (); + loop = g_main_loop_new (ctx, FALSE); + +@@ -598,6 +606,14 @@ test_recursive_child_sources (void) + GMainLoop *loop; + GSource *parent, *child_b, *child_c, *end; + ++#if defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable on older ARM hardware"); ++ return; ++ } ++#endif ++ + ctx = g_main_context_new (); + loop = g_main_loop_new (ctx, FALSE); + +diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c +index 9e4d047..1ab8845 100644 +--- a/glib/tests/timeout.c ++++ b/glib/tests/timeout.c +@@ -179,6 +179,15 @@ test_func (gpointer data) + static void + test_rounding (void) + { ++ ++#if defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable on older ARM hardware"); ++ return; ++ } ++#endif ++ + loop = g_main_loop_new (NULL, FALSE); + + last_time = g_get_monotonic_time (); diff --git a/debian/patches/debian/Skip-memory-monitor-dbus-test-if-not-specifically-request.patch b/debian/patches/debian/Skip-memory-monitor-dbus-test-if-not-specifically-request.patch new file mode 100644 index 0000000..b692f9f --- /dev/null +++ b/debian/patches/debian/Skip-memory-monitor-dbus-test-if-not-specifically-request.patch @@ -0,0 +1,25 @@ +From: Simon McVittie +Date: Sun, 24 Oct 2021 22:38:20 +0100 +Subject: Skip memory-monitor-dbus test if not specifically requested + +This seems to be unreliable, particularly on non-x86. + +Bug-Debian: https://bugs.debian.org/995178 +Forwarded: no +--- + gio/tests/memory-monitor-dbus.py.in | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in +index bf32918..17862e3 100755 +--- a/gio/tests/memory-monitor-dbus.py.in ++++ b/gio/tests/memory-monitor-dbus.py.in +@@ -39,6 +39,8 @@ try: + klass.start_system_bus() + klass.dbus_con = klass.get_dbus(True) + ++ @unittest.skipIf('DEB_ALLOW_FLAKY_TESTS' not in os.environ, ++ 'https://bugs.debian.org/995178') + def setUp(self): + try: + Gio.MemoryMonitor diff --git a/debian/patches/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch b/debian/patches/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch new file mode 100644 index 0000000..d2ff7b7 --- /dev/null +++ b/debian/patches/debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch @@ -0,0 +1,32 @@ +From: Iain Lane +Date: Tue, 18 Mar 2014 15:43:35 +0000 +Subject: Skip test which performs some unreliable floating point comparisons + +[smcv: Modified to use g_test_skip() instead of omitting those test cases +completely, and allow them to be re-enabled with a Debian-specific +environment variable] + +Co-authored-by: Simon McVittie +Bug: https://gitlab.gnome.org/GNOME/glib/issues/820 +Forwarded: no +--- + glib/tests/timer.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/glib/tests/timer.c b/glib/tests/timer.c +index 8ea5c1f..a4c1095 100644 +--- a/glib/tests/timer.c ++++ b/glib/tests/timer.c +@@ -33,6 +33,12 @@ test_timer_basic (void) + volatile gdouble elapsed; + gulong micros; + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable due to floating-point rounding (glib#820)"); ++ return; ++ } ++ + timer = g_timer_new (); + + g_timer_start (timer); diff --git a/debian/patches/debian/Skip-unreliable-gdbus-threading-tests--by-default.patch b/debian/patches/debian/Skip-unreliable-gdbus-threading-tests--by-default.patch new file mode 100644 index 0000000..1130f93 --- /dev/null +++ b/debian/patches/debian/Skip-unreliable-gdbus-threading-tests--by-default.patch @@ -0,0 +1,48 @@ +From: Simon McVittie +Date: Fri, 4 Jan 2019 08:37:20 +0000 +Subject: Skip unreliable gdbus-threading tests by default + +test_threaded_singleton() test to reproduce a race condition between +last-unref of the global singleton GDBusConnection and g_bus_get_sync(). + +test_method_calls_in_thread() checks that multiple threads can all make +method calls to the same proxy. + +However, test setup intermittently times out with: + + # GLib-GIO-DEBUG: run 0: refcount is 2, sleeping + Bail out! GLib-GIO-FATAL-ERROR: connection had too many refs + +The current theory upstream is that this might be a reference leak in +test_delivery_in_thread(). + +Furthermore, test teardown is now often failing when destroying the test +bus. + +Demote these tests to be run as part of the "flaky" autopkgtests, but +not at build time or in the part of the autopkgtest run that gates +progress into testing. + +Bug: https://gitlab.gnome.org/GNOME/glib/issues/1515 +Forwarded: no +--- + gio/tests/gdbus-threading.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gio/tests/gdbus-threading.c b/gio/tests/gdbus-threading.c +index 9f3abc4..ec8867e 100644 +--- a/gio/tests/gdbus-threading.c ++++ b/gio/tests/gdbus-threading.c +@@ -649,6 +649,12 @@ main (int argc, + + g_test_init (&argc, &argv, NULL); + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_print("ok 1 # SKIP all gdbus-threading tests skipped because they are too unreliable (glib#1515)\n"); ++ return 77; ++ } ++ + session_bus_up (); + + /* this is safe; testserver will exit once the bus goes away */ diff --git a/debian/patches/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch b/debian/patches/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch new file mode 100644 index 0000000..54b67f8 --- /dev/null +++ b/debian/patches/debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch @@ -0,0 +1,37 @@ +From: Simon McVittie +Date: Thu, 3 Jan 2019 09:01:03 +0000 +Subject: closures test: Skip on arm* unless flaky tests are allowed + +Choosing the right number of iterations to avoid either taking literally +hours on some hardware, or getting spurious failures when one thread +starves another, seems to be too hard to get right in practice. +Make this test opt-in so that its failures aren't release-critical. +We can run it as a separate autopkgtest that is marked flaky. + +Signed-off-by: Simon McVittie +Bug-Debian: https://bugs.debian.org/880883 +Bug-Debian: https://bugs.debian.org/917983 +Forwarded: not-needed +--- + gobject/tests/closure-refcount.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/gobject/tests/closure-refcount.c b/gobject/tests/closure-refcount.c +index 5a92005..73185f0 100644 +--- a/gobject/tests/closure-refcount.c ++++ b/gobject/tests/closure-refcount.c +@@ -260,6 +260,14 @@ test_closure_refcount (void) + GTest *object; + guint i, n_iterations; + ++#if defined(__aarch64__) || defined(__arm__) ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") != NULL) ++ { ++ g_print ("SKIP: Test is known to be flaky on arm* (#880883, #917983)\n"); ++ return 0; ++ } ++#endif ++ + object = g_object_new (G_TYPE_TEST, NULL); + closure = g_cclosure_new (G_CALLBACK (test_signal_handler), &test_data, destroy_data); + diff --git a/debian/patches/debian/gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch b/debian/patches/debian/gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch new file mode 100644 index 0000000..43d2196 --- /dev/null +++ b/debian/patches/debian/gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch @@ -0,0 +1,35 @@ +From: Simon McVittie +Date: Thu, 19 Nov 2020 10:44:39 +0000 +Subject: gdbus-server-auth: Normally skip flaky DBUS_COOKIE_SHA1 tests + +These intermittently fail on the buildds, but the failure cannot be +reproduced in a debugging environment. + +We do not expect to use D-Bus over TCP on non-Windows platforms: we use +an AF_UNIX socket, which is much more robust and secure. However, when +using AF_UNIX, DBUS_COOKIE_SHA1 is unnecessary, because we can use the +more reliable EXTERNAL authentication. + +Forwarded: not-needed +--- + gio/tests/gdbus-server-auth.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/gio/tests/gdbus-server-auth.c b/gio/tests/gdbus-server-auth.c +index bd1443e..a231b0c 100644 +--- a/gio/tests/gdbus-server-auth.c ++++ b/gio/tests/gdbus-server-auth.c +@@ -324,6 +324,13 @@ do_test_server_auth (InteropFlags flags) + } + #endif + ++ if ((flags & (INTEROP_FLAGS_TCP | INTEROP_FLAGS_SHA1)) && ++ g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/-/issues/2206"); ++ goto out; ++ } ++ + if (flags & INTEROP_FLAGS_ANONYMOUS) + server_flags |= G_DBUS_SERVER_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS; + if (flags & INTEROP_FLAGS_REQUIRE_SAME_USER) diff --git a/debian/patches/debian/gdesktopappinfo-Recognize-gnome-console-as-a-terminal-app.patch b/debian/patches/debian/gdesktopappinfo-Recognize-gnome-console-as-a-terminal-app.patch new file mode 100644 index 0000000..206643a --- /dev/null +++ b/debian/patches/debian/gdesktopappinfo-Recognize-gnome-console-as-a-terminal-app.patch @@ -0,0 +1,29 @@ +From: Jeremy Bicha +Date: Wed, 23 Mar 2022 14:40:16 -0400 +Subject: gdesktopappinfo: Recognize gnome-console as a terminal app + +GNOME Console (installed as /usr/bin/kgx ) is the default +GNOME terminal app as of GNOME 42 + +Related to: https://gitlab.gnome.org/GNOME/glib/-/issues/338 + +But see https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/46 +for a more comprehensive way of handling issues around the default +terminal app +--- + gio/gdesktopappinfo.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c +index 60d6deb..4a0b019 100644 +--- a/gio/gdesktopappinfo.c ++++ b/gio/gdesktopappinfo.c +@@ -2672,6 +2672,8 @@ prepend_terminal_to_vector (int *argc, + } + else + { ++ if (check == NULL) ++ check = g_find_program_in_path ("kgx"); + if (check == NULL) + check = g_find_program_in_path ("tilix"); + if (check == NULL) diff --git a/debian/patches/debian/gmenumodel-test-Mark-as-flaky.patch b/debian/patches/debian/gmenumodel-test-Mark-as-flaky.patch new file mode 100644 index 0000000..13c3fba --- /dev/null +++ b/debian/patches/debian/gmenumodel-test-Mark-as-flaky.patch @@ -0,0 +1,30 @@ +From: Simon McVittie +Date: Fri, 26 Jul 2019 23:49:03 +0100 +Subject: gmenumodel test: Mark as flaky + +This test has not had a great history of reliability. + +Signed-off-by: Simon McVittie +Bug-Debian: https://bugs.debian.org/932678 +Forwarded: no +--- + gio/tests/gmenumodel.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gio/tests/gmenumodel.c b/gio/tests/gmenumodel.c +index 492daf8..ed8828d 100644 +--- a/gio/tests/gmenumodel.c ++++ b/gio/tests/gmenumodel.c +@@ -1160,6 +1160,12 @@ test_dbus_peer_subscriptions (void) + #else + PeerConnection peer; + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Not reliable? #932678"); ++ return; ++ } ++ + peer_connection_up (&peer); + do_subscriptions (peer.server_connection, peer.client_connection); + peer_connection_down (&peer); diff --git a/debian/patches/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch b/debian/patches/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch new file mode 100644 index 0000000..e94e5d2 --- /dev/null +++ b/debian/patches/debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch @@ -0,0 +1,36 @@ +From: Simon McVittie +Date: Fri, 26 Jul 2019 23:51:39 +0100 +Subject: gvariant test: Don't run at build-time on mips + +DEB_ALLOW_FLAKY_TESTS is not quite right here, because we don't know +that the test would fail if left for long enough - the problem is that +it doesn't get there, because generating random floating-point numbers +is very slow on some of our mips hardware. However, it has the right +practical effect. + +Signed-off-by: Simon McVittie +Bug: https://bugs.debian.org/932678 +Forwarded: no +--- + glib/tests/gvariant.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/glib/tests/gvariant.c b/glib/tests/gvariant.c +index 0110f26..1f30d23 100644 +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -2401,6 +2401,14 @@ test_fuzzes (gpointer data) + gdouble fuzziness; + int i; + ++#ifdef __mips__ ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("Extremely slow on some mips CPUs: #932678"); ++ return; ++ } ++#endif ++ + fuzziness = GPOINTER_TO_INT (data) / 100.; + + for (i = 0; i < 200; i++) diff --git a/debian/patches/debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch b/debian/patches/debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch new file mode 100644 index 0000000..a89306f --- /dev/null +++ b/debian/patches/debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch @@ -0,0 +1,117 @@ +From: Simon McVittie +Date: Tue, 25 Feb 2020 10:45:07 +0000 +Subject: testfilemonitor: Skip if we are avoiding flaky tests + +See https://gitlab.gnome.org/GNOME/glib/issues/1634 + +Signed-off-by: Simon McVittie +Forwarded: no +--- + gio/tests/testfilemonitor.c | 38 +++++++++++++++++++++++++++++++++++++- + 1 file changed, 37 insertions(+), 1 deletion(-) + +diff --git a/gio/tests/testfilemonitor.c b/gio/tests/testfilemonitor.c +index 082f0db..7e7db90 100644 +--- a/gio/tests/testfilemonitor.c ++++ b/gio/tests/testfilemonitor.c +@@ -32,6 +32,12 @@ setup (Fixture *fixture, + gchar *path = NULL; + GError *local_error = NULL; + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/issues/1634"); ++ return; ++ } ++ + path = g_dir_make_tmp ("gio-test-testfilemonitor_XXXXXX", &local_error); + g_assert_no_error (local_error); + +@@ -48,7 +54,9 @@ teardown (Fixture *fixture, + { + GError *local_error = NULL; + +- g_file_delete (fixture->tmp_dir, NULL, &local_error); ++ if (fixture->tmp_dir != NULL) ++ g_file_delete (fixture->tmp_dir, NULL, &local_error); ++ + g_assert_no_error (local_error); + g_clear_object (&fixture->tmp_dir); + } +@@ -375,6 +383,10 @@ test_atomic_replace (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data.step = 0; + data.events = NULL; + +@@ -483,6 +495,10 @@ test_file_changes (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data.step = 0; + data.events = NULL; + +@@ -603,6 +619,10 @@ test_dir_monitor (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data.step = 0; + data.events = NULL; + +@@ -703,6 +723,10 @@ test_dir_non_existent (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data.step = 0; + data.events = NULL; + +@@ -815,6 +839,10 @@ test_cross_dir_moves (Fixture *fixture, + if (skip_win32 ()) + return; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + data[0].step = 0; + data[0].events = NULL; + +@@ -984,6 +1012,10 @@ test_file_hard_links (Fixture *fixture, + GError *error = NULL; + TestData data; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + g_test_bug ("https://bugzilla.gnome.org/show_bug.cgi?id=755721"); + + if (skip_win32 ()) +@@ -1043,6 +1075,10 @@ test_finalize_in_callback (Fixture *fixture, + GFile *file = NULL; + guint i; + ++ /* respect g_test_skip() during setup() */ ++ if (g_test_failed ()) ++ return; ++ + g_test_summary ("Test that finalization of a GFileMonitor in one of its " + "callbacks doesn’t cause a deadlock."); + g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/1941"); diff --git a/debian/patches/debian/tests-Skip-debugcontroller-test.patch b/debian/patches/debian/tests-Skip-debugcontroller-test.patch new file mode 100644 index 0000000..0b7eb8a --- /dev/null +++ b/debian/patches/debian/tests-Skip-debugcontroller-test.patch @@ -0,0 +1,28 @@ +From: Simon McVittie +Date: Tue, 15 Feb 2022 20:42:53 +0000 +Subject: tests: Skip debugcontroller test + +This is known to be flaky upstream. + +Forwarded: not-needed +--- + gio/tests/debugcontroller.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/gio/tests/debugcontroller.c b/gio/tests/debugcontroller.c +index c20acd6..9c7216e 100644 +--- a/gio/tests/debugcontroller.c ++++ b/gio/tests/debugcontroller.c +@@ -189,6 +189,12 @@ test_dbus_properties (void) + + g_test_summary ("Test getting and setting properties on a #GDebugControllerDBus."); + ++ if (g_getenv ("DEB_ALLOW_FLAKY_TESTS") == NULL) ++ { ++ g_test_skip ("https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2486#note_1384102"); ++ return; ++ } ++ + /* Set up a test session bus and connection. Set up a separate second + * connection to simulate a remote peer. */ + bus = g_test_dbus_new (G_TEST_DBUS_NONE); diff --git a/debian/patches/gvariant-security-1-01.patch b/debian/patches/gvariant-security-1-01.patch new file mode 100644 index 0000000..7fa3682 --- /dev/null +++ b/debian/patches/gvariant-security-1-01.patch @@ -0,0 +1,94 @@ +From 590f7a6b76b5a3695aa562c9c3ab244433b6624b Mon Sep 17 00:00:00 2001 +From: William Manley +Date: Tue, 23 Jun 2020 22:59:58 +0100 +Subject: [PATCH 01/18] gvariant-core: Consolidate construction of + `GVariantSerialised` + +So I only need to change it in one place. + +This introduces no functional changes. + +Helps: #2121 +--- + glib/gvariant-core.c | 49 ++++++++++++++++++++++---------------------- + 1 file changed, 25 insertions(+), 24 deletions(-) + +--- a/glib/gvariant-core.c ++++ b/glib/gvariant-core.c +@@ -350,6 +350,27 @@ g_variant_ensure_size (GVariant *value) + } + + /* < private > ++ * g_variant_to_serialised: ++ * @value: a #GVariant ++ * ++ * Gets a GVariantSerialised for a GVariant in state STATE_SERIALISED. ++ */ ++inline static GVariantSerialised ++g_variant_to_serialised (GVariant *value) ++{ ++ g_assert (value->state & STATE_SERIALISED); ++ { ++ GVariantSerialised serialised = { ++ value->type_info, ++ (gpointer) value->contents.serialised.data, ++ value->size, ++ value->depth, ++ }; ++ return serialised; ++ } ++} ++ ++/* < private > + * g_variant_serialise: + * @value: a #GVariant + * @data: an appropriately-sized buffer +@@ -1007,16 +1028,8 @@ g_variant_n_children (GVariant *value) + g_variant_lock (value); + + if (value->state & STATE_SERIALISED) +- { +- GVariantSerialised serialised = { +- value->type_info, +- (gpointer) value->contents.serialised.data, +- value->size, +- value->depth, +- }; +- +- n_children = g_variant_serialised_n_children (serialised); +- } ++ n_children = g_variant_serialised_n_children ( ++ g_variant_to_serialised (value)); + else + n_children = value->contents.tree.n_children; + +@@ -1083,12 +1096,7 @@ g_variant_get_child_value (GVariant *val + } + + { +- GVariantSerialised serialised = { +- value->type_info, +- (gpointer) value->contents.serialised.data, +- value->size, +- value->depth, +- }; ++ GVariantSerialised serialised = g_variant_to_serialised (value); + GVariantSerialised s_child; + GVariant *child; + +@@ -1201,14 +1209,7 @@ g_variant_is_normal_form (GVariant *valu + + if (value->state & STATE_SERIALISED) + { +- GVariantSerialised serialised = { +- value->type_info, +- (gpointer) value->contents.serialised.data, +- value->size, +- value->depth +- }; +- +- if (g_variant_serialised_is_normal (serialised)) ++ if (g_variant_serialised_is_normal (g_variant_to_serialised (value))) + value->state |= STATE_TRUSTED; + } + else diff --git a/debian/patches/gvariant-security-1-02.patch b/debian/patches/gvariant-security-1-02.patch new file mode 100644 index 0000000..86547dd --- /dev/null +++ b/debian/patches/gvariant-security-1-02.patch @@ -0,0 +1,201 @@ +From f8f5d8eefa06008aa8fe684069193dc3b1ae1b58 Mon Sep 17 00:00:00 2001 +From: William Manley +Date: Thu, 25 Jun 2020 17:08:21 +0100 +Subject: [PATCH 02/18] gvariant-serialiser: Factor out functions for dealing + with framing offsets + +This introduces no functional changes. + +Helps: #2121 +--- + glib/gvariant-serialiser.c | 108 +++++++++++++++++++------------------ + 1 file changed, 57 insertions(+), 51 deletions(-) + +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -633,30 +633,62 @@ gvs_calculate_total_size (gsize body_siz + return body_size + 8 * offsets; + } + ++struct Offsets ++{ ++ gsize data_size; ++ ++ guchar *array; ++ gsize length; ++ guint offset_size; ++ ++ gboolean is_normal; ++}; ++ + static gsize +-gvs_variable_sized_array_n_children (GVariantSerialised value) ++gvs_offsets_get_offset_n (struct Offsets *offsets, ++ gsize n) + { ++ return gvs_read_unaligned_le ( ++ offsets->array + (offsets->offset_size * n), offsets->offset_size); ++} ++ ++static struct Offsets ++gvs_variable_sized_array_get_frame_offsets (GVariantSerialised value) ++{ ++ struct Offsets out = { 0, }; + gsize offsets_array_size; +- gsize offset_size; + gsize last_end; + + if (value.size == 0) +- return 0; +- +- offset_size = gvs_get_offset_size (value.size); ++ { ++ out.is_normal = TRUE; ++ return out; ++ } + +- last_end = gvs_read_unaligned_le (value.data + value.size - +- offset_size, offset_size); ++ out.offset_size = gvs_get_offset_size (value.size); ++ last_end = gvs_read_unaligned_le (value.data + value.size - out.offset_size, ++ out.offset_size); + + if (last_end > value.size) +- return 0; ++ return out; /* offsets not normal */ + + offsets_array_size = value.size - last_end; + +- if (offsets_array_size % offset_size) +- return 0; ++ if (offsets_array_size % out.offset_size) ++ return out; /* offsets not normal */ + +- return offsets_array_size / offset_size; ++ out.data_size = last_end; ++ out.array = value.data + last_end; ++ out.length = offsets_array_size / out.offset_size; ++ out.is_normal = TRUE; ++ ++ return out; ++} ++ ++static gsize ++gvs_variable_sized_array_n_children (GVariantSerialised value) ++{ ++ return gvs_variable_sized_array_get_frame_offsets (value).length; + } + + static GVariantSerialised +@@ -664,8 +696,9 @@ gvs_variable_sized_array_get_child (GVar + gsize index_) + { + GVariantSerialised child = { 0, }; +- gsize offset_size; +- gsize last_end; ++ ++ struct Offsets offsets = gvs_variable_sized_array_get_frame_offsets (value); ++ + gsize start; + gsize end; + +@@ -673,18 +706,11 @@ gvs_variable_sized_array_get_child (GVar + g_variant_type_info_ref (child.type_info); + child.depth = value.depth + 1; + +- offset_size = gvs_get_offset_size (value.size); +- +- last_end = gvs_read_unaligned_le (value.data + value.size - +- offset_size, offset_size); +- + if (index_ > 0) + { + guint alignment; + +- start = gvs_read_unaligned_le (value.data + last_end + +- (offset_size * (index_ - 1)), +- offset_size); ++ start = gvs_offsets_get_offset_n (&offsets, index_ - 1); + + g_variant_type_info_query (child.type_info, &alignment, NULL); + start += (-start) & alignment; +@@ -692,11 +718,9 @@ gvs_variable_sized_array_get_child (GVar + else + start = 0; + +- end = gvs_read_unaligned_le (value.data + last_end + +- (offset_size * index_), +- offset_size); ++ end = gvs_offsets_get_offset_n (&offsets, index_); + +- if (start < end && end <= value.size && end <= last_end) ++ if (start < end && end <= value.size && end <= offsets.data_size) + { + child.data = value.data + start; + child.size = end - start; +@@ -768,34 +792,16 @@ static gboolean + gvs_variable_sized_array_is_normal (GVariantSerialised value) + { + GVariantSerialised child = { 0, }; +- gsize offsets_array_size; +- guchar *offsets_array; +- guint offset_size; + guint alignment; +- gsize last_end; +- gsize length; + gsize offset; + gsize i; + +- if (value.size == 0) +- return TRUE; +- +- offset_size = gvs_get_offset_size (value.size); +- last_end = gvs_read_unaligned_le (value.data + value.size - +- offset_size, offset_size); ++ struct Offsets offsets = gvs_variable_sized_array_get_frame_offsets (value); + +- if (last_end > value.size) ++ if (!offsets.is_normal) + return FALSE; + +- offsets_array_size = value.size - last_end; +- +- if (offsets_array_size % offset_size) +- return FALSE; +- +- offsets_array = value.data + value.size - offsets_array_size; +- length = offsets_array_size / offset_size; +- +- if (length == 0) ++ if (value.size != 0 && offsets.length == 0) + return FALSE; + + child.type_info = g_variant_type_info_element (value.type_info); +@@ -803,14 +809,14 @@ gvs_variable_sized_array_is_normal (GVar + child.depth = value.depth + 1; + offset = 0; + +- for (i = 0; i < length; i++) ++ for (i = 0; i < offsets.length; i++) + { + gsize this_end; + +- this_end = gvs_read_unaligned_le (offsets_array + offset_size * i, +- offset_size); ++ this_end = gvs_read_unaligned_le (offsets.array + offsets.offset_size * i, ++ offsets.offset_size); + +- if (this_end < offset || this_end > last_end) ++ if (this_end < offset || this_end > offsets.data_size) + return FALSE; + + while (offset & alignment) +@@ -832,7 +838,7 @@ gvs_variable_sized_array_is_normal (GVar + offset = this_end; + } + +- g_assert (offset == last_end); ++ g_assert (offset == offsets.data_size); + + return TRUE; + } diff --git a/debian/patches/gvariant-security-1-03.patch b/debian/patches/gvariant-security-1-03.patch new file mode 100644 index 0000000..55a459d --- /dev/null +++ b/debian/patches/gvariant-security-1-03.patch @@ -0,0 +1,87 @@ +From 5c27f22aff636766fbc5e49927fd28213629e840 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 25 Oct 2022 18:05:52 +0100 +Subject: [PATCH 03/18] gvariant: Zero-initialise various GVariantSerialised + objects + +The following few commits will add a couple of new fields to +`GVariantSerialised`, and they should be zero-filled by default. + +Try and pre-empt that a bit by zero-filling `GVariantSerialised` by +default in a few places. + +Signed-off-by: Philip Withnall + +Helps: #2121 +--- + glib/gvariant.c | 2 +- + glib/tests/gvariant.c | 12 ++++++------ + 2 files changed, 7 insertions(+), 7 deletions(-) + +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -5988,7 +5988,7 @@ g_variant_byteswap (GVariant *value) + if (alignment) + /* (potentially) contains multi-byte numeric data */ + { +- GVariantSerialised serialised; ++ GVariantSerialised serialised = { 0, }; + GVariant *trusted; + GBytes *bytes; + +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -1438,7 +1438,7 @@ test_maybe (void) + + for (flavour = 0; flavour < 8; flavour += alignment) + { +- GVariantSerialised serialised; ++ GVariantSerialised serialised = { 0, }; + GVariantSerialised child; + + serialised.type_info = type_info; +@@ -1562,7 +1562,7 @@ test_array (void) + + for (flavour = 0; flavour < 8; flavour += alignment) + { +- GVariantSerialised serialised; ++ GVariantSerialised serialised = { 0, }; + + serialised.type_info = array_info; + serialised.data = flavoured_malloc (needed_size, flavour); +@@ -1726,7 +1726,7 @@ test_tuple (void) + + for (flavour = 0; flavour < 8; flavour += alignment) + { +- GVariantSerialised serialised; ++ GVariantSerialised serialised = { 0, }; + + serialised.type_info = type_info; + serialised.data = flavoured_malloc (needed_size, flavour); +@@ -1821,7 +1821,7 @@ test_variant (void) + + for (flavour = 0; flavour < 8; flavour += alignment) + { +- GVariantSerialised serialised; ++ GVariantSerialised serialised = { 0, }; + GVariantSerialised child; + + serialised.type_info = type_info; +@@ -2268,7 +2268,7 @@ serialise_tree (TreeInstance *tree + static void + test_byteswap (void) + { +- GVariantSerialised one, two; ++ GVariantSerialised one = { 0, }, two = { 0, }; + TreeInstance *tree; + + tree = tree_instance_new (NULL, 3); +@@ -2342,7 +2342,7 @@ test_serialiser_children (void) + static void + test_fuzz (gdouble *fuzziness) + { +- GVariantSerialised serialised; ++ GVariantSerialised serialised = { 0, }; + TreeInstance *tree; + + /* make an instance */ diff --git a/debian/patches/gvariant-security-1-04.patch b/debian/patches/gvariant-security-1-04.patch new file mode 100644 index 0000000..3c1b85b --- /dev/null +++ b/debian/patches/gvariant-security-1-04.patch @@ -0,0 +1,406 @@ +From c8067857f7c8fb369ecb30bb534b018b2e2b8f87 Mon Sep 17 00:00:00 2001 +From: William Manley +Date: Mon, 29 Jun 2020 16:59:44 +0100 +Subject: [PATCH 04/18] =?UTF-8?q?gvariant:=20Don=E2=80=99t=20allow=20child?= + =?UTF-8?q?=20elements=20to=20overlap=20with=20each=20other?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If different elements of a variable sized array can overlap with each +other then we can cause a `GVariant` to normalise to a much larger type. + +This commit changes the behaviour of `GVariant` with non-normal form data. If +an invalid frame offset is found all subsequent elements are given their +default value. + +When retrieving an element at index `n` we scan the frame offsets up to index +`n` and if they are not in order we return an element with the default value +for that type. This guarantees that elements don't overlap with each +other. We remember the offset we've scanned up to so we don't need to +repeat this work on subsequent accesses. We skip these checks for trusted +data. + +Unfortunately this makes random access of untrusted data O(n) — at least +on first access. It doesn't affect the algorithmic complexity of accessing +elements in order, such as when using the `GVariantIter` interface. Also: +the cost of validation will be amortised as the `GVariant` instance is +continued to be used. + +I've implemented this with 4 different functions, 1 for each element size, +rather than looping calling `gvs_read_unaligned_le` in the hope that the +compiler will find it easy to optimise and should produce fairly tight +code. + +Fixes: #2121 +--- + glib/gvariant-core.c | 35 ++++++++++++++++ + glib/gvariant-serialiser.c | 86 ++++++++++++++++++++++++++++++++++++-- + glib/gvariant-serialiser.h | 9 ++++ + glib/tests/gvariant.c | 45 ++++++++++++++++++++ + 4 files changed, 172 insertions(+), 3 deletions(-) + +--- a/glib/gvariant-core.c ++++ b/glib/gvariant-core.c +@@ -65,6 +65,7 @@ struct _GVariant + { + GBytes *bytes; + gconstpointer data; ++ gsize ordered_offsets_up_to; + } serialised; + + struct +@@ -162,6 +163,24 @@ struct _GVariant + * if .data pointed to the appropriate number of nul + * bytes. + * ++ * .ordered_offsets_up_to: If ordered_offsets_up_to == n this means that all ++ * the frame offsets up to and including the frame ++ * offset determining the end of element n are in ++ * order. This guarantees that the bytes of element ++ * n don't overlap with any previous element. ++ * ++ * For trusted data this is set to G_MAXSIZE and we ++ * don't check that the frame offsets are in order. ++ * ++ * Note: This doesn't imply the offsets are good in ++ * any way apart from their ordering. In particular ++ * offsets may be out of bounds for this value or ++ * may imply that the data overlaps the frame ++ * offsets themselves. ++ * ++ * This field is only relevant for arrays of non ++ * fixed width types. ++ * + * .tree: Only valid when the instance is in tree form. + * + * Note that accesses from other threads could result in +@@ -365,6 +384,7 @@ g_variant_to_serialised (GVariant *value + (gpointer) value->contents.serialised.data, + value->size, + value->depth, ++ value->contents.serialised.ordered_offsets_up_to, + }; + return serialised; + } +@@ -396,6 +416,7 @@ g_variant_serialise (GVariant *value, + serialised.size = value->size; + serialised.data = data; + serialised.depth = value->depth; ++ serialised.ordered_offsets_up_to = 0; + + children = (gpointer *) value->contents.tree.children; + n_children = value->contents.tree.n_children; +@@ -439,6 +460,15 @@ g_variant_fill_gvs (GVariantSerialised * + g_assert (serialised->size == value->size); + serialised->depth = value->depth; + ++ if (value->state & STATE_SERIALISED) ++ { ++ serialised->ordered_offsets_up_to = value->contents.serialised.ordered_offsets_up_to; ++ } ++ else ++ { ++ serialised->ordered_offsets_up_to = 0; ++ } ++ + if (serialised->data) + /* g_variant_store() is a public API, so it + * it will reacquire the lock if it needs to. +@@ -481,6 +511,7 @@ g_variant_ensure_serialised (GVariant *v + bytes = g_bytes_new_take (data, value->size); + value->contents.serialised.data = g_bytes_get_data (bytes, NULL); + value->contents.serialised.bytes = bytes; ++ value->contents.serialised.ordered_offsets_up_to = G_MAXSIZE; + value->state |= STATE_SERIALISED; + } + } +@@ -561,6 +592,7 @@ g_variant_new_from_bytes (const GVariant + serialised.type_info = value->type_info; + serialised.data = (guchar *) g_bytes_get_data (bytes, &serialised.size); + serialised.depth = 0; ++ serialised.ordered_offsets_up_to = trusted ? G_MAXSIZE : 0; + + if (!g_variant_serialised_check (serialised)) + { +@@ -611,6 +643,8 @@ g_variant_new_from_bytes (const GVariant + value->contents.serialised.data = g_bytes_get_data (bytes, &value->size); + } + ++ value->contents.serialised.ordered_offsets_up_to = trusted ? G_MAXSIZE : 0; ++ + g_clear_pointer (&owned_bytes, g_bytes_unref); + + return value; +@@ -1130,6 +1164,7 @@ g_variant_get_child_value (GVariant *val + child->contents.serialised.bytes = + g_bytes_ref (value->contents.serialised.bytes); + child->contents.serialised.data = s_child.data; ++ child->contents.serialised.ordered_offsets_up_to = s_child.ordered_offsets_up_to; + + return child; + } +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -1,6 +1,7 @@ + /* + * Copyright © 2007, 2008 Ryan Lortie + * Copyright © 2010 Codethink Limited ++ * Copyright © 2020 William Manley + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public +@@ -264,6 +265,7 @@ gvs_fixed_sized_maybe_get_child (GVarian + value.type_info = g_variant_type_info_element (value.type_info); + g_variant_type_info_ref (value.type_info); + value.depth++; ++ value.ordered_offsets_up_to = 0; + + return value; + } +@@ -295,7 +297,7 @@ gvs_fixed_sized_maybe_serialise (GVarian + { + if (n_children) + { +- GVariantSerialised child = { NULL, value.data, value.size, value.depth + 1 }; ++ GVariantSerialised child = { NULL, value.data, value.size, value.depth + 1, 0 }; + + gvs_filler (&child, children[0]); + } +@@ -317,6 +319,7 @@ gvs_fixed_sized_maybe_is_normal (GVarian + /* proper element size: "Just". recurse to the child. */ + value.type_info = g_variant_type_info_element (value.type_info); + value.depth++; ++ value.ordered_offsets_up_to = 0; + + return g_variant_serialised_is_normal (value); + } +@@ -358,6 +361,7 @@ gvs_variable_sized_maybe_get_child (GVar + value.data = NULL; + + value.depth++; ++ value.ordered_offsets_up_to = 0; + + return value; + } +@@ -388,7 +392,7 @@ gvs_variable_sized_maybe_serialise (GVar + { + if (n_children) + { +- GVariantSerialised child = { NULL, value.data, value.size - 1, value.depth + 1 }; ++ GVariantSerialised child = { NULL, value.data, value.size - 1, value.depth + 1, 0 }; + + /* write the data for the child. */ + gvs_filler (&child, children[0]); +@@ -408,6 +412,7 @@ gvs_variable_sized_maybe_is_normal (GVar + value.type_info = g_variant_type_info_element (value.type_info); + value.size--; + value.depth++; ++ value.ordered_offsets_up_to = 0; + + return g_variant_serialised_is_normal (value); + } +@@ -691,6 +696,32 @@ gvs_variable_sized_array_n_children (GVa + return gvs_variable_sized_array_get_frame_offsets (value).length; + } + ++/* Find the index of the first out-of-order element in @data, assuming that ++ * @data is an array of elements of given @type, starting at index @start and ++ * containing a further @len-@start elements. */ ++#define DEFINE_FIND_UNORDERED(type) \ ++ static gsize \ ++ find_unordered_##type (const guint8 *data, gsize start, gsize len) \ ++ { \ ++ gsize off; \ ++ type current, previous; \ ++ \ ++ memcpy (&previous, data + start * sizeof (current), sizeof (current)); \ ++ for (off = (start + 1) * sizeof (current); off < len * sizeof (current); off += sizeof (current)) \ ++ { \ ++ memcpy (¤t, data + off, sizeof (current)); \ ++ if (current < previous) \ ++ break; \ ++ previous = current; \ ++ } \ ++ return off / sizeof (current) - 1; \ ++ } ++ ++DEFINE_FIND_UNORDERED (guint8); ++DEFINE_FIND_UNORDERED (guint16); ++DEFINE_FIND_UNORDERED (guint32); ++DEFINE_FIND_UNORDERED (guint64); ++ + static GVariantSerialised + gvs_variable_sized_array_get_child (GVariantSerialised value, + gsize index_) +@@ -706,6 +737,49 @@ gvs_variable_sized_array_get_child (GVar + g_variant_type_info_ref (child.type_info); + child.depth = value.depth + 1; + ++ /* If the requested @index_ is beyond the set of indices whose framing offsets ++ * have been checked, check the remaining offsets to see whether they’re ++ * normal (in order, no overlapping array elements). */ ++ if (index_ > value.ordered_offsets_up_to) ++ { ++ switch (offsets.offset_size) ++ { ++ case 1: ++ { ++ value.ordered_offsets_up_to = find_unordered_guint8 ( ++ offsets.array, value.ordered_offsets_up_to, index_ + 1); ++ break; ++ } ++ case 2: ++ { ++ value.ordered_offsets_up_to = find_unordered_guint16 ( ++ offsets.array, value.ordered_offsets_up_to, index_ + 1); ++ break; ++ } ++ case 4: ++ { ++ value.ordered_offsets_up_to = find_unordered_guint32 ( ++ offsets.array, value.ordered_offsets_up_to, index_ + 1); ++ break; ++ } ++ case 8: ++ { ++ value.ordered_offsets_up_to = find_unordered_guint64 ( ++ offsets.array, value.ordered_offsets_up_to, index_ + 1); ++ break; ++ } ++ default: ++ /* gvs_get_offset_size() only returns maximum 8 */ ++ g_assert_not_reached (); ++ } ++ } ++ ++ if (index_ > value.ordered_offsets_up_to) ++ { ++ /* Offsets are invalid somewhere, so return an empty child. */ ++ return child; ++ } ++ + if (index_ > 0) + { + guint alignment; +@@ -840,6 +914,9 @@ gvs_variable_sized_array_is_normal (GVar + + g_assert (offset == offsets.data_size); + ++ /* All offsets have now been checked. */ ++ value.ordered_offsets_up_to = G_MAXSIZE; ++ + return TRUE; + } + +@@ -1072,7 +1149,7 @@ gvs_tuple_is_normal (GVariantSerialised + for (i = 0; i < length; i++) + { + const GVariantMemberInfo *member_info; +- GVariantSerialised child; ++ GVariantSerialised child = { 0, }; + gsize fixed_size; + guint alignment; + gsize end; +@@ -1132,6 +1209,9 @@ gvs_tuple_is_normal (GVariantSerialised + offset = end; + } + ++ /* All element bounds have been checked above. */ ++ value.ordered_offsets_up_to = G_MAXSIZE; ++ + { + gsize fixed_size; + guint alignment; +--- a/glib/gvariant-serialiser.h ++++ b/glib/gvariant-serialiser.h +@@ -29,6 +29,15 @@ typedef struct + guchar *data; + gsize size; + gsize depth; /* same semantics as GVariant.depth */ ++ ++ /* If ordered_offsets_up_to == n this means that all the frame offsets up to and ++ * including the frame offset determining the end of element n are in order. ++ * This guarantees that the bytes of element n don't overlap with any previous ++ * element. ++ * ++ * This is both read and set by g_variant_serialised_get_child for arrays of ++ * non-fixed-width types */ ++ gsize ordered_offsets_up_to; + } GVariantSerialised; + + /* deserialization */ +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -1,5 +1,6 @@ + /* + * Copyright © 2010 Codethink Limited ++ * Copyright © 2020 William Manley + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public +@@ -1279,6 +1280,7 @@ random_instance_filler (GVariantSerialis + serialised->size = instance->size; + + serialised->depth = 0; ++ serialised->ordered_offsets_up_to = 0; + + g_assert_true (serialised->type_info == instance->type_info); + g_assert_cmpuint (serialised->size, ==, instance->size); +@@ -5031,6 +5033,47 @@ test_normal_checking_array_offsets (void + g_variant_unref (variant); + } + ++/* This is a regression test that we can't have non-normal values that take up ++ * significantly more space than the normal equivalent, by specifying the ++ * offset table entries so that array elements overlap. ++ * ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2121#note_832242 */ ++static void ++test_normal_checking_array_offsets2 (void) ++{ ++ const guint8 data[] = { ++ 'h', 'i', '\0', ++ 0x03, 0x00, 0x03, ++ 0x06, 0x00, 0x06, ++ 0x09, 0x00, 0x09, ++ 0x0c, 0x00, 0x0c, ++ 0x0f, 0x00, 0x0f, ++ 0x12, 0x00, 0x12, ++ 0x15, 0x00, 0x15, ++ }; ++ gsize size = sizeof (data); ++ const GVariantType *aaaaaaas = G_VARIANT_TYPE ("aaaaaaas"); ++ GVariant *variant = NULL; ++ GVariant *normal_variant = NULL; ++ GVariant *expected = NULL; ++ ++ variant = g_variant_new_from_data (aaaaaaas, data, size, FALSE, NULL, NULL); ++ g_assert_nonnull (variant); ++ ++ normal_variant = g_variant_get_normal_form (variant); ++ g_assert_nonnull (normal_variant); ++ g_assert_cmpuint (g_variant_get_size (normal_variant), <=, size * 2); ++ ++ expected = g_variant_new_parsed ( ++ "[[[[[[['hi', '', ''], [], []], [], []], [], []], [], []], [], []], [], []]"); ++ g_assert_cmpvariant (expected, variant); ++ g_assert_cmpvariant (expected, normal_variant); ++ ++ g_variant_unref (expected); ++ g_variant_unref (normal_variant); ++ g_variant_unref (variant); ++} ++ + /* Test that a tuple with invalidly large values in its offset table is + * normalised successfully without looping infinitely. */ + static void +@@ -5197,6 +5240,8 @@ main (int argc, char **argv) + test_normal_checking_tuples); + g_test_add_func ("/gvariant/normal-checking/array-offsets", + test_normal_checking_array_offsets); ++ g_test_add_func ("/gvariant/normal-checking/array-offsets2", ++ test_normal_checking_array_offsets2); + g_test_add_func ("/gvariant/normal-checking/tuple-offsets", + test_normal_checking_tuple_offsets); + g_test_add_func ("/gvariant/normal-checking/empty-object-path", diff --git a/debian/patches/gvariant-security-1-05.patch b/debian/patches/gvariant-security-1-05.patch new file mode 100644 index 0000000..c4666ca --- /dev/null +++ b/debian/patches/gvariant-security-1-05.patch @@ -0,0 +1,104 @@ +From 66e7c10aa1ec3102c49186f83671a5f0461ffbc0 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Fri, 7 Jan 2022 15:03:52 +0000 +Subject: [PATCH 05/18] gvariant-serialiser: Factor out code to get bounds of a + tuple member + +This introduces no functional changes. + +Signed-off-by: Philip Withnall + +Helps: #2121 +--- + glib/gvariant-serialiser.c | 73 ++++++++++++++++++++++++-------------- + 1 file changed, 46 insertions(+), 27 deletions(-) + +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -942,6 +942,51 @@ gvs_variable_sized_array_is_normal (GVar + * for the tuple. See the notes in gvarianttypeinfo.h. + */ + ++static void ++gvs_tuple_get_member_bounds (GVariantSerialised value, ++ gsize index_, ++ gsize offset_size, ++ gsize *out_member_start, ++ gsize *out_member_end) ++{ ++ const GVariantMemberInfo *member_info; ++ gsize member_start, member_end; ++ ++ member_info = g_variant_type_info_member_info (value.type_info, index_); ++ ++ if (member_info->i + 1) ++ member_start = gvs_read_unaligned_le (value.data + value.size - ++ offset_size * (member_info->i + 1), ++ offset_size); ++ else ++ member_start = 0; ++ ++ member_start += member_info->a; ++ member_start &= member_info->b; ++ member_start |= member_info->c; ++ ++ if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_LAST) ++ member_end = value.size - offset_size * (member_info->i + 1); ++ ++ else if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_FIXED) ++ { ++ gsize fixed_size; ++ ++ g_variant_type_info_query (member_info->type_info, NULL, &fixed_size); ++ member_end = member_start + fixed_size; ++ } ++ ++ else /* G_VARIANT_MEMBER_ENDING_OFFSET */ ++ member_end = gvs_read_unaligned_le (value.data + value.size - ++ offset_size * (member_info->i + 2), ++ offset_size); ++ ++ if (out_member_start != NULL) ++ *out_member_start = member_start; ++ if (out_member_end != NULL) ++ *out_member_end = member_end; ++} ++ + static gsize + gvs_tuple_n_children (GVariantSerialised value) + { +@@ -997,33 +1042,7 @@ gvs_tuple_get_child (GVariantSerialised + } + } + +- if (member_info->i + 1) +- start = gvs_read_unaligned_le (value.data + value.size - +- offset_size * (member_info->i + 1), +- offset_size); +- else +- start = 0; +- +- start += member_info->a; +- start &= member_info->b; +- start |= member_info->c; +- +- if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_LAST) +- end = value.size - offset_size * (member_info->i + 1); +- +- else if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_FIXED) +- { +- gsize fixed_size; +- +- g_variant_type_info_query (child.type_info, NULL, &fixed_size); +- end = start + fixed_size; +- child.size = fixed_size; +- } +- +- else /* G_VARIANT_MEMBER_ENDING_OFFSET */ +- end = gvs_read_unaligned_le (value.data + value.size - +- offset_size * (member_info->i + 2), +- offset_size); ++ gvs_tuple_get_member_bounds (value, index_, offset_size, &start, &end); + + /* The child should not extend into the offset table. */ + if (index_ != g_variant_type_info_n_members (value.type_info) - 1) diff --git a/debian/patches/gvariant-security-1-06.patch b/debian/patches/gvariant-security-1-06.patch new file mode 100644 index 0000000..0c18fa7 --- /dev/null +++ b/debian/patches/gvariant-security-1-06.patch @@ -0,0 +1,74 @@ +From a62a6b5d3e53b30a4628db2a077ab9ed03605748 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Fri, 7 Jan 2022 16:37:29 +0000 +Subject: [PATCH 06/18] gvariant-serialiser: Rework child size calculation +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reduces a few duplicate calls to `g_variant_type_info_query()` and +explains why they’re needed. + +Signed-off-by: Philip Withnall + +Helps: #2121 +--- + glib/gvariant-serialiser.c | 31 +++++++++---------------------- + 1 file changed, 9 insertions(+), 22 deletions(-) + +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -1007,14 +1007,18 @@ gvs_tuple_get_child (GVariantSerialised + child.depth = value.depth + 1; + offset_size = gvs_get_offset_size (value.size); + ++ /* Ensure the size is set for fixed-sized children, or ++ * g_variant_serialised_check() will fail, even if we return ++ * (child.data == NULL) to indicate an error. */ ++ if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_FIXED) ++ g_variant_type_info_query (child.type_info, NULL, &child.size); ++ + /* tuples are the only (potentially) fixed-sized containers, so the + * only ones that have to deal with the possibility of having %NULL + * data with a non-zero %size if errors occurred elsewhere. + */ + if G_UNLIKELY (value.data == NULL && value.size != 0) + { +- g_variant_type_info_query (child.type_info, NULL, &child.size); +- + /* this can only happen in fixed-sized tuples, + * so the child must also be fixed sized. + */ +@@ -1032,29 +1036,12 @@ gvs_tuple_get_child (GVariantSerialised + else + { + if (offset_size * (member_info->i + 1) > value.size) +- { +- /* if the child is fixed size, return its size. +- * if child is not fixed-sized, return size = 0. +- */ +- g_variant_type_info_query (child.type_info, NULL, &child.size); +- +- return child; +- } ++ return child; + } + +- gvs_tuple_get_member_bounds (value, index_, offset_size, &start, &end); +- + /* The child should not extend into the offset table. */ +- if (index_ != g_variant_type_info_n_members (value.type_info) - 1) +- { +- GVariantSerialised last_child; +- last_child = gvs_tuple_get_child (value, +- g_variant_type_info_n_members (value.type_info) - 1); +- last_end = last_child.data + last_child.size - value.data; +- g_variant_type_info_unref (last_child.type_info); +- } +- else +- last_end = end; ++ gvs_tuple_get_member_bounds (value, index_, offset_size, &start, &end); ++ gvs_tuple_get_member_bounds (value, g_variant_type_info_n_members (value.type_info) - 1, offset_size, NULL, &last_end); + + if (start < end && end <= value.size && end <= last_end) + { diff --git a/debian/patches/gvariant-security-1-07.patch b/debian/patches/gvariant-security-1-07.patch new file mode 100644 index 0000000..cd23fbf --- /dev/null +++ b/debian/patches/gvariant-security-1-07.patch @@ -0,0 +1,382 @@ +From 2d55b3b74b1bc256e91a9d0d59120570376e6acc Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Fri, 7 Jan 2022 16:42:14 +0000 +Subject: [PATCH 07/18] =?UTF-8?q?gvariant:=20Don=E2=80=99t=20allow=20child?= + =?UTF-8?q?=20elements=20of=20a=20tuple=20to=20overlap=20each=20other?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This is similar to the earlier commit which prevents child elements of a +variable-sized array from overlapping each other, but this time for +tuples. It is based heavily on ideas by William Manley. + +Tuples are slightly different from variable-sized arrays in that they +contain a mixture of fixed and variable sized elements. All but one of +the variable sized elements have an entry in the frame offsets table. +This means that if we were to just check the ordering of the frame +offsets table, the variable sized elements could still overlap +interleaving fixed sized elements, which would be bad. + +Therefore we have to check the elements rather than the frame offsets. + +The logic of checking the elements up to the index currently being +requested, and caching the result in `ordered_offsets_up_to`, means that +the algorithmic cost implications are the same for this commit as for +variable-sized arrays: an O(N) cost for these checks is amortised out +over N accesses to O(1) per access. + +Signed-off-by: Philip Withnall + +Fixes: #2121 +--- + glib/gvariant-core.c | 6 +- + glib/gvariant-serialiser.c | 40 ++++++++ + glib/gvariant-serialiser.h | 7 +- + glib/gvariant.c | 1 + + glib/tests/gvariant.c | 181 +++++++++++++++++++++++++++++++++++++ + 5 files changed, 232 insertions(+), 3 deletions(-) + +--- a/glib/gvariant-core.c ++++ b/glib/gvariant-core.c +@@ -1,6 +1,7 @@ + /* + * Copyright © 2007, 2008 Ryan Lortie + * Copyright © 2010 Codethink Limited ++ * Copyright © 2022 Endless OS Foundation, LLC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public +@@ -179,7 +180,7 @@ struct _GVariant + * offsets themselves. + * + * This field is only relevant for arrays of non +- * fixed width types. ++ * fixed width types and for tuples. + * + * .tree: Only valid when the instance is in tree form. + * +@@ -1139,6 +1140,9 @@ g_variant_get_child_value (GVariant *val + */ + s_child = g_variant_serialised_get_child (serialised, index_); + ++ /* Update the cached ordered_offsets_up_to, since @serialised will be thrown away when this function exits */ ++ value->contents.serialised.ordered_offsets_up_to = MAX (value->contents.serialised.ordered_offsets_up_to, serialised.ordered_offsets_up_to); ++ + /* Check whether this would cause nesting too deep. If so, return a fake + * child. The only situation we expect this to happen in is with a variant, + * as all other deeply-nested types have a static type, and hence should +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -942,6 +942,10 @@ gvs_variable_sized_array_is_normal (GVar + * for the tuple. See the notes in gvarianttypeinfo.h. + */ + ++/* Note: This doesn’t guarantee that @out_member_end >= @out_member_start; that ++ * condition may not hold true for invalid serialised variants. The caller is ++ * responsible for checking the returned values and handling invalid ones ++ * appropriately. */ + static void + gvs_tuple_get_member_bounds (GVariantSerialised value, + gsize index_, +@@ -1028,6 +1032,42 @@ gvs_tuple_get_child (GVariantSerialised + return child; + } + ++ /* If the requested @index_ is beyond the set of indices whose framing offsets ++ * have been checked, check the remaining offsets to see whether they’re ++ * normal (in order, no overlapping tuple elements). ++ * ++ * Unlike the checks in gvs_variable_sized_array_get_child(), we have to check ++ * all the tuple *elements* here, not just all the framing offsets, since ++ * tuples contain a mix of elements which use framing offsets and ones which ++ * don’t. None of them are allowed to overlap. */ ++ if (index_ > value.ordered_offsets_up_to) ++ { ++ gsize i, prev_i_end = 0; ++ ++ if (value.ordered_offsets_up_to > 0) ++ gvs_tuple_get_member_bounds (value, value.ordered_offsets_up_to - 1, offset_size, NULL, &prev_i_end); ++ ++ for (i = value.ordered_offsets_up_to; i <= index_; i++) ++ { ++ gsize i_start, i_end; ++ ++ gvs_tuple_get_member_bounds (value, i, offset_size, &i_start, &i_end); ++ ++ if (i_start > i_end || i_start < prev_i_end || i_end > value.size) ++ break; ++ ++ prev_i_end = i_end; ++ } ++ ++ value.ordered_offsets_up_to = i - 1; ++ } ++ ++ if (index_ > value.ordered_offsets_up_to) ++ { ++ /* Offsets are invalid somewhere, so return an empty child. */ ++ return child; ++ } ++ + if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_OFFSET) + { + if (offset_size * (member_info->i + 2) > value.size) +--- a/glib/gvariant-serialiser.h ++++ b/glib/gvariant-serialiser.h +@@ -35,8 +35,11 @@ typedef struct + * This guarantees that the bytes of element n don't overlap with any previous + * element. + * +- * This is both read and set by g_variant_serialised_get_child for arrays of +- * non-fixed-width types */ ++ * This is both read and set by g_variant_serialised_get_child() for arrays of ++ * non-fixed-width types, and for tuples. ++ * ++ * Even when dealing with tuples, @ordered_offsets_up_to is an element index, ++ * rather than an index into the frame offsets. */ + gsize ordered_offsets_up_to; + } GVariantSerialised; + +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -5997,6 +5997,7 @@ g_variant_byteswap (GVariant *value) + serialised.size = g_variant_get_size (trusted); + serialised.data = g_malloc (serialised.size); + serialised.depth = g_variant_get_depth (trusted); ++ serialised.ordered_offsets_up_to = G_MAXSIZE; /* operating on the normal form */ + g_variant_store (trusted, serialised.data); + g_variant_unref (trusted); + +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -1,6 +1,7 @@ + /* + * Copyright © 2010 Codethink Limited + * Copyright © 2020 William Manley ++ * Copyright © 2022 Endless OS Foundation, LLC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public +@@ -1447,6 +1448,7 @@ test_maybe (void) + serialised.data = flavoured_malloc (needed_size, flavour); + serialised.size = needed_size; + serialised.depth = 0; ++ serialised.ordered_offsets_up_to = 0; + + g_variant_serialiser_serialise (serialised, + random_instance_filler, +@@ -1570,6 +1572,7 @@ test_array (void) + serialised.data = flavoured_malloc (needed_size, flavour); + serialised.size = needed_size; + serialised.depth = 0; ++ serialised.ordered_offsets_up_to = 0; + + g_variant_serialiser_serialise (serialised, random_instance_filler, + (gpointer *) instances, n_children); +@@ -1734,6 +1737,7 @@ test_tuple (void) + serialised.data = flavoured_malloc (needed_size, flavour); + serialised.size = needed_size; + serialised.depth = 0; ++ serialised.ordered_offsets_up_to = 0; + + g_variant_serialiser_serialise (serialised, random_instance_filler, + (gpointer *) instances, n_children); +@@ -1830,6 +1834,7 @@ test_variant (void) + serialised.data = flavoured_malloc (needed_size, flavour); + serialised.size = needed_size; + serialised.depth = 0; ++ serialised.ordered_offsets_up_to = 0; + + g_variant_serialiser_serialise (serialised, random_instance_filler, + (gpointer *) &instance, 1); +@@ -5098,6 +5103,176 @@ test_normal_checking_tuple_offsets (void + g_variant_unref (variant); + } + ++/* This is a regression test that we can't have non-normal values that take up ++ * significantly more space than the normal equivalent, by specifying the ++ * offset table entries so that tuple elements overlap. ++ * ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2121#note_838503 and ++ * https://gitlab.gnome.org/GNOME/glib/-/issues/2121#note_838513 */ ++static void ++test_normal_checking_tuple_offsets2 (void) ++{ ++ const GVariantType *data_type = G_VARIANT_TYPE ("(yyaiyyaiyy)"); ++ const guint8 data[] = { ++ 0x12, 0x34, 0x56, 0x78, 0x01, ++ /* ++ ^───────────────────┘ ++ ++ ^^^^^^^^^^ 1st yy ++ ^^^^^^^^^^ 2nd yy ++ ^^^^^^^^^^ 3rd yy ++ ^^^^ Framing offsets ++ */ ++ ++ /* If this variant was encoded normally, it would be something like this: ++ * 0x12, 0x34, pad, pad, [array bytes], 0x56, 0x78, pad, pad, [array bytes], 0x9A, 0xBC, 0xXX ++ * ^─────────────────────────────────────────────────────┘ ++ * ++ * ^^^^^^^^^^ 1st yy ++ * ^^^^^^^^^^ 2nd yy ++ * ^^^^^^^^^^ 3rd yy ++ * ^^^^ Framing offsets ++ */ ++ }; ++ gsize size = sizeof (data); ++ GVariant *variant = NULL; ++ GVariant *normal_variant = NULL; ++ GVariant *expected = NULL; ++ ++ variant = g_variant_new_from_data (data_type, data, size, FALSE, NULL, NULL); ++ g_assert_nonnull (variant); ++ ++ normal_variant = g_variant_get_normal_form (variant); ++ g_assert_nonnull (normal_variant); ++ g_assert_cmpuint (g_variant_get_size (normal_variant), <=, size * 3); ++ ++ expected = g_variant_new_parsed ( ++ "@(yyaiyyaiyy) (0x12, 0x34, [], 0x00, 0x00, [], 0x00, 0x00)"); ++ g_assert_cmpvariant (expected, variant); ++ g_assert_cmpvariant (expected, normal_variant); ++ ++ g_variant_unref (expected); ++ g_variant_unref (normal_variant); ++ g_variant_unref (variant); ++} ++ ++/* This is a regression test that overlapping entries in the offset table are ++ * decoded consistently, even though they’re non-normal. ++ * ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2121#note_910935 */ ++static void ++test_normal_checking_tuple_offsets3 (void) ++{ ++ /* The expected decoding of this non-normal byte stream is complex. See ++ * section 2.7.3 (Handling Non-Normal Serialised Data) of the GVariant ++ * specification. ++ * ++ * The rule “Child Values Overlapping Framing Offsets” from the specification ++ * says that the first `ay` must be decoded as `[0x01]` even though it ++ * overlaps the first byte of the offset table. However, since commit ++ * 7eedcd76f7d5b8c98fa60013e1fe6e960bf19df3, GLib explicitly doesn’t allow ++ * this as it’s exploitable. So the first `ay` must be given a default value. ++ * ++ * The second and third `ay`s must be given default values because of rule ++ * “End Boundary Precedes Start Boundary”. ++ * ++ * The `i` must be given a default value because of rule “Start or End ++ * Boundary of a Child Falls Outside the Container”. ++ */ ++ const GVariantType *data_type = G_VARIANT_TYPE ("(ayayiay)"); ++ const guint8 data[] = { ++ 0x01, 0x00, 0x02, ++ /* ++ ^──┘ ++ ++ ^^^^^^^^^^ 1st ay, bytes 0-2 (but given a default value anyway, see above) ++ 2nd ay, bytes 2-0 ++ i, bytes 0-4 ++ 3rd ay, bytes 4-1 ++ ^^^^^^^^^^ Framing offsets ++ */ ++ }; ++ gsize size = sizeof (data); ++ GVariant *variant = NULL; ++ GVariant *normal_variant = NULL; ++ GVariant *expected = NULL; ++ ++ variant = g_variant_new_from_data (data_type, data, size, FALSE, NULL, NULL); ++ g_assert_nonnull (variant); ++ ++ g_assert_false (g_variant_is_normal_form (variant)); ++ ++ normal_variant = g_variant_get_normal_form (variant); ++ g_assert_nonnull (normal_variant); ++ g_assert_cmpuint (g_variant_get_size (normal_variant), <=, size * 3); ++ ++ expected = g_variant_new_parsed ("@(ayayiay) ([], [], 0, [])"); ++ g_assert_cmpvariant (expected, variant); ++ g_assert_cmpvariant (expected, normal_variant); ++ ++ g_variant_unref (expected); ++ g_variant_unref (normal_variant); ++ g_variant_unref (variant); ++} ++ ++/* This is a regression test that overlapping entries in the offset table are ++ * decoded consistently, even though they’re non-normal. ++ * ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2121#note_910935 */ ++static void ++test_normal_checking_tuple_offsets4 (void) ++{ ++ /* The expected decoding of this non-normal byte stream is complex. See ++ * section 2.7.3 (Handling Non-Normal Serialised Data) of the GVariant ++ * specification. ++ * ++ * The rule “Child Values Overlapping Framing Offsets” from the specification ++ * says that the first `ay` must be decoded as `[0x01]` even though it ++ * overlaps the first byte of the offset table. However, since commit ++ * 7eedcd76f7d5b8c98fa60013e1fe6e960bf19df3, GLib explicitly doesn’t allow ++ * this as it’s exploitable. So the first `ay` must be given a default value. ++ * ++ * The second `ay` must be given a default value because of rule “End Boundary ++ * Precedes Start Boundary”. ++ * ++ * The third `ay` must be given a default value because its framing offsets ++ * overlap that of the first `ay`. ++ */ ++ const GVariantType *data_type = G_VARIANT_TYPE ("(ayayay)"); ++ const guint8 data[] = { ++ 0x01, 0x00, 0x02, ++ /* ++ ^──┘ ++ ++ ^^^^^^^^^^ 1st ay, bytes 0-2 (but given a default value anyway, see above) ++ 2nd ay, bytes 2-0 ++ 3rd ay, bytes 0-1 ++ ^^^^^^^^^^ Framing offsets ++ */ ++ }; ++ gsize size = sizeof (data); ++ GVariant *variant = NULL; ++ GVariant *normal_variant = NULL; ++ GVariant *expected = NULL; ++ ++ variant = g_variant_new_from_data (data_type, data, size, FALSE, NULL, NULL); ++ g_assert_nonnull (variant); ++ ++ g_assert_false (g_variant_is_normal_form (variant)); ++ ++ normal_variant = g_variant_get_normal_form (variant); ++ g_assert_nonnull (normal_variant); ++ g_assert_cmpuint (g_variant_get_size (normal_variant), <=, size * 3); ++ ++ expected = g_variant_new_parsed ("@(ayayay) ([], [], [])"); ++ g_assert_cmpvariant (expected, variant); ++ g_assert_cmpvariant (expected, normal_variant); ++ ++ g_variant_unref (expected); ++ g_variant_unref (normal_variant); ++ g_variant_unref (variant); ++} ++ + /* Test that an empty object path is normalised successfully to the base object + * path, ‘/’. */ + static void +@@ -5244,6 +5419,12 @@ main (int argc, char **argv) + test_normal_checking_array_offsets2); + g_test_add_func ("/gvariant/normal-checking/tuple-offsets", + test_normal_checking_tuple_offsets); ++ g_test_add_func ("/gvariant/normal-checking/tuple-offsets2", ++ test_normal_checking_tuple_offsets2); ++ g_test_add_func ("/gvariant/normal-checking/tuple-offsets3", ++ test_normal_checking_tuple_offsets3); ++ g_test_add_func ("/gvariant/normal-checking/tuple-offsets4", ++ test_normal_checking_tuple_offsets4); + g_test_add_func ("/gvariant/normal-checking/empty-object-path", + test_normal_checking_empty_object_path); + diff --git a/debian/patches/gvariant-security-1-08.patch b/debian/patches/gvariant-security-1-08.patch new file mode 100644 index 0000000..21485f3 --- /dev/null +++ b/debian/patches/gvariant-security-1-08.patch @@ -0,0 +1,378 @@ +From a6cb880af0a0932493ba096f01990e694e2c5b72 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 25 Oct 2022 15:14:14 +0100 +Subject: [PATCH 08/18] gvariant: Track checked and ordered offsets + independently + +The past few commits introduced the concept of known-good offsets in the +offset table (which is used for variable-width arrays and tuples). +Good offsets are ones which are non-overlapping with all the previous +offsets in the table. + +If a bad offset is encountered when indexing into the array or tuple, +the cached known-good offset index will not be increased. In this way, +all child variants at and beyond the first bad offset can be returned as +default values rather than dereferencing potentially invalid data. + +In this case, there was no information about the fact that the indexes +between the highest known-good index and the requested one had been +checked already. That could lead to a pathological case where an offset +table with an invalid first offset is repeatedly checked in full when +trying to access higher-indexed children. + +Avoid that by storing the index of the highest checked offset in the +table, as well as the index of the highest good/ordered offset. + +Signed-off-by: Philip Withnall + +Helps: #2121 +--- + glib/gvariant-core.c | 28 ++++++++++++++++++++++++ + glib/gvariant-serialiser.c | 44 +++++++++++++++++++++++++++----------- + glib/gvariant-serialiser.h | 9 ++++++++ + glib/gvariant.c | 1 + + glib/tests/gvariant.c | 5 +++++ + 5 files changed, 75 insertions(+), 12 deletions(-) + +--- a/glib/gvariant-core.c ++++ b/glib/gvariant-core.c +@@ -67,6 +67,7 @@ struct _GVariant + GBytes *bytes; + gconstpointer data; + gsize ordered_offsets_up_to; ++ gsize checked_offsets_up_to; + } serialised; + + struct +@@ -182,6 +183,24 @@ struct _GVariant + * This field is only relevant for arrays of non + * fixed width types and for tuples. + * ++ * .checked_offsets_up_to: Similarly to .ordered_offsets_up_to, this stores ++ * the index of the highest element, n, whose frame ++ * offsets (and all the preceding frame offsets) ++ * have been checked for validity. ++ * ++ * It is always the case that ++ * .checked_offsets_up_to ≥ .ordered_offsets_up_to. ++ * ++ * If .checked_offsets_up_to == .ordered_offsets_up_to, ++ * then a bad offset has not been found so far. ++ * ++ * If .checked_offsets_up_to > .ordered_offsets_up_to, ++ * then a bad offset has been found at ++ * (.ordered_offsets_up_to + 1). ++ * ++ * This field is only relevant for arrays of non ++ * fixed width types and for tuples. ++ * + * .tree: Only valid when the instance is in tree form. + * + * Note that accesses from other threads could result in +@@ -386,6 +405,7 @@ g_variant_to_serialised (GVariant *value + value->size, + value->depth, + value->contents.serialised.ordered_offsets_up_to, ++ value->contents.serialised.checked_offsets_up_to, + }; + return serialised; + } +@@ -418,6 +438,7 @@ g_variant_serialise (GVariant *value, + serialised.data = data; + serialised.depth = value->depth; + serialised.ordered_offsets_up_to = 0; ++ serialised.checked_offsets_up_to = 0; + + children = (gpointer *) value->contents.tree.children; + n_children = value->contents.tree.n_children; +@@ -464,10 +485,12 @@ g_variant_fill_gvs (GVariantSerialised * + if (value->state & STATE_SERIALISED) + { + serialised->ordered_offsets_up_to = value->contents.serialised.ordered_offsets_up_to; ++ serialised->checked_offsets_up_to = value->contents.serialised.checked_offsets_up_to; + } + else + { + serialised->ordered_offsets_up_to = 0; ++ serialised->checked_offsets_up_to = 0; + } + + if (serialised->data) +@@ -513,6 +536,7 @@ g_variant_ensure_serialised (GVariant *v + value->contents.serialised.data = g_bytes_get_data (bytes, NULL); + value->contents.serialised.bytes = bytes; + value->contents.serialised.ordered_offsets_up_to = G_MAXSIZE; ++ value->contents.serialised.checked_offsets_up_to = G_MAXSIZE; + value->state |= STATE_SERIALISED; + } + } +@@ -594,6 +618,7 @@ g_variant_new_from_bytes (const GVariant + serialised.data = (guchar *) g_bytes_get_data (bytes, &serialised.size); + serialised.depth = 0; + serialised.ordered_offsets_up_to = trusted ? G_MAXSIZE : 0; ++ serialised.checked_offsets_up_to = trusted ? G_MAXSIZE : 0; + + if (!g_variant_serialised_check (serialised)) + { +@@ -645,6 +670,7 @@ g_variant_new_from_bytes (const GVariant + } + + value->contents.serialised.ordered_offsets_up_to = trusted ? G_MAXSIZE : 0; ++ value->contents.serialised.checked_offsets_up_to = trusted ? G_MAXSIZE : 0; + + g_clear_pointer (&owned_bytes, g_bytes_unref); + +@@ -1142,6 +1168,7 @@ g_variant_get_child_value (GVariant *val + + /* Update the cached ordered_offsets_up_to, since @serialised will be thrown away when this function exits */ + value->contents.serialised.ordered_offsets_up_to = MAX (value->contents.serialised.ordered_offsets_up_to, serialised.ordered_offsets_up_to); ++ value->contents.serialised.checked_offsets_up_to = MAX (value->contents.serialised.checked_offsets_up_to, serialised.checked_offsets_up_to); + + /* Check whether this would cause nesting too deep. If so, return a fake + * child. The only situation we expect this to happen in is with a variant, +@@ -1169,6 +1196,7 @@ g_variant_get_child_value (GVariant *val + g_bytes_ref (value->contents.serialised.bytes); + child->contents.serialised.data = s_child.data; + child->contents.serialised.ordered_offsets_up_to = s_child.ordered_offsets_up_to; ++ child->contents.serialised.checked_offsets_up_to = s_child.checked_offsets_up_to; + + return child; + } +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -120,6 +120,8 @@ + * + * @depth has no restrictions; the depth of a top-level serialized #GVariant is + * zero, and it increases for each level of nested child. ++ * ++ * @checked_offsets_up_to is always ≥ @ordered_offsets_up_to + */ + + /* < private > +@@ -147,6 +149,9 @@ g_variant_serialised_check (GVariantSeri + !(serialised.size == 0 || serialised.data != NULL)) + return FALSE; + ++ if (serialised.ordered_offsets_up_to > serialised.checked_offsets_up_to) ++ return FALSE; ++ + /* Depending on the native alignment requirements of the machine, the + * compiler will insert either 3 or 7 padding bytes after the char. + * This will result in the sizeof() the struct being 12 or 16. +@@ -266,6 +271,7 @@ gvs_fixed_sized_maybe_get_child (GVarian + g_variant_type_info_ref (value.type_info); + value.depth++; + value.ordered_offsets_up_to = 0; ++ value.checked_offsets_up_to = 0; + + return value; + } +@@ -297,7 +303,7 @@ gvs_fixed_sized_maybe_serialise (GVarian + { + if (n_children) + { +- GVariantSerialised child = { NULL, value.data, value.size, value.depth + 1, 0 }; ++ GVariantSerialised child = { NULL, value.data, value.size, value.depth + 1, 0, 0 }; + + gvs_filler (&child, children[0]); + } +@@ -320,6 +326,7 @@ gvs_fixed_sized_maybe_is_normal (GVarian + value.type_info = g_variant_type_info_element (value.type_info); + value.depth++; + value.ordered_offsets_up_to = 0; ++ value.checked_offsets_up_to = 0; + + return g_variant_serialised_is_normal (value); + } +@@ -362,6 +369,7 @@ gvs_variable_sized_maybe_get_child (GVar + + value.depth++; + value.ordered_offsets_up_to = 0; ++ value.checked_offsets_up_to = 0; + + return value; + } +@@ -392,7 +400,7 @@ gvs_variable_sized_maybe_serialise (GVar + { + if (n_children) + { +- GVariantSerialised child = { NULL, value.data, value.size - 1, value.depth + 1, 0 }; ++ GVariantSerialised child = { NULL, value.data, value.size - 1, value.depth + 1, 0, 0 }; + + /* write the data for the child. */ + gvs_filler (&child, children[0]); +@@ -413,6 +421,7 @@ gvs_variable_sized_maybe_is_normal (GVar + value.size--; + value.depth++; + value.ordered_offsets_up_to = 0; ++ value.checked_offsets_up_to = 0; + + return g_variant_serialised_is_normal (value); + } +@@ -739,39 +748,46 @@ gvs_variable_sized_array_get_child (GVar + + /* If the requested @index_ is beyond the set of indices whose framing offsets + * have been checked, check the remaining offsets to see whether they’re +- * normal (in order, no overlapping array elements). */ +- if (index_ > value.ordered_offsets_up_to) ++ * normal (in order, no overlapping array elements). ++ * ++ * Don’t bother checking if the highest known-good offset is lower than the ++ * highest checked offset, as that means there’s an invalid element at that ++ * index, so there’s no need to check further. */ ++ if (index_ > value.checked_offsets_up_to && ++ value.ordered_offsets_up_to == value.checked_offsets_up_to) + { + switch (offsets.offset_size) + { + case 1: + { + value.ordered_offsets_up_to = find_unordered_guint8 ( +- offsets.array, value.ordered_offsets_up_to, index_ + 1); ++ offsets.array, value.checked_offsets_up_to, index_ + 1); + break; + } + case 2: + { + value.ordered_offsets_up_to = find_unordered_guint16 ( +- offsets.array, value.ordered_offsets_up_to, index_ + 1); ++ offsets.array, value.checked_offsets_up_to, index_ + 1); + break; + } + case 4: + { + value.ordered_offsets_up_to = find_unordered_guint32 ( +- offsets.array, value.ordered_offsets_up_to, index_ + 1); ++ offsets.array, value.checked_offsets_up_to, index_ + 1); + break; + } + case 8: + { + value.ordered_offsets_up_to = find_unordered_guint64 ( +- offsets.array, value.ordered_offsets_up_to, index_ + 1); ++ offsets.array, value.checked_offsets_up_to, index_ + 1); + break; + } + default: + /* gvs_get_offset_size() only returns maximum 8 */ + g_assert_not_reached (); + } ++ ++ value.checked_offsets_up_to = index_; + } + + if (index_ > value.ordered_offsets_up_to) +@@ -916,6 +932,7 @@ gvs_variable_sized_array_is_normal (GVar + + /* All offsets have now been checked. */ + value.ordered_offsets_up_to = G_MAXSIZE; ++ value.checked_offsets_up_to = G_MAXSIZE; + + return TRUE; + } +@@ -1040,14 +1057,15 @@ gvs_tuple_get_child (GVariantSerialised + * all the tuple *elements* here, not just all the framing offsets, since + * tuples contain a mix of elements which use framing offsets and ones which + * don’t. None of them are allowed to overlap. */ +- if (index_ > value.ordered_offsets_up_to) ++ if (index_ > value.checked_offsets_up_to && ++ value.ordered_offsets_up_to == value.checked_offsets_up_to) + { + gsize i, prev_i_end = 0; + +- if (value.ordered_offsets_up_to > 0) +- gvs_tuple_get_member_bounds (value, value.ordered_offsets_up_to - 1, offset_size, NULL, &prev_i_end); ++ if (value.checked_offsets_up_to > 0) ++ gvs_tuple_get_member_bounds (value, value.checked_offsets_up_to - 1, offset_size, NULL, &prev_i_end); + +- for (i = value.ordered_offsets_up_to; i <= index_; i++) ++ for (i = value.checked_offsets_up_to; i <= index_; i++) + { + gsize i_start, i_end; + +@@ -1060,6 +1078,7 @@ gvs_tuple_get_child (GVariantSerialised + } + + value.ordered_offsets_up_to = i - 1; ++ value.checked_offsets_up_to = index_; + } + + if (index_ > value.ordered_offsets_up_to) +@@ -1257,6 +1276,7 @@ gvs_tuple_is_normal (GVariantSerialised + + /* All element bounds have been checked above. */ + value.ordered_offsets_up_to = G_MAXSIZE; ++ value.checked_offsets_up_to = G_MAXSIZE; + + { + gsize fixed_size; +--- a/glib/gvariant-serialiser.h ++++ b/glib/gvariant-serialiser.h +@@ -41,6 +41,15 @@ typedef struct + * Even when dealing with tuples, @ordered_offsets_up_to is an element index, + * rather than an index into the frame offsets. */ + gsize ordered_offsets_up_to; ++ ++ /* Similar to @ordered_offsets_up_to. This gives the index of the child element ++ * whose frame offset is the highest in the offset table which has been ++ * checked so far. ++ * ++ * This is always ≥ @ordered_offsets_up_to. It is always an element index. ++ * ++ * See documentation in gvariant-core.c for `struct GVariant` for details. */ ++ gsize checked_offsets_up_to; + } GVariantSerialised; + + /* deserialization */ +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -5998,6 +5998,7 @@ g_variant_byteswap (GVariant *value) + serialised.data = g_malloc (serialised.size); + serialised.depth = g_variant_get_depth (trusted); + serialised.ordered_offsets_up_to = G_MAXSIZE; /* operating on the normal form */ ++ serialised.checked_offsets_up_to = G_MAXSIZE; + g_variant_store (trusted, serialised.data); + g_variant_unref (trusted); + +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -1282,6 +1282,7 @@ random_instance_filler (GVariantSerialis + + serialised->depth = 0; + serialised->ordered_offsets_up_to = 0; ++ serialised->checked_offsets_up_to = 0; + + g_assert_true (serialised->type_info == instance->type_info); + g_assert_cmpuint (serialised->size, ==, instance->size); +@@ -1449,6 +1450,7 @@ test_maybe (void) + serialised.size = needed_size; + serialised.depth = 0; + serialised.ordered_offsets_up_to = 0; ++ serialised.checked_offsets_up_to = 0; + + g_variant_serialiser_serialise (serialised, + random_instance_filler, +@@ -1573,6 +1575,7 @@ test_array (void) + serialised.size = needed_size; + serialised.depth = 0; + serialised.ordered_offsets_up_to = 0; ++ serialised.checked_offsets_up_to = 0; + + g_variant_serialiser_serialise (serialised, random_instance_filler, + (gpointer *) instances, n_children); +@@ -1738,6 +1741,7 @@ test_tuple (void) + serialised.size = needed_size; + serialised.depth = 0; + serialised.ordered_offsets_up_to = 0; ++ serialised.checked_offsets_up_to = 0; + + g_variant_serialiser_serialise (serialised, random_instance_filler, + (gpointer *) instances, n_children); +@@ -1835,6 +1839,7 @@ test_variant (void) + serialised.size = needed_size; + serialised.depth = 0; + serialised.ordered_offsets_up_to = 0; ++ serialised.checked_offsets_up_to = 0; + + g_variant_serialiser_serialise (serialised, random_instance_filler, + (gpointer *) &instance, 1); diff --git a/debian/patches/gvariant-security-1-09.patch b/debian/patches/gvariant-security-1-09.patch new file mode 100644 index 0000000..37db717 --- /dev/null +++ b/debian/patches/gvariant-security-1-09.patch @@ -0,0 +1,63 @@ +From 8c1a7815e7e6695c120cdedff48395c1222af6d1 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Fri, 12 Jun 2020 18:01:13 +0100 +Subject: [PATCH 09/18] tests: Add another test for overlapping offsets in + GVariant + +Signed-off-by: Philip Withnall + +Helps: #2121 +--- + glib/tests/gvariant.c | 34 ++++++++++++++++++++++++++++++++++ + 1 file changed, 34 insertions(+) + +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -5019,6 +5019,38 @@ test_recursion_limits_array_in_variant ( + g_variant_unref (wrapper_variant); + } + ++/* Test that a nested array with invalid values in its offset table (which point ++ * from the inner to the outer array) is normalised successfully without ++ * looping infinitely. */ ++static void ++test_normal_checking_array_offsets_overlapped (void) ++{ ++ const guint8 data[] = { ++ 0x01, 0x00, ++ }; ++ gsize size = sizeof (data); ++ GVariant *variant = NULL; ++ GVariant *normal_variant = NULL; ++ GVariant *expected_variant = NULL; ++ ++ variant = g_variant_new_from_data (G_VARIANT_TYPE ("aay"), data, size, ++ FALSE, NULL, NULL); ++ g_assert_nonnull (variant); ++ ++ normal_variant = g_variant_get_normal_form (variant); ++ g_assert_nonnull (normal_variant); ++ ++ expected_variant = g_variant_new_parsed ("[@ay [], []]"); ++ g_assert_cmpvariant (normal_variant, expected_variant); ++ ++ g_assert_cmpmem (g_variant_get_data (normal_variant), g_variant_get_size (normal_variant), ++ g_variant_get_data (expected_variant), g_variant_get_size (expected_variant)); ++ ++ g_variant_unref (expected_variant); ++ g_variant_unref (normal_variant); ++ g_variant_unref (variant); ++} ++ + /* Test that an array with invalidly large values in its offset table is + * normalised successfully without looping infinitely. */ + static void +@@ -5418,6 +5450,8 @@ main (int argc, char **argv) + + g_test_add_func ("/gvariant/normal-checking/tuples", + test_normal_checking_tuples); ++ g_test_add_func ("/gvariant/normal-checking/array-offsets/overlapped", ++ test_normal_checking_array_offsets_overlapped); + g_test_add_func ("/gvariant/normal-checking/array-offsets", + test_normal_checking_array_offsets); + g_test_add_func ("/gvariant/normal-checking/array-offsets2", diff --git a/debian/patches/gvariant-security-1-10.patch b/debian/patches/gvariant-security-1-10.patch new file mode 100644 index 0000000..529d46e --- /dev/null +++ b/debian/patches/gvariant-security-1-10.patch @@ -0,0 +1,71 @@ +From 019505a7ccc32d0afa06e104dc0ac2e63e6f7189 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Mon, 24 Oct 2022 16:43:23 +0100 +Subject: [PATCH 10/18] tests: Disable some random instance tests of GVariants +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Building a `GVariant` using entirely random data may result in a +non-normally-formed `GVariant`. It’s always possible to read these +`GVariant`s, but the API might return default values for some or all of +their components. + +In particular, this can easily happen when randomly generating the +offset tables for non-fixed-width container types. + +If it does happen, bytewise comparison of the parsed `GVariant` with the +original bytes will not always match. So skip those checks. + +Signed-off-by: Philip Withnall + +Helps: #2121 +--- + glib/tests/gvariant.c | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -1229,6 +1229,7 @@ random_instance_assert (RandomInstance * + GRand *rand; + gsize i; + ++ g_assert_true (size == 0 || buffer != NULL); + g_assert_cmpint ((gsize) buffer & ALIGN_BITS & instance->alignment, ==, 0); + g_assert_cmpint (size, ==, instance->size); + +@@ -1455,10 +1456,13 @@ test_maybe (void) + g_variant_serialiser_serialise (serialised, + random_instance_filler, + (gpointer *) &instance, 1); ++ + child = g_variant_serialised_get_child (serialised, 0); + g_assert_true (child.type_info == instance->type_info); +- random_instance_assert (instance, child.data, child.size); ++ if (child.data != NULL) /* could be NULL if element is non-normal */ ++ random_instance_assert (instance, child.data, child.size); + g_variant_type_info_unref (child.type_info); ++ + flavoured_free (serialised.data, flavour); + } + } +@@ -1591,7 +1595,8 @@ test_array (void) + + child = g_variant_serialised_get_child (serialised, i); + g_assert_true (child.type_info == instances[i]->type_info); +- random_instance_assert (instances[i], child.data, child.size); ++ if (child.data != NULL) /* could be NULL if element is non-normal */ ++ random_instance_assert (instances[i], child.data, child.size); + g_variant_type_info_unref (child.type_info); + } + +@@ -1757,7 +1762,8 @@ test_tuple (void) + + child = g_variant_serialised_get_child (serialised, i); + g_assert_true (child.type_info == instances[i]->type_info); +- random_instance_assert (instances[i], child.data, child.size); ++ if (child.data != NULL) /* could be NULL if element is non-normal */ ++ random_instance_assert (instances[i], child.data, child.size); + g_variant_type_info_unref (child.type_info); + } + diff --git a/debian/patches/gvariant-security-1-11.patch b/debian/patches/gvariant-security-1-11.patch new file mode 100644 index 0000000..ac087b0 --- /dev/null +++ b/debian/patches/gvariant-security-1-11.patch @@ -0,0 +1,26 @@ +From 9d2a142807806212a23436d0332b0209733810f2 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Mon, 24 Oct 2022 18:14:57 +0100 +Subject: [PATCH 11/18] gvariant: Clarify the docs for + g_variant_get_normal_form() + +Document how non-normal parts of the `GVariant` are handled. + +Signed-off-by: Philip Withnall +--- + glib/gvariant.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -5923,7 +5923,9 @@ g_variant_deep_copy (GVariant *value) + * marked as trusted and a new reference to it is returned. + * + * If @value is found not to be in normal form then a new trusted +- * #GVariant is created with the same value as @value. ++ * #GVariant is created with the same value as @value. The non-normal parts of ++ * @value will be replaced with default values which are guaranteed to be in ++ * normal form. + * + * It makes sense to call this function if you've received #GVariant + * data from untrusted sources and you want to ensure your serialized diff --git a/debian/patches/gvariant-security-1-12.patch b/debian/patches/gvariant-security-1-12.patch new file mode 100644 index 0000000..d325ea9 --- /dev/null +++ b/debian/patches/gvariant-security-1-12.patch @@ -0,0 +1,40 @@ +From b0ccb1616688290088e49dea2dc0d7fe723136e4 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Mon, 24 Oct 2022 18:43:55 +0100 +Subject: [PATCH 12/18] gvariant: Port g_variant_deep_copy() to count its + iterations directly + +This is equivalent to what `GVariantIter` does, but it means that +`g_variant_deep_copy()` is making its own `g_variant_get_child_value()` +calls. + +This will be useful in an upcoming commit, where those child values will +be inspected a little more deeply. + +Signed-off-by: Philip Withnall + +Helps: #2121 +--- + glib/gvariant.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -5850,14 +5850,13 @@ g_variant_deep_copy (GVariant *value) + case G_VARIANT_CLASS_VARIANT: + { + GVariantBuilder builder; +- GVariantIter iter; +- GVariant *child; ++ gsize i, n_children; + + g_variant_builder_init (&builder, g_variant_get_type (value)); +- g_variant_iter_init (&iter, value); + +- while ((child = g_variant_iter_next_value (&iter))) ++ for (i = 0, n_children = g_variant_n_children (value); i < n_children; i++) + { ++ GVariant *child = g_variant_get_child_value (value, i); + g_variant_builder_add_value (&builder, g_variant_deep_copy (child)); + g_variant_unref (child); + } diff --git a/debian/patches/gvariant-security-1-13.patch b/debian/patches/gvariant-security-1-13.patch new file mode 100644 index 0000000..23f4eb8 --- /dev/null +++ b/debian/patches/gvariant-security-1-13.patch @@ -0,0 +1,105 @@ +Backport of: + +From 1770e255ae6cc3f0bf5312322432bbc6524a3632 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 25 Oct 2022 13:03:22 +0100 +Subject: [PATCH 13/18] gvariant: Add internal + g_variant_maybe_get_child_value() + +This will be used in a following commit. + +Signed-off-by: Philip Withnall + +Helps: #2540 +--- + glib/gvariant-core.c | 68 ++++++++++++++++++++++++++++++++++++++++++++ + glib/gvariant-core.h | 3 ++ + 2 files changed, 71 insertions(+) + +--- a/glib/gvariant-core.c ++++ b/glib/gvariant-core.c +@@ -1203,6 +1203,74 @@ g_variant_get_child_value (GVariant *val + } + + /** ++ * g_variant_maybe_get_child_value: ++ * @value: a container #GVariant ++ * @index_: the index of the child to fetch ++ * ++ * Reads a child item out of a container #GVariant instance, if it is in normal ++ * form. If it is not in normal form, return %NULL. ++ * ++ * This function behaves the same as g_variant_get_child_value(), except that it ++ * returns %NULL if the child is not in normal form. g_variant_get_child_value() ++ * would instead return a new default value of the correct type. ++ * ++ * This is intended to be used internally to avoid unnecessary #GVariant ++ * allocations. ++ * ++ * The returned value is never floating. You should free it with ++ * g_variant_unref() when you're done with it. ++ * ++ * This function is O(1). ++ * ++ * Returns: (transfer full): the child at the specified index ++ * ++ * Since: 2.72 ++ */ ++GVariant * ++g_variant_maybe_get_child_value (GVariant *value, ++ gsize index_) ++{ ++ g_return_val_if_fail (index_ < g_variant_n_children (value), NULL); ++ g_return_val_if_fail (value->depth < G_MAXSIZE, NULL); ++ ++ if (~g_atomic_int_get (&value->state) & STATE_SERIALISED) ++ { ++ g_variant_lock (value); ++ ++ if (~value->state & STATE_SERIALISED) ++ { ++ GVariant *child; ++ ++ child = g_variant_ref (value->contents.tree.children[index_]); ++ g_variant_unlock (value); ++ ++ return child; ++ } ++ ++ g_variant_unlock (value); ++ } ++ ++ { ++ GVariantSerialised serialised = g_variant_to_serialised (value); ++ GVariantSerialised s_child; ++ ++ /* get the serializer to extract the serialized data for the child ++ * from the serialized data for the container ++ */ ++ s_child = g_variant_serialised_get_child (serialised, index_); ++ ++ if (!(value->state & STATE_TRUSTED) && s_child.data == NULL) ++ { ++ g_variant_type_info_unref (s_child.type_info); ++ return NULL; ++ } ++ ++ g_variant_type_info_unref (s_child.type_info); ++ return g_variant_get_child_value (value, index_); ++ } ++} ++ ++/** + * g_variant_store: + * @value: the #GVariant to store + * @data: (not nullable): the location to store the serialized data at +--- a/glib/gvariant-core.h ++++ b/glib/gvariant-core.h +@@ -36,4 +36,7 @@ GVariantTypeInfo * g_variant_get_ty + + gsize g_variant_get_depth (GVariant *value); + ++GVariant * g_variant_maybe_get_child_value (GVariant *value, ++ gsize index_); ++ + #endif /* __G_VARIANT_CORE_H__ */ diff --git a/debian/patches/gvariant-security-1-14.patch b/debian/patches/gvariant-security-1-14.patch new file mode 100644 index 0000000..28246a4 --- /dev/null +++ b/debian/patches/gvariant-security-1-14.patch @@ -0,0 +1,125 @@ +From 82fc15af4c84a2645343c51b18ab3528c51790ab Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 25 Oct 2022 13:03:45 +0100 +Subject: [PATCH 14/18] gvariant: Cut allocs of default values for children of + non-normal arrays +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This improves a slow case in `g_variant_get_normal_form()` where +allocating many identical default values for the children of a +variable-sized array which has a malformed offset table would take a lot +of time. + +The fix is to make all child values after the first invalid one be +references to the default value emitted for the first invalid one, +rather than identical new `GVariant`s. + +In particular, this fixes a case where an attacker could create an array +of length L of very large tuples of size T each, corrupt the offset table +so they don’t have to specify the array content, and then induce +`g_variant_get_normal_form()` into allocating L×T default values from an +input which is significantly smaller than L×T in length. + +A pre-existing workaround for this issue is for code to call +`g_variant_is_normal_form()` before calling +`g_variant_get_normal_form()`, and to skip the latter call if the former +returns false. This commit improves the behaviour in the case that +`g_variant_get_normal_form()` is called anyway. + +This fix changes the time to run the `fuzz_variant_binary` test on the +testcase from oss-fuzz#19777 from >60s (before being terminated) with +2.3GB of memory usage and 580k page faults; to 32s, 8.3MB of memory +usage and 1500 page faults (as measured by `time -v`). + +Signed-off-by: Philip Withnall + +Fixes: #2540 +oss-fuzz#19777 +--- + glib/gvariant.c | 66 ++++++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 65 insertions(+), 1 deletion(-) + +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -5844,7 +5844,6 @@ g_variant_deep_copy (GVariant *value) + switch (g_variant_classify (value)) + { + case G_VARIANT_CLASS_MAYBE: +- case G_VARIANT_CLASS_ARRAY: + case G_VARIANT_CLASS_TUPLE: + case G_VARIANT_CLASS_DICT_ENTRY: + case G_VARIANT_CLASS_VARIANT: +@@ -5863,6 +5862,71 @@ g_variant_deep_copy (GVariant *value) + + return g_variant_builder_end (&builder); + } ++ ++ case G_VARIANT_CLASS_ARRAY: ++ { ++ GVariantBuilder builder; ++ gsize i, n_children; ++ GVariant *first_invalid_child_deep_copy = NULL; ++ ++ /* Arrays are in theory treated the same as maybes, tuples, dict entries ++ * and variants, and could be another case in the above block of code. ++ * ++ * However, they have the property that when dealing with non-normal ++ * data (which is the only time g_variant_deep_copy() is currently ++ * called) in a variable-sized array, the code above can easily end up ++ * creating many default child values in order to return an array which ++ * is of the right length and type, but without containing non-normal ++ * data. This can happen if the offset table for the array is malformed. ++ * ++ * In this case, the code above would end up allocating the same default ++ * value for each one of the child indexes beyond the first malformed ++ * entry in the offset table. This can end up being a lot of identical ++ * allocations of default values, particularly if the non-normal array ++ * is crafted maliciously. ++ * ++ * Avoid that problem by returning a new reference to the same default ++ * value for every child after the first invalid one. This results in ++ * returning an equivalent array, in normal form and trusted — but with ++ * significantly fewer memory allocations. ++ * ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2540 */ ++ ++ g_variant_builder_init (&builder, g_variant_get_type (value)); ++ ++ for (i = 0, n_children = g_variant_n_children (value); i < n_children; i++) ++ { ++ /* Try maybe_get_child_value() first; if it returns NULL, this child ++ * is non-normal. get_child_value() would have constructed and ++ * returned a default value in that case. */ ++ GVariant *child = g_variant_maybe_get_child_value (value, i); ++ ++ if (child != NULL) ++ { ++ /* Non-normal children may not always be contiguous, as they may ++ * be non-normal for reasons other than invalid offset table ++ * entries. As they are all the same type, they will all have ++ * the same default value though, so keep that around. */ ++ g_variant_builder_add_value (&builder, g_variant_deep_copy (child)); ++ } ++ else if (child == NULL && first_invalid_child_deep_copy != NULL) ++ { ++ g_variant_builder_add_value (&builder, first_invalid_child_deep_copy); ++ } ++ else if (child == NULL) ++ { ++ child = g_variant_get_child_value (value, i); ++ first_invalid_child_deep_copy = g_variant_ref_sink (g_variant_deep_copy (child)); ++ g_variant_builder_add_value (&builder, first_invalid_child_deep_copy); ++ } ++ ++ g_clear_pointer (&child, g_variant_unref); ++ } ++ ++ g_clear_pointer (&first_invalid_child_deep_copy, g_variant_unref); ++ ++ return g_variant_builder_end (&builder); ++ } + + case G_VARIANT_CLASS_BOOLEAN: + return g_variant_new_boolean (g_variant_get_boolean (value)); diff --git a/debian/patches/gvariant-security-1-15.patch b/debian/patches/gvariant-security-1-15.patch new file mode 100644 index 0000000..a7990e9 --- /dev/null +++ b/debian/patches/gvariant-security-1-15.patch @@ -0,0 +1,21 @@ +From 935f1c200789c76ad5b51b1f403f611e3cc75318 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Tue, 25 Oct 2022 18:03:56 +0100 +Subject: [PATCH 15/18] gvariant: Fix a leak of a GVariantTypeInfo on an error + handling path + +Signed-off-by: Philip Withnall +--- + glib/gvariant-core.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/glib/gvariant-core.c ++++ b/glib/gvariant-core.c +@@ -1181,6 +1181,7 @@ g_variant_get_child_value (GVariant *val + G_VARIANT_MAX_RECURSION_DEPTH - value->depth) + { + g_assert (g_variant_is_of_type (value, G_VARIANT_TYPE_VARIANT)); ++ g_variant_type_info_unref (s_child.type_info); + return g_variant_new_tuple (NULL, 0); + } + diff --git a/debian/patches/gvariant-security-1-16.patch b/debian/patches/gvariant-security-1-16.patch new file mode 100644 index 0000000..a1ca393 --- /dev/null +++ b/debian/patches/gvariant-security-1-16.patch @@ -0,0 +1,280 @@ +From f1dfc5d0c5c0486b5fccb2ceddf1db1162c7033c Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 27 Oct 2022 12:00:04 +0100 +Subject: [PATCH 16/18] gvariant-serialiser: Check offset table entry size is + minimal + +The entries in an offset table (which is used for variable sized arrays +and tuples containing variable sized members) are sized so that they can +address every byte in the overall variant. + +The specification requires that for a variant to be in normal form, its +offset table entries must be the minimum width such that they can +address every byte in the variant. + +That minimality requirement was not checked in +`g_variant_is_normal_form()`, leading to two different byte arrays being +interpreted as the normal form of a given variant tree. That kind of +confusion could potentially be exploited, and is certainly a bug. + +Fix it by adding the necessary checks on offset table entry width, and +unit tests. + +Spotted by William Manley. + +Signed-off-by: Philip Withnall + +Fixes: #2794 +--- + glib/gvariant-serialiser.c | 19 +++- + glib/tests/gvariant.c | 176 +++++++++++++++++++++++++++++++++++++ + 2 files changed, 194 insertions(+), 1 deletion(-) + +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -694,6 +694,10 @@ gvs_variable_sized_array_get_frame_offse + out.data_size = last_end; + out.array = value.data + last_end; + out.length = offsets_array_size / out.offset_size; ++ ++ if (out.length > 0 && gvs_calculate_total_size (last_end, out.length) != value.size) ++ return out; /* offset size not minimal */ ++ + out.is_normal = TRUE; + + return out; +@@ -1201,6 +1205,7 @@ gvs_tuple_is_normal (GVariantSerialised + gsize length; + gsize offset; + gsize i; ++ gsize offset_table_size; + + /* as per the comment in gvs_tuple_get_child() */ + if G_UNLIKELY (value.data == NULL && value.size != 0) +@@ -1305,7 +1310,19 @@ gvs_tuple_is_normal (GVariantSerialised + } + } + +- return offset_ptr == offset; ++ /* @offset_ptr has been counting backwards from the end of the variant, to ++ * find the beginning of the offset table. @offset has been counting forwards ++ * from the beginning of the variant to find the end of the data. They should ++ * have met in the middle. */ ++ if (offset_ptr != offset) ++ return FALSE; ++ ++ offset_table_size = value.size - offset_ptr; ++ if (value.size > 0 && ++ gvs_calculate_total_size (offset, offset_table_size / offset_size) != value.size) ++ return FALSE; /* offset size not minimal */ ++ ++ return TRUE; + } + + /* Variants {{{2 +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -5122,6 +5122,86 @@ test_normal_checking_array_offsets2 (voi + g_variant_unref (variant); + } + ++/* Test that an otherwise-valid serialised GVariant is considered non-normal if ++ * its offset table entries are too wide. ++ * ++ * See §2.3.6 (Framing Offsets) of the GVariant specification. */ ++static void ++test_normal_checking_array_offsets_minimal_sized (void) ++{ ++ GVariantBuilder builder; ++ gsize i; ++ GVariant *aay_constructed = NULL; ++ const guint8 *data = NULL; ++ guint8 *data_owned = NULL; ++ GVariant *aay_deserialised = NULL; ++ GVariant *aay_normalised = NULL; ++ ++ /* Construct an array of type aay, consisting of 128 elements which are each ++ * an empty array, i.e. `[[] * 128]`. This is chosen because the inner ++ * elements are variable sized (making the outer array variable sized, so it ++ * must have an offset table), but they are also zero-sized when serialised. ++ * So the serialised representation of @aay_constructed consists entirely of ++ * its offset table, which is entirely zeroes. ++ * ++ * The array is chosen to be 128 elements long because that means offset ++ * table entries which are 1 byte long. If the elements in the array were ++ * non-zero-sized (to the extent that the overall array is ≥256 bytes long), ++ * the offset table entries would end up being 2 bytes long. */ ++ g_variant_builder_init (&builder, G_VARIANT_TYPE ("aay")); ++ ++ for (i = 0; i < 128; i++) ++ g_variant_builder_add_value (&builder, g_variant_new_array (G_VARIANT_TYPE_BYTE, NULL, 0)); ++ ++ aay_constructed = g_variant_builder_end (&builder); ++ ++ /* Verify that the constructed array is in normal form, and its serialised ++ * form is `b'\0' * 128`. */ ++ g_assert_true (g_variant_is_normal_form (aay_constructed)); ++ g_assert_cmpuint (g_variant_n_children (aay_constructed), ==, 128); ++ g_assert_cmpuint (g_variant_get_size (aay_constructed), ==, 128); ++ ++ data = g_variant_get_data (aay_constructed); ++ for (i = 0; i < g_variant_get_size (aay_constructed); i++) ++ g_assert_cmpuint (data[i], ==, 0); ++ ++ /* Construct a serialised `aay` GVariant which is `b'\0' * 256`. This has to ++ * be a non-normal form of `[[] * 128]`, with 2-byte-long offset table ++ * entries, because each offset table entry has to be able to reference all of ++ * the byte boundaries in the container. All the entries in the offset table ++ * are zero, so all the elements of the array are zero-sized. */ ++ data = data_owned = g_malloc0 (256); ++ aay_deserialised = g_variant_new_from_data (G_VARIANT_TYPE ("aay"), ++ data, ++ 256, ++ FALSE, ++ g_free, ++ g_steal_pointer (&data_owned)); ++ ++ g_assert_false (g_variant_is_normal_form (aay_deserialised)); ++ g_assert_cmpuint (g_variant_n_children (aay_deserialised), ==, 128); ++ g_assert_cmpuint (g_variant_get_size (aay_deserialised), ==, 256); ++ ++ data = g_variant_get_data (aay_deserialised); ++ for (i = 0; i < g_variant_get_size (aay_deserialised); i++) ++ g_assert_cmpuint (data[i], ==, 0); ++ ++ /* Get its normal form. That should change the serialised size. */ ++ aay_normalised = g_variant_get_normal_form (aay_deserialised); ++ ++ g_assert_true (g_variant_is_normal_form (aay_normalised)); ++ g_assert_cmpuint (g_variant_n_children (aay_normalised), ==, 128); ++ g_assert_cmpuint (g_variant_get_size (aay_normalised), ==, 128); ++ ++ data = g_variant_get_data (aay_normalised); ++ for (i = 0; i < g_variant_get_size (aay_normalised); i++) ++ g_assert_cmpuint (data[i], ==, 0); ++ ++ g_variant_unref (aay_normalised); ++ g_variant_unref (aay_deserialised); ++ g_variant_unref (aay_constructed); ++} ++ + /* Test that a tuple with invalidly large values in its offset table is + * normalised successfully without looping infinitely. */ + static void +@@ -5316,6 +5396,98 @@ test_normal_checking_tuple_offsets4 (voi + g_variant_unref (variant); + } + ++/* Test that an otherwise-valid serialised GVariant is considered non-normal if ++ * its offset table entries are too wide. ++ * ++ * See §2.3.6 (Framing Offsets) of the GVariant specification. */ ++static void ++test_normal_checking_tuple_offsets_minimal_sized (void) ++{ ++ GString *type_string = NULL; ++ GVariantBuilder builder; ++ gsize i; ++ GVariant *ray_constructed = NULL; ++ const guint8 *data = NULL; ++ guint8 *data_owned = NULL; ++ GVariant *ray_deserialised = NULL; ++ GVariant *ray_normalised = NULL; ++ ++ /* Construct a tuple of type (ay…ay), consisting of 129 members which are each ++ * an empty array, i.e. `([] * 129)`. This is chosen because the inner ++ * members are variable sized, so the outer tuple must have an offset table, ++ * but they are also zero-sized when serialised. So the serialised ++ * representation of @ray_constructed consists entirely of its offset table, ++ * which is entirely zeroes. ++ * ++ * The tuple is chosen to be 129 members long because that means it has 128 ++ * offset table entries which are 1 byte long each. If the members in the ++ * tuple were non-zero-sized (to the extent that the overall tuple is ≥256 ++ * bytes long), the offset table entries would end up being 2 bytes long. ++ * ++ * 129 members are used unlike 128 array elements in ++ * test_normal_checking_array_offsets_minimal_sized(), because the last member ++ * in a tuple never needs an offset table entry. */ ++ type_string = g_string_new (""); ++ g_string_append_c (type_string, '('); ++ for (i = 0; i < 129; i++) ++ g_string_append (type_string, "ay"); ++ g_string_append_c (type_string, ')'); ++ ++ g_variant_builder_init (&builder, G_VARIANT_TYPE (type_string->str)); ++ ++ for (i = 0; i < 129; i++) ++ g_variant_builder_add_value (&builder, g_variant_new_array (G_VARIANT_TYPE_BYTE, NULL, 0)); ++ ++ ray_constructed = g_variant_builder_end (&builder); ++ ++ /* Verify that the constructed tuple is in normal form, and its serialised ++ * form is `b'\0' * 128`. */ ++ g_assert_true (g_variant_is_normal_form (ray_constructed)); ++ g_assert_cmpuint (g_variant_n_children (ray_constructed), ==, 129); ++ g_assert_cmpuint (g_variant_get_size (ray_constructed), ==, 128); ++ ++ data = g_variant_get_data (ray_constructed); ++ for (i = 0; i < g_variant_get_size (ray_constructed); i++) ++ g_assert_cmpuint (data[i], ==, 0); ++ ++ /* Construct a serialised `(ay…ay)` GVariant which is `b'\0' * 256`. This has ++ * to be a non-normal form of `([] * 129)`, with 2-byte-long offset table ++ * entries, because each offset table entry has to be able to reference all of ++ * the byte boundaries in the container. All the entries in the offset table ++ * are zero, so all the members of the tuple are zero-sized. */ ++ data = data_owned = g_malloc0 (256); ++ ray_deserialised = g_variant_new_from_data (G_VARIANT_TYPE (type_string->str), ++ data, ++ 256, ++ FALSE, ++ g_free, ++ g_steal_pointer (&data_owned)); ++ ++ g_assert_false (g_variant_is_normal_form (ray_deserialised)); ++ g_assert_cmpuint (g_variant_n_children (ray_deserialised), ==, 129); ++ g_assert_cmpuint (g_variant_get_size (ray_deserialised), ==, 256); ++ ++ data = g_variant_get_data (ray_deserialised); ++ for (i = 0; i < g_variant_get_size (ray_deserialised); i++) ++ g_assert_cmpuint (data[i], ==, 0); ++ ++ /* Get its normal form. That should change the serialised size. */ ++ ray_normalised = g_variant_get_normal_form (ray_deserialised); ++ ++ g_assert_true (g_variant_is_normal_form (ray_normalised)); ++ g_assert_cmpuint (g_variant_n_children (ray_normalised), ==, 129); ++ g_assert_cmpuint (g_variant_get_size (ray_normalised), ==, 128); ++ ++ data = g_variant_get_data (ray_normalised); ++ for (i = 0; i < g_variant_get_size (ray_normalised); i++) ++ g_assert_cmpuint (data[i], ==, 0); ++ ++ g_variant_unref (ray_normalised); ++ g_variant_unref (ray_deserialised); ++ g_variant_unref (ray_constructed); ++ g_string_free (type_string, TRUE); ++} ++ + /* Test that an empty object path is normalised successfully to the base object + * path, ‘/’. */ + static void +@@ -5462,6 +5634,8 @@ main (int argc, char **argv) + test_normal_checking_array_offsets); + g_test_add_func ("/gvariant/normal-checking/array-offsets2", + test_normal_checking_array_offsets2); ++ g_test_add_func ("/gvariant/normal-checking/array-offsets/minimal-sized", ++ test_normal_checking_array_offsets_minimal_sized); + g_test_add_func ("/gvariant/normal-checking/tuple-offsets", + test_normal_checking_tuple_offsets); + g_test_add_func ("/gvariant/normal-checking/tuple-offsets2", +@@ -5470,6 +5644,8 @@ main (int argc, char **argv) + test_normal_checking_tuple_offsets3); + g_test_add_func ("/gvariant/normal-checking/tuple-offsets4", + test_normal_checking_tuple_offsets4); ++ g_test_add_func ("/gvariant/normal-checking/tuple-offsets/minimal-sized", ++ test_normal_checking_tuple_offsets_minimal_sized); + g_test_add_func ("/gvariant/normal-checking/empty-object-path", + test_normal_checking_empty_object_path); + diff --git a/debian/patches/gvariant-security-1-17.patch b/debian/patches/gvariant-security-1-17.patch new file mode 100644 index 0000000..9f16500 --- /dev/null +++ b/debian/patches/gvariant-security-1-17.patch @@ -0,0 +1,89 @@ +From 781f05a22ef11d8a2177b4e9078978decec36dd0 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 27 Oct 2022 16:13:54 +0100 +Subject: [PATCH 17/18] gvariant: Fix g_variant_byteswap() returning non-normal + data sometimes +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If `g_variant_byteswap()` was called on a non-normal variant of a type +which doesn’t need byteswapping, it would return a non-normal output. + +That contradicts the documentation, which says that the return value is +always in normal form. + +Fix the code so it matches the documentation. + +Includes a unit test. + +Signed-off-by: Philip Withnall + +Helps: #2797 +--- + glib/gvariant.c | 8 +++++--- + glib/tests/gvariant.c | 24 ++++++++++++++++++++++++ + 2 files changed, 29 insertions(+), 3 deletions(-) + +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -6070,14 +6070,16 @@ g_variant_byteswap (GVariant *value) + g_variant_serialised_byteswap (serialised); + + bytes = g_bytes_new_take (serialised.data, serialised.size); +- new = g_variant_new_from_bytes (g_variant_get_type (value), bytes, TRUE); ++ new = g_variant_ref_sink (g_variant_new_from_bytes (g_variant_get_type (value), bytes, TRUE)); + g_bytes_unref (bytes); + } + else + /* contains no multi-byte data */ +- new = value; ++ new = g_variant_get_normal_form (value); + +- return g_variant_ref_sink (new); ++ g_assert (g_variant_is_trusted (new)); ++ ++ return g_steal_pointer (&new); + } + + /** +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -3833,6 +3833,29 @@ test_gv_byteswap (void) + } + + static void ++test_gv_byteswap_non_normal_non_aligned (void) ++{ ++ const guint8 data[] = { 0x02 }; ++ GVariant *v = NULL; ++ GVariant *v_byteswapped = NULL; ++ ++ g_test_summary ("Test that calling g_variant_byteswap() on a variant which " ++ "is in non-normal form and doesn’t need byteswapping returns " ++ "the same variant in normal form."); ++ ++ v = g_variant_new_from_data (G_VARIANT_TYPE_BOOLEAN, data, sizeof (data), FALSE, NULL, NULL); ++ g_assert_false (g_variant_is_normal_form (v)); ++ ++ v_byteswapped = g_variant_byteswap (v); ++ g_assert_true (g_variant_is_normal_form (v_byteswapped)); ++ ++ g_assert_cmpvariant (v, v_byteswapped); ++ ++ g_variant_unref (v); ++ g_variant_unref (v_byteswapped); ++} ++ ++static void + test_parser (void) + { + TreeInstance *tree; +@@ -5599,6 +5622,7 @@ main (int argc, char **argv) + g_test_add_func ("/gvariant/builder-memory", test_builder_memory); + g_test_add_func ("/gvariant/hashing", test_hashing); + g_test_add_func ("/gvariant/byteswap", test_gv_byteswap); ++ g_test_add_func ("/gvariant/byteswap/non-normal-non-aligned", test_gv_byteswap_non_normal_non_aligned); + g_test_add_func ("/gvariant/parser", test_parses); + g_test_add_func ("/gvariant/parser/integer-bounds", test_parser_integer_bounds); + g_test_add_func ("/gvariant/parser/recursion", test_parser_recursion); diff --git a/debian/patches/gvariant-security-1-18.patch b/debian/patches/gvariant-security-1-18.patch new file mode 100644 index 0000000..f633cb2 --- /dev/null +++ b/debian/patches/gvariant-security-1-18.patch @@ -0,0 +1,290 @@ +From 7d7efce1d9c379fdd7d2ff58caea88f8806fdd2e Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 27 Oct 2022 22:53:13 +0100 +Subject: [PATCH 18/18] gvariant: Allow g_variant_byteswap() to operate on + tree-form variants +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This avoids needing to always serialise a variant before byteswapping it. +With variants in non-normal forms, serialisation can result in a large +increase in size of the variant, and a lot of allocations for leaf +`GVariant`s. This can lead to a denial of service attack. + +Avoid that by changing byteswapping so that it happens on the tree form +of the variant if the input is in non-normal form. If the input is in +normal form (either serialised or in tree form), continue using the +existing code as byteswapping an already-serialised normal variant is +about 3× faster than byteswapping on the equivalent tree form. + +The existing unit tests cover byteswapping well, but need some +adaptation so that they operate on tree form variants too. + +I considered dropping the serialised byteswapping code and doing all +byteswapping on tree-form variants, as that would make maintenance +simpler (avoiding having two parallel implementations of byteswapping). +However, most inputs to `g_variant_byteswap()` are likely to be +serialised variants (coming from a byte array of input from some foreign +source) and most of them are going to be in normal form (as corruption +and malicious action are rare). So getting rid of the serialised +byteswapping code would impose quite a performance penalty on the common +case. + +Signed-off-by: Philip Withnall + +Fixes: #2797 +--- + glib/gvariant.c | 87 ++++++++++++++++++++++++++++++++----------- + glib/tests/gvariant.c | 57 ++++++++++++++++++++++++---- + 2 files changed, 115 insertions(+), 29 deletions(-) + +--- a/glib/gvariant.c ++++ b/glib/gvariant.c +@@ -5839,7 +5839,8 @@ g_variant_iter_loop (GVariantIter *iter, + + /* Serialized data {{{1 */ + static GVariant * +-g_variant_deep_copy (GVariant *value) ++g_variant_deep_copy (GVariant *value, ++ gboolean byteswap) + { + switch (g_variant_classify (value)) + { +@@ -5856,7 +5857,7 @@ g_variant_deep_copy (GVariant *value) + for (i = 0, n_children = g_variant_n_children (value); i < n_children; i++) + { + GVariant *child = g_variant_get_child_value (value, i); +- g_variant_builder_add_value (&builder, g_variant_deep_copy (child)); ++ g_variant_builder_add_value (&builder, g_variant_deep_copy (child, byteswap)); + g_variant_unref (child); + } + +@@ -5907,7 +5908,7 @@ g_variant_deep_copy (GVariant *value) + * be non-normal for reasons other than invalid offset table + * entries. As they are all the same type, they will all have + * the same default value though, so keep that around. */ +- g_variant_builder_add_value (&builder, g_variant_deep_copy (child)); ++ g_variant_builder_add_value (&builder, g_variant_deep_copy (child, byteswap)); + } + else if (child == NULL && first_invalid_child_deep_copy != NULL) + { +@@ -5916,7 +5917,7 @@ g_variant_deep_copy (GVariant *value) + else if (child == NULL) + { + child = g_variant_get_child_value (value, i); +- first_invalid_child_deep_copy = g_variant_ref_sink (g_variant_deep_copy (child)); ++ first_invalid_child_deep_copy = g_variant_ref_sink (g_variant_deep_copy (child, byteswap)); + g_variant_builder_add_value (&builder, first_invalid_child_deep_copy); + } + +@@ -5935,28 +5936,63 @@ g_variant_deep_copy (GVariant *value) + return g_variant_new_byte (g_variant_get_byte (value)); + + case G_VARIANT_CLASS_INT16: +- return g_variant_new_int16 (g_variant_get_int16 (value)); ++ if (byteswap) ++ return g_variant_new_int16 (GUINT16_SWAP_LE_BE (g_variant_get_int16 (value))); ++ else ++ return g_variant_new_int16 (g_variant_get_int16 (value)); + + case G_VARIANT_CLASS_UINT16: +- return g_variant_new_uint16 (g_variant_get_uint16 (value)); ++ if (byteswap) ++ return g_variant_new_uint16 (GUINT16_SWAP_LE_BE (g_variant_get_uint16 (value))); ++ else ++ return g_variant_new_uint16 (g_variant_get_uint16 (value)); + + case G_VARIANT_CLASS_INT32: +- return g_variant_new_int32 (g_variant_get_int32 (value)); ++ if (byteswap) ++ return g_variant_new_int32 (GUINT32_SWAP_LE_BE (g_variant_get_int32 (value))); ++ else ++ return g_variant_new_int32 (g_variant_get_int32 (value)); + + case G_VARIANT_CLASS_UINT32: +- return g_variant_new_uint32 (g_variant_get_uint32 (value)); ++ if (byteswap) ++ return g_variant_new_uint32 (GUINT32_SWAP_LE_BE (g_variant_get_uint32 (value))); ++ else ++ return g_variant_new_uint32 (g_variant_get_uint32 (value)); + + case G_VARIANT_CLASS_INT64: +- return g_variant_new_int64 (g_variant_get_int64 (value)); ++ if (byteswap) ++ return g_variant_new_int64 (GUINT64_SWAP_LE_BE (g_variant_get_int64 (value))); ++ else ++ return g_variant_new_int64 (g_variant_get_int64 (value)); + + case G_VARIANT_CLASS_UINT64: +- return g_variant_new_uint64 (g_variant_get_uint64 (value)); ++ if (byteswap) ++ return g_variant_new_uint64 (GUINT64_SWAP_LE_BE (g_variant_get_uint64 (value))); ++ else ++ return g_variant_new_uint64 (g_variant_get_uint64 (value)); + + case G_VARIANT_CLASS_HANDLE: +- return g_variant_new_handle (g_variant_get_handle (value)); ++ if (byteswap) ++ return g_variant_new_handle (GUINT32_SWAP_LE_BE (g_variant_get_handle (value))); ++ else ++ return g_variant_new_handle (g_variant_get_handle (value)); + + case G_VARIANT_CLASS_DOUBLE: +- return g_variant_new_double (g_variant_get_double (value)); ++ if (byteswap) ++ { ++ /* We have to convert the double to a uint64 here using a union, ++ * because a cast will round it numerically. */ ++ union ++ { ++ guint64 u64; ++ gdouble dbl; ++ } u1, u2; ++ u1.dbl = g_variant_get_double (value); ++ u2.u64 = GUINT64_SWAP_LE_BE (u1.u64); ++ return g_variant_new_double (u2.dbl); ++ } ++ else ++ return g_variant_new_double (g_variant_get_double (value)); + + case G_VARIANT_CLASS_STRING: + return g_variant_new_string (g_variant_get_string (value, NULL)); +@@ -6013,7 +6049,7 @@ g_variant_get_normal_form (GVariant *val + if (g_variant_is_normal_form (value)) + return g_variant_ref (value); + +- trusted = g_variant_deep_copy (value); ++ trusted = g_variant_deep_copy (value, FALSE); + g_assert (g_variant_is_trusted (trusted)); + + return g_variant_ref_sink (trusted); +@@ -6033,6 +6069,11 @@ g_variant_get_normal_form (GVariant *val + * contain multi-byte numeric data. That include strings, booleans, + * bytes and containers containing only these things (recursively). + * ++ * While this function can safely handle untrusted, non-normal data, it is ++ * recommended to check whether the input is in normal form beforehand, using ++ * g_variant_is_normal_form(), and to reject non-normal inputs if your ++ * application can be strict about what inputs it rejects. ++ * + * The returned value is always in normal form and is marked as trusted. + * + * Returns: (transfer full): the byteswapped form of @value +@@ -6050,22 +6091,21 @@ g_variant_byteswap (GVariant *value) + + g_variant_type_info_query (type_info, &alignment, NULL); + +- if (alignment) +- /* (potentially) contains multi-byte numeric data */ ++ if (alignment && g_variant_is_normal_form (value)) + { ++ /* (potentially) contains multi-byte numeric data, but is also already in ++ * normal form so we can use a faster byteswapping codepath on the ++ * serialised data */ + GVariantSerialised serialised = { 0, }; +- GVariant *trusted; + GBytes *bytes; + +- trusted = g_variant_get_normal_form (value); +- serialised.type_info = g_variant_get_type_info (trusted); +- serialised.size = g_variant_get_size (trusted); ++ serialised.type_info = g_variant_get_type_info (value); ++ serialised.size = g_variant_get_size (value); + serialised.data = g_malloc (serialised.size); +- serialised.depth = g_variant_get_depth (trusted); ++ serialised.depth = g_variant_get_depth (value); + serialised.ordered_offsets_up_to = G_MAXSIZE; /* operating on the normal form */ + serialised.checked_offsets_up_to = G_MAXSIZE; +- g_variant_store (trusted, serialised.data); +- g_variant_unref (trusted); ++ g_variant_store (value, serialised.data); + + g_variant_serialised_byteswap (serialised); + +@@ -6073,6 +6113,9 @@ g_variant_byteswap (GVariant *value) + new = g_variant_ref_sink (g_variant_new_from_bytes (g_variant_get_type (value), bytes, TRUE)); + g_bytes_unref (bytes); + } ++ else if (alignment) ++ /* (potentially) contains multi-byte numeric data */ ++ new = g_variant_ref_sink (g_variant_deep_copy (value, TRUE)); + else + /* contains no multi-byte data */ + new = g_variant_get_normal_form (value); +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -2286,24 +2286,67 @@ serialise_tree (TreeInstance *tree + static void + test_byteswap (void) + { +- GVariantSerialised one = { 0, }, two = { 0, }; ++ GVariantSerialised one = { 0, }, two = { 0, }, three = { 0, }; + TreeInstance *tree; ++ GVariant *one_variant = NULL; ++ GVariant *two_variant = NULL; ++ GVariant *two_byteswapped = NULL; ++ GVariant *three_variant = NULL; ++ GVariant *three_byteswapped = NULL; ++ guint8 *three_data_copy = NULL; ++ gsize three_size_copy = 0; + ++ /* Write a tree out twice, once normally and once byteswapped. */ + tree = tree_instance_new (NULL, 3); + serialise_tree (tree, &one); + ++ one_variant = g_variant_new_from_data (G_VARIANT_TYPE (g_variant_type_info_get_type_string (one.type_info)), ++ one.data, one.size, FALSE, NULL, NULL); ++ + i_am_writing_byteswapped = TRUE; + serialise_tree (tree, &two); ++ serialise_tree (tree, &three); + i_am_writing_byteswapped = FALSE; + +- g_variant_serialised_byteswap (two); +- +- g_assert_cmpmem (one.data, one.size, two.data, two.size); +- g_assert_cmpuint (one.depth, ==, two.depth); +- ++ /* Swap the first byteswapped one back using the function we want to test. */ ++ two_variant = g_variant_new_from_data (G_VARIANT_TYPE (g_variant_type_info_get_type_string (two.type_info)), ++ two.data, two.size, FALSE, NULL, NULL); ++ two_byteswapped = g_variant_byteswap (two_variant); ++ ++ /* Make the second byteswapped one non-normal (hopefully), and then byteswap ++ * it back using the function we want to test in its non-normal mode. ++ * This might not work because it’s not necessarily possible to make an ++ * arbitrary random variant non-normal. Adding a single zero byte to the end ++ * often makes something non-normal but still readable. */ ++ three_size_copy = three.size + 1; ++ three_data_copy = g_malloc (three_size_copy); ++ memcpy (three_data_copy, three.data, three.size); ++ three_data_copy[three.size] = '\0'; ++ ++ three_variant = g_variant_new_from_data (G_VARIANT_TYPE (g_variant_type_info_get_type_string (three.type_info)), ++ three_data_copy, three_size_copy, FALSE, NULL, NULL); ++ three_byteswapped = g_variant_byteswap (three_variant); ++ ++ /* Check they’re the same. We can always compare @one_variant and ++ * @two_byteswapped. We can only compare @two_byteswapped and ++ * @three_byteswapped if @two_variant and @three_variant are equal: in that ++ * case, the corruption to @three_variant was enough to make it non-normal but ++ * not enough to change its value. */ ++ g_assert_cmpvariant (one_variant, two_byteswapped); ++ ++ if (g_variant_equal (two_variant, three_variant)) ++ g_assert_cmpvariant (two_byteswapped, three_byteswapped); ++ ++ g_variant_unref (three_byteswapped); ++ g_variant_unref (three_variant); ++ g_variant_unref (two_byteswapped); ++ g_variant_unref (two_variant); ++ g_variant_unref (one_variant); + tree_instance_free (tree); + g_free (one.data); + g_free (two.data); ++ g_free (three.data); ++ g_free (three_data_copy); + } + + static void diff --git a/debian/patches/gvariant-security-2-1.patch b/debian/patches/gvariant-security-2-1.patch new file mode 100644 index 0000000..9241a3a --- /dev/null +++ b/debian/patches/gvariant-security-2-1.patch @@ -0,0 +1,146 @@ +From bf008669f26f70426ca30ee8cdcbd48e41a74718 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 15 Dec 2022 13:00:39 +0000 +Subject: [PATCH 1/2] =?UTF-8?q?gvariant:=20Check=20offset=20table=20doesn?= + =?UTF-8?q?=E2=80=99t=20fall=20outside=20variant=20bounds?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When dereferencing the first entry in the offset table for a tuple, +check that it doesn’t fall outside the bounds of the variant first. + +This prevents an out-of-bounds read from some non-normal tuples. + +This bug was introduced in commit 73d0aa81c2575a5c9ae77d. + +Includes a unit test, although the test will likely only catch the +original bug if run with asan enabled. + +Signed-off-by: Philip Withnall + +Fixes: #2840 +oss-fuzz#54302 +--- + glib/gvariant-serialiser.c | 12 ++++++-- + glib/tests/gvariant.c | 63 ++++++++++++++++++++++++++++++++++++++ + 2 files changed, 72 insertions(+), 3 deletions(-) + +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -979,7 +979,8 @@ gvs_tuple_get_member_bounds (GVariantSer + + member_info = g_variant_type_info_member_info (value.type_info, index_); + +- if (member_info->i + 1) ++ if (member_info->i + 1 && ++ offset_size * (member_info->i + 1) <= value.size) + member_start = gvs_read_unaligned_le (value.data + value.size - + offset_size * (member_info->i + 1), + offset_size); +@@ -990,7 +991,8 @@ gvs_tuple_get_member_bounds (GVariantSer + member_start &= member_info->b; + member_start |= member_info->c; + +- if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_LAST) ++ if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_LAST && ++ offset_size * (member_info->i + 1) <= value.size) + member_end = value.size - offset_size * (member_info->i + 1); + + else if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_FIXED) +@@ -1001,11 +1003,15 @@ gvs_tuple_get_member_bounds (GVariantSer + member_end = member_start + fixed_size; + } + +- else /* G_VARIANT_MEMBER_ENDING_OFFSET */ ++ else if (member_info->ending_type == G_VARIANT_MEMBER_ENDING_OFFSET && ++ offset_size * (member_info->i + 2) <= value.size) + member_end = gvs_read_unaligned_le (value.data + value.size - + offset_size * (member_info->i + 2), + offset_size); + ++ else /* invalid */ ++ member_end = G_MAXSIZE; ++ + if (out_member_start != NULL) + *out_member_start = member_start; + if (out_member_end != NULL) +--- a/glib/tests/gvariant.c ++++ b/glib/tests/gvariant.c +@@ -5462,6 +5462,67 @@ test_normal_checking_tuple_offsets4 (voi + g_variant_unref (variant); + } + ++/* This is a regression test that dereferencing the first element in the offset ++ * table doesn’t dereference memory before the start of the GVariant. The first ++ * element in the offset table gives the offset of the final member in the ++ * tuple (the offset table is stored in reverse), and the position of this final ++ * member is needed to check that none of the tuple members overlap with the ++ * offset table ++ * ++ * See https://gitlab.gnome.org/GNOME/glib/-/issues/2840 */ ++static void ++test_normal_checking_tuple_offsets5 (void) ++{ ++ /* A tuple of type (sss) in normal form would have an offset table with two ++ * entries: ++ * - The first entry (lowest index in the table) gives the offset of the ++ * third `s` in the tuple, as the offset table is reversed compared to the ++ * tuple members. ++ * - The second entry (highest index in the table) gives the offset of the ++ * second `s` in the tuple. ++ * - The offset of the first `s` in the tuple is always 0. ++ * ++ * See §2.5.4 (Structures) of the GVariant specification for details, noting ++ * that the table is only layed out this way because all three members of the ++ * tuple have non-fixed sizes. ++ * ++ * It’s not clear whether the 0xaa data of this variant is part of the strings ++ * in the tuple, or part of the offset table. It doesn’t really matter. This ++ * is a regression test to check that the code to validate the offset table ++ * doesn’t unconditionally try to access the first entry in the offset table ++ * by subtracting the table size from the end of the GVariant data. ++ * ++ * In this non-normal case, that would result in an address off the start of ++ * the GVariant data, and an out-of-bounds read, because the GVariant is one ++ * byte long, but the offset table is calculated as two bytes long (with 1B ++ * sized entries) from the tuple’s type. ++ */ ++ const GVariantType *data_type = G_VARIANT_TYPE ("(sss)"); ++ const guint8 data[] = { 0xaa }; ++ gsize size = sizeof (data); ++ GVariant *variant = NULL; ++ GVariant *normal_variant = NULL; ++ GVariant *expected = NULL; ++ ++ g_test_bug ("https://gitlab.gnome.org/GNOME/glib/-/issues/2840"); ++ ++ variant = g_variant_new_from_data (data_type, data, size, FALSE, NULL, NULL); ++ g_assert_nonnull (variant); ++ ++ g_assert_false (g_variant_is_normal_form (variant)); ++ ++ normal_variant = g_variant_get_normal_form (variant); ++ g_assert_nonnull (normal_variant); ++ ++ expected = g_variant_new_parsed ("('', '', '')"); ++ g_assert_cmpvariant (expected, variant); ++ g_assert_cmpvariant (expected, normal_variant); ++ ++ g_variant_unref (expected); ++ g_variant_unref (normal_variant); ++ g_variant_unref (variant); ++} ++ + /* Test that an otherwise-valid serialised GVariant is considered non-normal if + * its offset table entries are too wide. + * +@@ -5711,6 +5772,8 @@ main (int argc, char **argv) + test_normal_checking_tuple_offsets3); + g_test_add_func ("/gvariant/normal-checking/tuple-offsets4", + test_normal_checking_tuple_offsets4); ++ g_test_add_func ("/gvariant/normal-checking/tuple-offsets5", ++ test_normal_checking_tuple_offsets5); + g_test_add_func ("/gvariant/normal-checking/tuple-offsets/minimal-sized", + test_normal_checking_tuple_offsets_minimal_sized); + g_test_add_func ("/gvariant/normal-checking/empty-object-path", diff --git a/debian/patches/gvariant-security-2-2.patch b/debian/patches/gvariant-security-2-2.patch new file mode 100644 index 0000000..f15e29a --- /dev/null +++ b/debian/patches/gvariant-security-2-2.patch @@ -0,0 +1,40 @@ +From 4d0bed8c4690f7a2692474ef6a570bd99ef45ef1 Mon Sep 17 00:00:00 2001 +From: Philip Withnall +Date: Thu, 15 Dec 2022 16:49:28 +0000 +Subject: [PATCH 2/2] gvariant: Propagate trust when getting a child of a + serialised variant + +If a variant is trusted, that means all its children are trusted, so +ensure that their checked offsets are set as such. + +This allows a lot of the offset table checks to be avoided when getting +children from trusted serialised tuples, which speeds things up. + +No unit test is included because this is just a performance fix. If +there are other slownesses, or regressions, in serialised `GVariant` +performance, the fuzzing setup will catch them like it did this one. + +This change does reduce the time to run the oss-fuzz reproducer from 80s +to about 0.7s on my machine. + +Signed-off-by: Philip Withnall + +Fixes: #2841 +oss-fuzz#54314 +--- + glib/gvariant-core.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/glib/gvariant-core.c ++++ b/glib/gvariant-core.c +@@ -1196,8 +1196,8 @@ g_variant_get_child_value (GVariant *val + child->contents.serialised.bytes = + g_bytes_ref (value->contents.serialised.bytes); + child->contents.serialised.data = s_child.data; +- child->contents.serialised.ordered_offsets_up_to = s_child.ordered_offsets_up_to; +- child->contents.serialised.checked_offsets_up_to = s_child.checked_offsets_up_to; ++ child->contents.serialised.ordered_offsets_up_to = (value->state & STATE_TRUSTED) ? G_MAXSIZE : s_child.ordered_offsets_up_to; ++ child->contents.serialised.checked_offsets_up_to = (value->state & STATE_TRUSTED) ? G_MAXSIZE : s_child.checked_offsets_up_to; + + return child; + } diff --git a/debian/patches/gvariant-security-3-1.patch b/debian/patches/gvariant-security-3-1.patch new file mode 100644 index 0000000..3938bdf --- /dev/null +++ b/debian/patches/gvariant-security-3-1.patch @@ -0,0 +1,60 @@ +From dc16dffed0480d0c8cdd6a05ede68263fc8723a9 Mon Sep 17 00:00:00 2001 +From: Simon McVittie +Date: Thu, 15 Dec 2022 12:51:37 +0000 +Subject: [PATCH] gvariant-serialiser: Convert endianness of offsets +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The array of offsets is little-endian, even on big-endian architectures +like s390x. + +Fixes: ade71fb5 "gvariant: Don’t allow child elements to overlap with each other" +Resolves: https://gitlab.gnome.org/GNOME/glib/-/issues/2839 +Signed-off-by: Simon McVittie +--- + glib/gvariant-serialiser.c | 19 +++++++++++-------- + 1 file changed, 11 insertions(+), 8 deletions(-) + +--- a/glib/gvariant-serialiser.c ++++ b/glib/gvariant-serialiser.c +@@ -712,17 +712,19 @@ gvs_variable_sized_array_n_children (GVa + /* Find the index of the first out-of-order element in @data, assuming that + * @data is an array of elements of given @type, starting at index @start and + * containing a further @len-@start elements. */ +-#define DEFINE_FIND_UNORDERED(type) \ ++#define DEFINE_FIND_UNORDERED(type, le_to_native) \ + static gsize \ + find_unordered_##type (const guint8 *data, gsize start, gsize len) \ + { \ + gsize off; \ +- type current, previous; \ ++ type current_le, previous_le, current, previous; \ + \ +- memcpy (&previous, data + start * sizeof (current), sizeof (current)); \ ++ memcpy (&previous_le, data + start * sizeof (current), sizeof (current)); \ ++ previous = le_to_native (previous_le); \ + for (off = (start + 1) * sizeof (current); off < len * sizeof (current); off += sizeof (current)) \ + { \ +- memcpy (¤t, data + off, sizeof (current)); \ ++ memcpy (¤t_le, data + off, sizeof (current)); \ ++ current = le_to_native (current_le); \ + if (current < previous) \ + break; \ + previous = current; \ +@@ -730,10 +732,11 @@ gvs_variable_sized_array_n_children (GVa + return off / sizeof (current) - 1; \ + } + +-DEFINE_FIND_UNORDERED (guint8); +-DEFINE_FIND_UNORDERED (guint16); +-DEFINE_FIND_UNORDERED (guint32); +-DEFINE_FIND_UNORDERED (guint64); ++#define NO_CONVERSION(x) (x) ++DEFINE_FIND_UNORDERED (guint8, NO_CONVERSION); ++DEFINE_FIND_UNORDERED (guint16, GUINT16_FROM_LE); ++DEFINE_FIND_UNORDERED (guint32, GUINT32_FROM_LE); ++DEFINE_FIND_UNORDERED (guint64, GUINT64_FROM_LE); + + static GVariantSerialised + gvs_variable_sized_array_get_child (GVariantSerialised value, diff --git a/debian/patches/gwakeuptest-Be-less-parallel-unless-invoked-with-m-slow.patch b/debian/patches/gwakeuptest-Be-less-parallel-unless-invoked-with-m-slow.patch new file mode 100644 index 0000000..a05951d --- /dev/null +++ b/debian/patches/gwakeuptest-Be-less-parallel-unless-invoked-with-m-slow.patch @@ -0,0 +1,80 @@ +From: Simon McVittie +Date: Mon, 18 Dec 2017 18:06:05 +0000 +Subject: gwakeuptest: Be less parallel unless invoked with -m slow + +This is a workaround for test failures on the reproducible-builds +infrastructure, where a multi-threaded stress-test sometimes takes longer +to finish on x86_64 than it would have done on slow architectures like +arm and mips on the official Debian autobuilders. It is not clear why. + +This change will make this test more likely to pass, but less likely to +detect bugs. + +Signed-off-by: Simon McVittie +Bug-Debian: https://bugs.debian.org/884659 +Forwarded: no +--- + glib/tests/gwakeuptest.c | 17 +++++++++++++---- + 1 file changed, 13 insertions(+), 4 deletions(-) + +diff --git a/glib/tests/gwakeuptest.c b/glib/tests/gwakeuptest.c +index b37fb43..a9bef21 100644 +--- a/glib/tests/gwakeuptest.c ++++ b/glib/tests/gwakeuptest.c +@@ -89,6 +89,9 @@ struct context + #define NUM_TOKENS 5 + #define TOKEN_TTL 100000 + ++static gint num_threads = NUM_THREADS; ++static gint token_ttl = TOKEN_TTL; ++ + static struct context contexts[NUM_THREADS]; + static GThread *threads[NUM_THREADS]; + static GWakeup *last_token_wakeup; +@@ -158,7 +161,7 @@ dispatch_token (struct token *token) + struct context *ctx; + gint next_ctx; + +- next_ctx = g_test_rand_int_range (0, NUM_THREADS); ++ next_ctx = g_test_rand_int_range (0, num_threads); + ctx = &contexts[next_ctx]; + token->owner = ctx; + token->ttl--; +@@ -213,6 +216,12 @@ test_threaded (void) + { + gint i; + ++ if (!g_test_slow ()) ++ { ++ num_threads = NUM_THREADS / 10; ++ token_ttl = TOKEN_TTL / 10; ++ } ++ + /* make sure we don't block forever */ + alarm (60); + +@@ -230,7 +239,7 @@ test_threaded (void) + last_token_wakeup = g_wakeup_new (); + + /* create contexts, assign to threads */ +- for (i = 0; i < NUM_THREADS; i++) ++ for (i = 0; i < num_threads; i++) + { + context_init (&contexts[i]); + threads[i] = g_thread_new ("test", thread_func, &contexts[i]); +@@ -238,13 +247,13 @@ test_threaded (void) + + /* dispatch tokens */ + for (i = 0; i < NUM_TOKENS; i++) +- dispatch_token (token_new (TOKEN_TTL)); ++ dispatch_token (token_new (token_ttl)); + + /* wait until all tokens are gone */ + wait_for_signaled (last_token_wakeup); + + /* ask threads to quit, join them, cleanup */ +- for (i = 0; i < NUM_THREADS; i++) ++ for (i = 0; i < num_threads; i++) + { + context_quit (&contexts[i]); + g_thread_join (threads[i]); diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..3bd5e17 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,40 @@ +01_gettext-desktopfiles.patch +0001-timer-test-use-volatile-for-locals.patch +gwakeuptest-Be-less-parallel-unless-invoked-with-m-slow.patch +debian/02_gettext-desktopfiles-ubuntu.patch +debian/03_disble_glib_compile_schemas_warning.patch +debian/06_thread_test_ignore_prctl_fail.patch +debian/closures-test-Skip-on-arm-unless-flaky-tests-are-allowed.patch +debian/Disable-some-tests-on-slow-architectures-which-keep-faili.patch +debian/Skip-test-which-performs-some-unreliable-floating-point-c.patch +debian/Skip-unreliable-gdbus-threading-tests--by-default.patch +debian/gmenumodel-test-Mark-as-flaky.patch +debian/gvariant-test-Don-t-run-at-build-time-on-mips.patch +debian/testfilemonitor-Skip-if-we-are-avoiding-flaky-tests.patch +debian/gdbus-server-auth-Normally-skip-flaky-DBUS_COOKIE_SHA1-te.patch +debian/Skip-memory-monitor-dbus-test-if-not-specifically-request.patch +debian/Add-extra-debug-to-memory-monitor-dbus-test.patch +debian/tests-Skip-debugcontroller-test.patch +debian/gdesktopappinfo-Recognize-gnome-console-as-a-terminal-app.patch +0001-gio-Make-portal-support-aware-of-snaps.patch +gvariant-security-1-01.patch +gvariant-security-1-02.patch +gvariant-security-1-03.patch +gvariant-security-1-04.patch +gvariant-security-1-05.patch +gvariant-security-1-06.patch +gvariant-security-1-07.patch +gvariant-security-1-08.patch +gvariant-security-1-09.patch +gvariant-security-1-10.patch +gvariant-security-1-11.patch +gvariant-security-1-12.patch +gvariant-security-1-13.patch +gvariant-security-1-14.patch +gvariant-security-1-15.patch +gvariant-security-1-16.patch +gvariant-security-1-17.patch +gvariant-security-1-18.patch +gvariant-security-2-1.patch +gvariant-security-2-2.patch +gvariant-security-3-1.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..7d06368 --- /dev/null +++ b/debian/rules @@ -0,0 +1,296 @@ +#!/usr/bin/make -f + +binaries := $(shell dh_listpackages) + +export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow + +# Ensure the build aborts when there are still references to undefined symbols +DEB_LDFLAGS_MAINT_APPEND += -Wl,-z,defs + +# NB: do NOT use -Wl,--as-needed to build glib; for instance the link to +# pthread is carefully crafted to allow dlopen()ing pthread-using libs; see +# https://marc.info/?i=1257999019.21780.15.camel@marzipan aka +# https://mail.gnome.org/archives/gtk-devel-list/2009-November/msg00096.html +DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed + +# Make the linker work a bit harder so dynamic loading can be done faster +DEB_LDFLAGS_MAINT_APPEND += -Wl,-O1 + +include /usr/share/dpkg/default.mk + +%: + dh $@ + +ifneq ($(filter hppa,$(DEB_HOST_ARCH_CPU)),) +stack_grows_up = true +else +stack_grows_up = false +endif + +ifneq ($(filter kfreebsd,$(DEB_HOST_ARCH_OS)),) +have_non_stub_xattr = false +else +have_non_stub_xattr = true +endif + +export DH_MESON_CROSS_FILE = debian/cross.txt + +# We edit the debcrossgen output to work around unimplemented feature +# request https://bugs.debian.org/912559 +override_dh_auto_configure: +ifneq ($(DEB_HOST_ARCH),$(DEB_BUILD_ARCH)) + /usr/share/meson/debcrossgen \ + -o debian/cross.txt.in + debian/set-cross-properties \ + have_c99_snprintf=true \ + have_c99_vsnprintf=true \ + have_strlcpy=false \ + have_unix98_printf=true \ + growing_stack=$(stack_grows_up) \ + < debian/cross.txt.in > debian/cross.txt +endif + dh_auto_configure \ + --builddirectory=debian/build/deb \ + -- \ + $(DEB_CONFIGURE_EXTRA_FLAGS) \ + $(DEB_CONFIGURE_FLAGS_deb) \ + $(NULL) +ifneq ($(filter %-udeb,$(binaries)),) + dh_auto_configure \ + --builddirectory=debian/build/udeb \ + -- \ + $(DEB_CONFIGURE_EXTRA_FLAGS) \ + $(DEB_CONFIGURE_FLAGS_udeb) \ + $(NULL) +endif + +override_dh_clean: + rm -rf $(CURDIR)/debian/build \ + $(CURDIR)/debian/install + dh_clean -Xorg.gtk.test.gschema.xml.orig -Xorg.gtk.test.gschema.override.orig + + +override_dh_makeshlibs: + dh_makeshlibs -plibglib2.0-tests -n + dh_makeshlibs --remaining-packages --add-udeb=libglib2.0-udeb -Xlibgiofam.so -- -c4 + +# (Ubuntu-specific) +# Don't strip translations from the installed tests; makes them environment dependent. +override_dh_translations: + dh_translations -Xinstalled-tests + +# Do not clutter $HOME with ~/.dbus-keyrings and avoid failure on the buildds +# where creating /home/buildd/.dbus-keyrings fails +export HOME=$(CURDIR)/debian/build + +# Make sure that everything that uses D-Bus is creating its own temporary +# session rather than polluting the developer's (or failing, on buildds) +export DBUS_SESSION_BUS_ADDRESS=this-should-not-be-used-and-will-fail: + +ifeq ($(DEB_HOST_ARCH_OS), linux) +handle_test_failure := exit $$? +else +handle_test_failure := true +endif + +# Upstream test timeouts assume an otherwise unloaded system, but that +# isn't necessarily the case for a porterbox or multiple parallel builds +test_timeout_multiplier = 3 + +ifneq ($(filter arm hppa mips% sparc%,$(DEB_HOST_ARCH_CPU)),) +$(info Slow architecture detected, increasing test timeout) +test_timeout_multiplier = 5 +endif + +ifneq ($(filter m68k riscv64 sh4,$(DEB_HOST_ARCH_CPU)),) +$(info Architecture with qemu buildds detected, increasing test timeout a lot) +test_timeout_multiplier = 20 +endif + +override_dh_auto_test-arch: +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + # Remove LD_PRELOAD so we don't run with fakeroot, which makes dbus-related tests fail + # First run the non-flaky tests, and fail the build if they fail (on linux) + env -u LD_PRELOAD \ + DEB_BUILD_TIME_TESTS=1 \ + LC_ALL=C.UTF-8 \ + MESON_TESTTHREADS=1 \ + debian/tests/run-with-locales \ + --generate de_DE=ISO-8859-1 \ + --generate de_DE.utf8 \ + --generate de_DE@euro.utf8 \ + --generate el_GR.utf8 \ + --generate en_GB=ISO-8859-1 \ + --generate en_GB.utf8 \ + --generate en_US=ISO-8859-1 \ + --generate en_US.utf8 \ + --generate es_ES.utf8 \ + --generate fa_IR=UTF-8 \ + --generate fa_IR.utf8 \ + --generate fr_FR.utf8 \ + --generate hr_HR.utf8 \ + --generate ja_JP.utf8 \ + --generate ja_JP.EUC-JP \ + --generate lt_LT.utf8 \ + --generate pl_PL=ISO-8859-2 \ + --generate pl_PL.ISO-8859-2 \ + --generate pl_PL.utf8 \ + --generate ru_RU=ISO-8859-5 \ + --generate ru_RU.utf8 \ + --generate sr_RS=UTF-8 \ + --generate sr_RS@latin=UTF-8 \ + --generate sv_SE=ISO-8859-1 \ + --generate sv_SE.utf8 \ + --generate tr_TR=ISO-8859-9 \ + --generate tr_TR.utf8 \ + --generate tt_RU=UTF-8 \ + --generate tt_RU.utf8 \ + --generate tt_RU@iqtelif=UTF-8 \ + -- \ + meson test -C debian/build/deb \ + --no-rebuild \ + --num-processes 1 \ + --timeout-multiplier $(test_timeout_multiplier) \ + --no-suite flaky \ + --verbose \ + || $(handle_test_failure) + # and then run the flaky ones, but ignore them failing + env -u LD_PRELOAD \ + DEB_BUILD_TIME_TESTS=1 \ + LC_ALL=C.UTF-8 \ + MESON_TESTTHREADS=1 \ + meson test -C debian/build/deb \ + --no-rebuild \ + --num-processes 1 \ + --timeout-multiplier $(test_timeout_multiplier) \ + --suite flaky \ + --verbose \ + || true +endif + +# Skip most build-time tests if all we are building is documentation; +# running them once per architecture is plenty. As an exception, do run the +# documentation completeness checks, which won't normally be run on +# architecture-specific buildds (except in Ubuntu). +override_dh_auto_test-indep: + meson test -C debian/build/deb \ + --no-rebuild \ + --num-processes 1 \ + --timeout-multiplier $(test_timeout_multiplier) \ + --verbose \ + gio-doc-check glib-doc-check gobject-doc-check \ + || $(handle_test_failure) + +# Let's get failing tests' stdout and stderr so we have some information when +# a build fails +export VERBOSE=1 + +ifeq ($(DEB_HOST_ARCH_OS),linux) +enable_libmount := enabled +enable_selinux := enabled +else +enable_libmount := disabled +enable_selinux := disabled +endif + +ifneq ($(filter hurd,$(DEB_HOST_ARCH_OS)),) +use_fam := true +else +use_fam := false +endif + +DEB_CONFIGURE_FLAGS_deb := \ + --default-library both \ + -Dfam=$(use_fam) \ + -Dinstalled_tests=true \ + -Dlibelf=enabled \ + -Dlibmount=$(enable_libmount) \ + -Dman=true \ + -Dselinux=$(enable_selinux) \ + -Dsystemtap=true \ + -Dxattr=$(have_non_stub_xattr) \ + $(NULL) + +ifneq ($(filter libglib2.0-doc,$(binaries)),) +DEB_CONFIGURE_FLAGS_deb += -Dgtk_doc=true +else +DEB_CONFIGURE_FLAGS_deb += -Dgtk_doc=false +endif + +DEB_CONFIGURE_FLAGS_udeb := \ + --default-library shared \ + -Dgtk_doc=false \ + -Dinstalled_tests=false \ + -Dlibmount=disabled \ + -Dselinux=disabled \ + -Dxattr=$(have_non_stub_xattr) \ + $(NULL) + +override_dh_auto_build: + mkdir -p debian/tmp-xdg-runtime-dir + dh_auto_build --builddirectory=debian/build/deb +ifneq ($(filter %-udeb,$(binaries)),) + dh_auto_build --builddirectory=debian/build/udeb +endif + +override_dh_auto_install: + set -e; for script in postinst postrm triggers; do \ + sed -e"s/#MULTIARCH#/$(DEB_HOST_MULTIARCH)/g" \ + -e"s/#ARCH#/$(DEB_HOST_ARCH)/g" \ + debian/libglib2.0-0.$$script.in \ + > debian/libglib2.0-0.$$script ; \ + done +ifneq ($(filter %-udeb,$(binaries)),) + dh_auto_install -plibglib2.0-udeb --builddirectory=debian/build/udeb --destdir=debian/install/udeb +endif + dh_auto_install --remaining-packages --builddirectory=debian/build/deb --destdir=debian/install/deb + +override_dh_python3: + # dh_python3 can't process both a private directory and /usr/bin + # in the same invocation + dh_python3 -plibglib2.0-dev-bin /usr/share/glib-2.0/codegen + dh_python3 -plibglib2.0-tests --no-ext-rename /usr/libexec/installed-tests/glib + dh_python3 + +override_dh_install: + # Unwanted bits from the .deb build + rm -fr debian/install/deb/usr/share/glib-2.0/codegen/__pycache__ +ifneq ($(filter %-udeb,$(binaries)),) + # Unwanted bits from the .udeb build + rm -f debian/install/udeb/usr/lib/*/*.so + rm -fr debian/install/udeb/usr/share/gdb + rm -fr debian/install/udeb/usr/share/gettext/its + rm -fr debian/install/udeb/usr/share/glib-2.0/codegen + rm -fr debian/install/udeb/usr/share/glib-2.0/gdb + rm -fr debian/install/udeb/usr/share/glib-2.0/valgrind + rm -fr debian/install/udeb/usr/share/man + dh_install -plibglib2.0-udeb --sourcedir=debian/install/udeb +endif +ifneq ($(filter %-tests,$(binaries)),) + sed -i -e '/^#!.*/,1 d' debian/install/deb/usr/libexec/installed-tests/glib/taptestrunner.py +endif +ifneq ($(filter hurd,$(DEB_HOST_ARCH_OS)),) + dh_install -plibglib2.0-0 --sourcedir=debian/install/deb usr/lib/${DEB_HOST_MULTIARCH}/gio/modules/libgiofam.so usr/lib/${DEB_HOST_MULTIARCH}/gio/modules +endif + dh_install --remaining-packages --sourcedir=debian/install/deb + install -D -t debian/libglib2.0-0/usr/share/glib-2.0/ debian/clean-up-unmanaged-libraries + install -D -t debian/libglib2.0-0/usr/lib/${DEB_HOST_MULTIARCH}/glib-2.0/ debian/gio-launch-desktop + +override_dh_dwz: + dh_dwz -Nlibglib2.0-udeb + +# debhelper >= 13.4 makes all of /usr/libexec executable, which is not +# quite right for installed-tests +override_dh_fixperms: + dh_fixperms -Xusr/libexec/installed-tests +ifneq ($(filter %-tests,$(binaries)),) + chmod --changes u=rw,og=r debian/libglib2.0-tests/usr/libexec/installed-tests/*/*.so + chmod --changes u=rw,og=r debian/libglib2.0-tests/usr/libexec/installed-tests/*/*/*.so + chmod --recursive --changes a+rX,u+w,og-w debian/libglib2.0-tests/usr/libexec/installed-tests +endif + +override_dh_missing: + dh_missing --sourcedir=debian/install/deb +ifneq ($(filter %-udeb,$(binaries)),) + dh_missing --sourcedir=debian/install/udeb +endif diff --git a/debian/set-cross-properties b/debian/set-cross-properties new file mode 100755 index 0000000..728d8d8 --- /dev/null +++ b/debian/set-cross-properties @@ -0,0 +1,22 @@ +#!/usr/bin/python3 + +import sys + + +def write_properties(properties): + for prop in properties: + k, v = prop.split('=', 1) + print('{} = {}'.format(k, v)) + + +if __name__ == '__main__': + for line in sys.stdin: + sys.stdout.write(line) + + if line.strip() == '[properties]': + write_properties(sys.argv[1:]) + done = True + + if not done: + print('[properties]') + write_properties(sys.argv[1:]) diff --git a/debian/shlibs.local b/debian/shlibs.local new file mode 100644 index 0000000..f21d4a5 --- /dev/null +++ b/debian/shlibs.local @@ -0,0 +1,10 @@ +libgio-2.0 0 libglib2.0-0 (= ${binary:Version}) +libglib-2.0 0 libglib2.0-0 (= ${binary:Version}) +libgmodule-2.0 0 libglib2.0-0 (= ${binary:Version}) +libgobject-2.0 0 libglib2.0-0 (= ${binary:Version}) +libgthread-2.0 0 libglib2.0-0 (= ${binary:Version}) +udeb: libgio-2.0 0 libglib2.0-udeb (= ${binary:Version}) +udeb: libglib-2.0 0 libglib2.0-udeb (= ${binary:Version}) +udeb: libgmodule-2.0 0 libglib2.0-udeb (= ${binary:Version}) +udeb: libgobject-2.0 0 libglib2.0-udeb (= ${binary:Version}) +udeb: libgthread-2.0 0 libglib2.0-udeb (= ${binary:Version}) diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/tests/bug896019 b/debian/tests/bug896019 new file mode 100755 index 0000000..171afb0 --- /dev/null +++ b/debian/tests/bug896019 @@ -0,0 +1,170 @@ +#!/bin/bash + +set -e + +. debian/tests/lib.sh +cd "$AUTOPKGTEST_TMP" + +biarch= + +getopt_temp="help" +getopt_temp="$getopt_temp,biarch" + +getopt_temp="$(getopt -o '' --long "$getopt_temp" -n "$me" -- "$@")" +eval "set -- $getopt_temp" + +while [ "$#" -gt 0 ] +do + case "$1" in + (--biarch) + biarch=yes + shift + ;; + + (--) + shift + break + ;; + + (-*) + warning "Unknown option: $1" + usage 2 + ;; + + (*) + break + ;; + esac +done + +system_arch="${DEB_HOST_ARCH:-"$(dpkg --print-architecture)"}" +multiarch="${DEB_HOST_MULTIARCH:-"$(dpkg-architecture -a"$system_arch" -qDEB_HOST_MULTIARCH)"}" +foreign_arch= +foreign_multiarch= + +if [ -n "$biarch" ]; then + case "$system_arch" in + (amd64) + foreign_arch="i386" + foreign_multiarch="i386-linux-gnu" + ;; + (arm64) + foreign_arch="armhf" + foreign_multiarch="arm-linux-gnueabihf" + ;; + (*) + echo "1..0 # SKIP - no secondary architecture" >&7 + exit 77 + esac +fi + +if [ -n "$foreign_arch" ]; then + require dpkg --add-architecture "$foreign_arch" + require_apt "$foreign_arch" +fi + +if [ -n "$foreign_arch" ]; then + multiarchs=("$multiarch" "$foreign_multiarch") +else + multiarchs=("$multiarch") +fi + +require_apt_stretch + +package=libglib2.0-0 +old_version=2.50.3-2+deb9u2 +soname=libglib-2.0.so.0 +other_sonames=(libgio-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0) +tail=5000.3 + +if ! new_version=$(dpkg-query -W -f '${Version}' "$package:$system_arch"); then + echo "1..0 # SKIP - unable to get version of $package:$system_arch" >&7 + exit 77 +fi + +if ! apt-get download "$package=$old_version"; then + echo "1..0 # SKIP - unable to download $package=$old_version" >&7 + exit 77 +fi + +if [ -n "$foreign_arch" ] && ! apt-get download "$package:$foreign_arch=$old_version"; then + echo "1..0 # SKIP - unable to download $package:$foreign_arch=$old_version" >&7 + exit 77 +fi + +if [ -n "$foreign_arch" ]; then + require apt-get -y install --reinstall "$package=$new_version" "$package:$foreign_arch=$new_version" + good_foreign_realpath="$(readlink -f "/usr/lib/$foreign_multiarch/$soname")" +else + require apt-get -y install --reinstall "$package=$new_version" + good_foreign_realpath= +fi + +good_realpath="$(readlink -f "/usr/lib/$multiarch/$soname")" + +# Pretend the version from stretch got stuck on the system somehow. +# (This is the wrong way to use dpkg-deb, never do this in production.) +require dpkg-deb --vextract "${package}_${old_version}_${system_arch}.deb" . + +if [ -n "$foreign_arch" ]; then + require dpkg-deb --vextract "${package}_${old_version}_${foreign_arch}.deb" . +fi + +for ma in "${multiarchs[@]}"; do + cp -a ./lib/"$ma"/"$soname" /lib/"$ma"/ + cp -a ./lib/"$ma"/"$soname".* /lib/"$ma"/ + + for other in "${other_sonames[@]}"; do + cp -a ./usr/lib/"$ma"/"$other" /usr/lib/"$ma"/ + cp -a ./usr/lib/"$ma"/"$other".* /usr/lib/"$ma"/ + done +done + +assert_succeeds ldconfig --verbose + +for ma in "${multiarchs[@]}"; do + echo "Status before reinstalling $package" + assert_succeeds ls -il "/lib/$ma/$soname" + assert_succeeds ls -il "/lib/$ma/$soname".* + assert_succeeds ls -il "/lib/$ma/$soname.$tail" + assert_succeeds ls -il "/usr/lib/$ma/$soname" + assert_succeeds ls -il "/usr/lib/$ma/$soname".* +done + +for other in "$soname" "${other_sonames[@]}"; do + echo "Running 'true' with $other preloaded to see what we get..." + env LD_DEBUG=libs LD_PRELOAD="$other" true || true +done + +if [ -n "$foreign_arch" ]; then + assert_succeeds apt-get -y install --reinstall "$package:$system_arch=$new_version" "$package:$foreign_arch=$new_version" +else + assert_succeeds apt-get -y install --reinstall "$package:$system_arch=$new_version" +fi + +for ma in "${multiarchs[@]}"; do + if [ "/usr/lib/$ma" -ef "/lib/$ma" ]; then + echo "Merged-/usr system" + assert_status 1 test "/usr/lib/$ma/$soname" -ef "/usr/lib/$ma/$soname.$tail" + else + echo "Non-merged-/usr system" + assert_succeeds ls -il "/lib/$ma/removed-by-upgrade-bug896019/" + assert_status 1 test -e "/lib/$ma/$soname.$tail" + assert_status 1 test -e "/lib/$ma/$soname" + assert_succeeds test -e "/usr/lib/$ma/$soname" + fi +done + +assert_succeeds test "/usr/lib/$multiarch/$soname" -ef "$good_realpath" + +if [ -n "$foreign_arch" ]; then + assert_succeeds test "/usr/lib/$foreign_multiarch/$soname" -ef "$good_foreign_realpath" +fi + +for other in "$soname" "${other_sonames[@]}"; do + env LD_DEBUG=libs LD_PRELOAD="$other" true +done + +finish + +# vim:set sw=4 sts=4 et: diff --git a/debian/tests/bug896019-biarch b/debian/tests/bug896019-biarch new file mode 100755 index 0000000..0cc01bf --- /dev/null +++ b/debian/tests/bug896019-biarch @@ -0,0 +1,2 @@ +#!/bin/sh +exec debian/tests/bug896019 --biarch diff --git a/debian/tests/build b/debian/tests/build new file mode 100755 index 0000000..d0a8ad2 --- /dev/null +++ b/debian/tests/build @@ -0,0 +1,143 @@ +#!/bin/sh +# autopkgtest check: Build and run a program against glib, to verify that the +# headers and pkg-config file are installed correctly +# (C) 2012,2019 Canonical Ltd. +# (C) 2018 Simon McVittie +# Authors: Martin Pitt , Simon McVittie + +set -eux + +mode=dynamic + +getopt_temp="$(getopt -o '' --long 'static' -n debian/tests/build -- "$@")" +eval set -- "$getopt_temp" + +while true; do + case "$1" in + (--static) + mode=static + shift + continue + ;; + + (--) + shift + break + ;; + + (*) + echo "getopt: Internal error" >&2 + exit 2 + esac +done + +WORKDIR=$(mktemp -d) +trap 'rm -rf "${WORKDIR}"' 0 INT QUIT ABRT PIPE TERM +cd "${WORKDIR}" + +if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then + CROSS_COMPILE="${DEB_HOST_GNU_TYPE}-" +else + CROSS_COMPILE= +fi + +cat < glib.c +#include + +int main(void) +{ + g_assert_cmpint (g_strcmp0 (NULL, "hello"), ==, -1); + g_assert_cmpstr (g_getenv ("foo"), ==, "bar"); + return 0; +} +EOF +cat < gobject.c +#include + +int main(void) +{ + g_assert_cmpuint (G_TYPE_OBJECT, !=, G_TYPE_INVALID); + return 0; +} +EOF +cat < gio.c +#include + +int main(void) +{ + g_assert_cmpuint (G_TYPE_FILE, !=, G_TYPE_INVALID); + return 0; +} +EOF +cat < gio-unix.c +#include + +int main(void) +{ + g_assert_cmpuint (G_TYPE_UNIX_FD_LIST, !=, G_TYPE_INVALID); + return 0; +} +EOF +cat < gmodule.c +#include + +int main(void) +{ + GModule *module; + + g_assert_true (g_module_supported ()); + module = g_module_open (NULL, 0); + g_assert_nonnull (module); + g_assert_true (g_module_close (module)); + return 0; +} +EOF +cat < gthread.c +#include + +static gpointer +other_cb (gpointer nil) +{ + return "hello"; +} + +int main(void) +{ + GThread *other; + gpointer ret; + + other = g_thread_new ("other", other_cb, NULL); + g_assert_nonnull (other); + ret = g_thread_join (other); + g_assert_cmpstr (ret, ==, "hello"); + return 0; +} +EOF + +for lib in glib gobject gio gio-unix gmodule gthread; do + cflags= + pcflags= + packages="${lib}-2.0" + + case "$mode" in + (static) + cflags=-static + pcflags=--static + + case "$lib" in + (gio|gio-unix) + # GIO depends on libmount which no longer supports + # being linked statically + continue + ;; + esac + ;; + esac + + # shellcheck disable=SC2046 + ${CROSS_COMPILE}gcc $cflags -o ${lib}-$mode ${lib}.c $(${CROSS_COMPILE}pkg-config $pcflags --cflags --libs ${packages}) + echo "build ($lib, $mode): OK" + [ -x ${lib}-$mode ] + foo=bar ./${lib}-$mode + echo "run ($lib, $mode): OK" +done diff --git a/debian/tests/build-static b/debian/tests/build-static new file mode 100755 index 0000000..7ba5c42 --- /dev/null +++ b/debian/tests/build-static @@ -0,0 +1,2 @@ +#!/bin/sh +exec debian/tests/build --static diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..e36a37f --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,15 @@ +Tests: build build-static +Depends: libglib2.0-dev, build-essential +Restrictions: allow-stderr superficial + +Tests: installed-tests +Depends: dbus (>= 1.8), dbus-x11, gnome-desktop-testing, libglib2.0-tests, locales | locales-all, xauth, xvfb +Restrictions: allow-stderr + +Tests: flaky +Depends: dbus (>= 1.8), dbus-x11, gnome-desktop-testing, libglib2.0-tests, locales | locales-all, xauth, xvfb +Restrictions: allow-stderr flaky + +Tests: bug896019 bug896019-biarch +Depends: dpkg-dev, libglib2.0-0 +Restrictions: allow-stderr, breaks-testbed, needs-root, skippable diff --git a/debian/tests/flaky b/debian/tests/flaky new file mode 100755 index 0000000..51a2e0b --- /dev/null +++ b/debian/tests/flaky @@ -0,0 +1,72 @@ +#!/bin/sh +# autopkgtest check: Run the installed-tests to verify glib works correctly +# This part runs tests that have been marked as opt-in due to being flaky +# on at least some architectures. +# (C) 2013 Canonical Ltd. +# (C) 2019 Collabora Ltd. + +set -eu +NULL= + +export DEB_ALLOW_FLAKY_TESTS=1 + +# Disable gvfs if it happens to be installed. We want to test the built-in +# stuff +export GIO_USE_VFS=local +export GIO_USE_VOLUME_MONITOR=unix + +export XDG_RUNTIME_DIR="$AUTOPKGTEST_TMP" + +printf "Running as: "; id -a +printf "passwd entry: "; getent passwd "$(id -u)" || echo "(exit status $?)" +printf "group entry: "; getent group "$(id -g)" || echo "(exit status $?)" +echo "Environment:" +env | LC_ALL=C sort -u + +exec dbus-run-session -- \ +xvfb-run -a \ +debian/tests/run-with-locales \ + --generate de_DE=ISO-8859-1 \ + --generate de_DE.utf8 \ + --generate de_DE@euro.utf8 \ + --generate el_GR.utf8 \ + --generate en_GB=ISO-8859-1 \ + --generate en_GB.utf8 \ + --generate en_US=ISO-8859-1 \ + --generate en_US.utf8 \ + --generate es_ES.utf8 \ + --generate fa_IR=UTF-8 \ + --generate fa_IR.utf8 \ + --generate fr_FR.utf8 \ + --generate hr_HR.utf8 \ + --generate ja_JP.utf8 \ + --generate ja_JP.EUC-JP \ + --generate lt_LT.utf8 \ + --generate pl_PL=ISO-8859-2 \ + --generate pl_PL.ISO-8859-2 \ + --generate pl_PL.utf8 \ + --generate ru_RU=ISO-8859-5 \ + --generate ru_RU.utf8 \ + --generate sr_RS=UTF-8 \ + --generate sr_RS@latin=UTF-8 \ + --generate sv_SE=ISO-8859-1 \ + --generate sv_SE.utf8 \ + --generate tr_TR=ISO-8859-9 \ + --generate tr_TR.utf8 \ + --generate tt_RU=UTF-8 \ + --generate tt_RU.utf8 \ + --generate tt_RU@iqtelif=UTF-8 \ + -- \ +gnome-desktop-testing-runner \ + glib/closure-refcount.test \ + glib/debugcontroller.test \ + glib/gdbus-server-auth.test \ + glib/gdbus-threading.test \ + glib/gmenumodel.test \ + glib/mainloop.test \ + glib/memory-monitor-dbus.test \ + glib/socket.test \ + glib/testfilemonitor.test \ + glib/timeout.test \ + glib/timer.test \ + ${NULL} diff --git a/debian/tests/installed-tests b/debian/tests/installed-tests new file mode 100755 index 0000000..c286625 --- /dev/null +++ b/debian/tests/installed-tests @@ -0,0 +1,55 @@ +#!/bin/sh +# autopkgtest check: Run the installed-tests to verify glib works correctly +# (C) 2013 Canonical Ltd. +# Author: Iain Lane + +set -eu + +# Disable gvfs if it happens to be installed. We want to test the built-in +# stuff +export GIO_USE_VFS=local +export GIO_USE_VOLUME_MONITOR=unix + +export XDG_RUNTIME_DIR="$AUTOPKGTEST_TMP" + +printf "Running as: "; id -a +printf "passwd entry: "; getent passwd "$(id -u)" || echo "(exit status $?)" +printf "group entry: "; getent group "$(id -g)" || echo "(exit status $?)" +echo "Environment:" +env | LC_ALL=C sort -u + +exec dbus-run-session -- \ +xvfb-run -a \ +debian/tests/run-with-locales \ + --generate de_DE=ISO-8859-1 \ + --generate de_DE.utf8 \ + --generate de_DE@euro.utf8 \ + --generate el_GR.utf8 \ + --generate en_GB=ISO-8859-1 \ + --generate en_GB.utf8 \ + --generate en_US=ISO-8859-1 \ + --generate en_US.utf8 \ + --generate es_ES.utf8 \ + --generate fa_IR=UTF-8 \ + --generate fa_IR.utf8 \ + --generate fr_FR.utf8 \ + --generate hr_HR.utf8 \ + --generate ja_JP.utf8 \ + --generate ja_JP.EUC-JP \ + --generate lt_LT.utf8 \ + --generate pl_PL=ISO-8859-2 \ + --generate pl_PL.ISO-8859-2 \ + --generate pl_PL.utf8 \ + --generate ru_RU=ISO-8859-5 \ + --generate ru_RU.utf8 \ + --generate sr_RS=UTF-8 \ + --generate sr_RS@latin=UTF-8 \ + --generate sv_SE=ISO-8859-1 \ + --generate sv_SE.utf8 \ + --generate tr_TR=ISO-8859-9 \ + --generate tr_TR.utf8 \ + --generate tt_RU=UTF-8 \ + --generate tt_RU.utf8 \ + --generate tt_RU@iqtelif=UTF-8 \ + -- \ +gnome-desktop-testing-runner glib diff --git a/debian/tests/lib.sh b/debian/tests/lib.sh new file mode 100644 index 0000000..376287f --- /dev/null +++ b/debian/tests/lib.sh @@ -0,0 +1,124 @@ +#!/bin/sh + +test_num=0 +fail=0 + +# TAP output goes to fd 7, which is our original stdout +exec 7>&1 +# Other stdout goes to our original stderr +exec >&2 + +require () { + if ! "$@"; then + echo "1..0 # SKIP - command failed: $*" >&7 + exit 77 + fi +} + +require_apt_stretch () { + mirror="$(perl -ne 'if (m{^deb\s+(https?://[-\w.:]+)/debian/?\s}) { print "$1\n"; exit; }' /etc/apt/sources.list /etc/apt/sources.list.d/*)" + if [ -n "$mirror" ]; then + echo >> /etc/apt/sources.list + echo "deb $mirror/debian stretch main" >> /etc/apt/sources.list + else + echo "1..0 # SKIP - unable to guess how to set up an apt source for stretch" >&7 + exit 77 + fi + + require_apt +} + +require_apt () { + local arch="${1-}" + + if [ -n "${DEB_HOST_ARCH-}" ]; then + host_suffix=":${DEB_HOST_ARCH}" + fi + + if ! apt-get -y update; then + echo "1..0 # SKIP - apt not configured?" >&7 + exit 77 + fi + + if [ -n "$arch" ]; then + if ! apt-get -y install libc6:$arch; then + echo "1..0 # SKIP - cannot install libc6:$arch" >&7 + exit 77 + fi + else + if ! apt-get -y install hello; then + echo "1..0 # SKIP - apt not configured?" >&7 + exit 77 + fi + fi +} + +assert_succeeds () { + assert_status 0 "$@" +} + +assert_status () { + local expected="$1" + local e + + shift + test_num=$(( $test_num + 1 )) + + echo "# $*" + if "$@"; then + if [ "x$expected" = x0 ]; then + echo "ok $test_num - “$*”" >&7 + else + echo "not ok $test_num - “$*” succeeded but should have failed" >&7 + fail=1 + fi + else + e="$?" + if [ "x$expected" = "x$e" ] || [ "x$expected" = xfailure ]; then + echo "ok $test_num - “$*” failed with status $e as expected" >&7 + else + echo "not ok $test_num - “$*” expected status $expected, got $e" >&7 + fail=1 + fi + fi +} + +assert_output () { + local expected="$1" + shift + local really + + test_num=$(( $test_num + 1 )) + echo "# $*" + + if really="$("$@")"; then + if [ "x$expected" = "x$really" ]; then + echo "ok $test_num - “$*” returned “$really” as expected" >&7 + else + echo "not ok $test_num - expected “$*” to output “$*”, got “$really”" >&7 + fail=1 + fi + else + e="$?" + echo "not ok $test_num - “$*” failed with exit status $e" >&7 + fail=1 + fi +} + +ok () { + test_num=$(( $test_num + 1 )) + echo "ok $test_num - $*" >&7 +} + +skip_to_the_end () { + test_num=$(( $test_num + 1 )) + echo "not ok $test_num # SKIP $*" >&7 + finish +} + +finish () { + echo "1..$test_num" >&7 + exit "$fail" +} + +# vim:set sw=4 sts=4 et: diff --git a/debian/tests/run-with-locales b/debian/tests/run-with-locales new file mode 100755 index 0000000..29264ef --- /dev/null +++ b/debian/tests/run-with-locales @@ -0,0 +1,165 @@ +#!/bin/sh +# +# Run a wrapped command with at least the requested locales available. +# Requires a dependency on locales | locales-all. +# The requested locales must be of the form foo_FOO.utf8, or special-cased +# in generate(), or listed in /usr/share/i18n/SUPPORTED, or specify the +# locale in the form locale=charset. +# +# Copyright 2016-2021 Simon McVittie +# Copyright 2017-2018 Collabora Ltd. +# +# SPDX-License-Identifier: MIT +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +# IN THE SOFTWARE. + +# Assume a Debian Policy §10.4-compatible shell like dash or bash (with the +# 'local' builtin) +# shellcheck disable=SC2039 + +set -eu + +me="$(basename "$0")" +tempdir= + +usage () { + local status="${1-2}" + + if [ "$status" -ne 0 ]; then + exec >&2 + fi + + echo "Usage: $me [--generate LOCALE...] [--] COMMAND [ARGS...]" + exit "$status" +} + +getopt_temp=help +getopt_temp="$getopt_temp,generate:" + +getopt_temp="$(getopt -o '+' --long "$getopt_temp" -n "$0" -- "$@")" +eval set -- "$getopt_temp" +unset getopt_temp + +generate () { + local locale="$1" + local charset="" + local source + local output + + echo "$me: $locale..." >&2 + + case "$locale" in + (*=*) + source="${locale%=*}" + output="$source" + ;; + + (*.*) + source="${locale%.*}" + output="$source.$( + export LC_ALL=C + printf '%s' "${locale##*.}" | \ + tr '[:upper:]' '[:lower:]' | \ + tr -d -C '[:lower:][:digit:]' + )" + ;; + + (*) + source="${locale}" + output="${locale}" + esac + + if [ -e "/usr/lib/locale/$output/LC_MESSAGES/SYS_LC_MESSAGES" ]; then + printf '\t%s\n' "Found in locales-all" >&2 + return + fi + + if ! [ -d /usr/share/i18n/charmaps ]; then + echo "$me: $locale not in locales-all and /usr/share/i18n/charmaps not found" >&2 + return + fi + + case "$locale" in + (*=*) + charset="${locale##*=}" + ;; + + (*.utf8 | *.UTF-8) + charset="UTF-8" + ;; + + (*.*) + charset="${locale##*.}" + ;; + esac + + if [ -z "$charset" ]; then + echo "$me: $locale charset not known" >&2 + exit 1 + fi + + printf '\t%s\n' "Character set: $charset" >&2 + printf '\t%s\n' "Source file: $source" >&2 + + if [ -z "$tempdir" ]; then + tempdir="$(mktemp -d)" + trap 'rm -fr "$tempdir"' EXIT + fi + + printf '\t%s\n' "Output: $tempdir/$output" >&2 + + localedef -i "$source" -f "$charset" "$tempdir/$output" +} + +while [ "$#" -gt 0 ]; do + case "$1" in + (--help) + usage 2 + # not reached + ;; + + (--generate) + generate "$2" + shift 2 + ;; + + (--) + shift + break + ;; + + (-*) + echo "$me: Unknown option: $1" >&2 + usage 2 + # not reached + ;; + + (*) + break + ;; + esac +done + +if [ -n "$tempdir" ]; then + export LOCPATH="$tempdir" +fi + +"$@" + +# vim:set sw=4 sts=4 et: diff --git a/debian/upstream/metadata b/debian/upstream/metadata new file mode 100644 index 0000000..7dbae41 --- /dev/null +++ b/debian/upstream/metadata @@ -0,0 +1,6 @@ +--- +Name: GLib +Bug-Database: https://gitlab.gnome.org/GNOME/glib/issues/new +Repository: https://gitlab.gnome.org/GNOME/glib.git +Repository-Browse: https://gitlab.gnome.org/GNOME/glib/ +Security-Contact: https://gitlab.gnome.org/GNOME/glib/-/blob/HEAD/SECURITY.md diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..d971fae --- /dev/null +++ b/debian/watch @@ -0,0 +1,7 @@ +version=4 +opts="searchmode=plain, uversionmangle=s/\.(alpha|beta|rc)/~$1/, downloadurlmangle=s|cache.json||" \ +https://download.gnome.org/sources/glib/cache.json \ + [\d.]+/glib-([\d.]+)@ARCHIVE_EXT@ +#opts="mode=git,compression=xz" \ +#https://gitlab.gnome.org/GNOME/glib.git \ +#refs/tags/@ANY_VERSION@