[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