SHA256
1
0
forked from pool/freerdp

Accepting request 396582 from X11:RemoteDesktop

- Kill off __DATE__ from built sources. (forwarded request 396579 from jengelh)

OBS-URL: https://build.opensuse.org/request/show/396582
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/freerdp?expand=0&rev=22
This commit is contained in:
Dominique Leuenberger 2016-05-24 07:34:15 +00:00 committed by Git OBS Bridge
commit c651998111
12 changed files with 106 additions and 402 deletions

View File

@ -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 <philip@yhbt.com>
#
# 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)

15
_service Normal file
View File

@ -0,0 +1,15 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/FreeRDP/FreeRDP.git</param>
<param name="filename">freerdp</param>
<param name="versionprefix">2.0.0~git</param>
<param name="changesgenerate">enable</param>
<param name="revision">refs/heads/master</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">gz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>

4
_servicedata Normal file
View File

@ -0,0 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/FreeRDP/FreeRDP.git</param>
<param name="changesrevision">4e66df7228b14e432a0793d32ac2524d37cb88ec</param></service></servicedata>

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c0f137df7ab6fb76d7e7d316ae4e0ca6caf356e5bc0b5dadbdfadea5db992df1
size 3506618

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ea8ce584c969473f33f5e91b5959a91496a8d098b1a93946ec7b2a0edfbe0a7b
size 6532468

View File

@ -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);

View File

@ -1,25 +0,0 @@
From 5253b9e27a2de48564f9b41eb3643a8edf11afe9 Mon Sep 17 00:00:00 2001
From: Felix Zhang <fezhang@suse.com>
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

View File

@ -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)

View File

@ -1,25 +0,0 @@
From 473ba080e77e6715797f8497cb8f62aed3de56fe Mon Sep 17 00:00:00 2001
From: Vic Lee <llyzs@163.com>
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

View File

@ -1,3 +1,48 @@
-------------------------------------------------------------------
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
- 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
- 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.
For more details, see:
https://github.com/FreeRDP/FreeRDP/wiki/CommandLineInterface
* Add Network Level Ahthentication support.
* Add Windows Portable Runtime. For more details, see:
http://www.freerdp.com/2012/05/24/winpr-windows-portable-runtime
* 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.
- 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 Mon Jun 23 03:05:37 UTC 2014 - fezhang@suse.com

View File

