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 "[email protected]"

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 - [email protected]
+
+- 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 - [email protected]
+
+- split off -plugins subpackage
+- specfile cleanup
+
+-------------------------------------------------------------------
+Tue Mar  6 19:55:41 UTC 2012 - [email protected]
+
+- 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 
[email protected] -- 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 [email protected] -- 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to