Hello community, here is the log from the commit of package freerdp for openSUSE:Factory checked in at 2012-04-02 19:48:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/freerdp (Old) and /work/SRC/openSUSE:Factory/.freerdp.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "freerdp", Maintainer is "LZWang@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/freerdp/freerdp.changes 2011-12-05 12:43:39.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.freerdp.new/freerdp.changes 2012-04-02 19:52:16.000000000 +0200 @@ -1,0 +2,35 @@ +Fri Mar 30 12:23:29 UTC 2012 - zawertun@gmail.com + +- added freerdp-fix-bitmap-cache.patch fixing a problem with the + bitmap cache resulting in garbled images + (https://github.com/FreeRDP/FreeRDP/issues/348) + +------------------------------------------------------------------- +Wed Mar 28 09:37:04 UTC 2012 - gber@opensuse.org + +- split off -plugins subpackage +- specfile cleanup + +------------------------------------------------------------------- +Tue Mar 6 19:55:41 UTC 2012 - gankov@opensuse.org + +- rewrote spec for using cmake. +- update to version 1.0.1 + - FreeRDP 1.x series is a complete rewrite now licensed under + the Apache License 2.0 + - RemoteFX + - Both encoder and decoder + - SSE2 and NEON optimization + - NSCodec + - RemoteApp + - Working, minor glitches + - Multimedia Redirection + - ffmpeg support + - Network Level Authentication (NLA) + - NTLMv2 + - Certificate validation + - FIPS-compliant RDP security + - new build system (cmake) + - added official logo and icon + +------------------------------------------------------------------- Old: ---- freerdp-0.8.2.tar.gz freerdp-remove_am_silent_rules.patch New: ---- freerdp-1.0.1.tar.gz freerdp-fix-bitmap-cache.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ freerdp.spec ++++++ --- /var/tmp/diff_new_pack.I2xZFM/_old 2012-04-02 19:52:24.000000000 +0200 +++ /var/tmp/diff_new_pack.I2xZFM/_new 2012-04-02 19:52:24.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package freerdp # -# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2012 SUSE LINUX Products 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,49 +16,58 @@ # -%define soname 0 +%define libname libfreerdp-1_0 Name: freerdp -Version: 0.8.2 +Version: 1.0.1 Release: 0 -Summary: Remote Desktop Viewer -Url: http://www.freerdp.com/ -License: GPL-2.0+ +Summary: Remote Desktop Viewer Client +License: Apache-2.0 Group: Productivity/Networking/Other -Source0: http://sourceforge.net/projects/freerdp/files/0.8/freerdp-%{version}.tar.gz -# PATCH-FIX-OPENSUSE freerdp-remove_am_silent_rules.patch pascal.bleser@opensuse.org -- Remove the AM_SILENT_RULES tag, useless and is undefined on older dists when running autoreconf -Patch0: freerdp-remove_am_silent_rules.patch -BuildRequires: automake -BuildRequires: libtool +Url: http://www.freerdp.com/ +Source0: https://github.com/downloads/FreeRDP/FreeRDP/%{name}-%{version}.tar.gz +# PATCH-FIX-UPSTREAM freerdp-fix-bitmap-cache.patch zawertun@gmail.com -- Fix a problem with the bitmap cache resulting in garbled images (backported from upstream git) +Patch0: freerdp-fix-bitmap-cache.patch +BuildRequires: cmake BuildRequires: cups-devel BuildRequires: ed +BuildRequires: xmlto +BuildRequires: xorg-x11-devel +BuildRequires: zlib-devel BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(libpcsclite) +BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(openssl) -BuildRequires: xorg-x11-devel +Recommends: libfreerdp-plugins BuildRoot: %{_tmppath}/%{name}-%{version}-build -Requires: libfreerdp%{soname} = %{version} %description FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) -following the Microsoft Open Specifications. +following the Microsoft Open Specifications. This package provides the client +application. -%package -n libfreerdp%{soname} +%package -n %{libname} Summary: Remote Desktop Viewer Library Group: System/Libraries -Provides: libfreerdpchanman%{soname} = %{version}-%{release} -Provides: libfreerdpgdi%{soname} = %{version}-%{release} -Provides: libfreerdpkbd%{soname} = %{version}-%{release} -%description -n libfreerdp%{soname} +%description -n %{libname} FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP) -following the Microsoft Open Specifications. +following the Microsoft Open Specifications. This package provides the shared +library. -This package provides the shared library as well as its plugins. +%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: libfreerdp%{soname} = %{version} +Requires: %{libname} = %{version} %description devel This package contains development files necessary for developing applications @@ -66,67 +75,93 @@ %prep %setup -q -%patch0 +%patch0 -p1 # use a versioned subdirectory for plugins in order to comply with the shared # library policy -ed -s configure.ac 2>/dev/null <<'EOF' -,s/PLUGIN_PATH='\${libdir}\/freerdp'/PLUGIN_PATH='\${libdir}\/freerdp%{soname}'/ +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 %build -autoreconf -fi -%configure \ - --disable-static \ - --with-ipv6 \ - --enable-smartcard \ - --with-sound=alsa \ - --with-crypto=openssl -make %{?_smp_mflags} V=1 +mkdir build +cd build +export CFLAGS="%{optflags}" +cmake \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_lib} \ + -DCMAKE_BUILD_TYPE=Release \ + -DWITH_ALSA=ON \ + -DWITH_PULSEAUDIO=ON \ + -DWITH_PCSC=ON \ + -DWITH_CUPS=ON \ + -DWITH_FFMPEG=OFF \ + -DWITH_SSE2=OFF \ + .. + +make %{?_smp_mflags} VERBOSE=1 %install +cd build %make_install -find "%{buildroot}%{_libdir}" -name '*.la' -exec rm -f {} + +# remove keymaps as we make use of libxkbfile +rm -rf $RPM_BUILD_ROOT/usr/share/freerdp/keymaps/ -%post -n libfreerdp%{soname} -p /sbin/ldconfig +%post -n %{libname} -p /sbin/ldconfig -%postun -n libfreerdp%{soname} -p /sbin/ldconfig +%postun -n %{libname} -p /sbin/ldconfig %files %defattr(-,root,root) -%doc COPYING AUTHORS doc/ipv6.txt doc/ChangeLog +%doc LICENSE README ChangeLog %{_bindir}/xfreerdp %{_datadir}/%{name} %{_mandir}/man1/xfreerdp.1%{ext_man} -%files -n libfreerdp%{soname} +%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 COPYING -%{_libdir}/libfreerdp.so.%{soname} -%{_libdir}/libfreerdp.so.%{soname}.* -%{_libdir}/libfreerdpchanman.so.%{soname} -%{_libdir}/libfreerdpchanman.so.%{soname}.* -%{_libdir}/libfreerdpgdi.so.%{soname} -%{_libdir}/libfreerdpgdi.so.%{soname}.* -%{_libdir}/libfreerdpkbd.so.%{soname} -%{_libdir}/libfreerdpkbd.so.%{soname}.* -%dir %{_libdir}/freerdp%{soname} -%{_libdir}/freerdp%{soname}/audin.so -%{_libdir}/freerdp%{soname}/cliprdr.so -%{_libdir}/freerdp%{soname}/disk.so -%{_libdir}/freerdp%{soname}/drdynvc.so -%{_libdir}/freerdp%{soname}/parallel.so -%{_libdir}/freerdp%{soname}/pnpdr.so -%{_libdir}/freerdp%{soname}/printer.so -%{_libdir}/freerdp%{soname}/rdpdr.so -%{_libdir}/freerdp%{soname}/rdpsnd.so -%{_libdir}/freerdp%{soname}/serial.so +%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) -%{_includedir}/freerdp -%{_libdir}/lib*.so +%dir %{_includedir}/freerdp +%dir %{_includedir}/freerdp/* +%{_includedir}/freerdp/*.h +%{_includedir}/freerdp/*/*.h +%{_libdir}/libfreerdp-*.so %{_libdir}/pkgconfig/freerdp.pc %changelog ++++++ freerdp-0.8.2.tar.gz -> freerdp-1.0.1.tar.gz ++++++ ++++ 249689 lines of diff (skipped) ++++++ freerdp-fix-bitmap-cache.patch ++++++ diff --git a/libfreerdp-cache/bitmap.c b/libfreerdp-cache/bitmap.c index 99c1005..e3e2303 100644 --- a/libfreerdp-cache/bitmap.c +++ b/libfreerdp-cache/bitmap.c @@ -173,9 +173,10 @@ rdpBitmap* bitmap_cache_get(rdpBitmapCache* bitmap_cache, uint32 id, uint32 inde } if (index == BITMAP_CACHE_WAITING_LIST_INDEX) - index = bitmap_cache->cells[id].number - 1; - - if (index > bitmap_cache->cells[id].number) + { + index = bitmap_cache->cells[id].number; + } + else if (index > bitmap_cache->cells[id].number) { printf("get invalid bitmap index %d in cell id: %d\n", index, id); return NULL; @@ -195,9 +196,10 @@ void bitmap_cache_put(rdpBitmapCache* bitmap_cache, uint32 id, uint32 index, rdp } if (index == BITMAP_CACHE_WAITING_LIST_INDEX) - index = bitmap_cache->cells[id].number - 1; - - if (index > bitmap_cache->cells[id].number) + { + index = bitmap_cache->cells[id].number; + } + else if (index > bitmap_cache->cells[id].number) { printf("put invalid bitmap index %d in cell id: %d\n", index, id); return; @@ -255,7 +257,8 @@ rdpBitmapCache* bitmap_cache_new(rdpSettings* settings) for (i = 0; i < (int) bitmap_cache->maxCells; i++) { bitmap_cache->cells[i].number = settings->bitmapCacheV2CellInfo[i].numEntries; - bitmap_cache->cells[i].entries = (rdpBitmap**) xzalloc(sizeof(rdpBitmap*) * bitmap_cache->cells[i].number); + /* allocate an extra entry for BITMAP_CACHE_WAITING_LIST_INDEX */ + bitmap_cache->cells[i].entries = (rdpBitmap**) xzalloc(sizeof(rdpBitmap*) * bitmap_cache->cells[i].number + 1); } } @@ -271,7 +274,7 @@ void bitmap_cache_free(rdpBitmapCache* bitmap_cache) { for (i = 0; i < (int) bitmap_cache->maxCells; i++) { - for (j = 0; j < (int) bitmap_cache->cells[i].number; j++) + for (j = 0; j < (int) bitmap_cache->cells[i].number + 1; j++) { bitmap = bitmap_cache->cells[i].entries[j]; -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org