Hello community, here is the log from the commit of package wine checked in at Wed Apr 12 10:28:57 CEST 2006. -------- --- arch/i386/wine/wine.changes 2006-03-17 16:43:47.000000000 +0100 +++ STABLE/wine/wine.changes 2006-04-11 16:54:58.000000000 +0200 @@ -1,0 +2,47 @@ +Tue Apr 11 16:24:27 CEST 2006 - meissner@suse.de + +- upstream 0.9.11: + - Fake dll files created in the system directory to help installers. + - Desktop mode now properly supports multiple processes. + - Better type parsing in dbghelp. + - Several OpenGL fixes. + - A bunch of Unicode functions in advpack. + - Lots of bug fixes. +- upstream 0.9.10: + - Improved ESD audio driver. + - More Web browser improvements in mshtml and wininet. + - Direct3D fixes and preparation for ddraw code migration. + - Explorer process now managing the desktop window. + - Lots of bug fixes. +- upstream 0.9.9: + - Many new features and improvements in Richedit. + - More Web browser support. + - Recursive directory change notifications. + - Wine installation is now fully relocatable. + - Direct3D 8 and 9 now use the same code. + - Many debugger improvements. + - Systray is now handled by the explorer process. + - Lots of bug fixes. +- upstream 0.9.8: + - Better Web browser support. + - Beginnings of a Wordpad application. + - Many richedit improvements. + - A number of Direct3D fixes. + - A few more options in winecfg. + - Lots of bug fixes. +- upstream 0.9.7: + - Directory change notifications can use inotify now. + - Hardware breakpoints in the Wine debugger. + - Beginnings of support for tape APIs. + - A bunch of improvements to the IDL compiler. + - Better scheme for mapping My Documents etc. to Unix directories. + - Lots of bug fixes. +- upstream 0.9.6: + - A bunch of OLE fixes and improvements. + - DirectSound improvements, including full duplex support. + - Fix for the Windows metafile vulnerability. + - Many static control improvements. + - Some fixes for copy protection support. + - Lots of bug fixes. + +------------------------------------------------------------------- Old: ---- wine-0.9.5.diff wine-0.9.5.tar.bz2 wine-compat-personality.patch wine-default-alsa.patch wine-wmfsec.patch New: ---- wine-0.9.11.diff wine-0.9.11.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wine.spec ++++++ --- /var/tmp/diff_new_pack.zsTMUG/_old 2006-04-12 10:28:31.000000000 +0200 +++ /var/tmp/diff_new_pack.zsTMUG/_new 2006-04-12 10:28:31.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package wine (Version 0.9.5) +# spec file for package wine (Version 0.9.11) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -15,17 +15,14 @@ License: LGPL, Other License(s), see package Group: System/Emulators/PC Autoreqprov: on -Version: 0.9.5 -Release: 11 +Version: 0.9.11 +Release: 2 Summary: An MS Windows emulator URL: http://www.winehq.com Source0: wine-%version.tar.bz2 Source3: README.SuSE Source4: wine.desktop Patch0: wine-%version.diff -Patch1: wine-wmfsec.patch -Patch2: wine-default-alsa.patch -Patch3: wine-compat-personality.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -58,13 +55,10 @@ %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 # cp %{S:3} . # -test -d dlls/msacm/winemp3 && ( +test -d dlls/winemp3.acm && ( echo "*** Must not include MP3 decoder!" ; exit 1 ) @@ -82,7 +76,7 @@ # # install documentation install -d -m 755 $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/ -cp ANNOUNCE AUTHORS BUGS ChangeLog DEVELOPERS-HINTS LICENSE LICENSE.OLD README* \ +cp ANNOUNCE AUTHORS ChangeLog DEVELOPERS-HINTS LICENSE LICENSE.OLD README* \ $RPM_BUILD_ROOT%{_defaultdocdir}/%{name}/ # find $RPM_BUILD_ROOT -name CVS | xargs rm -rf @@ -103,8 +97,6 @@ /usr/share/applications/wine.desktop %doc %{_defaultdocdir}/wine %doc %{_mandir}/*/* -%dir /usr/share/fonts -/usr/share/fonts/wine %files devel %defattr(-,root,root) @@ -112,6 +104,50 @@ /usr/share/aclocal/wine.m4 %changelog -n wine +* Tue Apr 11 2006 - meissner@suse.de +- upstream 0.9.11: +- Fake dll files created in the system directory to help installers. +- Desktop mode now properly supports multiple processes. +- Better type parsing in dbghelp. +- Several OpenGL fixes. +- A bunch of Unicode functions in advpack. +- Lots of bug fixes. +- upstream 0.9.10: +- Improved ESD audio driver. +- More Web browser improvements in mshtml and wininet. +- Direct3D fixes and preparation for ddraw code migration. +- Explorer process now managing the desktop window. +- Lots of bug fixes. +- upstream 0.9.9: +- Many new features and improvements in Richedit. +- More Web browser support. +- Recursive directory change notifications. +- Wine installation is now fully relocatable. +- Direct3D 8 and 9 now use the same code. +- Many debugger improvements. +- Systray is now handled by the explorer process. +- Lots of bug fixes. +- upstream 0.9.8: +- Better Web browser support. +- Beginnings of a Wordpad application. +- Many richedit improvements. +- A number of Direct3D fixes. +- A few more options in winecfg. +- Lots of bug fixes. +- upstream 0.9.7: +- Directory change notifications can use inotify now. +- Hardware breakpoints in the Wine debugger. +- Beginnings of support for tape APIs. +- A bunch of improvements to the IDL compiler. +- Better scheme for mapping My Documents etc. to Unix directories. +- Lots of bug fixes. +- upstream 0.9.6: +- A bunch of OLE fixes and improvements. +- DirectSound improvements, including full duplex support. +- Fix for the Windows metafile vulnerability. +- Many static control improvements. +- Some fixes for copy protection support. +- Lots of bug fixes. * Fri Mar 17 2006 - meissner@suse.de - Avoid ulimit leading to out of memory situations by using the compat address space layout personality. #152115 ++++++ wine-0.9.5.diff -> wine-0.9.11.diff ++++++ --- arch/i386/wine/wine-0.9.5.diff 2006-02-06 18:41:41.000000000 +0100 +++ STABLE/wine/wine-0.9.11.diff 2006-04-12 10:20:04.000000000 +0200 @@ -1,7 +1,7 @@ -diff -ruN -x CVS wine-0.9.5/dlls/gdi/freetype.c marcus-wine-0.9.5/dlls/gdi/freetype.c ---- wine-0.9.5/dlls/gdi/freetype.c 2005-12-08 15:28:43.000000000 +0100 -+++ marcus-wine-0.9.5/dlls/gdi/freetype.c 2005-12-05 13:19:05.000000000 +0100 -@@ -441,9 +441,17 @@ +diff -ruN -x CVS wine-0.9.11/dlls/gdi/freetype.c marcus-wine-0.9.11/dlls/gdi/freetype.c +--- wine-0.9.11/dlls/gdi/freetype.c 2006-03-31 14:10:28.000000000 +0200 ++++ marcus-wine-0.9.11/dlls/gdi/freetype.c 2006-03-31 14:09:25.000000000 +0200 +@@ -455,9 +455,17 @@ int i, bitmap_num, internal_leading; FONTSIGNATURE fs; @@ -19,7 +19,7 @@ TRACE("Loading font file %s index %ld\n", debugstr_a(file), face_index); if((err = pFT_New_Face(library, file, face_index, &ft_face)) != 0) { WARN("Unable to load font file %s err = %x\n", debugstr_a(file), err); -@@ -1020,7 +1028,8 @@ +@@ -1049,7 +1057,8 @@ dir = opendir(dirname); if(!dir) { @@ -29,10 +29,10 @@ return FALSE; } while((dent = readdir(dir)) != NULL) { -diff -ruN -x CVS wine-0.9.5/dlls/opengl32/wgl.c marcus-wine-0.9.5/dlls/opengl32/wgl.c ---- wine-0.9.5/dlls/opengl32/wgl.c 2005-12-27 22:05:44.000000000 +0100 -+++ marcus-wine-0.9.5/dlls/opengl32/wgl.c 2005-12-27 22:07:55.000000000 +0100 -@@ -511,7 +511,7 @@ +diff -ruN -x CVS wine-0.9.11/dlls/opengl32/wgl.c marcus-wine-0.9.11/dlls/opengl32/wgl.c +--- wine-0.9.11/dlls/opengl32/wgl.c 2006-03-30 11:47:50.000000000 +0200 ++++ marcus-wine-0.9.11/dlls/opengl32/wgl.c 2006-03-31 11:54:59.000000000 +0200 +@@ -535,15 +535,29 @@ BOOL ret; DWORD type = GetObjectType(hdc); @@ -41,10 +41,19 @@ ENTER_GL(); if (hglrc == NULL) { -@@ -519,6 +519,12 @@ + ret = glXMakeCurrent(default_display, None, NULL); + NtCurrentTeb()->glContext = NULL; } else { ++ POINT pt; Wine_GLContext *ctx = (Wine_GLContext *) hglrc; Drawable drawable = get_drawable( hdc ); ++ int ret; ++ ++ memset( &pt, 0, sizeof(pt)); ++ if (GetViewportOrgEx (hdc, &pt)) FIXME("GWOEX failed\n"); ++ FIXME("worg is %d.%dn", pt.x, pt.y); ++ if (GetViewportExtEx (hdc, &pt)) FIXME("GWEEX failed\n"); ++ FIXME("wext is %d.%dn", pt.x, pt.y); + + if (IsBadReadPtr(ctx,sizeof(*ctx))) { + ERR("hglrc is bad (%p)\n", hglrc); @@ -54,26 +63,19 @@ if (ctx->ctx == NULL) { int draw_vis_id, ctx_vis_id; VisualID visualid = (VisualID)GetPropA( GetDesktopWindow(), "__wine_x11_visual_id" ); -@@ -544,13 +550,13 @@ +@@ -569,7 +583,7 @@ } TRACE(" created a delayed OpenGL context (%p)\n", ctx->ctx); } - TRACE(" make current for dis %p, drawable %p, ctx %p\n", ctx->display, (void*) drawable, ctx->ctx); + FIXME(" make current for dis %p, drawable %p, ctx %p\n", ctx->display, (void*) drawable, ctx->ctx); ret = glXMakeCurrent(ctx->display, drawable, ctx->ctx); + NtCurrentTeb()->glContext = ctx; if(ret && type == OBJ_MEMDC) - glDrawBuffer(GL_FRONT_LEFT); - } - LEAVE_GL(); -- TRACE(" returning %s\n", (ret ? "True" : "False")); -+ FIXME(" returning %s\n", (ret ? "True" : "False")); - return ret; - } - -diff -ruN -x CVS wine-0.9.5/libs/wine/mmap.c marcus-wine-0.9.5/libs/wine/mmap.c ---- wine-0.9.5/libs/wine/mmap.c 2005-06-22 14:08:59.000000000 +0200 -+++ marcus-wine-0.9.5/libs/wine/mmap.c 2005-06-22 14:08:20.000000000 +0200 -@@ -298,6 +298,7 @@ +diff -ruN -x CVS wine-0.9.11/libs/wine/mmap.c marcus-wine-0.9.11/libs/wine/mmap.c +--- wine-0.9.11/libs/wine/mmap.c 2006-02-15 17:42:21.000000000 +0100 ++++ marcus-wine-0.9.11/libs/wine/mmap.c 2006-02-08 16:46:47.000000000 +0100 +@@ -301,6 +301,7 @@ } } @@ -81,7 +83,7 @@ if (stack_ptr >= user_space_limit) { char *base = stack_ptr - ((unsigned int)stack_ptr & granularity_mask) - (granularity_mask + 1); -@@ -311,6 +312,7 @@ +@@ -314,6 +315,7 @@ reserve_area( base, 0 ); } else reserve_area( user_space_limit, 0 ); @@ -89,32 +91,107 @@ #endif /* __i386__ */ /* reserve the DOS area if not already done */ -diff -ruN -x CVS wine-0.9.5/programs/Makefile.in marcus-wine-0.9.5/programs/Makefile.in ---- wine-0.9.5/programs/Makefile.in 2005-11-22 18:06:41.000000000 +0100 -+++ marcus-wine-0.9.5/programs/Makefile.in 2005-11-16 13:04:35.000000000 +0100 -@@ -81,6 +81,7 @@ - progman \ - regedit \ - regsvr32 \ -+ rundll32 \ - uninstaller \ - wcmd \ - wineboot \ -@@ -89,8 +90,10 @@ - wineconsole \ - winedbg \ - winefile \ -+ winemenubuilder \ - winemine \ - winepath \ -+ winevdm \ - winhelp - - # Symlinks to apps that we want to run from inside the source tree -diff -ruN -x CVS wine-0.9.5/server/registry.c marcus-wine-0.9.5/server/registry.c ---- wine-0.9.5/server/registry.c 2005-12-27 22:05:49.000000000 +0100 -+++ marcus-wine-0.9.5/server/registry.c 2005-12-13 12:40:23.000000000 +0100 -@@ -1618,7 +1618,7 @@ +diff -ruN -x CVS wine-0.9.11/loader/preloader.c marcus-wine-0.9.11/loader/preloader.c +--- wine-0.9.11/loader/preloader.c 2006-02-15 17:42:21.000000000 +0100 ++++ marcus-wine-0.9.11/loader/preloader.c 2006-03-30 11:44:16.000000000 +0200 +@@ -208,6 +208,14 @@ + return SYSCALL_RET(ret); + } + ++static inline int wld_personality( int perso ) ++{ ++ int ret; ++ __asm__ __volatile__( "pushl %%ebx; movl %2,%%ebx; int $0x80; popl %%ebx" ++ : "=a" (ret) : "0" (SYS_personality), "r" (perso) ); ++ return SYSCALL_RET(ret); ++} ++ + static inline ssize_t wld_read( int fd, void *buffer, size_t len ) + { + int ret; +@@ -226,6 +234,14 @@ + return SYSCALL_RET(ret); + } + ++static inline int wld_execve( const char * path, char **argv, char ** envp ) ++{ ++ int ret; ++ __asm__ __volatile__( "pushl %%ebx; movl %2,%%ebx; int $0x80; popl %%ebx" ++ : "=a" (ret) : "0" (SYS_execve), "r" (path), "c" (argv), "d" (envp) ); ++ return SYSCALL_RET(ret); ++} ++ + static inline int wld_mprotect( const void *addr, size_t len, int prot ) + { + int ret; +@@ -914,6 +930,7 @@ + ElfW(auxv_t) new_av[12], delete_av[3], *av; + struct wld_link_map main_binary_map, ld_so_map; + struct wine_preload_info **wine_main_preload_info; ++ unsigned int perso; + + pargc = *stack; + argv = (char **)pargc + 1; +@@ -922,6 +939,19 @@ + /* skip over the parameters */ + p = argv + *pargc + 1; + ++ perso = wld_personality(0xffffffff); ++ if (!(perso & 0x200000)) { ++ unsigned int newperso; ++ wld_personality(perso | 0x200000); ++ newperso = wld_personality(0xffffffff); ++ /* only execve() if the personality changed, otherwise we will loop */ ++ if (newperso != perso) { ++ wld_execve(argv[0],argv,p); ++ fatal_error( "Failed execve %s\n", argv[0] ); ++ return NULL; ++ } ++ } ++ + /* skip over the environment */ + while (*p) + { +diff -ruN -x CVS wine-0.9.11/programs/winecfg/audio.c marcus-wine-0.9.11/programs/winecfg/audio.c +--- wine-0.9.11/programs/winecfg/audio.c 2006-03-23 11:29:22.000000000 +0100 ++++ marcus-wine-0.9.11/programs/winecfg/audio.c 2006-03-30 11:44:46.000000000 +0200 +@@ -573,7 +573,7 @@ + buf = get_reg_key(config_key, "Drivers", "Audio", NULL); + + /* check for first time install and set a default driver +- * select in this order: oss, alsa, first available driver, none ++ * select in this order: alsa, oss, first available driver, none + */ + if (buf == NULL) + { +@@ -582,9 +582,9 @@ + /* select oss if available */ + for (pAudioDrv = loadedAudioDrv; *pAudioDrv->szName; pAudioDrv++) + { +- if (strcmp(pAudioDrv->szDriver, "oss") == 0) ++ if (strcmp(pAudioDrv->szDriver, "alsa") == 0) + { +- selectDriver(hDlg, "oss"); ++ selectDriver(hDlg, "alsa"); + break; + } + } +@@ -594,9 +594,9 @@ + /* select alsa if available */ + for (pAudioDrv = loadedAudioDrv; *pAudioDrv->szName; pAudioDrv++) + { +- if (strcmp(pAudioDrv->szDriver, "alsa") == 0) ++ if (strcmp(pAudioDrv->szDriver, "oss") == 0) + { +- selectDriver(hDlg, "alsa"); ++ selectDriver(hDlg, "oss"); + break; + } + } +diff -ruN -x CVS wine-0.9.11/server/registry.c marcus-wine-0.9.11/server/registry.c +--- wine-0.9.11/server/registry.c 2006-03-23 11:29:23.000000000 +0100 ++++ marcus-wine-0.9.11/server/registry.c 2006-03-23 11:26:23.000000000 +0100 +@@ -1622,7 +1622,7 @@ for (;;) { sprintf( p, "reg%lx%04x.tmp", (long) getpid(), count++ ); @@ -123,10 +200,16 @@ if (errno != EEXIST) goto done; close( fd ); } -diff -ruN -x CVS wine-0.9.5/tools/wineprefixcreate.in marcus-wine-0.9.5/tools/wineprefixcreate.in ---- wine-0.9.5/tools/wineprefixcreate.in 2005-10-25 16:10:14.000000000 +0200 -+++ marcus-wine-0.9.5/tools/wineprefixcreate.in 2005-10-25 15:56:37.000000000 +0200 -@@ -122,6 +122,33 @@ +diff -ruN -x CVS wine-0.9.11/tools/wineprefixcreate.in marcus-wine-0.9.11/tools/wineprefixcreate.in +--- wine-0.9.11/tools/wineprefixcreate.in 2006-03-23 11:29:23.000000000 +0100 ++++ marcus-wine-0.9.11/tools/wineprefixcreate.in 2006-03-23 11:26:24.000000000 +0100 +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/bin/bash + # + # Script to create the initial WINEPREFIX directory + # +@@ -145,6 +145,33 @@ [ -d "$WINEPREFIX/drive_c" ] || mkdir "$WINEPREFIX/drive_c" ln -s "../drive_c" "$WINEPREFIX/dosdevices/c:" ln -s "/" "$WINEPREFIX/dosdevices/z:" @@ -160,116 +243,3 @@ fi CROOT="$WINEPREFIX/dosdevices/c:" -Index: stg_bigblockfile.c -=================================================================== -RCS file: /home/wine/wine/dlls/ole32/stg_bigblockfile.c,v -retrieving revision 1.17 -retrieving revision 1.18 -diff -u -r1.17 -r1.18 ---- wine/dlls/ole32/stg_bigblockfile.c 21 Mar 2005 11:26:04 -0000 1.17 -+++ wine/dlls/ole32/stg_bigblockfile.c 6 Jan 2006 20:53:08 -0000 1.18 -@@ -422,49 +422,24 @@ - - if (This->fileBased) - { -- char buf[10]; -- DWORD w; -+ LARGE_INTEGER newpos; - -- /* -- * close file-mapping object, must be done before call to SetEndFile -- */ -- if( This->hfilemap ) -- CloseHandle(This->hfilemap); -- This->hfilemap = 0; -- -- /* -- * BEGIN HACK -- * This fixes a bug when saving through smbfs. -- * smbmount a Windows shared directory, save a structured storage file -- * to that dir: crash. -- * -- * The problem is that the SetFilePointer-SetEndOfFile combo below -- * doesn't always succeed. The file is not grown. It seems like the -- * operation is cached. By doing the WriteFile, the file is actually -- * grown on disk. -- * This hack is only needed when saving to smbfs. -- */ -- memset(buf, '0', 10); -- SetFilePointer(This->hfile, newSize.u.LowPart, NULL, FILE_BEGIN); -- WriteFile(This->hfile, buf, 10, &w, NULL); -- /* -- * END HACK -- */ -+ newpos.QuadPart = newSize.QuadPart; -+ if (SetFilePointerEx(This->hfile, newpos, NULL, FILE_BEGIN)) -+ { -+ if( This->hfilemap ) CloseHandle(This->hfilemap); - -- /* -- * set the new end of file -- */ -- SetFilePointer(This->hfile, newSize.u.LowPart, NULL, FILE_BEGIN); -- SetEndOfFile(This->hfile); -+ SetEndOfFile(This->hfile); - -- /* -- * re-create the file mapping object -- */ -- This->hfilemap = CreateFileMappingA(This->hfile, -- NULL, -- This->flProtect, -- 0, 0, -- NULL); -+ /* -+ * re-create the file mapping object -+ */ -+ This->hfilemap = CreateFileMappingA(This->hfile, -+ NULL, -+ This->flProtect, -+ 0, 0, -+ NULL); -+ } - } - else - { -Index: storage32.c -=================================================================== -RCS file: /home/wine/wine/dlls/ole32/storage32.c,v -retrieving revision 1.97 -retrieving revision 1.99 -diff -u -r1.97 -r1.99 ---- wine/dlls/ole32/storage32.c 22 Dec 2005 17:12:52 -0000 1.97 -+++ wine/dlls/ole32/storage32.c 6 Jan 2006 20:51:54 -0000 1.99 -@@ -3453,18 +3453,26 @@ - DEF_SMALL_BLOCK_SIZE, - buffer, - &cbRead); -- cbTotalRead += cbRead; -+ if (FAILED(successRead)) -+ break; -+ -+ if (cbRead > 0) -+ { -+ cbTotalRead += cbRead; - -- successWrite = BlockChainStream_WriteAt(bbTempChain, -+ successWrite = BlockChainStream_WriteAt(bbTempChain, - offset, - cbRead, - buffer, - &cbWritten); -- cbTotalWritten += cbWritten; - -- offset.u.LowPart += This->smallBlockSize; -+ if (!successWrite) -+ break; - -- } while (SUCCEEDED(successRead) && successWrite); -+ cbTotalWritten += cbWritten; -+ offset.u.LowPart += This->smallBlockSize; -+ } -+ } while (cbRead > 0); - HeapFree(GetProcessHeap(),0,buffer); - - assert(cbTotalRead == cbTotalWritten); ++++++ wine-0.9.5.tar.bz2 -> wine-0.9.11.tar.bz2 ++++++ arch/i386/wine/wine-0.9.5.tar.bz2 STABLE/wine/wine-0.9.11.tar.bz2 differ: char 11, line 1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...