From 84e8e975e69ef91c50431c6c8eb3db8956fd4736bda3e35ccc52bd1cc52d5d5e Mon Sep 17 00:00:00 2001 From: Bruno Friedmann Date: Wed, 11 May 2016 19:36:51 +0000 Subject: [PATCH 1/4] Accepting request 394751 from home:zhangxiaofei:branches:X11:RemoteDesktop update freerdp to 2.0 git master HEAD OBS-URL: https://build.opensuse.org/request/show/394751 OBS-URL: https://build.opensuse.org/package/show/X11:RemoteDesktop/freerdp?expand=0&rev=47 --- FindALSA.cmake | 46 ----- freerdp-1.0.2.tar.gz | 3 - freerdp-2.0.0git.a7ca42e.tar.gz | 3 + freerdp-CVE-2014-0250.patch | 192 ------------------ freerdp-CVE-2014-0791.patch | 25 --- freerdp-fix-FindPCSC-macro.patch | 14 -- freerdp-handle-null-device-name.patch | 25 --- freerdp.changes | 30 +++ freerdp.spec | 133 +++--------- ...p_branch-1.0.x_fix-kpdivide-issue831.patch | 11 - 10 files changed, 61 insertions(+), 421 deletions(-) delete mode 100644 FindALSA.cmake delete mode 100644 freerdp-1.0.2.tar.gz create mode 100644 freerdp-2.0.0git.a7ca42e.tar.gz delete mode 100644 freerdp-CVE-2014-0250.patch delete mode 100644 freerdp-CVE-2014-0791.patch delete mode 100644 freerdp-fix-FindPCSC-macro.patch delete mode 100644 freerdp-handle-null-device-name.patch delete mode 100644 freerdp_branch-1.0.x_fix-kpdivide-issue831.patch diff --git a/FindALSA.cmake b/FindALSA.cmake deleted file mode 100644 index 9a315d5..0000000 --- a/FindALSA.cmake +++ /dev/null @@ -1,46 +0,0 @@ -# - Find alsa -# Find the alsa libraries (asound) -# -# This module defines the following variables: -# ALSA_FOUND - True if ALSA_INCLUDE_DIR & ALSA_LIBRARY are found -# ALSA_LIBRARIES - Set when ALSA_LIBRARY is found -# ALSA_INCLUDE_DIRS - Set when ALSA_INCLUDE_DIR is found -# -# ALSA_INCLUDE_DIR - where to find asoundlib.h, etc. -# ALSA_LIBRARY - the asound library -# - -#============================================================================= -# Copyright 2009 Kitware, Inc. -# Copyright 2009 Philip Lowman -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -find_path(ALSA_INCLUDE_DIR NAMES asoundlib.h - PATH_SUFFIXES alsa - DOC "The ALSA (asound) include directory" -) - -find_library(ALSA_LIBRARY NAMES asound - DOC "The ALSA (asound) library" -) - -# handle the QUIETLY and REQUIRED arguments and set ALSA_FOUND to TRUE if -# all listed variables are TRUE - -FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALSA DEFAULT_MSG ALSA_LIBRARY ALSA_INCLUDE_DIR) - -if(ALSA_FOUND) - set( ALSA_LIBRARIES ${ALSA_LIBRARY} ) - set( ALSA_INCLUDE_DIRS ${ALSA_INCLUDE_DIR} ) -endif() - -mark_as_advanced(ALSA_INCLUDE_DIR ALSA_LIBRARY) diff --git a/freerdp-1.0.2.tar.gz b/freerdp-1.0.2.tar.gz deleted file mode 100644 index bbc064b..0000000 --- a/freerdp-1.0.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c0f137df7ab6fb76d7e7d316ae4e0ca6caf356e5bc0b5dadbdfadea5db992df1 -size 3506618 diff --git a/freerdp-2.0.0git.a7ca42e.tar.gz b/freerdp-2.0.0git.a7ca42e.tar.gz new file mode 100644 index 0000000..bd00362 --- /dev/null +++ b/freerdp-2.0.0git.a7ca42e.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7afdfa199247eaef1e7d5741fd26ccd5642e0cc1916fcbeaaf8ddf27f56d36cc +size 6538704 diff --git a/freerdp-CVE-2014-0250.patch b/freerdp-CVE-2014-0250.patch deleted file mode 100644 index c099ac0..0000000 --- a/freerdp-CVE-2014-0250.patch +++ /dev/null @@ -1,192 +0,0 @@ -diff -Npur FreeRDP-1.0.2/libfreerdp-core/fastpath.c FreeRDP-1.0.2-new/libfreerdp-core/fastpath.c ---- FreeRDP-1.0.2/libfreerdp-core/fastpath.c 2013-01-03 05:46:59.000000000 +0800 -+++ FreeRDP-1.0.2-new/libfreerdp-core/fastpath.c 2014-06-13 04:46:30.293159988 +0800 -@@ -203,8 +203,10 @@ static void fastpath_recv_update(rdpFast - break; - - case FASTPATH_UPDATETYPE_COLOR: -- update_read_pointer_color(s, &pointer->pointer_color); -- IFCALL(pointer->PointerColor, context, &pointer->pointer_color); -+ if (update_read_pointer_color(s, &pointer->pointer_color)) -+ IFCALL(pointer->PointerColor, context, &pointer->pointer_color); -+ else -+ DEBUG_WARN("update color failed"); - break; - - case FASTPATH_UPDATETYPE_CACHED: -@@ -213,8 +215,10 @@ static void fastpath_recv_update(rdpFast - break; - - case FASTPATH_UPDATETYPE_POINTER: -- update_read_pointer_new(s, &pointer->pointer_new); -- IFCALL(pointer->PointerNew, context, &pointer->pointer_new); -+ if (update_read_pointer_new(s, &pointer->pointer_new)) -+ IFCALL(pointer->PointerNew, context, &pointer->pointer_new); -+ else -+ DEBUG_WARN("update pointer error"); - break; - - default: -diff -Npur FreeRDP-1.0.2/libfreerdp-core/rdp.c FreeRDP-1.0.2-new/libfreerdp-core/rdp.c ---- FreeRDP-1.0.2/libfreerdp-core/rdp.c 2013-01-03 05:46:59.000000000 +0800 -+++ FreeRDP-1.0.2-new/libfreerdp-core/rdp.c 2014-06-13 04:37:01.317162752 +0800 -@@ -471,7 +471,7 @@ void rdp_recv_set_error_info_data_pdu(rd - rdp_print_errinfo(rdp->errorInfo); - } - --void rdp_recv_data_pdu(rdpRdp* rdp, STREAM* s) -+boolean rdp_recv_data_pdu(rdpRdp* rdp, STREAM* s) - { - uint8 type; - uint16 length; -@@ -497,7 +497,8 @@ void rdp_recv_data_pdu(rdpRdp* rdp, STRE - break; - - case DATA_PDU_TYPE_POINTER: -- update_recv_pointer(rdp->update, s); -+ if (!update_recv_pointer(rdp->update, s)) -+ return false; - break; - - case DATA_PDU_TYPE_INPUT: -@@ -571,6 +572,7 @@ void rdp_recv_data_pdu(rdpRdp* rdp, STRE - default: - break; - } -+ return true; - } - - boolean rdp_recv_out_of_sequence_pdu(rdpRdp* rdp, STREAM* s) -@@ -583,8 +585,10 @@ boolean rdp_recv_out_of_sequence_pdu(rdp - - if (type == PDU_TYPE_DATA) - { -- rdp_recv_data_pdu(rdp, s); -- return true; -+ if (rdp_recv_data_pdu(rdp, s)) -+ return true; -+ else -+ return false; - } - else if (type == PDU_TYPE_SERVER_REDIRECTION) - { -@@ -719,7 +723,8 @@ static boolean rdp_recv_tpkt_pdu(rdpRdp* - switch (pduType) - { - case PDU_TYPE_DATA: -- rdp_recv_data_pdu(rdp, s); -+ if (!rdp_recv_data_pdu(rdp, s)) -+ return false; - break; - - case PDU_TYPE_DEACTIVATE_ALL: -diff -Npur FreeRDP-1.0.2/libfreerdp-core/rdp.h FreeRDP-1.0.2-new/libfreerdp-core/rdp.h ---- FreeRDP-1.0.2/libfreerdp-core/rdp.h 2013-01-03 05:46:59.000000000 +0800 -+++ FreeRDP-1.0.2-new/libfreerdp-core/rdp.h 2014-06-13 04:37:01.317162752 +0800 -@@ -181,7 +181,7 @@ boolean rdp_send_pdu(rdpRdp* rdp, STREAM - - STREAM* rdp_data_pdu_init(rdpRdp* rdp); - boolean rdp_send_data_pdu(rdpRdp* rdp, STREAM* s, uint8 type, uint16 channel_id); --void rdp_recv_data_pdu(rdpRdp* rdp, STREAM* s); -+boolean rdp_recv_data_pdu(rdpRdp* rdp, STREAM* s); - - boolean rdp_send(rdpRdp* rdp, STREAM* s, uint16 channel_id); - void rdp_recv(rdpRdp* rdp); -diff -Npur FreeRDP-1.0.2/libfreerdp-core/update.c FreeRDP-1.0.2-new/libfreerdp-core/update.c ---- FreeRDP-1.0.2/libfreerdp-core/update.c 2013-01-03 05:46:59.000000000 +0800 -+++ FreeRDP-1.0.2-new/libfreerdp-core/update.c 2014-06-13 04:37:01.317162752 +0800 -@@ -165,13 +165,27 @@ void update_read_pointer_system(STREAM* - stream_read_uint32(s, pointer_system->type); /* systemPointerType (4 bytes) */ - } - --void update_read_pointer_color(STREAM* s, POINTER_COLOR_UPDATE* pointer_color) -+boolean update_read_pointer_color(STREAM* s, POINTER_COLOR_UPDATE* pointer_color) - { - stream_read_uint16(s, pointer_color->cacheIndex); /* cacheIndex (2 bytes) */ - stream_read_uint16(s, pointer_color->xPos); /* xPos (2 bytes) */ - stream_read_uint16(s, pointer_color->yPos); /* yPos (2 bytes) */ -+ -+ /** -+ * As stated in 2.2.9.1.1.4.4 Color Pointer Update: -+ * The maximum allowed pointer width/height is 96 pixels if the client indicated support -+ * for large pointers by setting the LARGE_POINTER_FLAG (0x00000001) in the Large -+ * Pointer Capability Set (section 2.2.7.2.7). If the LARGE_POINTER_FLAG was not -+ * set, the maximum allowed pointer width/height is 32 pixels. -+ * -+ * So we check for a maximum of 96 for CVE-2014-0250. -+ */ - stream_read_uint16(s, pointer_color->width); /* width (2 bytes) */ - stream_read_uint16(s, pointer_color->height); /* height (2 bytes) */ -+ if ((pointer_color->width > 96) || (pointer_color->height > 96)) -+ return false; -+ -+ - stream_read_uint16(s, pointer_color->lengthAndMask); /* lengthAndMask (2 bytes) */ - stream_read_uint16(s, pointer_color->lengthXorMask); /* lengthXorMask (2 bytes) */ - -@@ -200,12 +214,13 @@ void update_read_pointer_color(STREAM* s - - if (stream_get_left(s) > 0) - stream_seek_uint8(s); /* pad (1 byte) */ -+ return true; - } - --void update_read_pointer_new(STREAM* s, POINTER_NEW_UPDATE* pointer_new) -+boolean update_read_pointer_new(STREAM* s, POINTER_NEW_UPDATE* pointer_new) - { - stream_read_uint16(s, pointer_new->xorBpp); /* xorBpp (2 bytes) */ -- update_read_pointer_color(s, &pointer_new->colorPtrAttr); /* colorPtrAttr */ -+ return update_read_pointer_color(s, &pointer_new->colorPtrAttr); /* colorPtrAttr */ - } - - void update_read_pointer_cached(STREAM* s, POINTER_CACHED_UPDATE* pointer_cached) -@@ -213,7 +228,7 @@ void update_read_pointer_cached(STREAM* - stream_read_uint16(s, pointer_cached->cacheIndex); /* cacheIndex (2 bytes) */ - } - --void update_recv_pointer(rdpUpdate* update, STREAM* s) -+boolean update_recv_pointer(rdpUpdate* update, STREAM* s) - { - uint16 messageType; - rdpContext* context = update->context; -@@ -235,8 +250,10 @@ void update_recv_pointer(rdpUpdate* upda - break; - - case PTR_MSG_TYPE_COLOR: -- update_read_pointer_color(s, &pointer->pointer_color); -- IFCALL(pointer->PointerColor, context, &pointer->pointer_color); -+ if (update_read_pointer_color(s, &pointer->pointer_color)) -+ IFCALL(pointer->PointerColor, context, &pointer->pointer_color); -+ else -+ return false; - break; - - case PTR_MSG_TYPE_POINTER: -@@ -252,6 +269,7 @@ void update_recv_pointer(rdpUpdate* upda - default: - break; - } -+ return true; - } - - void update_recv(rdpUpdate* update, STREAM* s) -diff -Npur FreeRDP-1.0.2/libfreerdp-core/update.h FreeRDP-1.0.2-new/libfreerdp-core/update.h ---- FreeRDP-1.0.2/libfreerdp-core/update.h 2013-01-03 05:46:59.000000000 +0800 -+++ FreeRDP-1.0.2-new/libfreerdp-core/update.h 2014-06-13 04:45:52.981160169 +0800 -@@ -43,13 +43,13 @@ void update_reset_state(rdpUpdate* updat - void update_read_bitmap(rdpUpdate* update, STREAM* s, BITMAP_UPDATE* bitmap_update); - void update_read_palette(rdpUpdate* update, STREAM* s, PALETTE_UPDATE* palette_update); - void update_recv_play_sound(rdpUpdate* update, STREAM* s); --void update_recv_pointer(rdpUpdate* update, STREAM* s); -+boolean update_recv_pointer(rdpUpdate* update, STREAM* s); - void update_recv(rdpUpdate* update, STREAM* s); - - void update_read_pointer_position(STREAM* s, POINTER_POSITION_UPDATE* pointer_position); - void update_read_pointer_system(STREAM* s, POINTER_SYSTEM_UPDATE* pointer_system); --void update_read_pointer_color(STREAM* s, POINTER_COLOR_UPDATE* pointer_color); --void update_read_pointer_new(STREAM* s, POINTER_NEW_UPDATE* pointer_new); -+boolean update_read_pointer_color(STREAM* s, POINTER_COLOR_UPDATE* pointer_color); -+boolean update_read_pointer_new(STREAM* s, POINTER_NEW_UPDATE* pointer_new); - void update_read_pointer_cached(STREAM* s, POINTER_CACHED_UPDATE* pointer_cached); - - void update_register_server_callbacks(rdpUpdate* update); diff --git a/freerdp-CVE-2014-0791.patch b/freerdp-CVE-2014-0791.patch deleted file mode 100644 index fbdf0f8..0000000 --- a/freerdp-CVE-2014-0791.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 5253b9e27a2de48564f9b41eb3643a8edf11afe9 Mon Sep 17 00:00:00 2001 -From: Felix Zhang -Date: Mon, 23 Jun 2014 12:57:55 +0800 -Subject: [PATCH] CVE-2014-0791 - ---- - libfreerdp-core/license.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/libfreerdp-core/license.c b/libfreerdp-core/license.c -index 60b9f93..2425ddc 100644 ---- a/libfreerdp-core/license.c -+++ b/libfreerdp-core/license.c -@@ -539,6 +539,8 @@ void license_read_scope_list(STREAM* s, SCOPE_LIST* scopeList) - uint32 scopeCount; - - stream_read_uint32(s, scopeCount); /* ScopeCount (4 bytes) */ -+ if (scopeCount > stream_get_left(s) / 4) /* every blob is at least 4 bytes */ -+ return; - - scopeList->count = scopeCount; - scopeList->array = (LICENSE_BLOB*) xmalloc(sizeof(LICENSE_BLOB) * scopeCount); --- -1.7.12.4 - diff --git a/freerdp-fix-FindPCSC-macro.patch b/freerdp-fix-FindPCSC-macro.patch deleted file mode 100644 index 186e16f..0000000 --- a/freerdp-fix-FindPCSC-macro.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: freerdp-1.0.1/cmake/FindPCSC.cmake -=================================================================== ---- freerdp-1.0.1.orig/cmake/FindPCSC.cmake -+++ freerdp-1.0.1/cmake/FindPCSC.cmake -@@ -8,6 +8,9 @@ find_path(PCSC_INCLUDE_DIR pcsclite.h PA - PATH_SUFFIXES PCSC ) - find_library(PCSC_LIBRARY pcsclite PATHS ${PCSC_LIBRARY_DIRS}) - -+set(PCSC_LIBRARIES ${PCSC_LIBRARY} ) -+set(PCSC_INCLUDE_DIRS ${PCSC_INCLUDE_DIR} ) -+ - FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCSC DEFAULT_MSG PCSC_INCLUDE_DIR PCSC_LIBRARY) - - mark_as_advanced(PCSC_INCLUDE_DIR PCSC_LIBRARY) diff --git a/freerdp-handle-null-device-name.patch b/freerdp-handle-null-device-name.patch deleted file mode 100644 index d79a916..0000000 --- a/freerdp-handle-null-device-name.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 473ba080e77e6715797f8497cb8f62aed3de56fe Mon Sep 17 00:00:00 2001 -From: Vic Lee -Date: Wed, 9 May 2012 19:18:47 +0800 -Subject: rdpsnd/pulse: fix a segfault in case device name is not provided. - ---- - channels/rdpsnd/pulse/rdpsnd_pulse.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/channels/rdpsnd/pulse/rdpsnd_pulse.c b/channels/rdpsnd/pulse/rdpsnd_pulse.c -index 1a331f0..86e0793 100644 ---- a/channels/rdpsnd/pulse/rdpsnd_pulse.c -+++ b/channels/rdpsnd/pulse/rdpsnd_pulse.c -@@ -474,7 +474,7 @@ int FreeRDPRdpsndDeviceEntry(PFREERDP_RDPSND_DEVICE_ENTRY_POINTS pEntryPoints) - data = pEntryPoints->plugin_data; - if (data && strcmp((char*)data->data[0], "pulse") == 0) - { -- if(strlen((char*)data->data[1]) > 0) -+ if(data->data[1] && strlen((char*)data->data[1]) > 0) - pulse->device_name = xstrdup((char*)data->data[1]); - else - pulse->device_name = NULL; --- -1.7.10.4 - diff --git a/freerdp.changes b/freerdp.changes index 501714d..3adcf3d 100644 --- a/freerdp.changes +++ b/freerdp.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Wed May 4 12:06:22 UTC 2016 - fezhang@suse.com + +- Update to version 2.0.0, git master branch id a7ca42e (FATE#319661), + no upstream changelog available. + * Warning: This is a git snapshot regarded as technical preview + by upstream. + * Warning: For xfreerdp, new /long-option commandline interfaces + have replaced the old --long-option interfaces. Existing user + scripts need to migrate to the new interfaces to avoid breakages. + See more details at + https://github.com/FreeRDP/FreeRDP/wiki/CommandLineInterface + * Added Network Level Ahthentication support. + * freerdp-libfreerdp-1_0 and freerdp-libfreerdp-1_0-plugins are + deprecated and merged into freerdp-devel. + * Added Windows Portable Runtime. for more details see + http://www.freerdp.com/2012/05/24/winpr-windows-portable-runtime +- Drop FindALSA.cmake: deprecated +- Drop freerdp_branch-1.0.x_fix-kpdivide-issue831.patch: + fixed upstream, implemention now in include/freerdp/scancode.h. +- Drop freerdp-CVE-2014-0250.patch (bnc#880317): + fixed upstream 532c420. +- Drop freerdp-CVE-2014-0791.patch (bnc#857491): + fixed upstream f1d6afc. +- Drop freerdp-fix-FindPCSC-macro.patch: + fixed upstream 9148af3. +- Drop freerdp-handle-null-device-name.patch (bnc#785437): + deprecated, related implementation dropped. + was: freerdp-fix-pulse-no-device-name.patch + ------------------------------------------------------------------- Mon Jun 23 03:05:37 UTC 2014 - fezhang@suse.com diff --git a/freerdp.spec b/freerdp.spec index bf461f1..ec41ce6 100644 --- a/freerdp.spec +++ b/freerdp.spec @@ -1,7 +1,7 @@ # # spec file for package freerdp # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,37 +16,30 @@ # -%define libname libfreerdp-1_0 - Name: freerdp -Version: 1.0.2 +Version: 2.0.0git.a7ca42e Release: 0 Summary: Remote Desktop Viewer Client License: Apache-2.0 Group: Productivity/Networking/Other Url: http://www.freerdp.com/ -Source0: https://github.com/downloads/FreeRDP/FreeRDP/%{name}-%{version}.tar.gz -Source1: FindALSA.cmake -# PATCH-FIX-UPSTREAM freerdp-fix-FindPCSC-macro.patch https://github.com/FreeRDP/FreeRDP/issues/562 gberh@opensuse.org -- Fix the build by setting PCSC_LIBRARIES and PCSC_INCLUDE_DIRS variables explicitly which are otherwise empty -Patch1: freerdp-fix-FindPCSC-macro.patch -# PATCH-FIX-UPSTREAM freerdp-fix-pulse-no-device-name.patch bnc#785437 gber@opensuse.org -- Fix a segfault in case device name is not provided -Patch4: freerdp-handle-null-device-name.patch -# PATCH-FIX-UPSTREAM (wip) fix handle of kpdivide on keypad - issue #831 -Patch5: freerdp_branch-1.0.x_fix-kpdivide-issue831.patch -# PATCH-FIX-UPSTREAM freerdp-CVE-2014-0250.patch bnc#880317 dliang@suse.com - backport from upstream -Patch6: freerdp-CVE-2014-0250.patch -Patch7: freerdp-CVE-2014-0791.patch +Source0: freerdp-2.0.0git.a7ca42e.tar.gz BuildRequires: alsa-devel BuildRequires: cmake BuildRequires: cups-devel BuildRequires: ed +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: gstreamer-devel +BuildRequires: gstreamer-plugins-base-devel BuildRequires: libopenssl-devel BuildRequires: libpulse-devel +BuildRequires: libxkbcommon-devel BuildRequires: pcsc-lite-devel +BuildRequires: systemd-devel BuildRequires: xmlto BuildRequires: xorg-x11-devel BuildRequires: zlib-devel -Recommends: libfreerdp-plugins BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -54,28 +47,12 @@ FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) following the Microsoft Open Specifications. This package provides the client application. -%package -n %{libname} -Summary: Remote Desktop Viewer Library -Group: System/Libraries - -%description -n %{libname} -FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) -following the Microsoft Open Specifications. This package provides the shared -library. - -%package -n %{libname}-plugins -Summary: Plugins for %{libname} -Group: System/Libraries -Provides: libfreerdp-plugins = %{version} -Requires: %{libname} = %{version} - -%description -n %{libname}-plugins -This package provides plugins for %{libname}. - %package devel Summary: Development Files for %{name} Group: Development/Libraries/C and C++ -Requires: %{libname} = %{version} +Requires: %{name} = %{version} +Provides: libfreerdp-1_0 +Provides: libfreerdp-1_0-plugins %description devel This package contains development files necessary for developing applications @@ -83,101 +60,47 @@ based on libfreerdp. %prep %setup -q -n FreeRDP-%{version} -%patch1 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -# use a versioned subdirectory for plugins in order to comply with the shared -# library policy -ed -s CMakeLists.txt 2>/dev/null <<'EOF' -,s/FREERDP_PLUGIN_PATH "\${CMAKE_INSTALL_PREFIX}\/\${CMAKE_INSTALL_LIBDIR}\/freerdp"/FREERDP_PLUGIN_PATH "\${CMAKE_INSTALL_PREFIX}\/\${CMAKE_INSTALL_LIBDIR}\/%{libname}"/ -w -EOF -%if 0%{?sles_version} == 11 - cp %SOURCE1 cmake/ -%endif %build -mkdir build -cd build -export CFLAGS="%{optflags} -DOPENSSL_LOAD_CONF" -cmake \ +%cmake \ + -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_LIBDIR=%{_lib} \ - -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_NO_BUILTIN_CHRPATH=ON \ -DWITH_ALSA=ON \ - -DWITH_PULSEAUDIO=ON \ - -DWITH_PCSC=ON \ -DWITH_CUPS=ON \ -DWITH_FFMPEG=OFF \ + -DWITH_PCSC=ON \ + -DWITH_PULSEAUDIO=ON \ %ifarch %ix86 x86_64 -DWITH_SSE2=ON \ %endif .. -make %{?_smp_mflags} VERBOSE=1 +make %{?_smp_mflags} %install cd build make install 'DESTDIR=%{buildroot}' +find %{buildroot} -name "*.a" -delete -# remove keymaps as we make use of libxkbfile -# rm -rf $RPM_BUILD_ROOT/usr/share/freerdp/keymaps/ +%fdupes -s %{buildroot} -%post -n %{libname} -p /sbin/ldconfig +%post -p /sbin/ldconfig -%postun -n %{libname} -p /sbin/ldconfig +%postun -p /sbin/ldconfig %files %defattr(-,root,root) %doc LICENSE README ChangeLog -%{_bindir}/xfreerdp -%{_datadir}/%{name} +%{_bindir}/* +%{_libdir}/*.so.* %{_mandir}/man1/xfreerdp.1%{ext_man} -%files -n %{libname} -%defattr(-,root,root) -%doc LICENSE -%{_libdir}/libfreerdp-cache.so.* -%{_libdir}/libfreerdp-channels.so.* -%{_libdir}/libfreerdp-codec.so.* -%{_libdir}/libfreerdp-core.so.* -%{_libdir}/libfreerdp-gdi.so.* -%{_libdir}/libfreerdp-kbd.so.* -%{_libdir}/libfreerdp-rail.so.* -%{_libdir}/libfreerdp-utils.so.* - -%files -n %{libname}-plugins -%defattr(-,root,root) -%doc LICENSE -%dir %{_libdir}/%{libname} -%{_libdir}/%{libname}/audin.so -%{_libdir}/%{libname}/audin_alsa.so -%{_libdir}/%{libname}/audin_pulse.so -%{_libdir}/%{libname}/cliprdr.so -%{_libdir}/%{libname}/disk.so -%{_libdir}/%{libname}/drdynvc.so -%{_libdir}/%{libname}/parallel.so -%{_libdir}/%{libname}/printer.so -%{_libdir}/%{libname}/rdpdr.so -%{_libdir}/%{libname}/rdpsnd.so -%{_libdir}/%{libname}/rdpsnd_alsa.so -%{_libdir}/%{libname}/rdpsnd_pulse.so -%{_libdir}/%{libname}/scard.so -%{_libdir}/%{libname}/serial.so -%{_libdir}/%{libname}/rail.so -%{_libdir}/%{libname}/rdpdbg.so -%{_libdir}/%{libname}/tsmf.so -%{_libdir}/%{libname}/tsmf_alsa.so -%{_libdir}/%{libname}/tsmf_pulse.so - %files devel %defattr(-,root,root) -%dir %{_includedir}/freerdp -%dir %{_includedir}/freerdp/* -%{_includedir}/freerdp/*.h -%{_includedir}/freerdp/*/*.h -%{_libdir}/libfreerdp-*.so -%{_libdir}/pkgconfig/freerdp.pc +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/cmake/* +%{_libdir}/pkgconfig/* %changelog diff --git a/freerdp_branch-1.0.x_fix-kpdivide-issue831.patch b/freerdp_branch-1.0.x_fix-kpdivide-issue831.patch deleted file mode 100644 index 48c50bd..0000000 --- a/freerdp_branch-1.0.x_fix-kpdivide-issue831.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/include/freerdp/kbd/vkcodes.h 2013-03-07 10:21:12.591964852 +0100 -+++ b/include/freerdp/kbd/vkcodes.h 2013-03-07 10:21:19.825964976 +0100 -@@ -434,7 +434,7 @@ - { 0x00, 0, "VK_SEPARATOR" , NULL }, - { 0x4A, 0, "VK_SUBTRACT" , "KPSU" }, - { 0x53, 0, "VK_DECIMAL" , "KPDL" }, -- { 0x35, 0, "VK_DIVIDE" , "KPDV" }, -+ { 0x35, 1, "VK_DIVIDE" , "KPDV" }, - { 0x3B, 0, "VK_F1" , "FK01" }, - { 0x3C, 0, "VK_F2" , "FK02" }, - { 0x3D, 0, "VK_F3" , "FK03" }, From 887e3fd2699a02f0201739798eef3940468bf7a7cc9839ab06873ba5e65e7752 Mon Sep 17 00:00:00 2001 From: Bruno Friedmann Date: Tue, 17 May 2016 19:32:01 +0000 Subject: [PATCH 2/4] Accepting request 396177 from home:zhangxiaofei:branches:X11:RemoteDesktop add obs source integratoin; update to upstream HEAD OBS-URL: https://build.opensuse.org/request/show/396177 OBS-URL: https://build.opensuse.org/package/show/X11:RemoteDesktop/freerdp?expand=0&rev=48 --- _service | 15 +++++ _servicedata | 4 ++ freerdp-2.0.0git.1463131968.4e66df7.tar.gz | 3 + freerdp-2.0.0git.a7ca42e.tar.gz | 3 - freerdp.changes | 20 +++++-- freerdp.spec | 68 +++++++++++++++------- 6 files changed, 84 insertions(+), 29 deletions(-) create mode 100644 _service create mode 100644 _servicedata create mode 100644 freerdp-2.0.0git.1463131968.4e66df7.tar.gz delete mode 100644 freerdp-2.0.0git.a7ca42e.tar.gz diff --git a/_service b/_service new file mode 100644 index 0000000..9a07538 --- /dev/null +++ b/_service @@ -0,0 +1,15 @@ + + + git + https://github.com/FreeRDP/FreeRDP.git + freerdp + 2.0.0git + enable + refs/heads/master + + + *.tar + gz + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..54d9a05 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/FreeRDP/FreeRDP.git + 4e66df7228b14e432a0793d32ac2524d37cb88ec \ No newline at end of file diff --git a/freerdp-2.0.0git.1463131968.4e66df7.tar.gz b/freerdp-2.0.0git.1463131968.4e66df7.tar.gz new file mode 100644 index 0000000..5f717f1 --- /dev/null +++ b/freerdp-2.0.0git.1463131968.4e66df7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6c8f77b0bb0c4dc2eb96dc4b6385b8c5b89fbefe25c5eb72e3c8adede02b1e80 +size 6511546 diff --git a/freerdp-2.0.0git.a7ca42e.tar.gz b/freerdp-2.0.0git.a7ca42e.tar.gz deleted file mode 100644 index bd00362..0000000 --- a/freerdp-2.0.0git.a7ca42e.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7afdfa199247eaef1e7d5741fd26ccd5642e0cc1916fcbeaaf8ddf27f56d36cc -size 6538704 diff --git a/freerdp.changes b/freerdp.changes index 3adcf3d..0c862df 100644 --- a/freerdp.changes +++ b/freerdp.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue May 17 10:25:00 UTC 2016 - fezhang@suse.com + +- Add obs git integration. +- Update to version 2.0.0git.1463131968.4e66df7: + + Fixed memory leaks. + + wfreerdp: fix name build without client interface + + libfreerdp-codec: fix xcrush decompression, revert remote control fix + + KB3153731: May 2016 DST update for Azerbaijan, Chile, Haiti and Morocco + + libfreerdp-codec: make proper xcrush context reset fix + ------------------------------------------------------------------- Wed May 4 12:06:22 UTC 2016 - fezhang@suse.com @@ -8,13 +19,12 @@ Wed May 4 12:06:22 UTC 2016 - fezhang@suse.com * Warning: For xfreerdp, new /long-option commandline interfaces have replaced the old --long-option interfaces. Existing user scripts need to migrate to the new interfaces to avoid breakages. - See more details at + For more details, see: https://github.com/FreeRDP/FreeRDP/wiki/CommandLineInterface - * Added Network Level Ahthentication support. - * freerdp-libfreerdp-1_0 and freerdp-libfreerdp-1_0-plugins are - deprecated and merged into freerdp-devel. - * Added Windows Portable Runtime. for more details see + * Add Network Level Ahthentication support. + * Add Windows Portable Runtime. For more details, see: http://www.freerdp.com/2012/05/24/winpr-windows-portable-runtime + * Drop freerdp-libfreerdp-1_0-plugins. - Drop FindALSA.cmake: deprecated - Drop freerdp_branch-1.0.x_fix-kpdivide-issue831.patch: fixed upstream, implemention now in include/freerdp/scancode.h. diff --git a/freerdp.spec b/freerdp.spec index ec41ce6..dac4d1c 100644 --- a/freerdp.spec +++ b/freerdp.spec @@ -16,14 +16,16 @@ # +%define libname libfreerdp-2_0 + Name: freerdp -Version: 2.0.0git.a7ca42e +Version: 2.0.0git.1463131968.4e66df7 Release: 0 Summary: Remote Desktop Viewer Client License: Apache-2.0 Group: Productivity/Networking/Other Url: http://www.freerdp.com/ -Source0: freerdp-2.0.0git.a7ca42e.tar.gz +Source0: %{name}-%{version}.tar.gz BuildRequires: alsa-devel BuildRequires: cmake BuildRequires: cups-devel @@ -47,60 +49,84 @@ FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) following the Microsoft Open Specifications. This package provides the client application. +%package -n %{libname} +Summary: Remote Desktop Viewer Library +Group: System/Libraries + +%description -n %{libname} +FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) +following the Microsoft Open Specifications. This package provides the shared +library. + %package devel Summary: Development Files for %{name} Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} -Provides: libfreerdp-1_0 -Provides: libfreerdp-1_0-plugins +Requires: %{libname} = %{version} %description devel This package contains development files necessary for developing applications based on libfreerdp. %prep -%setup -q -n FreeRDP-%{version} +%setup -q -n %{name}-%{version} %build %cmake \ - -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_LIBDIR=%{_lib} \ - -DCMAKE_NO_BUILTIN_CHRPATH=ON \ + -DCMAKE_BUILD_TYPE=Release \ -DWITH_ALSA=ON \ - -DWITH_CUPS=ON \ - -DWITH_FFMPEG=OFF \ - -DWITH_PCSC=ON \ -DWITH_PULSEAUDIO=ON \ + -DWITH_PCSC=ON \ + -DWITH_CUPS=ON \ + -DCMAKE_NO_BUILTIN_CHRPATH=ON \ %ifarch %ix86 x86_64 -DWITH_SSE2=ON \ %endif .. -make %{?_smp_mflags} +make %{?_smp_mflags} VERBOSE=1 %install cd build make install 'DESTDIR=%{buildroot}' find %{buildroot} -name "*.a" -delete - %fdupes -s %{buildroot} -%post -p /sbin/ldconfig +%post -n %{libname} -p /sbin/ldconfig -%postun -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig %files %defattr(-,root,root) %doc LICENSE README ChangeLog -%{_bindir}/* -%{_libdir}/*.so.* +%{_bindir}/winpr-hash +%{_bindir}/winpr-makecert +%{_bindir}/xfreerdp %{_mandir}/man1/xfreerdp.1%{ext_man} +%files -n %{libname} +%defattr(-,root,root) +%doc LICENSE +%{_libdir}/libfreerdp-client.so.* +%{_libdir}/libfreerdp.so.* +%{_libdir}/libwinpr.so.* +%{_libdir}/libwinpr-tools.so.* + %files devel %defattr(-,root,root) -%{_includedir}/* -%{_libdir}/*.so -%{_libdir}/cmake/* -%{_libdir}/pkgconfig/* +%doc LICENSE +%{_includedir}/freerdp2 +%{_includedir}/winpr2 +%{_libdir}/cmake/FreeRDP2 +%{_libdir}/cmake/FreeRDP-Client2 +%{_libdir}/cmake/WinPR2 +%{_libdir}/libfreerdp-client.so +%{_libdir}/libfreerdp.so +%{_libdir}/libwinpr.so +%{_libdir}/libwinpr-tools.so +%{_libdir}/pkgconfig/freerdp2.pc +%{_libdir}/pkgconfig/freerdp-client2.pc +%{_libdir}/pkgconfig/winpr2.pc +%{_libdir}/pkgconfig/winpr-tools2.pc %changelog From 316398dbcc53c5841ff40a327af676da25e1d238b992c67592f2362303ce1654 Mon Sep 17 00:00:00 2001 From: Bruno Friedmann Date: Wed, 18 May 2016 05:01:12 +0000 Subject: [PATCH 3/4] Accepting request 396551 from home:zhangxiaofei:branches:X11:RemoteDesktop change tar naming; change lib pkg naming; obsolete libfreerdp-1_0-plugins OBS-URL: https://build.opensuse.org/request/show/396551 OBS-URL: https://build.opensuse.org/package/show/X11:RemoteDesktop/freerdp?expand=0&rev=49 --- _service | 2 +- freerdp-2.0.0git.1463131968.4e66df7.tar.gz | 3 --- freerdp-2.0.0~git.1463131968.4e66df7.tar.gz | 3 +++ freerdp.changes | 2 +- freerdp.spec | 7 +++++-- 5 files changed, 10 insertions(+), 7 deletions(-) delete mode 100644 freerdp-2.0.0git.1463131968.4e66df7.tar.gz create mode 100644 freerdp-2.0.0~git.1463131968.4e66df7.tar.gz diff --git a/_service b/_service index 9a07538..f97a77a 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ git https://github.com/FreeRDP/FreeRDP.git freerdp - 2.0.0git + 2.0.0~git enable refs/heads/master diff --git a/freerdp-2.0.0git.1463131968.4e66df7.tar.gz b/freerdp-2.0.0git.1463131968.4e66df7.tar.gz deleted file mode 100644 index 5f717f1..0000000 --- a/freerdp-2.0.0git.1463131968.4e66df7.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6c8f77b0bb0c4dc2eb96dc4b6385b8c5b89fbefe25c5eb72e3c8adede02b1e80 -size 6511546 diff --git a/freerdp-2.0.0~git.1463131968.4e66df7.tar.gz b/freerdp-2.0.0~git.1463131968.4e66df7.tar.gz new file mode 100644 index 0000000..60aed10 --- /dev/null +++ b/freerdp-2.0.0~git.1463131968.4e66df7.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ea8ce584c969473f33f5e91b5959a91496a8d098b1a93946ec7b2a0edfbe0a7b +size 6532468 diff --git a/freerdp.changes b/freerdp.changes index 0c862df..4438aa1 100644 --- a/freerdp.changes +++ b/freerdp.changes @@ -24,7 +24,7 @@ Wed May 4 12:06:22 UTC 2016 - fezhang@suse.com * Add Network Level Ahthentication support. * Add Windows Portable Runtime. For more details, see: http://www.freerdp.com/2012/05/24/winpr-windows-portable-runtime - * Drop freerdp-libfreerdp-1_0-plugins. + * Obsolete libfreerdp-1_0-plugins. - Drop FindALSA.cmake: deprecated - Drop freerdp_branch-1.0.x_fix-kpdivide-issue831.patch: fixed upstream, implemention now in include/freerdp/scancode.h. diff --git a/freerdp.spec b/freerdp.spec index dac4d1c..ed1dcb0 100644 --- a/freerdp.spec +++ b/freerdp.spec @@ -16,10 +16,10 @@ # -%define libname libfreerdp-2_0 +%define sover 2 Name: freerdp -Version: 2.0.0git.1463131968.4e66df7 +Version: 2.0.0~git.1463131968.4e66df7 Release: 0 Summary: Remote Desktop Viewer Client License: Apache-2.0 @@ -44,6 +44,8 @@ BuildRequires: xorg-x11-devel BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build +%define libname lib%{name}%{sover} + %description FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) following the Microsoft Open Specifications. This package provides the client @@ -52,6 +54,7 @@ application. %package -n %{libname} Summary: Remote Desktop Viewer Library Group: System/Libraries +Obsoletes: libfreerdp-1_0-plugins %description -n %{libname} FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) From eed81b0ec0011a6dd710e1c4f8430fe65967eb0f40014e3dd24388dc97b54800 Mon Sep 17 00:00:00 2001 From: Bruno Friedmann Date: Wed, 18 May 2016 09:06:49 +0000 Subject: [PATCH 4/4] Accepting request 396579 from home:jengelh:branches:X11:RemoteDesktop - Kill off __DATE__ from built sources. OBS-URL: https://build.opensuse.org/request/show/396579 OBS-URL: https://build.opensuse.org/package/show/X11:RemoteDesktop/freerdp?expand=0&rev=50 --- freerdp.changes | 5 +++++ freerdp.spec | 1 + 2 files changed, 6 insertions(+) diff --git a/freerdp.changes b/freerdp.changes index 4438aa1..25c9ee1 100644 --- a/freerdp.changes +++ b/freerdp.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed May 18 08:44:26 UTC 2016 - jengelh@inai.de + +- Kill off __DATE__ from built sources. + ------------------------------------------------------------------- Tue May 17 10:25:00 UTC 2016 - fezhang@suse.com diff --git a/freerdp.spec b/freerdp.spec index ed1dcb0..ad4d1fc 100644 --- a/freerdp.spec +++ b/freerdp.spec @@ -74,6 +74,7 @@ based on libfreerdp. %setup -q -n %{name}-%{version} %build +find . -type f -name "*.c" -exec perl -i -pe 's{__(DATE|TIME)__}{""}g' "{}" "+" %cmake \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_LIBDIR=%{_lib} \