summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2013-10-14 19:26:32 +0000
committerPacho Ramos <pacho@gentoo.org>2013-10-14 19:26:32 +0000
commitf6713e907d5d93cf948b6f011c7bee265854d342 (patch)
treec2df9dc9e63c6f436ced9c14f78666e0d106216a /gnome-base
parentDrop unneeded gobject-introspection-common dep (#488026 by wojtek) (diff)
downloadhistorical-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/ChangeLog8
-rw-r--r--gnome-base/gvfs/Manifest12
-rw-r--r--gnome-base/gvfs/files/gvfs-1.16.3-emit-signal.patch87
-rw-r--r--gnome-base/gvfs/gvfs-1.16.3-r1.ebuild131
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
+}