[arch-commits] Commit in nemo/repos (8 files)
Balló György
bgyorgy at archlinux.org
Mon Mar 14 22:26:08 UTC 2016
Date: Monday, March 14, 2016 @ 23:26:07
Author: bgyorgy
Revision: 166775
archrelease: copy trunk to community-i686, community-x86_64
Added:
nemo/repos/community-i686/PKGBUILD
(from rev 166774, nemo/trunk/PKGBUILD)
nemo/repos/community-i686/deep-count-one-filesystem.patch
(from rev 166774, nemo/trunk/deep-count-one-filesystem.patch)
nemo/repos/community-i686/nemo.install
(from rev 166774, nemo/trunk/nemo.install)
nemo/repos/community-x86_64/PKGBUILD
(from rev 166774, nemo/trunk/PKGBUILD)
nemo/repos/community-x86_64/deep-count-one-filesystem.patch
(from rev 166774, nemo/trunk/deep-count-one-filesystem.patch)
nemo/repos/community-x86_64/nemo.install
(from rev 166774, nemo/trunk/nemo.install)
Deleted:
nemo/repos/community-i686/deep-count-one-filesystem.patch
nemo/repos/community-x86_64/deep-count-one-filesystem.patch
--------------------------------------------------+
/deep-count-one-filesystem.patch | 240 +++++++++++++++++++++
community-i686/PKGBUILD | 57 ++++
community-i686/deep-count-one-filesystem.patch | 120 ----------
community-i686/nemo.install | 14 +
community-x86_64/PKGBUILD | 57 ++++
community-x86_64/deep-count-one-filesystem.patch | 120 ----------
community-x86_64/nemo.install | 14 +
7 files changed, 382 insertions(+), 240 deletions(-)
Copied: nemo/repos/community-i686/PKGBUILD (from rev 166774, nemo/trunk/PKGBUILD)
===================================================================
--- community-i686/PKGBUILD (rev 0)
+++ community-i686/PKGBUILD 2016-03-14 22:26:07 UTC (rev 166775)
@@ -0,0 +1,57 @@
+# $Id$
+# Maintainer: Alexandre Filgueira <alexfilgueira at cinnarch.com>
+# Contributor: Ner0
+
+pkgname=nemo
+pkgver=2.8.7
+pkgrel=1
+pkgdesc="Cinnamon file manager (Nautilus fork)"
+arch=('i686' 'x86_64')
+url="https://github.com/linuxmint/nemo"
+license=('GPL')
+depends=('libexif' 'gvfs' 'dconf' 'desktop-file-utils' 'exempi' 'python2'
+ 'cinnamon-desktop' 'libnotify' 'libxml2' 'cinnamon-translations')
+makedepends=('gtk-doc' 'gobject-introspection' 'intltool' 'gnome-common' 'python2-gobject' 'python2-polib')
+options=('!emptydirs')
+install=nemo.install
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/nemo/tarball/$pkgver"
+ "deep-count-one-filesystem.patch")
+sha256sums=('21f290212bcfb4ac58f7bdc17e9dccfafb59d9fd52a7540a7e199e252a7c2fe4'
+ '1acd384b7e345d4e2815c51a94b4ffbb802ee376004c3db75cc871eef551cbfa')
+
+prepare() {
+ cd linuxmint-nemo-*
+
+ # Python2 fix
+ find -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ # directory: limit deep scount (folder contents and size) to one filesystem (FS#47480)
+ # https://github.com/linuxmint/nemo/pull/1083
+ patch -Np1 -i ../deep-count-one-filesystem.patch
+
+ # Rename 'Files' app name to avoid having the same as nautilus
+ sed -i 's/^Name\(.*\)=.*/Name\1=Nemo/' data/nemo.desktop.in.in
+}
+
+build() {
+ cd linuxmint-nemo-*
+
+ ./autogen.sh --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/nemo \
+ --disable-update-mimedb \
+ --disable-tracker \
+ --disable-gtk-doc-html \
+ --disable-schemas-compile
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=656231
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package() {
+ cd linuxmint-nemo-*
+
+ make DESTDIR="$pkgdir" install
+}
Deleted: community-i686/deep-count-one-filesystem.patch
===================================================================
--- community-i686/deep-count-one-filesystem.patch 2016-03-14 22:25:49 UTC (rev 166774)
+++ community-i686/deep-count-one-filesystem.patch 2016-03-14 22:26:07 UTC (rev 166775)
@@ -1,120 +0,0 @@
-From fe1f9cd21b521a5f2a89aa6be105fb1af86406b9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
-Date: Sun, 31 Jan 2016 07:56:28 +0100
-Subject: [PATCH] directory: limit deep scount (folder contents and size) to
- one filesystem When getting the size of the root directory, nemo was
- descending into other filesystems including /proc, causing it to report
- nonsensical sizes. Store the fsid of the starting directory, and do not
- recurse into other mount points.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=629394
-https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/585472
-
-Based on Nautilus commit:
-https://git.gnome.org/browse/nautilus/commit/?id=a645da5f1043c59203fd194fe85b6976d75d2ece
-
-Original author: Phillip Susi <psusi at ubuntu.com>
-
-Fixes issue #1050.
----
- libnemo-private/nemo-directory-async.c | 45 ++++++++++++++++++++++++++++++----
- 1 file changed, 40 insertions(+), 5 deletions(-)
-
-diff --git a/libnemo-private/nemo-directory-async.c b/libnemo-private/nemo-directory-async.c
-index 856ab0f..14c7026 100644
---- a/libnemo-private/nemo-directory-async.c
-+++ b/libnemo-private/nemo-directory-async.c
-@@ -134,6 +134,7 @@ struct DeepCountState {
- GFile *deep_count_location;
- GList *deep_count_subdirectories;
- GArray *seen_deep_count_inodes;
-+ char *fs_id;
- };
-
-
-@@ -2666,6 +2667,7 @@ deep_count_one (DeepCountState *state,
- NemoFile *file;
- GFile *subdir;
- gboolean is_seen_inode;
-+ const char *id;
- gboolean hidden;
- is_seen_inode = seen_inode (state, info);
- if (!is_seen_inode) {
-@@ -2684,10 +2686,13 @@ deep_count_one (DeepCountState *state,
- file->details->deep_directory_count += 1;
- }
- /* Record the fact that we have to descend into this directory. */
--
-- subdir = g_file_get_child (state->deep_count_location, g_file_info_get_name (info));
-- state->deep_count_subdirectories = g_list_prepend
-- (state->deep_count_subdirectories, subdir);
-+ id = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_ID_FILESYSTEM);
-+ if (g_strcmp0 (id, state->fs_id) == 0) {
-+ /* only if it is on the same filesystem */
-+ subdir = g_file_get_child (state->deep_count_location, g_file_info_get_name (info));
-+ state->deep_count_subdirectories = g_list_prepend
-+ (state->deep_count_subdirectories, subdir);
-+ }
- } else {
- /* Even non-regular files count as files. */
- if (hidden) {
-@@ -2719,6 +2724,7 @@ deep_count_state_free (DeepCountState *state)
- }
- g_list_free_full (state->deep_count_subdirectories, g_object_unref);
- g_array_free (state->seen_deep_count_inodes, TRUE);
-+ g_free (state->fs_id);
- g_free (state);
- }
-
-@@ -2865,6 +2871,7 @@ deep_count_load (DeepCountState *state, GFile *location)
- G_FILE_ATTRIBUTE_STANDARD_SIZE ","
- G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN ","
- G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP ","
-+ G_FILE_ATTRIBUTE_ID_FILESYSTEM ","
- G_FILE_ATTRIBUTE_UNIX_INODE,
- G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, /* flags */
- G_PRIORITY_LOW, /* prio */
-@@ -2896,6 +2903,27 @@ deep_count_stop (NemoDirectory *directory)
- }
-
- static void
-+deep_count_got_info (GObject *source_object,
-+ GAsyncResult *res,
-+ gpointer user_data)
-+{
-+ GFileInfo *info;
-+ const char *id;
-+ GFile *file = (GFile *)source_object;
-+ DeepCountState *state = (DeepCountState *)user_data;
-+
-+ info = g_file_query_info_finish (file,
-+ res,
-+ NULL);
-+ if (info) {
-+ id = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_ID_FILESYSTEM);
-+ state->fs_id = g_strdup (id);
-+ g_object_unref (info);
-+ }
-+ deep_count_load (state, file);
-+}
-+
-+static void
- deep_count_start (NemoDirectory *directory,
- NemoFile *file,
- gboolean *doing_io)
-@@ -2943,7 +2971,14 @@ deep_count_start (NemoDirectory *directory,
- directory->details->deep_count_in_progress = state;
-
- location = nemo_file_get_location (file);
-- deep_count_load (state, location);
-+ state->fs_id = NULL;
-+ g_file_query_info_async (location,
-+ G_FILE_ATTRIBUTE_ID_FILESYSTEM,
-+ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
-+ G_PRIORITY_DEFAULT,
-+ NULL,
-+ deep_count_got_info,
-+ state);
- g_object_unref (location);
- }
-
Copied: nemo/repos/community-i686/deep-count-one-filesystem.patch (from rev 166774, nemo/trunk/deep-count-one-filesystem.patch)
===================================================================
--- community-i686/deep-count-one-filesystem.patch (rev 0)
+++ community-i686/deep-count-one-filesystem.patch 2016-03-14 22:26:07 UTC (rev 166775)
@@ -0,0 +1,120 @@
+From fe1f9cd21b521a5f2a89aa6be105fb1af86406b9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
+Date: Sun, 31 Jan 2016 07:56:28 +0100
+Subject: [PATCH] directory: limit deep scount (folder contents and size) to
+ one filesystem When getting the size of the root directory, nemo was
+ descending into other filesystems including /proc, causing it to report
+ nonsensical sizes. Store the fsid of the starting directory, and do not
+ recurse into other mount points.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=629394
+https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/585472
+
+Based on Nautilus commit:
+https://git.gnome.org/browse/nautilus/commit/?id=a645da5f1043c59203fd194fe85b6976d75d2ece
+
+Original author: Phillip Susi <psusi at ubuntu.com>
+
+Fixes issue #1050.
+---
+ libnemo-private/nemo-directory-async.c | 45 ++++++++++++++++++++++++++++++----
+ 1 file changed, 40 insertions(+), 5 deletions(-)
+
+diff --git a/libnemo-private/nemo-directory-async.c b/libnemo-private/nemo-directory-async.c
+index 856ab0f..14c7026 100644
+--- a/libnemo-private/nemo-directory-async.c
++++ b/libnemo-private/nemo-directory-async.c
+@@ -134,6 +134,7 @@ struct DeepCountState {
+ GFile *deep_count_location;
+ GList *deep_count_subdirectories;
+ GArray *seen_deep_count_inodes;
++ char *fs_id;
+ };
+
+
+@@ -2666,6 +2667,7 @@ deep_count_one (DeepCountState *state,
+ NemoFile *file;
+ GFile *subdir;
+ gboolean is_seen_inode;
++ const char *id;
+ gboolean hidden;
+ is_seen_inode = seen_inode (state, info);
+ if (!is_seen_inode) {
+@@ -2684,10 +2686,13 @@ deep_count_one (DeepCountState *state,
+ file->details->deep_directory_count += 1;
+ }
+ /* Record the fact that we have to descend into this directory. */
+-
+- subdir = g_file_get_child (state->deep_count_location, g_file_info_get_name (info));
+- state->deep_count_subdirectories = g_list_prepend
+- (state->deep_count_subdirectories, subdir);
++ id = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_ID_FILESYSTEM);
++ if (g_strcmp0 (id, state->fs_id) == 0) {
++ /* only if it is on the same filesystem */
++ subdir = g_file_get_child (state->deep_count_location, g_file_info_get_name (info));
++ state->deep_count_subdirectories = g_list_prepend
++ (state->deep_count_subdirectories, subdir);
++ }
+ } else {
+ /* Even non-regular files count as files. */
+ if (hidden) {
+@@ -2719,6 +2724,7 @@ deep_count_state_free (DeepCountState *state)
+ }
+ g_list_free_full (state->deep_count_subdirectories, g_object_unref);
+ g_array_free (state->seen_deep_count_inodes, TRUE);
++ g_free (state->fs_id);
+ g_free (state);
+ }
+
+@@ -2865,6 +2871,7 @@ deep_count_load (DeepCountState *state, GFile *location)
+ G_FILE_ATTRIBUTE_STANDARD_SIZE ","
+ G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN ","
+ G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP ","
++ G_FILE_ATTRIBUTE_ID_FILESYSTEM ","
+ G_FILE_ATTRIBUTE_UNIX_INODE,
+ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, /* flags */
+ G_PRIORITY_LOW, /* prio */
+@@ -2896,6 +2903,27 @@ deep_count_stop (NemoDirectory *directory)
+ }
+
+ static void
++deep_count_got_info (GObject *source_object,
++ GAsyncResult *res,
++ gpointer user_data)
++{
++ GFileInfo *info;
++ const char *id;
++ GFile *file = (GFile *)source_object;
++ DeepCountState *state = (DeepCountState *)user_data;
++
++ info = g_file_query_info_finish (file,
++ res,
++ NULL);
++ if (info) {
++ id = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_ID_FILESYSTEM);
++ state->fs_id = g_strdup (id);
++ g_object_unref (info);
++ }
++ deep_count_load (state, file);
++}
++
++static void
+ deep_count_start (NemoDirectory *directory,
+ NemoFile *file,
+ gboolean *doing_io)
+@@ -2943,7 +2971,14 @@ deep_count_start (NemoDirectory *directory,
+ directory->details->deep_count_in_progress = state;
+
+ location = nemo_file_get_location (file);
+- deep_count_load (state, location);
++ state->fs_id = NULL;
++ g_file_query_info_async (location,
++ G_FILE_ATTRIBUTE_ID_FILESYSTEM,
++ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
++ G_PRIORITY_DEFAULT,
++ NULL,
++ deep_count_got_info,
++ state);
+ g_object_unref (location);
+ }
+
Copied: nemo/repos/community-i686/nemo.install (from rev 166774, nemo/trunk/nemo.install)
===================================================================
--- community-i686/nemo.install (rev 0)
+++ community-i686/nemo.install 2016-03-14 22:26:07 UTC (rev 166775)
@@ -0,0 +1,14 @@
+post_install() {
+ glib-compile-schemas --allow-any-name usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -ftq usr/share/icons/hicolor
+ update-mime-database usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+ post_install "$1"
+}
+
+post_remove() {
+ post_install "$1"
+}
Copied: nemo/repos/community-x86_64/PKGBUILD (from rev 166774, nemo/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD (rev 0)
+++ community-x86_64/PKGBUILD 2016-03-14 22:26:07 UTC (rev 166775)
@@ -0,0 +1,57 @@
+# $Id$
+# Maintainer: Alexandre Filgueira <alexfilgueira at cinnarch.com>
+# Contributor: Ner0
+
+pkgname=nemo
+pkgver=2.8.7
+pkgrel=1
+pkgdesc="Cinnamon file manager (Nautilus fork)"
+arch=('i686' 'x86_64')
+url="https://github.com/linuxmint/nemo"
+license=('GPL')
+depends=('libexif' 'gvfs' 'dconf' 'desktop-file-utils' 'exempi' 'python2'
+ 'cinnamon-desktop' 'libnotify' 'libxml2' 'cinnamon-translations')
+makedepends=('gtk-doc' 'gobject-introspection' 'intltool' 'gnome-common' 'python2-gobject' 'python2-polib')
+options=('!emptydirs')
+install=nemo.install
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/nemo/tarball/$pkgver"
+ "deep-count-one-filesystem.patch")
+sha256sums=('21f290212bcfb4ac58f7bdc17e9dccfafb59d9fd52a7540a7e199e252a7c2fe4'
+ '1acd384b7e345d4e2815c51a94b4ffbb802ee376004c3db75cc871eef551cbfa')
+
+prepare() {
+ cd linuxmint-nemo-*
+
+ # Python2 fix
+ find -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
+
+ # directory: limit deep scount (folder contents and size) to one filesystem (FS#47480)
+ # https://github.com/linuxmint/nemo/pull/1083
+ patch -Np1 -i ../deep-count-one-filesystem.patch
+
+ # Rename 'Files' app name to avoid having the same as nautilus
+ sed -i 's/^Name\(.*\)=.*/Name\1=Nemo/' data/nemo.desktop.in.in
+}
+
+build() {
+ cd linuxmint-nemo-*
+
+ ./autogen.sh --prefix=/usr --sysconfdir=/etc \
+ --localstatedir=/var --disable-static \
+ --libexecdir=/usr/lib/nemo \
+ --disable-update-mimedb \
+ --disable-tracker \
+ --disable-gtk-doc-html \
+ --disable-schemas-compile
+
+ #https://bugzilla.gnome.org/show_bug.cgi?id=656231
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+
+ make
+}
+
+package() {
+ cd linuxmint-nemo-*
+
+ make DESTDIR="$pkgdir" install
+}
Deleted: community-x86_64/deep-count-one-filesystem.patch
===================================================================
--- community-x86_64/deep-count-one-filesystem.patch 2016-03-14 22:25:49 UTC (rev 166774)
+++ community-x86_64/deep-count-one-filesystem.patch 2016-03-14 22:26:07 UTC (rev 166775)
@@ -1,120 +0,0 @@
-From fe1f9cd21b521a5f2a89aa6be105fb1af86406b9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
-Date: Sun, 31 Jan 2016 07:56:28 +0100
-Subject: [PATCH] directory: limit deep scount (folder contents and size) to
- one filesystem When getting the size of the root directory, nemo was
- descending into other filesystems including /proc, causing it to report
- nonsensical sizes. Store the fsid of the starting directory, and do not
- recurse into other mount points.
-
-https://bugzilla.gnome.org/show_bug.cgi?id=629394
-https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/585472
-
-Based on Nautilus commit:
-https://git.gnome.org/browse/nautilus/commit/?id=a645da5f1043c59203fd194fe85b6976d75d2ece
-
-Original author: Phillip Susi <psusi at ubuntu.com>
-
-Fixes issue #1050.
----
- libnemo-private/nemo-directory-async.c | 45 ++++++++++++++++++++++++++++++----
- 1 file changed, 40 insertions(+), 5 deletions(-)
-
-diff --git a/libnemo-private/nemo-directory-async.c b/libnemo-private/nemo-directory-async.c
-index 856ab0f..14c7026 100644
---- a/libnemo-private/nemo-directory-async.c
-+++ b/libnemo-private/nemo-directory-async.c
-@@ -134,6 +134,7 @@ struct DeepCountState {
- GFile *deep_count_location;
- GList *deep_count_subdirectories;
- GArray *seen_deep_count_inodes;
-+ char *fs_id;
- };
-
-
-@@ -2666,6 +2667,7 @@ deep_count_one (DeepCountState *state,
- NemoFile *file;
- GFile *subdir;
- gboolean is_seen_inode;
-+ const char *id;
- gboolean hidden;
- is_seen_inode = seen_inode (state, info);
- if (!is_seen_inode) {
-@@ -2684,10 +2686,13 @@ deep_count_one (DeepCountState *state,
- file->details->deep_directory_count += 1;
- }
- /* Record the fact that we have to descend into this directory. */
--
-- subdir = g_file_get_child (state->deep_count_location, g_file_info_get_name (info));
-- state->deep_count_subdirectories = g_list_prepend
-- (state->deep_count_subdirectories, subdir);
-+ id = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_ID_FILESYSTEM);
-+ if (g_strcmp0 (id, state->fs_id) == 0) {
-+ /* only if it is on the same filesystem */
-+ subdir = g_file_get_child (state->deep_count_location, g_file_info_get_name (info));
-+ state->deep_count_subdirectories = g_list_prepend
-+ (state->deep_count_subdirectories, subdir);
-+ }
- } else {
- /* Even non-regular files count as files. */
- if (hidden) {
-@@ -2719,6 +2724,7 @@ deep_count_state_free (DeepCountState *state)
- }
- g_list_free_full (state->deep_count_subdirectories, g_object_unref);
- g_array_free (state->seen_deep_count_inodes, TRUE);
-+ g_free (state->fs_id);
- g_free (state);
- }
-
-@@ -2865,6 +2871,7 @@ deep_count_load (DeepCountState *state, GFile *location)
- G_FILE_ATTRIBUTE_STANDARD_SIZE ","
- G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN ","
- G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP ","
-+ G_FILE_ATTRIBUTE_ID_FILESYSTEM ","
- G_FILE_ATTRIBUTE_UNIX_INODE,
- G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, /* flags */
- G_PRIORITY_LOW, /* prio */
-@@ -2896,6 +2903,27 @@ deep_count_stop (NemoDirectory *directory)
- }
-
- static void
-+deep_count_got_info (GObject *source_object,
-+ GAsyncResult *res,
-+ gpointer user_data)
-+{
-+ GFileInfo *info;
-+ const char *id;
-+ GFile *file = (GFile *)source_object;
-+ DeepCountState *state = (DeepCountState *)user_data;
-+
-+ info = g_file_query_info_finish (file,
-+ res,
-+ NULL);
-+ if (info) {
-+ id = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_ID_FILESYSTEM);
-+ state->fs_id = g_strdup (id);
-+ g_object_unref (info);
-+ }
-+ deep_count_load (state, file);
-+}
-+
-+static void
- deep_count_start (NemoDirectory *directory,
- NemoFile *file,
- gboolean *doing_io)
-@@ -2943,7 +2971,14 @@ deep_count_start (NemoDirectory *directory,
- directory->details->deep_count_in_progress = state;
-
- location = nemo_file_get_location (file);
-- deep_count_load (state, location);
-+ state->fs_id = NULL;
-+ g_file_query_info_async (location,
-+ G_FILE_ATTRIBUTE_ID_FILESYSTEM,
-+ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
-+ G_PRIORITY_DEFAULT,
-+ NULL,
-+ deep_count_got_info,
-+ state);
- g_object_unref (location);
- }
-
Copied: nemo/repos/community-x86_64/deep-count-one-filesystem.patch (from rev 166774, nemo/trunk/deep-count-one-filesystem.patch)
===================================================================
--- community-x86_64/deep-count-one-filesystem.patch (rev 0)
+++ community-x86_64/deep-count-one-filesystem.patch 2016-03-14 22:26:07 UTC (rev 166775)
@@ -0,0 +1,120 @@
+From fe1f9cd21b521a5f2a89aa6be105fb1af86406b9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor at gmail.com>
+Date: Sun, 31 Jan 2016 07:56:28 +0100
+Subject: [PATCH] directory: limit deep scount (folder contents and size) to
+ one filesystem When getting the size of the root directory, nemo was
+ descending into other filesystems including /proc, causing it to report
+ nonsensical sizes. Store the fsid of the starting directory, and do not
+ recurse into other mount points.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=629394
+https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/585472
+
+Based on Nautilus commit:
+https://git.gnome.org/browse/nautilus/commit/?id=a645da5f1043c59203fd194fe85b6976d75d2ece
+
+Original author: Phillip Susi <psusi at ubuntu.com>
+
+Fixes issue #1050.
+---
+ libnemo-private/nemo-directory-async.c | 45 ++++++++++++++++++++++++++++++----
+ 1 file changed, 40 insertions(+), 5 deletions(-)
+
+diff --git a/libnemo-private/nemo-directory-async.c b/libnemo-private/nemo-directory-async.c
+index 856ab0f..14c7026 100644
+--- a/libnemo-private/nemo-directory-async.c
++++ b/libnemo-private/nemo-directory-async.c
+@@ -134,6 +134,7 @@ struct DeepCountState {
+ GFile *deep_count_location;
+ GList *deep_count_subdirectories;
+ GArray *seen_deep_count_inodes;
++ char *fs_id;
+ };
+
+
+@@ -2666,6 +2667,7 @@ deep_count_one (DeepCountState *state,
+ NemoFile *file;
+ GFile *subdir;
+ gboolean is_seen_inode;
++ const char *id;
+ gboolean hidden;
+ is_seen_inode = seen_inode (state, info);
+ if (!is_seen_inode) {
+@@ -2684,10 +2686,13 @@ deep_count_one (DeepCountState *state,
+ file->details->deep_directory_count += 1;
+ }
+ /* Record the fact that we have to descend into this directory. */
+-
+- subdir = g_file_get_child (state->deep_count_location, g_file_info_get_name (info));
+- state->deep_count_subdirectories = g_list_prepend
+- (state->deep_count_subdirectories, subdir);
++ id = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_ID_FILESYSTEM);
++ if (g_strcmp0 (id, state->fs_id) == 0) {
++ /* only if it is on the same filesystem */
++ subdir = g_file_get_child (state->deep_count_location, g_file_info_get_name (info));
++ state->deep_count_subdirectories = g_list_prepend
++ (state->deep_count_subdirectories, subdir);
++ }
+ } else {
+ /* Even non-regular files count as files. */
+ if (hidden) {
+@@ -2719,6 +2724,7 @@ deep_count_state_free (DeepCountState *state)
+ }
+ g_list_free_full (state->deep_count_subdirectories, g_object_unref);
+ g_array_free (state->seen_deep_count_inodes, TRUE);
++ g_free (state->fs_id);
+ g_free (state);
+ }
+
+@@ -2865,6 +2871,7 @@ deep_count_load (DeepCountState *state, GFile *location)
+ G_FILE_ATTRIBUTE_STANDARD_SIZE ","
+ G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN ","
+ G_FILE_ATTRIBUTE_STANDARD_IS_BACKUP ","
++ G_FILE_ATTRIBUTE_ID_FILESYSTEM ","
+ G_FILE_ATTRIBUTE_UNIX_INODE,
+ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, /* flags */
+ G_PRIORITY_LOW, /* prio */
+@@ -2896,6 +2903,27 @@ deep_count_stop (NemoDirectory *directory)
+ }
+
+ static void
++deep_count_got_info (GObject *source_object,
++ GAsyncResult *res,
++ gpointer user_data)
++{
++ GFileInfo *info;
++ const char *id;
++ GFile *file = (GFile *)source_object;
++ DeepCountState *state = (DeepCountState *)user_data;
++
++ info = g_file_query_info_finish (file,
++ res,
++ NULL);
++ if (info) {
++ id = g_file_info_get_attribute_string (info, G_FILE_ATTRIBUTE_ID_FILESYSTEM);
++ state->fs_id = g_strdup (id);
++ g_object_unref (info);
++ }
++ deep_count_load (state, file);
++}
++
++static void
+ deep_count_start (NemoDirectory *directory,
+ NemoFile *file,
+ gboolean *doing_io)
+@@ -2943,7 +2971,14 @@ deep_count_start (NemoDirectory *directory,
+ directory->details->deep_count_in_progress = state;
+
+ location = nemo_file_get_location (file);
+- deep_count_load (state, location);
++ state->fs_id = NULL;
++ g_file_query_info_async (location,
++ G_FILE_ATTRIBUTE_ID_FILESYSTEM,
++ G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS,
++ G_PRIORITY_DEFAULT,
++ NULL,
++ deep_count_got_info,
++ state);
+ g_object_unref (location);
+ }
+
Copied: nemo/repos/community-x86_64/nemo.install (from rev 166774, nemo/trunk/nemo.install)
===================================================================
--- community-x86_64/nemo.install (rev 0)
+++ community-x86_64/nemo.install 2016-03-14 22:26:07 UTC (rev 166775)
@@ -0,0 +1,14 @@
+post_install() {
+ glib-compile-schemas --allow-any-name usr/share/glib-2.0/schemas
+ update-desktop-database -q
+ gtk-update-icon-cache -ftq usr/share/icons/hicolor
+ update-mime-database usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+ post_install "$1"
+}
+
+post_remove() {
+ post_install "$1"
+}
More information about the arch-commits
mailing list