@ -1,7 +1,7 @@
# #
# spec file for package freerdp # 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 # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -16,39 +16,36 @@
# #
%define libname libfreerdp-1_0 %define sover 2
Name: freerdp Name: freerdp
Version: 1.0.2 Version: 2.0.0~git.1463131968.4e66df7
Release: 0 Release: 0
Summary: Remote Desktop Viewer Client Summary: Remote Desktop Viewer Client
License: Apache-2.0 License: Apache-2.0
Group: Productivity/Networking/Other Group: Productivity/Networking/Other
Url: http://www.freerdp.com/ Url: http://www.freerdp.com/
Source0: https://github.com/downloads/FreeRDP/FreeRDP/%{name}-%{version}.tar.gz Source0: %{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
BuildRequires: alsa-devel BuildRequires: alsa-devel
BuildRequires: cmake BuildRequires: cmake
BuildRequires: cups-devel BuildRequires: cups-devel
BuildRequires: ed BuildRequires: ed
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: gstreamer-devel
BuildRequires: gstreamer-plugins-base-devel
BuildRequires: libopenssl-devel BuildRequires: libopenssl-devel
BuildRequires: libpulse-devel BuildRequires: libpulse-devel
BuildRequires: libxkbcommon-devel
BuildRequires: pcsc-lite-devel BuildRequires: pcsc-lite-devel
BuildRequires: systemd-devel
BuildRequires: xmlto BuildRequires: xmlto
BuildRequires: xorg-x11-devel BuildRequires: xorg-x11-devel
BuildRequires: zlib-devel BuildRequires: zlib-devel
Recommends: libfreerdp-plugins
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
%define libname lib%{name}%{sover}
%description %description
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications. This package provides the client following the Microsoft Open Specifications. This package provides the client
@ -57,21 +54,13 @@ application.
%package -n %{libname} %package -n %{libname}
Summary: Remote Desktop Viewer Library Summary: Remote Desktop Viewer Library
Group: System/Libraries Group: System/Libraries
Obsoletes: libfreerdp-1_0-plugins
%description -n %{libname} %description -n %{libname}
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications. This package provides the shared following the Microsoft Open Specifications. This package provides the shared
library. 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 %package devel
Summary: Development Files for %{name} Summary: Development Files for %{name}
Group: Development/Libraries/C and C++ Group: Development/Libraries/C and C++
@ -82,27 +71,11 @@ This package contains development files necessary for developing applications
based on libfreerdp. based on libfreerdp.
%prep %prep
%setup -q -n FreeRDP-%{version} %setup -q -n %{name}-%{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 %build
mkdir build find . -type f -name "*.c" -exec perl -i -pe 's{__(DATE|TIME)__}{""}g' "{}" "+"
cd build %cmake \
export CFLAGS="%{optflags} -DOPENSSL_LOAD_CONF"
cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR=%{_lib} \ -DCMAKE_INSTALL_LIBDIR=%{_lib} \
-DCMAKE_BUILD_TYPE=Release \ -DCMAKE_BUILD_TYPE=Release \
@ -110,7 +83,7 @@ cmake \
-DWITH_PULSEAUDIO=ON \ -DWITH_PULSEAUDIO=ON \
-DWITH_PCSC=ON \ -DWITH_PCSC=ON \
-DWITH_CUPS=ON \ -DWITH_CUPS=ON \
-DWITH_FFMPEG=OFF \ -DCMAKE_NO_BUILTIN_CHRPATH=ON \
%ifarch %ix86 x86_64 %ifarch %ix86 x86_64
-DWITH_SSE2=ON \ -DWITH_SSE2=ON \
%endif %endif
@ -120,9 +93,8 @@ make %{?_smp_mflags} VERBOSE=1
%install %install
cd build cd build
make install 'DESTDIR=%{buildroot}' make install 'DESTDIR=%{buildroot}'
find %{buildroot} -name "*.a" -delete
# remove keymaps as we make use of libxkbfile %fdupes -s %{buildroot}
# rm -rf $RPM_BUILD_ROOT/usr/share/freerdp/keymaps/
%post -n %{libname} -p /sbin/ldconfig %post -n %{libname} -p /sbin/ldconfig
@ -131,53 +103,34 @@ make install 'DESTDIR=%{buildroot}'
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%doc LICENSE README ChangeLog %doc LICENSE README ChangeLog
%{_bindir}/winpr-hash
%{_bindir}/winpr-makecert
%{_bindir}/xfreerdp %{_bindir}/xfreerdp
%{_datadir}/%{name}
%{_mandir}/man1/xfreerdp.1%{ext_man} %{_mandir}/man1/xfreerdp.1%{ext_man}
%files -n %{libname} %files -n %{libname}
%defattr(-,root,root) %defattr(-,root,root)
%doc LICENSE %doc LICENSE
%{_libdir}/libfreerdp-cache.so.* %{_libdir}/libfreerdp-client.so.*
%{_libdir}/libfreerdp-channels.so.* %{_libdir}/libfreerdp.so.*
%{_libdir}/libfreerdp-codec.so.* %{_libdir}/libwinpr.so.*
%{_libdir}/libfreerdp-core.so.* %{_libdir}/libwinpr-tools.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 %files devel
%defattr(-,root,root) %defattr(-,root,root)
%dir %{_includedir}/freerdp %doc LICENSE
%dir %{_includedir}/freerdp/* %{_includedir}/freerdp2
%{_includedir}/freerdp/*.h %{_includedir}/winpr2
%{_includedir}/freerdp/*/*.h %{_libdir}/cmake/FreeRDP2
%{_libdir}/libfreerdp-*.so %{_libdir}/cmake/FreeRDP-Client2
%{_libdir}/pkgconfig/freerdp.pc %{_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 %changelog

View File

@ -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" },