[arch-commits] Commit in nautilus/repos (10 files)

Jan de Groot jgc at archlinux.org
Wed Jan 13 14:15:28 UTC 2016


    Date: Wednesday, January 13, 2016 @ 15:15:28
  Author: jgc
Revision: 258166

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  nautilus/repos/extra-i686/PKGBUILD
    (from rev 258165, nautilus/trunk/PKGBUILD)
  nautilus/repos/extra-i686/nautilus.install
    (from rev 258165, nautilus/trunk/nautilus.install)
  nautilus/repos/extra-i686/thumbnail-fix-jp2-crash.patch
    (from rev 258165, nautilus/trunk/thumbnail-fix-jp2-crash.patch)
  nautilus/repos/extra-x86_64/PKGBUILD
    (from rev 258165, nautilus/trunk/PKGBUILD)
  nautilus/repos/extra-x86_64/nautilus.install
    (from rev 258165, nautilus/trunk/nautilus.install)
  nautilus/repos/extra-x86_64/thumbnail-fix-jp2-crash.patch
    (from rev 258165, nautilus/trunk/thumbnail-fix-jp2-crash.patch)
Deleted:
  nautilus/repos/extra-i686/PKGBUILD
  nautilus/repos/extra-i686/nautilus.install
  nautilus/repos/extra-x86_64/PKGBUILD
  nautilus/repos/extra-x86_64/nautilus.install

