[arch-commits] Commit in cheese/trunk (PKGBUILD bug618203.patch)

Jan de Groot jgc at archlinux.org
Wed Aug 18 17:44:48 EDT 2010


    Date: Wednesday, August 18, 2010 @ 17:44:47
  Author: jgc
Revision: 87994

upgpkg: cheese 2.30.1-2
Fix FS#20392

Added:
  cheese/trunk/bug618203.patch
Modified:
  cheese/trunk/PKGBUILD

-----------------+
 PKGBUILD        |   19 +++++++++-------
 bug618203.patch |   61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 72 insertions(+), 8 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2010-08-18 21:22:41 UTC (rev 87993)
+++ PKGBUILD	2010-08-18 21:44:47 UTC (rev 87994)
@@ -3,28 +3,31 @@
 
 pkgname=cheese
 pkgver=2.30.1
-pkgrel=1
+pkgrel=2
 pkgdesc="Use your webcam to take photos and videos, apply fancy special effects and share the fun with others"
 arch=(i686 x86_64)
 license=('GPL')
-depends=('gnome-desktop>=2.30.0' 'gstreamer0.10-base-plugins>=0.10.26' 'gstreamer0.10-good-plugins>=0.10.18' 'librsvg>=2.26.0' 'gnome-icon-theme>=2.30.2' 'libcanberra')
+depends=('gnome-desktop>=2.30.2' 'gstreamer0.10-base-plugins>=0.10.30' 'gstreamer0.10-good-plugins>=0.10.24' 'librsvg>=2.26.3' 'gnome-icon-theme>=2.30.2' 'libcanberra')
 makedepends=('pkgconfig' 'gnome-doc-utils>=0.20.1' 'intltool')
 groups=('gnome-extra')
 options=('!libtool' '!emptydirs')
 url="http://www.gnome.org/projects/cheese/"
 install=cheese.install
-source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.30/${pkgname}-${pkgver}.tar.bz2)
-sha256sums=('48f03470c6f527caa0e3b269d3afcff86ae0939a74f66ce030d4eed3bc3cbd9a')
+source=(http://ftp.gnome.org/pub/gnome/sources/${pkgname}/2.30/${pkgname}-${pkgver}.tar.bz2
+        bug618203.patch)
+sha256sums=('48f03470c6f527caa0e3b269d3afcff86ae0939a74f66ce030d4eed3bc3cbd9a'
+            'a3db736018b4d8a6f3ec1236b0aed788f7bbfa074046db5eb74fa8b261c63e02')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/bug618203.patch"
   ./configure --prefix=/usr --sysconfdir=/etc \
       --localstatedir=/var --libexecdir=/usr/lib \
-      --disable-scrollkeeper || return 1
-  make || return 1
-  make -j1 GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install || return 1
+      --disable-scrollkeeper
+  make
+  make -j1 GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="${pkgdir}" install
  
   install -m755 -d "${pkgdir}/usr/share/gconf/schemas"
-  gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain cheese ${pkgdir}/etc/gconf/schemas/*.schemas || return 1
+  gconf-merge-schema "${pkgdir}/usr/share/gconf/schemas/${pkgname}.schemas" --domain cheese ${pkgdir}/etc/gconf/schemas/*.schemas
   rm -f ${pkgdir}/etc/gconf/schemas/*.schemas
 }

Added: bug618203.patch
===================================================================
--- bug618203.patch	                        (rev 0)
+++ bug618203.patch	2010-08-18 21:44:47 UTC (rev 87994)
@@ -0,0 +1,61 @@
+From 64e2170989f3e7cad39734efceef154b81dd7b4f Mon Sep 17 00:00:00 2001
+From: Filippo Argiolas <filippo.argiolas at gmail.com>
+Date: Tue, 20 Jul 2010 18:13:46 +0000
+Subject: Do not create a device if gst initializazion fails
+
+Currently we create a device with empty caps if the probing pipeline
+cannot be started. That's wrong, the device evidendtly doesn't work so
+the CheeseCameraDevice object for doesn't have to be created.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=618203
+---
+diff --git a/libcheese/cheese-camera-device.c b/libcheese/cheese-camera-device.c
+index e1786e8..3d96304 100644
+--- a/libcheese/cheese-camera-device.c
++++ b/libcheese/cheese-camera-device.c
+@@ -48,7 +48,8 @@ enum CheeseCameraDeviceError
+ {
+   CHEESE_CAMERA_DEVICE_ERROR_UNKNOWN,
+   CHEESE_CAMERA_DEVICE_ERROR_NOT_SUPPORTED,
+-  CHEESE_CAMERA_DEVICE_ERROR_UNSUPPORTED_CAPS
++  CHEESE_CAMERA_DEVICE_ERROR_UNSUPPORTED_CAPS,
++  CHEESE_CAMERA_DEVICE_ERROR_FAILED_INITIALIZATION
+ };
+ 
+ GST_DEBUG_CATEGORY (cheese_camera_device_cat);
+@@ -325,11 +326,32 @@ cheese_camera_device_get_caps (CheeseCameraDevice *device)
+                              CHEESE_CAMERA_DEVICE_ERROR,
+                              CHEESE_CAMERA_DEVICE_ERROR_UNSUPPORTED_CAPS,
+                              _("Device capabilities not supported"));
+-
+       }
+ 
+       gst_object_unref (pad);
+       gst_caps_unref (caps);
++    } else {
++      if (msg) {
++        gchar *dbg_info = NULL;
++        gst_message_parse_error (msg, &err, &dbg_info);
++        GST_WARNING ("Failed to start the capability probing pipeline");
++        GST_WARNING ("Error from element %s: %s, %s",
++                     GST_OBJECT_NAME (msg->src),
++                     err->message,
++                     (dbg_info) ? dbg_info : "no extra debug detail");
++        g_error_free (err);
++        err = NULL;
++        /* construct_error is meant to be displayed in the UI
++           (although it currently isn't displayed in cheese),
++           err->message from gstreamer is too technical for this
++           purpose, the idea is warn the user about an error and point
++           him to the logs for more info */
++        g_set_error (&priv->construct_error,
++                     CHEESE_CAMERA_DEVICE_ERROR,
++                     CHEESE_CAMERA_DEVICE_ERROR_FAILED_INITIALIZATION,
++                     _("Failed to initialize device %s for capability probing"),
++                     priv->device);
++      }
+     }
+     gst_element_set_state (pipeline, GST_STATE_NULL);
+     gst_object_unref (pipeline);
+--
+cgit v0.8.3.1



More information about the arch-commits mailing list