Update and enable server
This commit is contained in:
parent
a8547c7cf3
commit
9d2cae9680
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@
|
||||
/freerdp-1.1.0-beta1.tar.gz
|
||||
/freerdp-1.1.0-beta+2013071101.tar.gz
|
||||
/1.2.0-beta1+android7.tar.gz
|
||||
/1.2.0-beta1+20150313.tar.gz
|
||||
|
@ -1,15 +1,17 @@
|
||||
--- freerdp-1.1.0-beta+2013071101/cmake/ConfigOptions.cmake.orig 2014-06-07 20:34:55.607853558 +0100
|
||||
+++ freerdp-1.1.0-beta+2013071101/cmake/ConfigOptions.cmake 2014-06-07 20:36:29.987547540 +0100
|
||||
@@ -6,6 +6,8 @@
|
||||
diff --git a/cmake/ConfigOptions.cmake b/cmake/ConfigOptions.cmake
|
||||
index 282659e..6045e31 100644
|
||||
--- a/cmake/ConfigOptions.cmake
|
||||
+++ b/cmake/ConfigOptions.cmake
|
||||
@@ -7,6 +7,8 @@ elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") AND (CMAKE_SIZEOF_VOID_P
|
||||
elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "i386") AND (CMAKE_SIZEOF_VOID_P EQUAL 8) AND (APPLE))
|
||||
# Mac is weird like that.
|
||||
set(TARGET_ARCH "x64")
|
||||
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||
+ set(TARGET_ARCH "AARCH64")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm*")
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm*")
|
||||
set(TARGET_ARCH "ARM")
|
||||
endif()
|
||||
@@ -19,6 +21,9 @@
|
||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "sparc")
|
||||
@@ -23,6 +25,9 @@ else()
|
||||
option(WITH_SSE2 "Enable SSE2 optimization." OFF)
|
||||
endif()
|
||||
|
||||
|
@ -1,184 +0,0 @@
|
||||
diff -up FreeRDP-1.2.0-beta1-android9/client/common/cmdline.c.args FreeRDP-1.2.0-beta1-android9/client/common/cmdline.c
|
||||
--- FreeRDP-1.2.0-beta1-android9/client/common/cmdline.c.args 2015-01-15 14:38:15.573870682 -0700
|
||||
+++ FreeRDP-1.2.0-beta1-android9/client/common/cmdline.c 2015-01-15 14:51:29.640391722 -0700
|
||||
@@ -1087,8 +1087,10 @@ BOOL freerdp_client_detect_command_line(
|
||||
*flags |= COMMAND_LINE_SIGIL_DASH | COMMAND_LINE_SIGIL_DOUBLE_DASH;
|
||||
*flags |= COMMAND_LINE_SIGIL_ENABLE_DISABLE;
|
||||
|
||||
- if (windows_cli_count >= posix_cli_count)
|
||||
+ /* Check, if this may be windows style syntax... */
|
||||
+ if (windows_cli_count && (windows_cli_count >= posix_cli_count) || (windows_cli_status <= COMMAND_LINE_STATUS_PRINT))
|
||||
{
|
||||
+ windows_cli_count = 1;
|
||||
*flags = COMMAND_LINE_SEPARATOR_COLON;
|
||||
*flags |= COMMAND_LINE_SIGIL_SLASH | COMMAND_LINE_SIGIL_PLUS_MINUS;
|
||||
}
|
||||
diff -up FreeRDP-1.2.0-beta1-android9/client/common/compatibility.c.args FreeRDP-1.2.0-beta1-android9/client/common/compatibility.c
|
||||
--- FreeRDP-1.2.0-beta1-android9/client/common/compatibility.c.args 2014-09-11 16:46:32.000000000 -0600
|
||||
+++ FreeRDP-1.2.0-beta1-android9/client/common/compatibility.c 2015-01-15 14:53:19.418773129 -0700
|
||||
@@ -119,16 +119,20 @@ void freerdp_client_old_parse_hostname(c
|
||||
|
||||
int freerdp_client_old_process_plugin(rdpSettings* settings, ADDIN_ARGV* args)
|
||||
{
|
||||
+ int args_handled = 0;
|
||||
if (strcmp(args->argv[0], "cliprdr") == 0)
|
||||
{
|
||||
+ args_handled++;
|
||||
settings->RedirectClipboard = TRUE;
|
||||
DEBUG_WARN( "--plugin cliprdr -> +clipboard\n");
|
||||
}
|
||||
else if (strcmp(args->argv[0], "rdpdr") == 0)
|
||||
{
|
||||
+ args_handled++;
|
||||
if (args->argc < 2)
|
||||
- return -1;
|
||||
+ return 1;
|
||||
|
||||
+ args_handled++;
|
||||
if ((strcmp(args->argv[1], "disk") == 0) ||
|
||||
(strcmp(args->argv[1], "drive") == 0))
|
||||
{
|
||||
@@ -156,21 +160,26 @@ int freerdp_client_old_process_plugin(rd
|
||||
}
|
||||
else if (strcmp(args->argv[0], "drdynvc") == 0)
|
||||
{
|
||||
+ args_handled++;
|
||||
freerdp_client_add_dynamic_channel(settings, args->argc - 1, &args->argv[1]);
|
||||
}
|
||||
else if (strcmp(args->argv[0], "rdpsnd") == 0)
|
||||
{
|
||||
+ args_handled++;
|
||||
if (args->argc < 2)
|
||||
- return -1;
|
||||
+ return 1;
|
||||
|
||||
+ args_handled++;
|
||||
freerdp_addin_replace_argument_value(args, args->argv[1], "sys", args->argv[1]);
|
||||
freerdp_client_add_static_channel(settings, args->argc, args->argv);
|
||||
}
|
||||
else if (strcmp(args->argv[0], "rail") == 0)
|
||||
{
|
||||
+ args_handled++;
|
||||
if (args->argc < 2)
|
||||
- return -1;
|
||||
+ return 1;
|
||||
|
||||
+ args_handled++;
|
||||
settings->RemoteApplicationProgram = _strdup(args->argv[1]);
|
||||
}
|
||||
else
|
||||
@@ -178,14 +187,12 @@ int freerdp_client_old_process_plugin(rd
|
||||
freerdp_client_add_static_channel(settings, args->argc, args->argv);
|
||||
}
|
||||
|
||||
- return 1;
|
||||
+ return args_handled;
|
||||
}
|
||||
|
||||
int freerdp_client_old_command_line_pre_filter(void* context, int index, int argc, LPCSTR* argv)
|
||||
{
|
||||
- rdpSettings* settings;
|
||||
-
|
||||
- settings = (rdpSettings*) context;
|
||||
+ rdpSettings* settings = (rdpSettings*) context;
|
||||
|
||||
if (index == (argc - 1))
|
||||
{
|
||||
@@ -201,11 +208,10 @@ int freerdp_client_old_command_line_pre_
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if (settings)
|
||||
- {
|
||||
- freerdp_client_old_parse_hostname((char*) argv[index],
|
||||
- &settings->ServerHostname, &settings->ServerPort);
|
||||
- }
|
||||
+ freerdp_client_old_parse_hostname((char*) argv[index],
|
||||
+ &settings->ServerHostname, &settings->ServerPort);
|
||||
+
|
||||
+ return 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -215,6 +221,7 @@ int freerdp_client_old_command_line_pre_
|
||||
|
||||
if (strcmp("--plugin", argv[index]) == 0)
|
||||
{
|
||||
+ int args_handled = 0;
|
||||
int length;
|
||||
char *a, *p;
|
||||
int i, j, t;
|
||||
@@ -230,20 +237,19 @@ int freerdp_client_old_command_line_pre_
|
||||
return -1;
|
||||
|
||||
args = (ADDIN_ARGV*) malloc(sizeof(ADDIN_ARGV));
|
||||
- args->argv = (char**) malloc(sizeof(char*) * 5);
|
||||
+ args->argv = (char**) calloc(argc, sizeof(char*));
|
||||
args->argc = 1;
|
||||
|
||||
- args->argv[0] = _strdup(argv[t]);
|
||||
-
|
||||
if ((index < argc - 1) && strcmp("--data", argv[index + 1]) == 0)
|
||||
{
|
||||
i = 0;
|
||||
index += 2;
|
||||
- args->argc = 1;
|
||||
|
||||
while ((index < argc) && (strcmp("--", argv[index]) != 0))
|
||||
{
|
||||
+ args_handled ++;
|
||||
args->argc = 1;
|
||||
+ args->argv[0] = _strdup(argv[t]);
|
||||
|
||||
for (j = 0, p = (char*) argv[index]; (j < 4) && (p != NULL); j++)
|
||||
{
|
||||
@@ -264,6 +270,9 @@ int freerdp_client_old_command_line_pre_
|
||||
if (p != NULL)
|
||||
{
|
||||
p = strchr(p, ':');
|
||||
+ }
|
||||
+ if (p != NULL)
|
||||
+ {
|
||||
length = (int) (p - a);
|
||||
args->argv[j + 1] = (char*) malloc(length + 1);
|
||||
CopyMemory(args->argv[j + 1], a, length);
|
||||
@@ -278,11 +287,14 @@ int freerdp_client_old_command_line_pre_
|
||||
args->argc++;
|
||||
}
|
||||
|
||||
- if (settings->instance)
|
||||
+ if (settings)
|
||||
{
|
||||
freerdp_client_old_process_plugin(settings, args);
|
||||
}
|
||||
|
||||
+ for (i = 0; i < args->argc; i++)
|
||||
+ free(args->argv[i]);
|
||||
+ memset(args->argv, 0, argc * sizeof(char*));
|
||||
index++;
|
||||
i++;
|
||||
}
|
||||
@@ -291,19 +303,16 @@ int freerdp_client_old_command_line_pre_
|
||||
{
|
||||
if (settings)
|
||||
{
|
||||
- if (settings->instance)
|
||||
- {
|
||||
- freerdp_client_old_process_plugin(settings, args);
|
||||
- }
|
||||
+ args->argv[0] = _strdup(argv[t]);
|
||||
+ args_handled = freerdp_client_old_process_plugin(settings, args);
|
||||
+ free (args->argv[0]);
|
||||
}
|
||||
}
|
||||
|
||||
- for (i = 0; i < args->argc; i++)
|
||||
- free(args->argv[i]);
|
||||
free(args->argv);
|
||||
free(args);
|
||||
|
||||
- return (index - old_index);
|
||||
+ return (index - old_index) + args_handled;
|
||||
}
|
||||
|
||||
return 0;
|
@ -1,79 +0,0 @@
|
||||
diff --git a/channels/CMakeLists.txt b/channels/CMakeLists.txt
|
||||
index c4e6048..540b1ac 100644
|
||||
--- a/channels/CMakeLists.txt
|
||||
+++ b/channels/CMakeLists.txt
|
||||
@@ -253,8 +253,8 @@ set(FILENAME "ChannelOptions.cmake")
|
||||
file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}")
|
||||
|
||||
foreach(FILEPATH ${FILEPATHS})
|
||||
- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}")
|
||||
- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" DIR ${FILEPATH})
|
||||
+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}")
|
||||
+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" DIR ${FILEPATH})
|
||||
set(CHANNEL_OPTION)
|
||||
include(${FILEPATH})
|
||||
if(${CHANNEL_OPTION})
|
||||
diff --git a/channels/client/CMakeLists.txt b/channels/client/CMakeLists.txt
|
||||
index 049bc7b..2db18e8 100644
|
||||
--- a/channels/client/CMakeLists.txt
|
||||
+++ b/channels/client/CMakeLists.txt
|
||||
@@ -24,7 +24,9 @@ set(${MODULE_PREFIX}_SRCS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/addin.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/addin.h)
|
||||
|
||||
+if(CHANNEL_STATIC_CLIENT_ENTRIES)
|
||||
list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES)
|
||||
+endif()
|
||||
|
||||
foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES})
|
||||
foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
|
||||
diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
|
||||
index 14ed363..b8b7699 100644
|
||||
--- a/client/CMakeLists.txt
|
||||
+++ b/client/CMakeLists.txt
|
||||
@@ -63,8 +63,8 @@ set(FILENAME "ModuleOptions.cmake")
|
||||
file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}")
|
||||
|
||||
foreach(FILEPATH ${FILEPATHS})
|
||||
- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}")
|
||||
- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" FREERDP_CLIENT ${FILEPATH})
|
||||
+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}")
|
||||
+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" FREERDP_CLIENT ${FILEPATH})
|
||||
set(FREERDP_CLIENT_ENABLED 0)
|
||||
include(${FILEPATH})
|
||||
if(FREERDP_CLIENT_ENABLED)
|
||||
diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
|
||||
index cda14ba..ee9458e 100644
|
||||
--- a/server/CMakeLists.txt
|
||||
+++ b/server/CMakeLists.txt
|
||||
@@ -48,8 +48,8 @@ set(FILENAME "ModuleOptions.cmake")
|
||||
file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}")
|
||||
|
||||
foreach(FILEPATH ${FILEPATHS})
|
||||
- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}")
|
||||
- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" FREERDP_SERVER ${FILEPATH})
|
||||
+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}")
|
||||
+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" FREERDP_SERVER ${FILEPATH})
|
||||
set(FREERDP_SERVER_ENABLED 0)
|
||||
include(${FILEPATH})
|
||||
if(FREERDP_SERVER_ENABLED)
|
||||
diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt
|
||||
index 09b1fd4..610f35e 100644
|
||||
--- a/third-party/CMakeLists.txt
|
||||
+++ b/third-party/CMakeLists.txt
|
||||
@@ -22,11 +22,11 @@
|
||||
file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt")
|
||||
|
||||
foreach(dir ${all_valid_subdirs})
|
||||
- if(${dir} MATCHES "^([^/]*)//CMakeLists.txt")
|
||||
- string(REGEX REPLACE "^([^/]*)//CMakeLists.txt" "\\1" dir_trimmed ${dir})
|
||||
+ if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt")
|
||||
+ string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir})
|
||||
message(STATUS "Adding third-party component ${dir_trimmed}")
|
||||
add_subdirectory(${dir_trimmed})
|
||||
endif()
|
||||
endforeach(dir)
|
||||
|
||||
-set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE)
|
||||
\ No newline at end of file
|
||||
+set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE)
|
31
freerdp.spec
31
freerdp.spec
@ -1,18 +1,13 @@
|
||||
Name: freerdp
|
||||
Version: 1.2.0
|
||||
Release: 0.6.beta.1%{?dist}
|
||||
Release: 0.7.beta.1%{?dist}
|
||||
Epoch: 1
|
||||
Summary: Free implementation of the Remote Desktop Protocol (RDP)
|
||||
|
||||
License: ASL 2.0
|
||||
URL: http://www.freerdp.com/
|
||||
Source0: https://github.com/FreeRDP/FreeRDP/archive/%{version}-beta1+android9.tar.gz
|
||||
Source0: %{version}-beta1+20150313.tar.gz
|
||||
Patch0: freerdp-aarch64.patch
|
||||
# https://github.com/FreeRDP/FreeRDP/commit/1b663ceffe51008af7ae9749e5b7999b2f7d6698
|
||||
Patch1: freerdp-cmake-list.patch
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1150349
|
||||
# https://github.com/FreeRDP/FreeRDP/pull/2310
|
||||
Patch2: freerdp-args.patch
|
||||
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: cmake >= 2.8
|
||||
@ -69,6 +64,13 @@ Requires: cmake >= 2.8
|
||||
The %{name}-devel package contains libraries and header files for developing
|
||||
applications that use %{name}-libs.
|
||||
|
||||
%package server
|
||||
Summary: Server support for %{name}
|
||||
|
||||
%description server
|
||||
The %{name}-server package contains servers which can export a desktop via
|
||||
the RDP protocol.
|
||||
|
||||
%package -n libwinpr
|
||||
Summary: Windows Portable Runtime
|
||||
Provides: %{name}-libwinpr = %{?epoch}:%{version}-%{release}
|
||||
@ -90,10 +92,8 @@ The %{name}-libwinpr-devel package contains libraries and header files for
|
||||
developing applications that use %{name}-libwinpr.
|
||||
|
||||
%prep
|
||||
%setup -qn FreeRDP-%{version}-beta1-android9
|
||||
%setup -qn FreeRDP-%{version}-beta1-20150313
|
||||
%patch0 -p1 -b .aarch64
|
||||
%patch1 -p1 -b .cmake-list
|
||||
%patch2 -p1 -b .args
|
||||
|
||||
# Rpmlint fixes
|
||||
find . -name "*.h" -exec chmod 664 {} \;
|
||||
@ -113,6 +113,7 @@ find . -name "*.h" -exec chmod 664 {} \;
|
||||
-DWITH_OPENSSL=ON \
|
||||
-DWITH_PCSC=ON \
|
||||
-DWITH_PULSE=ON \
|
||||
-DWITH_SERVER=ON \
|
||||
-DWITH_X11=ON \
|
||||
-DWITH_XCURSOR=ON \
|
||||
-DWITH_XEXT=ON \
|
||||
@ -168,14 +169,21 @@ find %{buildroot} -name "*.a" -delete
|
||||
%{_libdir}/%{name}/
|
||||
%{_libdir}/lib%{name}*.so.*
|
||||
%{_libdir}/libx%{name}*.so.*
|
||||
%{_libdir}/librdtk.so.*
|
||||
|
||||
%files devel
|
||||
%{_libdir}/cmake/FreeRDP
|
||||
%{_libdir}/cmake/RdTk
|
||||
%{_includedir}/%{name}
|
||||
%{_includedir}/rdtk
|
||||
%{_libdir}/lib%{name}*.so
|
||||
%{_libdir}/libx%{name}*.so
|
||||
%{_libdir}/librdtk.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
|
||||
%files server
|
||||
%{_bindir}/freerdp-shadow
|
||||
|
||||
%files -n libwinpr
|
||||
%doc LICENSE README ChangeLog
|
||||
%{_libdir}/libwinpr*.so.*
|
||||
@ -187,6 +195,9 @@ find %{buildroot} -name "*.a" -delete
|
||||
%{_libdir}/pkgconfig/winpr.pc
|
||||
|
||||
%changelog
|
||||
* Fri Mar 13 2015 David Woodhouse <dwmw2@infradead.org> - 1:1.2.0-0.7.beta.1
|
||||
- Update to git snapshot (dfc12385) and enable server build
|
||||
|
||||
* Thu Jan 15 2015 Orion Poplawski <orion@cora.nwra.com> - 1:1.2.0-0.6.beta.1
|
||||
- Use better upstream patch to fix command line parsing
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user