--------------------------------------------+
 /PKGBUILD                                  |  118 +++++++++++++++++++++++++++
 /nautilus.install                          |   28 ++++++
 extra-i686/PKGBUILD                        |   52 -----------
 extra-i686/nautilus.install                |   14 ---
 extra-i686/thumbnail-fix-jp2-crash.patch   |   46 ++++++++++
 extra-x86_64/PKGBUILD                      |   52 -----------
 extra-x86_64/nautilus.install              |   14 ---
 extra-x86_64/thumbnail-fix-jp2-crash.patch |   46 ++++++++++
 8 files changed, 238 insertions(+), 132 deletions(-)

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2016-01-13 14:14:57 UTC (rev 258165)
+++ extra-i686/PKGBUILD	2016-01-13 14:15:28 UTC (rev 258166)
@@ -1,52 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-
-pkgbase=nautilus
-pkgname=(nautilus libnautilus-extension)
-pkgver=3.18.4
-pkgrel=1
-pkgdesc="GNOME file manager"
-arch=(i686 x86_64)
-license=(GPL)
-depends=(libexif gnome-desktop exempi gvfs desktop-file-utils dconf 
-         libtracker-sparql nautilus-sendto)
-makedepends=(intltool gobject-introspection python packagekit)
-url="http://www.gnome.org"
-options=('!emptydirs')
-source=(http://download.gnome.org/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz)
-sha256sums=('4ff2c78dba352b4666bb30e0c80ed786eed09199fd624f00810fce4d987fcd26')
-
-
-build() {
-  cd $pkgbase-$pkgver
-  ./configure --prefix=/usr --sysconfdir=/etc \
-      --localstatedir=/var --disable-static \
-      --libexecdir=/usr/lib/nautilus \
-      --disable-update-mimedb \
-      --disable-schemas-compile
-  make
-}
-
-package_nautilus() {
-  depends+=(libnautilus-extension)
-  groups=(gnome)
-  install=nautilus.install
-
-  cd $pkgbase-$pkgver
-  make DESTDIR="$pkgdir" install
-
-### Split libnautilus-extension
-  cd ..
-  mkdir -p n-e/usr/{lib,share}
-  mv "$pkgdir"/usr/include n-e/usr
-  mv "$pkgdir"/usr/lib/{girepository-1.0,pkgconfig} n-e/usr/lib
-  mv "$pkgdir"/usr/lib/libnautilus-extension.so* n-e/usr/lib
-  mv "$pkgdir"/usr/share/{gir-1.0,gtk-doc} n-e/usr/share
-}
-
-package_libnautilus-extension() {
-  pkgdesc="Library for extending the $pkgdesc"
-  depends=(gtk3)
-
-  mv n-e/* "$pkgdir"
-}

Copied: nautilus/repos/extra-i686/PKGBUILD (from rev 258165, nautilus/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2016-01-13 14:15:28 UTC (rev 258166)
@@ -0,0 +1,59 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgbase=nautilus
+pkgname=(nautilus libnautilus-extension)
+pkgver=3.18.4
+pkgrel=2
+pkgdesc="GNOME file manager"
+arch=(i686 x86_64)
+license=(GPL)
+depends=(libexif gnome-desktop exempi gvfs desktop-file-utils dconf 
+         libtracker-sparql nautilus-sendto)
+makedepends=(intltool gobject-introspection python packagekit)
+url="http://www.gnome.org"
+options=('!emptydirs')
+source=(http://download.gnome.org/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz
+        thumbnail-fix-jp2-crash.patch)
+sha256sums=('4ff2c78dba352b4666bb30e0c80ed786eed09199fd624f00810fce4d987fcd26'
+            'bccf39bf042638ec0d7224914860d664a24d56534dcb82a8887e76ff8cc1d3ce')
+
+prepare() {
+  cd $pkgbase-$pkgver
+  patch -Np1 -i ../thumbnail-fix-jp2-crash.patch
+}
+
+build() {
+  cd $pkgbase-$pkgver
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-static \
+      --libexecdir=/usr/lib/nautilus \
+      --disable-update-mimedb \
+      --disable-schemas-compile
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/      func_append compile_command " -Wl,-O1,--as-needed"\n      func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+  make
+}
+
+package_nautilus() {
+  depends+=(libnautilus-extension)
+  groups=(gnome)
+  install=nautilus.install
+
+  cd $pkgbase-$pkgver
+  make DESTDIR="$pkgdir" install
+
+### Split libnautilus-extension
+  cd ..
+  mkdir -p n-e/usr/{lib,share}
+  mv "$pkgdir"/usr/include n-e/usr
+  mv "$pkgdir"/usr/lib/{girepository-1.0,pkgconfig} n-e/usr/lib
+  mv "$pkgdir"/usr/lib/libnautilus-extension.so* n-e/usr/lib
+  mv "$pkgdir"/usr/share/{gir-1.0,gtk-doc} n-e/usr/share
+}
+
+package_libnautilus-extension() {
+  pkgdesc="Library for extending the $pkgdesc"
+  depends=(gtk3)
+
+  mv n-e/* "$pkgdir"
+}

Deleted: extra-i686/nautilus.install
===================================================================
--- extra-i686/nautilus.install	2016-01-13 14:14:57 UTC (rev 258165)
+++ extra-i686/nautilus.install	2016-01-13 14:15:28 UTC (rev 258166)
@@ -1,14 +0,0 @@
-post_install() {
-  glib-compile-schemas /usr/share/glib-2.0/schemas
-  update-desktop-database -q
-  gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-  update-mime-database /usr/share/mime > /dev/null
-}
-
-post_upgrade() {
-  post_install
-}
-
-post_remove() {
-  post_install
-}

Copied: nautilus/repos/extra-i686/nautilus.install (from rev 258165, nautilus/trunk/nautilus.install)
===================================================================
--- extra-i686/nautilus.install	                        (rev 0)
+++ extra-i686/nautilus.install	2016-01-13 14:15:28 UTC (rev 258166)
@@ -0,0 +1,14 @@
+post_install() {
+  glib-compile-schemas /usr/share/glib-2.0/schemas
+  update-desktop-database -q
+  gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+  update-mime-database /usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Copied: nautilus/repos/extra-i686/thumbnail-fix-jp2-crash.patch (from rev 258165, nautilus/trunk/thumbnail-fix-jp2-crash.patch)
===================================================================
--- extra-i686/thumbnail-fix-jp2-crash.patch	                        (rev 0)
+++ extra-i686/thumbnail-fix-jp2-crash.patch	2016-01-13 14:15:28 UTC (rev 258166)
@@ -0,0 +1,46 @@
+From 079d349206c2dd182df82e4b26e3e23c9b7a75c4 Mon Sep 17 00:00:00 2001
+From: Carlos Soriano <csoriano at gnome.org>
+Date: Mon, 11 Jan 2016 15:38:04 +0100
+Subject: thumbnails: avoid crash with jp2 images
+
+When thumbnailing a directory with jp2 some times nautilus
+was crashing.
+However tests on gdk_pixbuf were successful and gnome-desktop-thumbnails
+generation tests were also working.
+
+Also, nautilus is using raw pthreads in the thumbnail generation
+code, and seems the crash was actually only happening when inside the
+pthread and when using gdk-pixbuf, not only the gnome-desktop-thumbnail.
+
+Looking at the implementation of glib in threads and nautilus, one of
+the differences is that nautilus sets a stack size.
+The crash is happening because, unluckely, libjasper with some big
+images is using more stack size than the one nautilus is setting, which
+leads to a crash in libjasper.
+
+To fix it, remove the stack size set by nautilus, similarly to what glib
+does, not setting an actual stack size.
+
+Obviously the right thing to do is rewrite nautilus code to use the
+glib threads, but I want to let that as a newcomer bug to do.
+---
+ libnautilus-private/nautilus-thumbnails.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/libnautilus-private/nautilus-thumbnails.c b/libnautilus-private/nautilus-thumbnails.c
+index e04ed84..d52677c 100644
+--- a/libnautilus-private/nautilus-thumbnails.c
++++ b/libnautilus-private/nautilus-thumbnails.c
+@@ -163,9 +163,6 @@ thumbnail_thread_starter_cb (gpointer data)
+ 	pthread_attr_init (&thread_attributes);
+ 	pthread_attr_setdetachstate (&thread_attributes,
+ 				     PTHREAD_CREATE_DETACHED);
+-#ifdef _POSIX_THREAD_ATTR_STACKSIZE
+-	pthread_attr_setstacksize (&thread_attributes, 128*1024);
+-#endif
+ #ifdef DEBUG_THUMBNAILS
+ 	g_message ("(Main Thread) Creating thumbnails thread\n");
+ #endif
+-- 
+cgit v0.11.2
+

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2016-01-13 14:14:57 UTC (rev 258165)
+++ extra-x86_64/PKGBUILD	2016-01-13 14:15:28 UTC (rev 258166)
@@ -1,52 +0,0 @@
-# $Id$
-# Maintainer: Jan de Groot <jgc at archlinux.org>
-
-pkgbase=nautilus
-pkgname=(nautilus libnautilus-extension)
-pkgver=3.18.4
-pkgrel=1
-pkgdesc="GNOME file manager"
-arch=(i686 x86_64)
-license=(GPL)
-depends=(libexif gnome-desktop exempi gvfs desktop-file-utils dconf 
-         libtracker-sparql nautilus-sendto)
-makedepends=(intltool gobject-introspection python packagekit)
-url="http://www.gnome.org"
-options=('!emptydirs')
-source=(http://download.gnome.org/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz)
-sha256sums=('4ff2c78dba352b4666bb30e0c80ed786eed09199fd624f00810fce4d987fcd26')
-
-
-build() {
-  cd $pkgbase-$pkgver
-  ./configure --prefix=/usr --sysconfdir=/etc \
-      --localstatedir=/var --disable-static \
-      --libexecdir=/usr/lib/nautilus \
-      --disable-update-mimedb \
-      --disable-schemas-compile
-  make
-}
-
-package_nautilus() {
-  depends+=(libnautilus-extension)
-  groups=(gnome)
-  install=nautilus.install
-
-  cd $pkgbase-$pkgver
-  make DESTDIR="$pkgdir" install
-
-### Split libnautilus-extension
-  cd ..
-  mkdir -p n-e/usr/{lib,share}
-  mv "$pkgdir"/usr/include n-e/usr
-  mv "$pkgdir"/usr/lib/{girepository-1.0,pkgconfig} n-e/usr/lib
-  mv "$pkgdir"/usr/lib/libnautilus-extension.so* n-e/usr/lib
-  mv "$pkgdir"/usr/share/{gir-1.0,gtk-doc} n-e/usr/share
-}
-
-package_libnautilus-extension() {
-  pkgdesc="Library for extending the $pkgdesc"
-  depends=(gtk3)
-
-  mv n-e/* "$pkgdir"
-}

Copied: nautilus/repos/extra-x86_64/PKGBUILD (from rev 258165, nautilus/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2016-01-13 14:15:28 UTC (rev 258166)
@@ -0,0 +1,59 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgbase=nautilus
+pkgname=(nautilus libnautilus-extension)
+pkgver=3.18.4
+pkgrel=2
+pkgdesc="GNOME file manager"
+arch=(i686 x86_64)
+license=(GPL)
+depends=(libexif gnome-desktop exempi gvfs desktop-file-utils dconf 
+         libtracker-sparql nautilus-sendto)
+makedepends=(intltool gobject-introspection python packagekit)
+url="http://www.gnome.org"
+options=('!emptydirs')
+source=(http://download.gnome.org/sources/$pkgbase/${pkgver:0:4}/$pkgbase-$pkgver.tar.xz
+        thumbnail-fix-jp2-crash.patch)
+sha256sums=('4ff2c78dba352b4666bb30e0c80ed786eed09199fd624f00810fce4d987fcd26'
+            'bccf39bf042638ec0d7224914860d664a24d56534dcb82a8887e76ff8cc1d3ce')
+
+prepare() {
+  cd $pkgbase-$pkgver
+  patch -Np1 -i ../thumbnail-fix-jp2-crash.patch
+}
+
+build() {
+  cd $pkgbase-$pkgver
+  ./configure --prefix=/usr --sysconfdir=/etc \
+      --localstatedir=/var --disable-static \
+      --libexecdir=/usr/lib/nautilus \
+      --disable-update-mimedb \
+      --disable-schemas-compile
+  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/      func_append compile_command " -Wl,-O1,--as-needed"\n      func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
+  make
+}
+
+package_nautilus() {
+  depends+=(libnautilus-extension)
+  groups=(gnome)
+  install=nautilus.install
+
+  cd $pkgbase-$pkgver
+  make DESTDIR="$pkgdir" install
+
+### Split libnautilus-extension
+  cd ..
+  mkdir -p n-e/usr/{lib,share}
+  mv "$pkgdir"/usr/include n-e/usr
+  mv "$pkgdir"/usr/lib/{girepository-1.0,pkgconfig} n-e/usr/lib
+  mv "$pkgdir"/usr/lib/libnautilus-extension.so* n-e/usr/lib
+  mv "$pkgdir"/usr/share/{gir-1.0,gtk-doc} n-e/usr/share
+}
+
+package_libnautilus-extension() {
+  pkgdesc="Library for extending the $pkgdesc"
+  depends=(gtk3)
+
+  mv n-e/* "$pkgdir"
+}

Deleted: extra-x86_64/nautilus.install
===================================================================
--- extra-x86_64/nautilus.install	2016-01-13 14:14:57 UTC (rev 258165)
+++ extra-x86_64/nautilus.install	2016-01-13 14:15:28 UTC (rev 258166)
@@ -1,14 +0,0 @@
-post_install() {
-  glib-compile-schemas /usr/share/glib-2.0/schemas
-  update-desktop-database -q
-  gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
-  update-mime-database /usr/share/mime > /dev/null
-}
-
-post_upgrade() {
-  post_install
-}
-
-post_remove() {
-  post_install
-}

Copied: nautilus/repos/extra-x86_64/nautilus.install (from rev 258165, nautilus/trunk/nautilus.install)
===================================================================
--- extra-x86_64/nautilus.install	                        (rev 0)
+++ extra-x86_64/nautilus.install	2016-01-13 14:15:28 UTC (rev 258166)
@@ -0,0 +1,14 @@
+post_install() {
+  glib-compile-schemas /usr/share/glib-2.0/schemas
+  update-desktop-database -q
+  gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+  update-mime-database /usr/share/mime > /dev/null
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Copied: nautilus/repos/extra-x86_64/thumbnail-fix-jp2-crash.patch (from rev 258165, nautilus/trunk/thumbnail-fix-jp2-crash.patch)
===================================================================
--- extra-x86_64/thumbnail-fix-jp2-crash.patch	                        (rev 0)
+++ extra-x86_64/thumbnail-fix-jp2-crash.patch	2016-01-13 14:15:28 UTC (rev 258166)
@@ -0,0 +1,46 @@
+From 079d349206c2dd182df82e4b26e3e23c9b7a75c4 Mon Sep 17 00:00:00 2001
+From: Carlos Soriano <csoriano at gnome.org>
+Date: Mon, 11 Jan 2016 15:38:04 +0100
+Subject: thumbnails: avoid crash with jp2 images
+
+When thumbnailing a directory with jp2 some times nautilus
+was crashing.
+However tests on gdk_pixbuf were successful and gnome-desktop-thumbnails
+generation tests were also working.
+
+Also, nautilus is using raw pthreads in the thumbnail generation
+code, and seems the crash was actually only happening when inside the
+pthread and when using gdk-pixbuf, not only the gnome-desktop-thumbnail.
+
+Looking at the implementation of glib in threads and nautilus, one of
+the differences is that nautilus sets a stack size.
+The crash is happening because, unluckely, libjasper with some big
+images is using more stack size than the one nautilus is setting, which
+leads to a crash in libjasper.
+
+To fix it, remove the stack size set by nautilus, similarly to what glib
+does, not setting an actual stack size.
+
+Obviously the right thing to do is rewrite nautilus code to use the
+glib threads, but I want to let that as a newcomer bug to do.
+---
+ libnautilus-private/nautilus-thumbnails.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/libnautilus-private/nautilus-thumbnails.c b/libnautilus-private/nautilus-thumbnails.c
+index e04ed84..d52677c 100644
+--- a/libnautilus-private/nautilus-thumbnails.c
++++ b/libnautilus-private/nautilus-thumbnails.c
+@@ -163,9 +163,6 @@ thumbnail_thread_starter_cb (gpointer data)
+ 	pthread_attr_init (&thread_attributes);
+ 	pthread_attr_setdetachstate (&thread_attributes,
+ 				     PTHREAD_CREATE_DETACHED);
+-#ifdef _POSIX_THREAD_ATTR_STACKSIZE
+-	pthread_attr_setstacksize (&thread_attributes, 128*1024);
+-#endif
+ #ifdef DEBUG_THUMBNAILS
+ 	g_message ("(Main Thread) Creating thumbnails thread\n");
+ #endif
+-- 
+cgit v0.11.2
+



More information about the arch-commits mailing list