diff options
Diffstat (limited to 'gnome-base/gnome-vfs')
14 files changed, 673 insertions, 0 deletions
diff --git a/gnome-base/gnome-vfs/Manifest b/gnome-base/gnome-vfs/Manifest new file mode 100644 index 000000000000..7378a95891bd --- /dev/null +++ b/gnome-base/gnome-vfs/Manifest @@ -0,0 +1 @@ +DIST gnome-vfs-2.24.4.tar.bz2 1890370 SHA256 62de64b5b804eb04104ff98fcd6a8b7276d510a49fbd9c0feb568f8996444faa SHA512 db4e49f5356647667c4d40c7ce5c299c934cb41069b2086fb89c4e87b2202b5009616d65c1dafeb93e37033a5a68965342c2b18d87b8a3265c4347dec5128581 WHIRLPOOL 53376928ae04cc1d693e57afe18f2b91431b8c8d678cf58eedd057eb23e9f34010294faf83e3085126adf310da5a135076cf085f63f1db0d3a1add21cc0641a9 diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.12.0-afs.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.12.0-afs.patch new file mode 100644 index 000000000000..cdc88c24b6a3 --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.12.0-afs.patch @@ -0,0 +1,12 @@ +diff -ur gnome-vfs-2.12.0/libgnomevfs/gnome-vfs-filesystem-type.c gnome-vfs-2.12.0-patched/libgnomevfs/gnome-vfs-filesystem-type.c +--- gnome-vfs-2.12.0/libgnomevfs/gnome-vfs-filesystem-type.c 2005-08-23 01:34:36.000000000 +0800 ++++ gnome-vfs-2.12.0-patched/libgnomevfs/gnome-vfs-filesystem-type.c 2005-09-18 20:30:47.000000000 +0800 +@@ -35,7 +35,7 @@ + + static struct FSInfo fs_data[] = { + { "affs" , N_("AFFS Volume"), 0}, +- { "afs" , N_("AFS Network Volume"), 0 }, ++ { "afs" , N_("AFS Network Volume"), 1 }, + { "auto" , N_("Auto-detected Volume"), 0 }, + { "cd9660" , N_("CD-ROM Drive"), 0 }, + { "cdda" , N_("CD Digital Audio"), 0 }, diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.15.2-headers-define.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.15.2-headers-define.patch new file mode 100644 index 000000000000..f74db8edb1cd --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.15.2-headers-define.patch @@ -0,0 +1,19 @@ +--- configure.in 2006-06-13 00:36:14.000000000 -0500 ++++ configure.in 2006-06-13 00:54:15.000000000 -0500 +@@ -191,6 +191,16 @@ + + AC_CHECK_HEADERS(sys/param.h sys/resource.h sys/vfs.h sys/mount.h sys/statfs.h sys/statvfs.h sys/param.h wctype.h sys/poll.h poll.h) + ++AC_CHECK_HEADERS([pwd.h]) ++if test "$ac_cv_header_pwd_h" = "yes"; then ++ AC_DEFINE(HAVE_PWD_H, [1], [pwd.h present]) ++fi ++ ++AC_CHECK_HEADERS([grp.h]) ++if test "$ac_cv_header_grp_h" = "yes"; then ++ AC_DEFINE(HAVE_GRP_H, [1], [grp.h present]) ++fi ++ + dnl + dnl file system type member in statfs struct + dnl diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.16.0-no-dbus-crash.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.16.0-no-dbus-crash.patch new file mode 100644 index 000000000000..6905060a4f71 --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.16.0-no-dbus-crash.patch @@ -0,0 +1,12 @@ +diff --exclude-from=/home/dang/.diffrc -u -ruN gnome-vfs-2.16.0.orig/libgnomevfs/gnome-vfs-volume-monitor-client.c gnome-vfs-2.16.0/libgnomevfs/gnome-vfs-volume-monitor-client.c +--- gnome-vfs-2.16.0.orig/libgnomevfs/gnome-vfs-volume-monitor-client.c 2006-07-07 04:46:39.000000000 -0400 ++++ gnome-vfs-2.16.0/libgnomevfs/gnome-vfs-volume-monitor-client.c 2006-09-21 11:22:49.000000000 -0400 +@@ -236,6 +236,8 @@ + gnome_vfs_volume_monitor_client_init (GnomeVFSVolumeMonitorClient *volume_monitor_client) + { + setup_dbus_connection (volume_monitor_client); ++ if (!volume_monitor_client->dbus_conn) ++ return; + read_drives_from_daemon (volume_monitor_client); + read_volumes_from_daemon (volume_monitor_client); + } diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.20.0-automagic-deps.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.20.0-automagic-deps.patch new file mode 100644 index 000000000000..876148b891f4 --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.20.0-automagic-deps.patch @@ -0,0 +1,68 @@ +Index: configure.in +=================================================================== +--- configure.in (révision 5413) ++++ configure.in (copie de travail) +@@ -448,9 +448,13 @@ + dnl GSSAPI + dnl Check for Kerberos installation + have_gssapi=no ++ ++AC_ARG_ENABLE(krb5, ++ AS_HELP_STRING([--enable-krb5],[Enable Kerberos 5 support]), ++ [],[enable_krb5=yes]) + AC_PATH_PROG([KRB5_CONFIG], krb5-config, none, $PATH:/usr/kerberos/bin) +- +-if test "x$KRB5_CONFIG" != "xnone"; then ++ ++if test "x$KRB5_CONFIG" != "xnone" -a "x$enable_krb5" = "xyes"; then + GSSAPI_LIBS="`${KRB5_CONFIG} --libs gssapi`" + GSSAPI_CFLAGS="`${KRB5_CONFIG} --cflags gssapi`" + +@@ -481,8 +485,12 @@ + break + ]) + LIBS="$saved_LIBS" +- CPPFLAGS="$saved_CPPFLAGS" +-fi ++ CPPFLAGS="$saved_CPPFLAGS" ++fi ++ ++if test "x$KRB5_CONFIG" = "xnone" -a "x$enable_krb5" = "xyes"; then ++ AC_MSG_ERROR([*** kerberos 5 support enabled but krb5-config not found ***]) ++fi + AC_SUBST(GSSAPI_LIBS) + AC_SUBST(GSSAPI_CFLAGS) + +@@ -1077,9 +1085,13 @@ + dnl ===================== + dnl ACL checks + dnl ===================== +-acl_backends="" ++acl_backends="none" + ACL_LIBS="" + ++AC_ARG_ENABLE(acl, ++ AS_HELP_STRING([--disable-acl],[Don't use libacl support]), ++ [],[enable_acl=yes]) ++ + AC_CHECK_LIB(attr,getxattr,[ACL_LIBS="$ACL_LIBS -lattr"]) + AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"]) + AC_CHECK_LIB(sec,acl,[ACL_LIBS="$ACL_LIBS -lsec"]) +@@ -1102,7 +1114,7 @@ + gvfs_cv_HAVE_POSIX_ACLS=yes, gvfs_cv_HAVE_POSIX_ACLS=no) + LIBS=$acl_LIBS]) + +-if test x"$gvfs_cv_HAVE_SOLARIS_ACLS" = x"yes" ; then ++if test x"$gvfs_cv_HAVE_SOLARIS_ACLS" = x"yes" -a x"$enable_acl" = x"yes"; then + have_solaris_acl_support=yes + acl_backends="solaris" + +@@ -1110,7 +1122,7 @@ + AC_CHECK_HEADERS([pwd.h grp.h]) + fi + +-if test x"$gvfs_cv_HAVE_POSIX_ACLS" = x"yes" ; then ++if test x"$gvfs_cv_HAVE_POSIX_ACLS" = x"yes" -a x"$enable_acl" = x"yes"; then + have_posix_acl_support=yes + acl_backends="posix" + diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.20.1-automagic-deps.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.20.1-automagic-deps.patch new file mode 100644 index 000000000000..11ac34c07214 --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.20.1-automagic-deps.patch @@ -0,0 +1,19 @@ +--- configure.in. 2007-11-30 04:15:01.000000000 +0100 ++++ configure.in 2007-11-30 04:16:21.000000000 +0100 +@@ -1102,6 +1102,7 @@ + AS_HELP_STRING([--disable-acl],[Don't use libacl support]), + [],[enable_acl=yes]) + ++if test "x$enable_acl" = "xyes"; then + AC_CHECK_LIB(attr,getxattr,[ACL_LIBS="$ACL_LIBS -lattr"]) + AC_CHECK_LIB(acl,acl_get_file,[ACL_LIBS="$ACL_LIBS -lacl"]) + AC_CHECK_LIB(sec,acl,[ACL_LIBS="$ACL_LIBS -lsec"]) +@@ -1189,6 +1190,8 @@ + fi + ++fi + AC_SUBST(ACL_LIBS) ++ + AM_CONDITIONAL(HAVE_POSIX_ACL, test x"$have_posix_acl_support" = x"yes") + AM_CONDITIONAL(HAVE_SOLARIS_ACL, test x"$have_solaris_acl_support" = x"yes") + diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.24.0-uuid-mount.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.0-uuid-mount.patch new file mode 100644 index 000000000000..e76a9837136a --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.0-uuid-mount.patch @@ -0,0 +1,77 @@ +From 8427c2daf543353f42b932b5137b6ec590f6589b Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Sat, 2 Oct 2010 00:42:31 +0200 +Subject: [PATCH 7/9] Prevent duplicated volumes, bug #193083 + +--- + libgnomevfs/gnome-vfs-unix-mounts.c | 39 +++++++++++++++++++++++++++++++++- + 1 files changed, 37 insertions(+), 2 deletions(-) + +diff --git a/libgnomevfs/gnome-vfs-unix-mounts.c b/libgnomevfs/gnome-vfs-unix-mounts.c +index 51a009b..3eee305 100644 +--- a/libgnomevfs/gnome-vfs-unix-mounts.c ++++ b/libgnomevfs/gnome-vfs-unix-mounts.c +@@ -40,6 +40,10 @@ + #ifdef HAVE_POLL_H + #include <poll.h> + #endif ++ ++#include <limits.h> ++#include <stdlib.h> ++ + #include <stdio.h> + #include <unistd.h> + #include <sys/time.h> +@@ -290,6 +294,15 @@ _gnome_vfs_get_current_unix_mounts (GList **return_list) + + mount_entry->mount_path = g_strdup (mntent->mnt_dir); + mount_entry->device_path = g_strdup (mntent->mnt_fsname); ++ ++ if (g_file_test (mntent->mnt_fsname, G_FILE_TEST_IS_SYMLINK)) { ++ char rpath[PATH_MAX]; ++ if (realpath (mntent->mnt_fsname, rpath)) { ++ g_free (mount_entry->device_path); ++ mount_entry->device_path = g_strdup (rpath); ++ } ++ } ++ + mount_entry->filesystem_type = g_strdup (mntent->mnt_type); + + g_hash_table_insert (mounts_hash, +@@ -571,9 +584,31 @@ _gnome_vfs_get_unix_mount_table (GList **return_list) + } + + mount_entry = g_new0 (GnomeVFSUnixMountPoint, 1); +- ++ ++ if(strlen(mntent->mnt_fsname) >= 5 && !strncmp (mntent->mnt_fsname, "UUID=", 5)) { ++ mount_entry->device_path = g_strdup_printf ("/dev/disk/by-uuid/%s", mntent->mnt_fsname+5); ++ } ++ else if(strlen(mntent->mnt_fsname) >= 6 && !strncmp (mntent->mnt_fsname, "LABEL=", 6)) { ++ mount_entry->device_path = g_strdup_printf ("/dev/disk/by-label/%s", mntent->mnt_fsname+6); ++ } ++ else { ++ mount_entry->device_path = g_strdup (mntent->mnt_fsname); ++ } ++ ++ if (g_file_test (mount_entry->device_path, G_FILE_TEST_IS_SYMLINK)) { ++ char rpath[PATH_MAX]; ++ if (realpath (mount_entry->device_path, rpath)) { ++ g_free (mount_entry->device_path); ++ mount_entry->device_path = g_strdup (rpath); ++ } ++ else { ++ g_free (mount_entry->device_path); ++ g_free (mount_entry); ++ continue; ++ } ++ } ++ + mount_entry->mount_path = g_strdup (mntent->mnt_dir); +- mount_entry->device_path = g_strdup (mntent->mnt_fsname); + mount_entry->filesystem_type = g_strdup (mntent->mnt_type); + + #ifdef HAVE_HASMNTOPT +-- +1.7.3 + diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-automake-1.13.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-automake-1.13.patch new file mode 100644 index 000000000000..69f470a396a9 --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-automake-1.13.patch @@ -0,0 +1,30 @@ + configure.in | 2 +- + test/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.in b/configure.in +index 7335451..7817998 100644 +--- a/configure.in ++++ b/configure.in +@@ -33,7 +33,7 @@ AC_SUBST(LIBGNOMEVFS_REVISION) + AC_SUBST(LIBGNOMEVFS_AGE) + AC_SUBST(LIBGNOMEVFS_VERSION) + +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS(config.h) + AM_INIT_AUTOMAKE(gnome-vfs, $LIBGNOMEVFS_VERSION) + + dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work +diff --git a/test/Makefile.am b/test/Makefile.am +index 5b0992e..626bdec 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -65,7 +65,7 @@ TESTS = test-acl \ + test-async-cancel \ + test-escape \ + test-uri \ +- $(srcdir)/auto-test ++ auto-test + + libraries = \ + $(top_builddir)/libgnomevfs/libgnomevfs-2.la \ diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-build-tests-asneeded.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-build-tests-asneeded.patch new file mode 100644 index 000000000000..45ca015573f0 --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-build-tests-asneeded.patch @@ -0,0 +1,25 @@ +From b7dabab33e00bdbd8b566ca058a1bce7dec2b77d Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Sat, 2 Oct 2010 01:45:21 +0200 +Subject: [PATCH 8/9] Do not build tests unless required + +--- + test/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/test/Makefile.am b/test/Makefile.am +index 5b0992e..a1aefa0 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -14,7 +14,7 @@ else + platform_only_programs = test-dns-sd test-symlinks test-parse-ls-lga + endif + +-noinst_PROGRAMS = \ ++check_PROGRAMS = \ + test-acl \ + test-address \ + test-async \ +-- +1.7.3 + diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-disable-test-async-cancel.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-disable-test-async-cancel.patch new file mode 100644 index 000000000000..2684c92ec098 --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-disable-test-async-cancel.patch @@ -0,0 +1,24 @@ +From 390c1f6c06917f54cfacd5f85834d02c231cc2ea Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Sat, 2 Oct 2010 01:46:31 +0200 +Subject: [PATCH 9/9] Disable broken test, bug #285706, upstream #618089 + +--- + test/Makefile.am | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/test/Makefile.am b/test/Makefile.am +index a1aefa0..c18f2e4 100644 +--- a/test/Makefile.am ++++ b/test/Makefile.am +@@ -62,7 +62,6 @@ TESTS_ENVIRONMENT = GNOME_VFS_MODULE_PATH=$(top_builddir)/modules/.libs \ + SRCDIR=$(srcdir) + TESTS = test-acl \ + test-address \ +- test-async-cancel \ + test-escape \ + test-uri \ + $(srcdir)/auto-test +-- +1.7.3 + diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-gnutls27.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-gnutls27.patch new file mode 100644 index 000000000000..93ebd17c7eff --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-gnutls27.patch @@ -0,0 +1,68 @@ +Debian #529827 +GNOME #574589 +Gentoo #253729 +Patch by Gilles Dartiguelongue, fixed for correctly setting have_ssl + +Allow gnome-vfs-2.24 to build with gnutls >= 2.7.0 +Use pkg-config in place of gnutls own macro since it's not present anymore. + +As gnome-vfs-ssl.c also directly uses libgcrypt, we need to make sure that +configure checks for it. Use AM_PATH_LIBGCRYPT macro for that. + + +Index: gnome-vfs-2.24.4/configure.in +=================================================================== +--- gnome-vfs-2.24.4.orig/configure.in 2011-03-16 14:07:18.901009688 +0100 ++++ gnome-vfs-2.24.4/configure.in 2011-03-16 14:16:19.317009687 +0100 +@@ -667,15 +667,14 @@ + if test "x${OPENSSL_LIBS}" != "x"; then + AC_MSG_ERROR([*** Can't use both openssl and gnutls at the same time. Please pick one only. ***]) + else +- AC_CHECK_HEADER(gcrypt.h,, AC_MSG_ERROR([*** Need gcrypt.h to compile with GnuTLS support ***])) +- AM_PATH_LIBGNUTLS(1.0.0, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) +- have_ssl=true]) +- ++ AM_PATH_LIBGCRYPT ++ if test "x${LIBGCRYPT_LIBS}" = "x"; then ++ AC_MSG_ERROR([Unable to find LIBGRYPT]) ++ fi ++ PKG_CHECK_MODULES(LIBGNUTLS, gnutls >= 1.0.0, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) ++ have_ssl=true]) + if test "x${LIBGNUTLS_LIBS}" = "x"; then +- AM_PATH_LIBGNUTLS(0.5.1, [AC_DEFINE(HAVE_GNUTLS, 1, [Define to 1 if GnuTLS is available]) +- AC_DEFINE(GNUTLS_COMPAT, 1, [FIXME]) +- have_ssl=true], +- AC_MSG_ERROR([Unable to find GNUTLS])) ++ AC_MSG_ERROR([Unable to find GNUTLS]) + fi + fi + fi +@@ -1045,8 +1044,8 @@ + dnl ============================================================================== + + PKG_CHECK_MODULES(LIBGNOMEVFS, glib-2.0 >= $GLIB_REQUIRED gmodule-no-export-2.0 >= $GLIB_REQUIRED gthread-2.0 >= $GLIB_REQUIRED gobject-2.0 >= $GLIB_REQUIRED gconf-2.0 >= $GCONF_REQUIRED libxml-2.0 >= $XML_REQUIRED gnome-mime-data-2.0 $dbus_requirement) +-LIBGNOMEVFS_CFLAGS="$LIBGNOMEVFS_CFLAGS $OPENSSL_CFLAGS $LIBGNUTLS_CFLAGS $HOWL_CFLAGS $AVAHI_CFLAGS" +-LIBGNOMEVFS_LIBS="$LIBGNOMEVFS_LIBS $OPENSSL_LIBS $LIBGNUTLS_LIBS $HOWL_LIBS $AVAHI_LIBS $RESOLVER_LIBS" ++LIBGNOMEVFS_CFLAGS="$LIBGNOMEVFS_CFLAGS $OPENSSL_CFLAGS $LIBGNUTLS_CFLAGS $LIBGCRYPT_CFLAGS $HOWL_CFLAGS $AVAHI_CFLAGS" ++LIBGNOMEVFS_LIBS="$LIBGNOMEVFS_LIBS $OPENSSL_LIBS $LIBGNUTLS_LIBS $LIBGCRYPT_LIBS $HOWL_LIBS $AVAHI_LIBS $RESOLVER_LIBS" + AC_SUBST(LIBGNOMEVFS_CFLAGS) + AC_SUBST(LIBGNOMEVFS_LIBS) + +Index: gnome-vfs-2.24.4/libgnomevfs/gnome-vfs-ssl.c +=================================================================== +--- gnome-vfs-2.24.4.orig/libgnomevfs/gnome-vfs-ssl.c 2011-03-16 14:07:18.861009688 +0100 ++++ gnome-vfs-2.24.4/libgnomevfs/gnome-vfs-ssl.c 2011-03-16 14:09:17.517009687 +0100 +@@ -61,13 +61,6 @@ + #endif + #endif + +-#if defined GNUTLS_COMPAT +-#define gnutls_certificate_credentials GNUTLS_CERTIFICATE_CREDENTIALS +-#define gnutls_session GNUTLS_STATE +-#define gnutls_certificate_free_credentials gnutls_certificate_free_sc +-#define gnutls_certificate_allocate_credentials gnutls_certificate_allocate_sc +-#endif +- + typedef struct { + #ifdef HAVE_OPENSSL + int sockfd; diff --git a/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-home_dir_fakeroot.patch b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-home_dir_fakeroot.patch new file mode 100644 index 000000000000..991286aa4de6 --- /dev/null +++ b/gnome-base/gnome-vfs/files/gnome-vfs-2.24.4-home_dir_fakeroot.patch @@ -0,0 +1,155 @@ +From 01dba45f0d15b7e23f21d19776d64f69879cd27a Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Sat, 2 Oct 2010 00:41:01 +0200 +Subject: [PATCH 5/9] Fix to identify ${HOME} (#200897) + +Thanks to debian folks. +--- + libgnomevfs/gnome-vfs-application-registry.c | 2 +- + libgnomevfs/gnome-vfs-init.c | 3 +- + libgnomevfs/gnome-vfs-private-utils.c | 52 ++++++++++++++++++++++++++ + libgnomevfs/gnome-vfs-private-utils.h | 2 + + modules/file-method.c | 6 +- + 5 files changed, 60 insertions(+), 5 deletions(-) + +diff --git a/libgnomevfs/gnome-vfs-application-registry.c b/libgnomevfs/gnome-vfs-application-registry.c +index 0b11cc5..051ea44 100644 +--- a/libgnomevfs/gnome-vfs-application-registry.c ++++ b/libgnomevfs/gnome-vfs-application-registry.c +@@ -965,7 +965,7 @@ gnome_vfs_application_registry_init (void) + NULL); + gnome_registry_dir.system_dir = TRUE; + +- user_registry_dir.dirname = g_build_filename (g_get_home_dir(), ++ user_registry_dir.dirname = g_build_filename (gnome_vfs_get_home_dir(), + ".gnome", + "application-info", + NULL); +diff --git a/libgnomevfs/gnome-vfs-init.c b/libgnomevfs/gnome-vfs-init.c +index e3fd5d9..c07cf06 100644 +--- a/libgnomevfs/gnome-vfs-init.c ++++ b/libgnomevfs/gnome-vfs-init.c +@@ -118,7 +118,8 @@ gnome_vfs_init (void) + char *bogus_argv[2] = { "dummy", NULL }; + */ + +- if (!ensure_dot_gnome_exists ()) { ++ /* The first call also checks that ~/.gnome2 is writable. */ ++ if (!gnome_vfs_get_home_dir ()) { + return FALSE; + } + +diff --git a/libgnomevfs/gnome-vfs-private-utils.c b/libgnomevfs/gnome-vfs-private-utils.c +index 7fafde3..7ad8fbc 100644 +--- a/libgnomevfs/gnome-vfs-private-utils.c ++++ b/libgnomevfs/gnome-vfs-private-utils.c +@@ -34,6 +34,7 @@ + #include "gnome-vfs-uri.h" + #include <errno.h> + #include <glib.h> ++#include <glib/gstdio.h> + #include <gconf/gconf-client.h> + #include <stdlib.h> + #include <string.h> +@@ -1085,3 +1086,54 @@ _gnome_vfs_winsock_strerror (int error) + } + #endif + ++static gboolean ++ensure_dot_gnome_exists (gchar *home_dir) ++{ ++ gboolean retval = TRUE; ++ gchar *dirname; ++ ++ dirname = g_build_filename (home_dir, ".gnome2", NULL); ++ ++ if (!g_file_test (dirname, G_FILE_TEST_EXISTS)) { ++ if (g_mkdir (dirname, S_IRWXU) != 0) { ++ g_warning ("Unable to create ~/.gnome2 directory: %s", ++ g_strerror (errno)); ++ retval = FALSE; ++ } ++ } else if (!g_file_test (dirname, G_FILE_TEST_IS_DIR)) { ++ g_warning ("Error: ~/.gnome2 must be a directory."); ++ retval = FALSE; ++ } ++ ++ g_free (dirname); ++ return retval; ++} ++ ++/** ++ * gnome_vfs_get_home_dir: ++ * ++ * If ~/.gnome2 is writable, return the home directory ++ * Otherwise, return the contents of the HOME environment variable ++ * ++ * Return value: home directory if successful, NULL otherwise. ++ * Do not free the value returned. ++ */ ++const gchar * ++gnome_vfs_get_home_dir (void) ++{ ++ static gchar *home = NULL; ++ ++ if (home == NULL) { ++ gchar *tmp = g_get_home_dir (); ++ if (ensure_dot_gnome_exists (tmp)) { ++ home = g_strdup (tmp); ++ } else { ++ gchar *tmp2 = g_getenv ("HOME"); ++ if (!g_str_equal (tmp, tmp2) && ensure_dot_gnome_exists (tmp2)) { ++ home = g_strdup (tmp2); ++ } ++ } ++ } ++ ++ return home; ++} +diff --git a/libgnomevfs/gnome-vfs-private-utils.h b/libgnomevfs/gnome-vfs-private-utils.h +index 981c6d9..fe282a2 100644 +--- a/libgnomevfs/gnome-vfs-private-utils.h ++++ b/libgnomevfs/gnome-vfs-private-utils.h +@@ -124,6 +124,8 @@ const char *_gnome_vfs_winsock_strerror (int error); + + #endif + ++const gchar *gnome_vfs_get_home_dir (void); ++ + G_END_DECLS + + #endif /* _GNOME_VFS_PRIVATE_UTILS_H */ +diff --git a/modules/file-method.c b/modules/file-method.c +index 37e4853..7265e58 100644 +--- a/modules/file-method.c ++++ b/modules/file-method.c +@@ -1531,7 +1531,7 @@ save_trash_entry_cache (void) + GList *p; + char *buffer, *escaped_path, *escaped_mount_point; + +- cache_file_parent = append_to_path (g_get_home_dir (), TRASH_ENTRY_CACHE_PARENT); ++ cache_file_parent = append_to_path (gnome_vfs_get_home_dir (), TRASH_ENTRY_CACHE_PARENT); + cache_file_path = append_to_path (cache_file_parent, TRASH_ENTRY_CACHE_NAME); + + if (mkdir_recursive (cache_file_parent, 0777) != 0) { +@@ -1670,7 +1670,7 @@ read_saved_cached_trash_entries (void) + cached_trash_directories = NULL; + + /* read in the entries from disk */ +- cache_file_path = g_build_filename (g_get_home_dir (), ++ cache_file_path = g_build_filename (gnome_vfs_get_home_dir (), + TRASH_ENTRY_CACHE_PARENT, + TRASH_ENTRY_CACHE_NAME, + NULL); +@@ -1942,7 +1942,7 @@ do_find_directory (GnomeVFSMethod *method, + return GNOME_VFS_ERROR_INVALID_URI; + + /* We will need the URI and the stat structure for the home directory. */ +- home_directory = g_get_home_dir (); ++ home_directory = gnome_vfs_get_home_dir (); + + if (gnome_vfs_context_check_cancellation (context)) { + g_free (full_name_near); +-- +1.7.3 + diff --git a/gnome-base/gnome-vfs/gnome-vfs-2.24.4-r2.ebuild b/gnome-base/gnome-vfs/gnome-vfs-2.24.4-r2.ebuild new file mode 100644 index 000000000000..29fbe347feab --- /dev/null +++ b/gnome-base/gnome-vfs/gnome-vfs-2.24.4-r2.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +GCONF_DEBUG="no" +GNOME_TARBALL_SUFFIX="bz2" +GNOME2_LA_PUNT="yes" + +inherit autotools eutils gnome2 multilib-minimal virtualx + +DESCRIPTION="Gnome Virtual Filesystem" +HOMEPAGE="http://www.gnome.org/" + +LICENSE="GPL-2 LGPL-2" +SLOT="2" +KEYWORDS="alpha amd64 arm ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris" +IUSE="acl avahi doc fam gnutls ipv6 kerberos samba ssl" + +RDEPEND=">=gnome-base/gconf-2.32.4-r1[${MULTILIB_USEDEP}] + >=dev-libs/glib-2.34.3[${MULTILIB_USEDEP}] + >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}] + >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] + gnome-base/gnome-mime-data + >=x11-misc/shared-mime-info-0.14 + >=dev-libs/dbus-glib-0.100.2[${MULTILIB_USEDEP}] + acl? ( + >=sys-apps/acl-2.2.52-r1[${MULTILIB_USEDEP}] + >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) + avahi? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] ) + samba? ( >=net-fs/samba-3.6.23-r1[${MULTILIB_USEDEP}] ) + ssl? ( + gnutls? ( + >=net-libs/gnutls-2.12.23-r6[${MULTILIB_USEDEP}] + !gnome-extra/gnome-vfs-sftp ) + !gnutls? ( + >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] + !gnome-extra/gnome-vfs-sftp ) ) +" +DEPEND="${RDEPEND} + sys-devel/gettext + gnome-base/gnome-common + >=dev-util/intltool-0.40 + >=virtual/pkgconfig-0-r1[${MULTILIB_USEDEP}] + >=dev-util/gtk-doc-am-1.13 + doc? ( >=dev-util/gtk-doc-1 )" +RDEPEND="${RDEPEND} + abi_x86_32? ( + !<=app-emulation/emul-linux-x86-gtklibs-20140508-r1 + !app-emulation/emul-linux-x86-gtklibs[-abi_x86_32(-)] + )" + +src_prepare() { + # Allow the Trash on afs filesystems (#106118) + epatch "${FILESDIR}"/${PN}-2.12.0-afs.patch + + # Fix compiling with headers missing + epatch "${FILESDIR}"/${PN}-2.15.2-headers-define.patch + + # Fix for crashes running programs via sudo + epatch "${FILESDIR}"/${PN}-2.16.0-no-dbus-crash.patch + + # Fix automagic dependencies, upstream bug #493475 + epatch "${FILESDIR}"/${PN}-2.20.0-automagic-deps.patch + epatch "${FILESDIR}"/${PN}-2.20.1-automagic-deps.patch + + # Fix to identify ${HOME} (#200897) + # thanks to debian folks + epatch "${FILESDIR}"/${PN}-2.24.4-home_dir_fakeroot.patch + + # Configure with gnutls-2.7, bug #253729 + # Fix building with gnutls-2.12, bug #388895 + epatch "${FILESDIR}"/${PN}-2.24.4-gnutls27.patch + + # Prevent duplicated volumes, bug #193083 + epatch "${FILESDIR}"/${PN}-2.24.0-uuid-mount.patch + + # Do not build tests with FEATURES="-test", bug #226221 + epatch "${FILESDIR}"/${PN}-2.24.4-build-tests-asneeded.patch + + # Disable broken test, bug #285706 + epatch "${FILESDIR}"/${PN}-2.24.4-disable-test-async-cancel.patch + + # Fix for automake-1.13 compatibility, #466944 + epatch "${FILESDIR}"/${P}-automake-1.13.patch + + # Fix deprecated API disabling in used libraries - this is not future-proof, bug 212163 + # upstream bug #519632 + sed -i -e '/DISABLE_DEPRECATED/d' \ + daemon/Makefile.am daemon/Makefile.in \ + libgnomevfs/Makefile.am libgnomevfs/Makefile.in \ + modules/Makefile.am modules/Makefile.in \ + test/Makefile.am test/Makefile.in || die + sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' \ + programs/Makefile.am programs/Makefile.in || die + + sed -e "s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/" -i configure.in || die + + eautoreconf + + gnome2_src_prepare +} + +multilib_src_configure() { + local myconf=( + --disable-schemas-install + --disable-static + --disable-cdda + --disable-howl + $(use_enable acl) + $(use_enable avahi) + $(use_enable fam) + $(use_enable gnutls) + --disable-hal + $(use_enable ipv6) + $(use_enable kerberos krb5) + $(use_enable samba) + $(use_enable ssl openssl) + # Useless ? --enable-http-neon + + # fix path to krb5-config + KRB5_CONFIG=/usr/bin/${CHOST}-krb5-config + ) + + # this works because of the order of configure parsing + # so should always be behind the use_enable options + # foser <foser@gentoo.org 19 Apr 2004 + use gnutls && use ssl && myconf+=( --disable-openssl ) + + #bug #519060 + #configure script is so messed up on res_init on Darwin + [[ ${CHOST} == *-darwin* ]] && export LIBS="${LIBS} -lresolv" + + ECONF_SOURCE=${S} \ + gnome2_src_configure "${myconf[@]}" + + if multilib_is_native_abi; then + ln -s "${S}"/doc/html doc/html || die + fi +} + +multilib_src_test() { + unset DISPLAY + # Fix bug #285706 + unset XAUTHORITY + Xemake check || die "tests failed" +} + +multilib_src_install() { + gnome2_src_install +} + +multilib_src_install_all() { + DOCS="AUTHORS ChangeLog HACKING NEWS README TODO" + einstalldocs +} diff --git a/gnome-base/gnome-vfs/metadata.xml b/gnome-base/gnome-vfs/metadata.xml new file mode 100644 index 000000000000..da6fd63d0085 --- /dev/null +++ b/gnome-base/gnome-vfs/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>gnome</herd> +</pkgmetadata> |