[arch-commits] Commit in dleyna-connector-dbus/trunk (PKGBUILD crash.patch)

Jan Steffens heftig at archlinux.org
Wed Sep 20 18:55:50 UTC 2017


    Date: Wednesday, September 20, 2017 @ 18:55:49
  Author: heftig
Revision: 305942

0.3.0-1

Modified:
  dleyna-connector-dbus/trunk/PKGBUILD
Deleted:
  dleyna-connector-dbus/trunk/crash.patch

-------------+
 PKGBUILD    |   27 +++++++++++-------
 crash.patch |   83 ----------------------------------------------------------
 2 files changed, 16 insertions(+), 94 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2017-09-20 18:54:30 UTC (rev 305941)
+++ PKGBUILD	2017-09-20 18:55:49 UTC (rev 305942)
@@ -2,25 +2,30 @@
 # Maintainer: Jan Alexander Steffens (heftig) <jan.steffens at gmail.com>
 
 pkgname=dleyna-connector-dbus
-pkgver=0.2.0
-pkgrel=2
+pkgver=0.3.0
+pkgrel=1
 pkgdesc="Provides a D-Bus API for the dLeyna services"
 arch=(i686 x86_64)
 url="http://01.org/dleyna"
 license=(LGPL2.1)
 depends=(dleyna-core dbus)
-source=(https://01.org/sites/default/files/downloads/dleyna/$pkgname-$pkgver.tar.gz
-        crash.patch)
-sha256sums=('e791511206761282a658bb8253de076dcb1f8c8fbdc81219efe5ffe80cb2bea5'
-            'cf44774ba06160dbd6c8aa5f1a3caae0f054f44c3ae4613a8d17aa8464ee9195')
+makedepends=(git)
+_commit=1f0932aaacdd67700912a0c9c6e610f16f346ced  # tags/0.3.0
+source=("git+https://github.com/01org/dleyna-connector-dbus#commit=$_commit")
+sha256sums=('SKIP')
 
+pkgver() {
+  cd $pkgname
+  git describe --tags | sed 's/-/+/g'
+}
+
 prepare() {
-  cd $pkgname-$pkgver
-  patch -Np1 -i ../crash.patch
+  cd $pkgname
+  NOCONFIGURE=1 ./autogen.sh
 }
 
 build() {
-  cd $pkgname-$pkgver
+  cd $pkgname
   ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
     --disable-static
   make
@@ -27,11 +32,11 @@
 }
 
 check() {
-  cd $pkgname-$pkgver
+  cd $pkgname
   make check
 }
 
 package() {
-  cd $pkgname-$pkgver
+  cd $pkgname
   make DESTDIR="$pkgdir" install
 }

Deleted: crash.patch
===================================================================
--- crash.patch	2017-09-20 18:54:30 UTC (rev 305941)
+++ crash.patch	2017-09-20 18:55:49 UTC (rev 305942)
@@ -1,83 +0,0 @@
-From 00870c6f44b68582c98cb36e73297f014c269f95 Mon Sep 17 00:00:00 2001
-From: Debarshi Ray <debarshir at freedesktop.org>
-Date: Mon, 19 Jan 2015 19:24:05 +0100
-Subject: [PATCH] Don't crash when trying to unwatch non-existent client
-
-$ gdbus call \
-    --session \
-    --dest com.intel.dleyna-renderer \
-    --object-path /com/intel/dLeynaRenderer \
-    --method com.intel.dLeynaRenderer.Manager.Release
-
-If a service is spawned as a result of the above command, then it will
-lead to a crash with this backtrace:
-
-    (client_name=0x7f7c94009750 ":1.603") at src/connector-dbus.c:271
-    (conn=<optimized out>, sender=0x7f7c94009750 ":1.603",
-    object=<optimized out>, interface=<optimized out>,
-    method=<optimized out>, parameters=<optimized out>,
-    invocation=0x2360e00) at server.c:780
-    at gdbusconnection.c:4884
-    at gmain.c:3111
-    (context=context at entry=0x2342ea0) at gmain.c:3710
-    block=block at entry=1, dispatch=dispatch at entry=1,
-    self=<optimized out>) at gmain.c:3781
-    at gmain.c:3975
-    (server=<optimized out>, control_point=<optimized out>,
-    user_data=0x0) at libdleyna/core/main-loop.c:155
-    argv=<optimized out>) at daemon.c:93
-
-This is because g_hash_table_lookup returns NULL which we try to
-dereference to get the client_id.
-
-Instead of our hand-spun solution for storing unsigned integers in a
-GHashTable, let's use standard GLib mechanisms for doing that. We
-avoid this problem and reduce a g_new/g_free pair as a bonus.
----
- src/connector-dbus.c | 11 ++++-------
- 1 file changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/src/connector-dbus.c b/src/connector-dbus.c
-index 0e16239..83774c0 100644
---- a/src/connector-dbus.c
-+++ b/src/connector-dbus.c
-@@ -173,7 +173,7 @@ static gboolean prv_connector_initialize(const gchar *server_info,
- 	g_context.objects = g_hash_table_new_full(g_direct_hash, g_direct_equal,
- 						  g_free, prv_free_dbus_object);
- 	g_context.clients = g_hash_table_new_full(g_str_hash, g_str_equal,
--						  g_free, g_free);
-+						  g_free, NULL);
- 
- 	g_context.root_node_info = g_dbus_node_info_new_for_xml(root_info,
- 								NULL);
-@@ -268,8 +268,8 @@ static void prv_connector_unwatch_client(const gchar *client_name)
- 
- 	DLEYNA_LOG_DEBUG("Enter");
- 
--	client_id = *(guint *)g_hash_table_lookup(g_context.clients,
--						  client_name);
-+	client_id = GPOINTER_TO_UINT(g_hash_table_lookup(g_context.clients,
-+							 client_name));
- 	(void) g_hash_table_remove(g_context.clients, client_name);
- 
- 	g_bus_unwatch_name(client_id);
-@@ -287,7 +287,6 @@ static void prv_lost_client(GDBusConnection *connection, const gchar *name,
- static gboolean prv_connector_watch_client(const gchar *client_name)
- {
- 	guint watch_id;
--	guint *client_id;
- 	gboolean added = TRUE;
- 
- 	DLEYNA_LOG_DEBUG("Enter");
-@@ -301,10 +300,8 @@ static gboolean prv_connector_watch_client(const gchar *client_name)
- 				      G_BUS_NAME_WATCHER_FLAGS_NONE,
- 				      NULL, prv_lost_client, NULL,
- 				      NULL);
--	client_id = g_new(guint, 1);
--	*client_id = watch_id;
- 	g_hash_table_insert(g_context.clients, g_strdup(client_name),
--			    client_id);
-+			    GUINT_TO_POINTER(watch_id));
- 
- out:
- 	DLEYNA_LOG_DEBUG("Exit");



More information about the arch-commits mailing list