diff options
author | Pacho Ramos <pacho@gentoo.org> | 2013-10-14 19:26:32 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2013-10-14 19:26:32 +0000 |
commit | f6713e907d5d93cf948b6f011c7bee265854d342 (patch) | |
tree | c2df9dc9e63c6f436ced9c14f78666e0d106216a /gnome-base | |
parent | Drop unneeded gobject-introspection-common dep (#488026 by wojtek) (diff) | |
download | historical-f6713e907d5d93cf948b6f011c7bee265854d342.tar.gz historical-f6713e907d5d93cf948b6f011c7bee265854d342.tar.bz2 historical-f6713e907d5d93cf948b6f011c7bee265854d342.zip |
Fix samba hangs, bug #488024 by Ian Abbott
Package-Manager: portage-2.2.7/cvs/Linux x86_64
Manifest-Sign-Key: 0xA188FBD4
Diffstat (limited to 'gnome-base')
-rw-r--r-- | gnome-base/gvfs/ChangeLog | 8 | ||||
-rw-r--r-- | gnome-base/gvfs/Manifest | 12 | ||||
-rw-r--r-- | gnome-base/gvfs/files/gvfs-1.16.3-emit-signal.patch | 87 | ||||
-rw-r--r-- | gnome-base/gvfs/gvfs-1.16.3-r1.ebuild | 131 |
4 files changed, 232 insertions, 6 deletions
diff --git a/gnome-base/gvfs/ChangeLog b/gnome-base/gvfs/ChangeLog index c0a66952276d..7cb69daa2dec 100644 --- a/gnome-base/gvfs/ChangeLog +++ b/gnome-base/gvfs/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for gnome-base/gvfs # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gvfs/ChangeLog,v 1.225 2013/08/30 22:43:40 eva Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gvfs/ChangeLog,v 1.226 2013/10/14 19:26:28 pacho Exp $ + +*gvfs-1.16.3-r1 (14 Oct 2013) + + 14 Oct 2013; Pacho Ramos <pacho@gentoo.org> + +files/gvfs-1.16.3-emit-signal.patch, +gvfs-1.16.3-r1.ebuild: + Fix samba hangs, bug #488024 by Ian Abbott 30 Aug 2013; Gilles Dartiguelongue <eva@gentoo.org> -gvfs-1.16.2.ebuild, gvfs-1.16.3.ebuild: diff --git a/gnome-base/gvfs/Manifest b/gnome-base/gvfs/Manifest index 15df16819096..498cd59af650 100644 --- a/gnome-base/gvfs/Manifest +++ b/gnome-base/gvfs/Manifest @@ -5,6 +5,7 @@ AUX gvfs-1.12.3-gphoto2-2.5-1.patch 2925 SHA256 fb55f86c2602947b88b53c3ebc8c4c2f AUX gvfs-1.12.3-gphoto2-2.5-2.patch 1251 SHA256 9ac03fb241f16a095812e6cd4440ecca5d20819874c9ed285af353e2bdeca733 SHA512 d41b0848bf4f5d09e5e0479d4722da1c52d6af0e65f9f62631f1dfce2f2fdea7569a2e95057bedf2c1180d4c0c14accb330c15f444d20fcf8346b61b3356d10a WHIRLPOOL 04c91a5f31ba1bcf21c22ca98ce505ebf28344b815bafa8338167f723b7d9b779b979e2f183976b7da570a15bb2dd7ab1f3b66bc7def373ab7759f1e98187987 AUX gvfs-1.12.3-gphoto2-stricter-checks.patch 1719 SHA256 ba50fa4e9e468e62eccad1ebfc91f6c794f2b0f95da23a463ede260f4c9ca248 SHA512 71275ea9f3ba56577f0890ae087e8ab6704840a9f228bbfba8adbb31f81e101e9e9c0d78daf0ccb788e3e8aa0ebaa1b583f70ad5394858cac4e221ea2ceddcb5 WHIRLPOOL eb8952c3fba5ca5330a99ff7c5ad6789cf14532ce7166d86dfd8cd9b1cfe8599d51316c6daefa6d57d62659b55de4cb8a2a043a464a97bc1faabba39c0de29d6 AUX gvfs-1.16.0-expose-archive-backend.patch 1525 SHA256 fc5158af57a4ff77d9bd876a5fd758e3fafb945027b33e946e86f12f2ef41371 SHA512 f5134544c93e50ddc50c41241f2081c523e612dabf810d6af14b0e0d085a8b0718b778f0fb75c647988a3be78f76baab69158b39678f69d0407b1bdc0b944179 WHIRLPOOL 3e1203caf4bf557b2c94f69e119b1a5ed7af5edda849226237ea6f0cdc6b33841d976e2cd6eae0a293e54c659df16731bd2e4129f8a7a30525bdc61d2631f3f0 +AUX gvfs-1.16.3-emit-signal.patch 3313 SHA256 d6a4219e84378ec98980148f2282da6312c237f40ade75ce032501a8d13d21ec SHA512 6d9d352632886669c496ba1fca4deeea5915ef8e8154b184d4c9fd46c2bf667eb9836845e5a679f8212a5cdd57340fabc10d9338101cc6ac751a87bbc4a760bf WHIRLPOOL 2b3d36d3c262e480d62872bf909686cd62c2c58a935d349d9a71417593e3faaaf533778350f14d2e25cfe797ab7a96a9eaa1f7343e74c957cec836ae77096893 AUX gvfs-1.2.2-expose-archive-backend.patch 1607 SHA256 a6cd0f6b848e1943f9121cf4ce4105f32573f9cf7cf75bc0d7d61a98babec519 SHA512 2f1c8fb6d3fe1171991b2d56fceb7f36ed52e17b29b003eaee09a7550981466de4c7da1b85b16ff71cc710fa0bf90dddd25d0cb91ffc095e67764e75fe09b347 WHIRLPOOL 8b44d6106752108b8db2c548508ead6c951a2baba2725c513e66d95bf2f34a257ee1a9764726575fc50e0f24e536548d5425b93559546261edf9ef0d359e75ec AUX gvfs-1.2.2-gphoto2-stricter-checks.patch 1127 SHA256 146349147b82721551ce717d892068d608b352fdabd40b969ec9c2b97595c062 SHA512 e3dbcfc257a5ce2ecebc2011317717d853f8069fbdca1c4bb81e90c79acbe3661f64c68321a1d209fdb3584e09efaf3c655d10b8a586f4a9be3d51d62ada9662 WHIRLPOOL 6c417af80339cee72de22c6ddf055057eefabc059c944a848283566ec20ef4785025b72d79537002254bd4a4675d68d892f7aea435b992245d5b22db689ebb97 DIST gvfs-1.12.3.tar.xz 1361968 SHA256 38f69ec92083f86a51e7814e98d2861151f16dfb3abe4b3b39488408e12fd9c2 SHA512 1b2a2947447fa0917c64a69e02c84a1f870e88fb12c65169a86fd54165e5d4df671e324653ce1d1f123e03187f284e645ef6d4311000b9e88ac2aec055d48a58 WHIRLPOOL 07b21d6ddbb2388944e88af5057d5c027ea9cc4848e6901d74f428498cc4e87db4b80846ca2914802777c32b536bb220a7a8a3c0eae3a8e1f9373a032cd4511f @@ -13,13 +14,14 @@ DIST gvfs-1.16.3.tar.xz 1493048 SHA256 02a4483d0dd2e307f58f8e1d34dd29dbe06d3a345 DIST libgcrypt.m4.bz2 1526 SHA256 ce9d04f9cbd5417e4d4ba91095c06cea4852c70d75716311e82dfc243d2f0128 SHA512 fe7916d01efb1d14c4d84ed37f3b53b04d3b005cb04b603bded8d24e147fe69a4c0823164483dba3bc95cf540eaf93a0c0ad59f29f8e1edbae9566a81be5900d WHIRLPOOL 6baa8ed005a691fb1f31ac420d801d20a1611519a38749718dcf3956557f40a058c24b988d20534a62084fadd4141c44893cfa751ebf8011cf55d83c759868dd EBUILD gvfs-1.12.3-r1.ebuild 3361 SHA256 d7dec2b44edda8d1f96026583b737539b328dc6aee9a99e50b3f2d87ffdede9c SHA512 ebdd5ed06ad17c47666d51d993ff7d5b00ba42335756f2ad75ab0962d0e3174d6472439171221f7e5442b98a8ac7a70610c1d54dd09d6eb06d7d4a03f1047116 WHIRLPOOL 4a59239fed3d82ad2940547584e64d4e41229edfb54e7984177529939fa19b4af8ac76b130d2637e5178028e4be8530a635cf19035e9bf4b6b5c970369328c74 EBUILD gvfs-1.14.2.ebuild 3895 SHA256 97e2c23271679993f190e4ee679f6f7acc29631c8842f50002b61ed20c9f52e7 SHA512 99c3e93b995059842e8d0a968a455078ed410f458de52033ee6dfde389f999b320d36474d6b0769172bcc2551e002d524099dcab72a76da8c141774e738c39f2 WHIRLPOOL 71f10146264911ca4d33a75548bc2f1fd4ff082b17846c2ea8b93b16d8cc3859a50b199b424b03fcb705dc74b4f0229990bb9ccc63a7bd7f97542a074357c1f4 +EBUILD gvfs-1.16.3-r1.ebuild 3746 SHA256 e45a6d426f58216d103506781c3e3bd3438d82fce2657687e1889a37be6e00af SHA512 a6f4ed9e8204a80ba3020ec8df5e09ee7bf9934929d2d7ff3ff843bf73495c34be462c97e5300b34f6a6f7ed98eb38ec9f1445c4258f5f58dcedd195677b07b1 WHIRLPOOL 04a4d923bed97af72d34a3eea0c9c73f5a9d748c43a290e1cce87fac29ec9240c67988e187eb8e19ec61f4e48fa1f90f5f78e522c5f77c0ffb749812cddaf672 EBUILD gvfs-1.16.3.ebuild 3612 SHA256 dbc6b07b3b14dac5561cc89a5a43739507512915ce3d606a9eab987f7ab9fadb SHA512 ded12c24efc4bbe02f4891dbb89298328d0b8da34dd7e0c2ed512ab4dfbb27088fafcc8c5d2ff287a1ea734624ea7e3604f8ef6305149f8aa7e5d64b3a7407b1 WHIRLPOOL 0c707feb990482a07cae7f9f25727a2e0854d99c7a1997db191c849c20446d960d7cccf59066fdb780b067d4458e83f48f09857ecfbed30b0cfd7596df5add7c -MISC ChangeLog 32185 SHA256 7ac7e693b57d10ff3eeed88dd02d3092287dc1d2aee164dc27be8d773f952784 SHA512 a4113f661c6cc918d42d185894074e1d197c6e8f03f64cec0c1fb7d6b2b6809be6675a024d1b0a0f4736e4851b4287c126c9e96ce8017f49314da35949081cfa WHIRLPOOL 0959389cfa2351821ea15e4db960ee4e973f47a6402ee3403c9f686fdb3157cbebdbdc273f3c489747261c76a3d726a12c20c2e09080b396d157c5413b038e2c +MISC ChangeLog 32374 SHA256 3fb663e6da2266c67861245dcc9b9f79cc06d6eae950e134048a019926a5938e SHA512 684f141aea3b59ba1e9aac5c4dd65ae3dbc5524943051259c02913f8bfdf1e2a89eac989db5cb57616f23401b735fe22e1d79222aa01c31cbd70cfedeb6c65ea WHIRLPOOL 82e53d39e91d4aca5cbaab306bf18ef48f9dc7b255c948c59b7ab541bd1a3f1f35f7599c3ce2009bf657e950b9bf987a2908c8e1e13717be5fd9832669e5ffba MISC metadata.xml 1440 SHA256 a02bc760008f281e624b5bb457002578368cbd4a6cd6c0022a8e6e7e7dda9603 SHA512 93e1c99b3108f240d9543a22c9ef67a1ab6baaa25d99bbe721d6fcba7e939b40bacabe727310d2ecda1200e3612c88a7245c55dfb2a3e25ef5afc20b69b59863 WHIRLPOOL 6c3357fadeba19ff338ece726468464973b74a37b40aeba8925ccf6eba41b46d8e2c62bfca58d4b7f83138df248cd4c0ccee418b66ab374d8eef045ba21d0717 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.21 (GNU/Linux) +Version: GnuPG v2.0.22 (GNU/Linux) -iEYEAREIAAYFAlIhIB0ACgkQ1fmVwcYIWAYFnACgkiykC2Nd9GH2GiPjH4u+A+2b -X+8An1BEzjN5Rm5X9WyuRlu5yIMTmcpA -=Bf5M +iEYEAREIAAYFAlJcRWUACgkQCaWpQKGI+9SZXgCfQYBR4S5/2e7GCriFnw14jXor +dOcAnR2n4IdzZUqmekl+Y27fjZMtw/mH +=UHNY -----END PGP SIGNATURE----- diff --git a/gnome-base/gvfs/files/gvfs-1.16.3-emit-signal.patch b/gnome-base/gvfs/files/gvfs-1.16.3-emit-signal.patch new file mode 100644 index 000000000000..6f8deb321456 --- /dev/null +++ b/gnome-base/gvfs/files/gvfs-1.16.3-emit-signal.patch @@ -0,0 +1,87 @@ +From bdc3babbe21e5fed06876db4d56d1b13915fe1cb Mon Sep 17 00:00:00 2001 +From: Ross Lagerwall <rosslagerwall@gmail.com> +Date: Sat, 21 Sep 2013 20:22:27 +0000 +Subject: daemon: Emit signal before returning dbus value + +In gvfsjobopenforread.c, the dbus method returns a value in create_reply +which eventually results in a GVfsJobRead job to be sent to the backend. +This could happen before the "new-source" signal is emitted. If this +happens, the job is not queued because the "new_job" signal would not +have been connected to a job source yet. The read then hangs because +the GVfsJobRead is lost. + +This is hit often when performing large smb transfers (see +https://bugzilla.gnome.org/show_bug.cgi?id=697782 and +https://bugs.launchpad.net/ubuntu/+source/gvfs/+bug/1075923). +It can be reproduced by putting a small sleep before the +g_signal_emit_by_name call. + +Fix this by emitting the "new-source" signal *before* the dbus method +value is returned. This ensures that the "new_job" signal is set up +before any further jobs are sent. + +Note that the same problem and solution applies for +gvfsjobopenforwrite.c. +--- +diff --git a/daemon/gvfsjobopenforread.c b/daemon/gvfsjobopenforread.c +index d978136..41b5f34 100644 +--- a/daemon/gvfsjobopenforread.c ++++ b/daemon/gvfsjobopenforread.c +@@ -194,6 +194,12 @@ create_reply (GVfsJob *job, + g_error_free (error); + } + ++ g_vfs_channel_set_backend_handle (G_VFS_CHANNEL (channel), open_job->backend_handle); ++ open_job->backend_handle = NULL; ++ open_job->read_channel = channel; ++ ++ g_signal_emit_by_name (job, "new-source", channel); ++ + if (open_job->read_icon) + gvfs_dbus_mount_complete_open_icon_for_read (object, invocation, + fd_list, g_variant_new_handle (fd_id), +@@ -206,12 +212,6 @@ create_reply (GVfsJob *job, + /* FIXME: this could cause issues as long as fd_list closes all its fd's when it's finalized */ + close (remote_fd); + g_object_unref (fd_list); +- +- g_vfs_channel_set_backend_handle (G_VFS_CHANNEL (channel), open_job->backend_handle); +- open_job->backend_handle = NULL; +- open_job->read_channel = channel; +- +- g_signal_emit_by_name (job, "new-source", open_job->read_channel); + } + + static void +diff --git a/daemon/gvfsjobopenforwrite.c b/daemon/gvfsjobopenforwrite.c +index a63e9cd..429e267 100644 +--- a/daemon/gvfsjobopenforwrite.c ++++ b/daemon/gvfsjobopenforwrite.c +@@ -278,6 +278,12 @@ create_reply (GVfsJob *job, + g_error_free (error); + } + ++ g_vfs_channel_set_backend_handle (G_VFS_CHANNEL (channel), open_job->backend_handle); ++ open_job->backend_handle = NULL; ++ open_job->write_channel = channel; ++ ++ g_signal_emit_by_name (job, "new-source", open_job->write_channel); ++ + gvfs_dbus_mount_complete_open_for_write (object, invocation, + fd_list, g_variant_new_handle (fd_id), + open_job->can_seek, +@@ -285,12 +291,6 @@ create_reply (GVfsJob *job, + + close (remote_fd); + g_object_unref (fd_list); +- +- g_vfs_channel_set_backend_handle (G_VFS_CHANNEL (channel), open_job->backend_handle); +- open_job->backend_handle = NULL; +- open_job->write_channel = channel; +- +- g_signal_emit_by_name (job, "new-source", open_job->write_channel); + } + + static void +-- +cgit v0.9.2 diff --git a/gnome-base/gvfs/gvfs-1.16.3-r1.ebuild b/gnome-base/gvfs/gvfs-1.16.3-r1.ebuild new file mode 100644 index 000000000000..7bea24dff771 --- /dev/null +++ b/gnome-base/gvfs/gvfs-1.16.3-r1.ebuild @@ -0,0 +1,131 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gvfs/gvfs-1.16.3-r1.ebuild,v 1.1 2013/10/14 19:26:28 pacho Exp $ + +EAPI="5" +GCONF_DEBUG="no" +GNOME2_LA_PUNT="yes" + +inherit autotools bash-completion-r1 eutils gnome2 + +DESCRIPTION="Virtual filesystem implementation for gio" +HOMEPAGE="https://git.gnome.org/browse/gvfs" + +LICENSE="LGPL-2+" +SLOT="0" + +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris" + +IUSE="afp archive avahi bluetooth bluray cdda fuse gdu gnome-keyring gnome-online-accounts gphoto2 gtk +http mtp ios samba systemd test +udev udisks" + +# Can use libgphoto-2.5.0 as well. Automagic detection. +RDEPEND=" + >=dev-libs/glib-2.35:2 + sys-apps/dbus + dev-libs/libxml2:2 + net-misc/openssh + afp? ( >=dev-libs/libgcrypt-1.2.2:= ) + archive? ( app-arch/libarchive:= ) + avahi? ( >=net-dns/avahi-0.6 ) + bluetooth? ( + >=app-mobilephone/obex-data-server-0.4.5 + dev-libs/dbus-glib + net-wireless/bluez + dev-libs/expat ) + bluray? ( media-libs/libbluray ) + fuse? ( >=sys-fs/fuse-2.8.0 ) + gdu? ( || ( + >=gnome-base/libgdu-3.0.2 + =sys-apps/gnome-disk-utility-3.0.2-r300 + =sys-apps/gnome-disk-utility-3.0.2-r200 ) ) + gnome-keyring? ( app-crypt/libsecret ) + gphoto2? ( >=media-libs/libgphoto2-2.4.7:= ) + gtk? ( >=x11-libs/gtk+-3.0:3 ) + http? ( >=net-libs/libsoup-gnome-2.34.0:2.4 ) + ios? ( + >=app-pda/libimobiledevice-1.1.0:= + >=app-pda/libplist-1:= ) + mtp? ( >=media-libs/libmtp-1.1.5 ) + samba? ( >=net-fs/samba-3.4.6[smbclient] ) + systemd? ( sys-apps/systemd ) + udev? ( + cdda? ( || ( dev-libs/libcdio-paranoia <dev-libs/libcdio-0.90[-minimal] ) ) + virtual/udev[gudev] ) + udisks? ( >=sys-fs/udisks-1.97:2 ) + gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.7.1 ) +" +DEPEND="${RDEPEND} + dev-libs/libxslt + >=dev-util/intltool-0.40 + virtual/pkgconfig + dev-util/gdbus-codegen + dev-util/gtk-doc-am + test? ( + >=dev-python/twisted-core-12.3.0 + net-analyzer/netcat ) + !udev? ( >=dev-libs/libgcrypt-1.2.2 ) +" +# libgcrypt.m4, provided by libgcrypt, needed for eautoreconf, bug #399043 +# test dependencies needed per https://bugzilla.gnome.org/700162 + +# Tests with multiple failures, this is being handled upstream at: +# https://bugzilla.gnome.org/700162 +RESTRICT="test" + +REQUIRED_USE=" + cdda? ( udev ) + udisks? ( udev ) + systemd? ( udisks ) +" + +src_prepare() { + DOCS="AUTHORS ChangeLog NEWS MAINTAINERS README TODO" # ChangeLog.pre-1.2 README.commits + + # Emit signal before returning dbus value, bug #488024 (from 'master') + epatch "${FILESDIR}/${PN}-1.16.3-emit-signal.patch" + + if ! use udev; then + sed -e 's/gvfsd-burn/ /' \ + -e 's/burn.mount.in/ /' \ + -e 's/burn.mount/ /' \ + -i daemon/Makefile.am || die + + eautoreconf + fi + + gnome2_src_prepare +} + +src_configure() { + # --enable-documentation installs man pages + gnome2_src_configure \ + --disable-bash-completion \ + --disable-hal \ + --with-dbus-service-dir="${EPREFIX}"/usr/share/dbus-1/services \ + --enable-documentation \ + $(use_enable afp) \ + $(use_enable archive) \ + $(use_enable avahi) \ + $(use_enable bluetooth obexftp) \ + $(use_enable bluray) \ + $(use_enable cdda) \ + $(use_enable fuse) \ + $(use_enable gdu) \ + $(use_enable gnome-online-accounts goa) \ + $(use_enable gphoto2) \ + $(use_enable gtk) \ + $(use_enable ios afc) \ + $(use_enable mtp libmtp) \ + $(use_enable udev) \ + $(use_enable udev gudev) \ + $(use_enable http) \ + $(use_enable gnome-keyring keyring) \ + $(use_enable samba) \ + $(use_enable systemd libsystemd-login) \ + $(use_enable udisks udisks2) +} + +src_install() { + gnome2_src_install + dobashcomp programs/completion/gvfs +} |