Patchwork [06/17] freerdp: update version to 2009-03-29 snapshot

login
register
mail settings
Submitter Otavio Salvador
Date May 30, 2011, 2:54 p.m.
Message ID <1306767263-29895-7-git-send-email-otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/5053/
State New, archived
Headers show

Comments

Otavio Salvador - May 30, 2011, 2:54 p.m.
* drop singleton-mode.patch, merged upstream;

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 recipes/freerdp/freerdp/singleton-mode.patch |  208 --------------------------
 recipes/freerdp/freerdp_git.bb               |    7 +-
 2 files changed, 3 insertions(+), 212 deletions(-)
 delete mode 100644 recipes/freerdp/freerdp/singleton-mode.patch

Patch

diff --git a/recipes/freerdp/freerdp/singleton-mode.patch b/recipes/freerdp/freerdp/singleton-mode.patch
deleted file mode 100644
index 980ec96..0000000
--- a/recipes/freerdp/freerdp/singleton-mode.patch
+++ /dev/null
@@ -1,208 +0,0 @@ 
-From dd81b7b7902015d35e48117db7fb664aa75fdf62 Mon Sep 17 00:00:00 2001
-From: Eduardo Beloni <beloni@ossystems.com.br>
-Date: Thu, 3 Mar 2011 14:41:32 -0300
-Subject: [PATCH] xfreerdp: singleton mode
-
-Allows return code according to the Set Error Info PDU
----
- X11/xf_types.h |   21 +++++++++++++++++++++
- X11/xfreerdp.c |   45 ++++++++++++++++++++++++++++++++++++---------
- doc/xfreerdp.1 |    4 ++++
- 3 files changed, 61 insertions(+), 9 deletions(-)
-
-diff --git a/X11/xf_types.h b/X11/xf_types.h
-index 0d355e2..75c7d88 100644
---- a/X11/xf_types.h
-+++ b/X11/xf_types.h
-@@ -88,6 +88,27 @@ struct xf_info
- };
- typedef struct xf_info xfInfo;
- 
-+
-+enum STANDARD_EXIT_CODE
-+{
-+	EX_OK = 0,
-+	EX_USAGE = 64,
-+	EX_DATAERR = 65,
-+	EX_NOINPUT = 66,
-+	EX_NOUSER = 67,
-+	EX_NOHOST = 68,
-+	EX_UNAVAILABLE = 69,
-+	EX_SOFTWARE = 70,
-+	EX_OSERR = 71,
-+	EX_OSFILE = 72,
-+	EX_CANTCREAT = 73,
-+	EX_IOERR = 74,
-+	EX_TEMPFAIL = 75,
-+	EX_PROTOCOL = 76,
-+	EX_NOPERM = 77,
-+	EX_CONFIG = 78,
-+};
-+
- #ifdef WITH_DEBUG
- #define DEBUG(fmt, ...)	printf("DBG %s (%d): " fmt, __FUNCTION__, __LINE__, ## __VA_ARGS__)
- #else
-diff --git a/X11/xfreerdp.c b/X11/xfreerdp.c
-index 994e8ee..f9236e7 100644
---- a/X11/xfreerdp.c
-+++ b/X11/xfreerdp.c
-@@ -155,7 +155,7 @@ out_args(void)
- 
- /* Returns "true" on errors or other reasons to not continue normal operation */
- static int
--process_params(xfInfo * xfi, int argc, char ** argv, int * pindex)
-+process_params(xfInfo * xfi, int argc, char ** argv, int * pindex, _Bool * singleton)
- {
- 	rdpSet * settings;
- 	rdpKeyboardLayout * layouts;
-@@ -165,6 +165,9 @@ process_params(xfInfo * xfi, int argc, char ** argv, int * pindex)
- 	int i, j;
- 	struct passwd * pw;
- 	int num_extensions;
-+	int first_index;
-+
-+	first_index = *pindex;
- 
- 	set_default_params(xfi);
- 	settings = xfi->settings;
-@@ -512,6 +515,16 @@ process_params(xfInfo * xfi, int argc, char ** argv, int * pindex)
- 			}
- 			num_extensions++;
- 		}
-+		else if (strcmp("--singleton", argv[*pindex]) == 0)
-+		{
-+			if (first_index != 1) /* this is not the first parse */
-+			{
-+				printf("Parsing error: you can't run more than one thread in singleton mode\n");
-+				exit(EX_USAGE);
-+			}
-+
-+			*singleton = 1;
-+		}
- 		else if ((strcmp("-h", argv[*pindex]) == 0) || strcmp("--help", argv[*pindex]) == 0)
- 		{
- 			out_args();
-@@ -577,6 +590,7 @@ run_xfreerdp(xfInfo * xfi)
- 	int max_sck;
- 	fd_set rfds;
- 	fd_set wfds;
-+	uint32 disc_reason;
- 
- 	/* create an instance of the library */
- 	inst = freerdp_new(xfi->settings);
-@@ -611,7 +625,7 @@ run_xfreerdp(xfInfo * xfi)
- 	if (inst->rdp_connect(inst) != 0)
- 	{
- 		printf("run_xfreerdp: inst->rdp_connect failed\n");
--		return 1;
-+		return EX_PROTOCOL;
- 	}
- 	if (freerdp_chanman_post_connect(xfi->chan_man, inst) != 0)
- 	{
-@@ -687,7 +701,7 @@ run_xfreerdp(xfInfo * xfi)
- 		/* check the libfreerdp fds */
- 		if (inst->rdp_check_fds(inst) != 0)
- 		{
--			printf("run_xfreerdp: inst->rdp_check_fds failed\n");
-+			printf("run_xfreerdp: inst->rdp_check_fds failed reason %u\n", inst->disc_reason);
- 			break;
- 		}
- 		/* check x fds */
-@@ -703,21 +717,24 @@ run_xfreerdp(xfInfo * xfi)
- 			break;
- 		}
- 	}
-+
-+	disc_reason = inst->disc_reason;
- 	/* cleanup */
- 	freerdp_chanman_close(xfi->chan_man, inst);
- 	inst->rdp_disconnect(inst);
- 	freerdp_free(inst);
- 	xf_uninit(xfi);
--	return 0;
-+	return disc_reason;
- }
- 
- static void *
- thread_func(void * arg)
- {
- 	xfInfo * xfi;
-+	uint32 disc_reason;
- 
- 	xfi = (xfInfo *) arg;
--	run_xfreerdp(xfi);
-+	disc_reason = run_xfreerdp(xfi);
- 	free(xfi->settings);
- 	freerdp_chanman_free(xfi->chan_man);
- 	free(xfi);
-@@ -728,7 +745,7 @@ thread_func(void * arg)
- 	{
- 		freerdp_sem_signal(&g_sem);
- 	}
--	return NULL;
-+	return (void *)disc_reason;
- }
- 
- int
-@@ -738,6 +755,8 @@ main(int argc, char ** argv)
- 	xfInfo * xfi;
- 	pthread_t thread;
- 	int index = 1;
-+	_Bool singleton = 0;
-+	int disc_reason = 0;
- 
- 	setlocale(LC_CTYPE, "");
- 	if (argc == 1)
-@@ -760,7 +779,7 @@ main(int argc, char ** argv)
- 		memset(xfi, 0, sizeof(xfInfo));
- 		xfi->settings = (rdpSet *) malloc(sizeof(rdpSet));
- 		xfi->chan_man = freerdp_chanman_new();
--		rv = process_params(xfi, argc, argv, &index);
-+		rv = process_params(xfi, argc, argv, &index, &singleton);
- 		if (rv)
- 		{
- 			free(xfi->settings);
-@@ -776,9 +795,17 @@ main(int argc, char ** argv)
- 		{
- 			g_thread_count++;
- 		}
-+
-+		if (singleton)
-+			break;
- 	}
- 
--	if (g_thread_count > 0)
-+	if (singleton)
-+	{
-+		pthread_join(thread, (void **)&disc_reason);
-+		printf("thread joint disconnect reason %d\n", disc_reason);
-+	}
-+	else if (g_thread_count > 0)
- 	{
- 		printf("main thread, waiting for all threads to exit\n");
- 		freerdp_sem_wait(&g_sem);
-@@ -787,5 +814,5 @@ main(int argc, char ** argv)
- 
- 	freerdp_chanman_uninit();
- 	freerdp_global_finish();
--	return 0;
-+	return disc_reason;
- }
-diff --git a/doc/xfreerdp.1 b/doc/xfreerdp.1
-index 9fa07ca..1ad0d70 100644
---- a/doc/xfreerdp.1
-+++ b/doc/xfreerdp.1
-@@ -92,6 +92,10 @@ Disable TLS encryption.
- .BR "--no-osb"
- Disable off screen bitmaps.
- .TP
-+.BR "--singleton"
-+Singleton mode. This mode allows only one thread of execution and also returns
-+the Set Error Info PDU as the program exit code.
-+.TP
- .BR "-h"
- Print help message.
- .TP
--- 
-1.6.6.1
-
diff --git a/recipes/freerdp/freerdp_git.bb b/recipes/freerdp/freerdp_git.bb
index beed2b8..909715f 100644
--- a/recipes/freerdp/freerdp_git.bb
+++ b/recipes/freerdp/freerdp_git.bb
@@ -1,4 +1,4 @@ 
-# Copyright (C) 2010, O.S. Systems Software Ltda. All Rights Reserved
+# Copyright (C) 2010, 2011, O.S. Systems Software Ltda.
 # Released under the MIT license
 
 include freerdp.inc
@@ -9,8 +9,7 @@  PV = "gitr${SRCPV}"
 PKGV = "${GITPKGVTAG}"
 PR = "${INC_PR}.1"
 
-SRCREV = "6f7eb2abb077d60a09eeb66a10ad97d102336d3c"
-SRC_URI = "git://freerdp.git.sourceforge.net/gitroot/freerdp/freerdp.git;protocol=git \
-           file://singleton-mode.patch"
+SRCREV = "7bbde4fb3bc3a781364d0a626c49bc165cc507fd"
+SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;protocol=git"
 
 S = "${WORKDIR}/git"