[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Packaging newer wine-development versions?



Hi,

Thank you for the answer,

I took the opportunity and tried to package wine-development-4.12.1 for debian, i updated the patches with quilt,
those who were changed are attached to this mail for review. The following

debianization/addons.patch
warnings/arm64-dword.patch
fixes/temporary-directory.patch

are those who require more attention, as the impacted upstream code changed. I had to exclude
temporary-directory.patch from series as it produces a building error,
i guess it must be important.

Building for i386 is not successful, i had to remove this line  from addons.c (which is covered in addons.patch)

package_dir = "/usr/share/wine-";

and this other error comes up:

query.c: In function 'dns_do_query.constprop':
query.c:76:26: error: '%02x' directive writing between 2 and 8 bytes into a region of size 3 [-Werror=format-overflow=]
         sprintf( tmp, "0x%02x", section );
                          ^~~~
query.c:76:23: note: directive argument in the range [4, 4294967295]
         sprintf( tmp, "0x%02x", section );
                       ^~~~~~~~
query.c:76:9: note: 'sprintf' output between 5 and 11 bytes into a destination of size 5
         sprintf( tmp, "0x%02x", section );
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

perhaps it needs further patching.

Hope this can be helpful

Il giorno gio 18 lug 2019 alle ore 20:50 James Lu <james@overdrivenetworks.com> ha scritto:
Hi everyone,

New versions have been slow lately because we've just exited freeze for
the Buster release. While Debian is in the process of making a release,
unstable is generally used as a staging ground for bug fixes instead of
pushing new releases[1].

Now that the freeze is over, we'll hopefully get new versions soon :)

[1]: https://release.debian.org/buster/freeze_policy.html

On 2019-07-18 11:40 a.m., Berillions wrote:
> Because it's debian and even on Unstable, the packages are as old as on
> Stable. Do not expect to have Wine-development 4.12.1 in the official
> repository before about 3 months.
>
> Le jeu. 18 juil. 2019 à 19:18, Arnaldo Pirrone <it9exm@gmail.com
> <mailto:it9exm@gmail.com>> a écrit :
>
>     Hello wine maintainers,
>     I was wondering why every wine version since 4.4 has been skipped
>     from being packaged. I just tried to build 4.12.1 and it was
>     successful, despite the notification of missing libhal during the
>     configure phase. Was there something that slowed down the process
>     other than the new faudio dep, which is currently featured in sid?
>
>     Thank you
>

description: add Makefile rules for building just the manpages
author: Michael Gilbert <mgilbert@debian.org>

Index: wine-development-4.12.1/tools/makedep.c
===================================================================
--- wine-development-4.12.1.orig/tools/makedep.c
+++ wine-development-4.12.1/tools/makedep.c
@@ -3851,6 +3851,7 @@ static void output_sources( struct makef
             output_filenames_obj_dir( make, make->all_targets );
             output( "\n" );
         }
+        output( "install-man:: $(shell echo ${MANPAGES} | sed s/\\\\.in//g)\n" );
         output_install_rules( make, INSTALL_LIB, "install-lib" );
         output_install_rules( make, INSTALL_DEV, "install-dev" );
         output_uninstall_rules( make );
Index: wine-development-4.12.1/loader/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/loader/Makefile.in
+++ wine-development-4.12.1/loader/Makefile.in
@@ -3,15 +3,17 @@ SOURCES = \
 	main.c \
 	preloader.c \
 	preloader_mac.c \
-	wine.de.UTF-8.man.in \
 	wine.desktop \
-	wine.fr.UTF-8.man.in \
 	wine.inf.in \
-	wine.man.in \
-	wine.pl.UTF-8.man.in \
 	wine_info.plist.in \
 	winehid.inf.in
 
+MANPAGES = \
+        wine.man.in \
+        wine.de.UTF-8.man.in \
+        wine.fr.UTF-8.man.in \
+        wine.pl.UTF-8.man.in
+
 PROGRAMS = $(WINELOADER_PROGRAMS)
 INSTALL_LIB = $(WINELOADER_PROGRAMS)
 
Index: wine-development-4.12.1/dlls/appwiz.cpl/addons.c
===================================================================
--- wine-development-4.12.1.orig/dlls/appwiz.cpl/addons.c
+++ wine-development-4.12.1/dlls/appwiz.cpl/addons.c
@@ -212,8 +212,6 @@ static enum install_res install_from_dos
 
     lstrcpyW( path, dir );
     if (!wcsncmp( path, ntprefixW, wcslen(ntprefixW) ))  path[1] = '\\';  /* change \??\ into \\?\ */
-    if (len && path[len-1] != '/' && path[len-1] != '\\') path[len++] = '\\';
-
     if (*subdir)
     {
         len += MultiByteToWideChar( CP_UNIXCP, 0, subdir, -1, path + len, size - len );
@@ -290,6 +288,7 @@ static enum install_res install_from_reg
         return INSTALL_FAILED;
     }
 
+    package_dir = "/usr/share/wine-";
     ret = install_from_unix_file(package_dir, "", addon->file_name);
 
     heap_free(package_dir);
@@ -319,7 +318,7 @@ static enum install_res install_from_def
     }
 
     if (ret == INSTALL_NEXT)
-        ret = install_from_unix_file(INSTALL_DATADIR "/wine/", addon->subdir_name, addon->file_name);
+        ret = install_from_unix_file(INSTALL_DATADIR "/", addon->subdir_name, addon->file_name);
     if (ret == INSTALL_NEXT && strcmp(INSTALL_DATADIR, "/usr/share"))
         ret = install_from_unix_file("/usr/share/wine/", addon->subdir_name, addon->file_name);
     if (ret == INSTALL_NEXT)
Index: wine-development-4.12.1/tools/winebuild/winebuild.man.in
===================================================================
--- wine-development-4.12.1.orig/tools/winebuild/winebuild.man.in
+++ wine-development-4.12.1/tools/winebuild/winebuild.man.in
@@ -157,7 +157,10 @@ option.
 .B \-m16, -m32, -m64
 Generate respectively 16-bit, 32-bit or 64-bit code.
 .TP
-.BI \-marm,\ \-mthumb,\ \-march= option ,\ \-mcpu= option ,\ \-mfpu= option ,\ \-mfloat-abi= option
+.BI \-marm,\ \-mthumb
+Select between generating code that executes in ARM and Thumb states.
+.TP
+.BI \-march= option ,\ \-mcpu= option ,\ \-mfpu= option ,\ \-mfloat-abi= option
 Set code generation options for the assembler.
 .TP
 .B \-munix
Index: wine-development-4.12.1/dlls/appwiz.cpl/addons.c
===================================================================
--- wine-development-4.12.1.orig/dlls/appwiz.cpl/addons.c
+++ wine-development-4.12.1/dlls/appwiz.cpl/addons.c
@@ -612,6 +612,7 @@ static const IInternetBindInfoVtbl Insta
 
 static IInternetBindInfo InstallCallbackBindInfo = { &InstallCallbackBindInfoVtbl };
 
+/*
 static void append_url_params( WCHAR *url )
 {
     static const WCHAR arch_formatW[] = {'?','a','r','c','h','='};
@@ -763,6 +764,7 @@ static INT_PTR CALLBACK installer_proc(H
 
     return FALSE;
 }
+*/
 
 BOOL install_addon(addon_t addon_type)
 {
@@ -780,13 +782,11 @@ BOOL install_addon(addon_t addon_type)
      * - $INSTALL_DATADIR/wine/$addon_subdir/
      * - /usr/share/wine/$addon_subdir/
      * - /opt/wine/$addon_subdir/
-     * - download from URL stored in $url_config_key value of HKCU/Software/Wine/$config_key key
      */
     if (install_from_registered_dir() == INSTALL_NEXT
         && install_from_default_dir() == INSTALL_NEXT
-        && install_from_cache() == INSTALL_NEXT
-        && (url = get_url()))
-        DialogBoxW(hInst, addon->dialog_template, 0, installer_proc);
+        && install_from_cache() == INSTALL_NEXT)
+        {};
 
     heap_free(url);
     url = NULL;
Index: wine-development-4.12.1/dlls/gdi32/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/gdi32/tests/Makefile.in
+++ wine-development-4.12.1/dlls/gdi32/tests/Makefile.in
@@ -10,7 +10,6 @@ C_SRCS = \
 	driver.c \
 	font.c \
 	gdiobj.c \
-	generated.c \
 	icm.c \
 	mapping.c \
 	metafile.c \
Index: wine-development-4.12.1/dlls/itss/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/itss/tests/Makefile.in
+++ wine-development-4.12.1/dlls/itss/tests/Makefile.in
@@ -3,5 +3,3 @@ IMPORTS   = ole32
 
 C_SRCS = \
 	protocol.c
-
-RC_SRCS = rsrc.rc
Index: wine-development-4.12.1/dlls/kernel32/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/kernel32/tests/Makefile.in
+++ wine-development-4.12.1/dlls/kernel32/tests/Makefile.in
@@ -17,7 +17,6 @@ SOURCES = \
 	fiber.c \
 	file.c \
 	format_msg.c \
-	generated.c \
 	heap.c \
 	loader.c \
 	locale.c \
Index: wine-development-4.12.1/dlls/ntdll/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/ntdll/tests/Makefile.in
+++ wine-development-4.12.1/dlls/ntdll/tests/Makefile.in
@@ -9,7 +9,6 @@ C_SRCS = \
 	error.c \
 	exception.c \
 	file.c \
-	generated.c \
 	info.c \
 	large_int.c \
 	om.c \
Index: wine-development-4.12.1/dlls/rpcrt4/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/rpcrt4/tests/Makefile.in
+++ wine-development-4.12.1/dlls/rpcrt4/tests/Makefile.in
@@ -8,7 +8,6 @@ server_interp_EXTRAIDLFLAGS = -Oicf --pr
 
 C_SRCS = \
 	cstub.c \
-	generated.c \
 	ndr_marshall.c \
 	rpc.c \
 	rpc_async.c \
Index: wine-development-4.12.1/dlls/shell32/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/shell32/tests/Makefile.in
+++ wine-development-4.12.1/dlls/shell32/tests/Makefile.in
@@ -7,7 +7,6 @@ C_SRCS = \
 	autocomplete.c \
 	brsfolder.c \
 	ebrowser.c \
-	generated.c \
 	progman_dde.c \
 	recyclebin.c \
 	shelldispatch.c \
Index: wine-development-4.12.1/dlls/shlwapi/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/shlwapi/tests/Makefile.in
+++ wine-development-4.12.1/dlls/shlwapi/tests/Makefile.in
@@ -5,7 +5,6 @@ C_SRCS = \
 	assoc.c \
 	clist.c \
 	clsid.c \
-	generated.c \
 	istream.c \
 	ordinal.c \
 	path.c \
Index: wine-development-4.12.1/dlls/urlmon/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/urlmon/tests/Makefile.in
+++ wine-development-4.12.1/dlls/urlmon/tests/Makefile.in
@@ -2,7 +2,6 @@ TESTDLL   = urlmon.dll
 IMPORTS   = urlmon wininet ole32 oleaut32 shlwapi user32 advapi32
 
 C_SRCS = \
-	generated.c \
 	misc.c \
 	protocol.c \
 	sec_mgr.c \
Index: wine-development-4.12.1/dlls/user32/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/user32/tests/Makefile.in
+++ wine-development-4.12.1/dlls/user32/tests/Makefile.in
@@ -11,7 +11,6 @@ C_SRCS = \
 	dde.c \
 	dialog.c \
 	edit.c \
-	generated.c \
 	input.c \
 	listbox.c \
 	menu.c \
Index: wine-development-4.12.1/dlls/wininet/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/wininet/tests/Makefile.in
+++ wine-development-4.12.1/dlls/wininet/tests/Makefile.in
@@ -3,7 +3,6 @@ IMPORTS   = wininet crypt32 ws2_32 user3
 
 C_SRCS = \
 	ftp.c \
-	generated.c \
 	http.c \
 	internet.c \
 	url.c \
Index: wine-development-4.12.1/dlls/winmm/tests/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/winmm/tests/Makefile.in
+++ wine-development-4.12.1/dlls/winmm/tests/Makefile.in
@@ -3,7 +3,6 @@ IMPORTS   = winmm ole32 user32 advapi32
 
 C_SRCS = \
 	capture.c \
-	generated.c \
 	joystick.c \
 	mci.c \
 	mcicda.c \
Index: wine-development-4.12.1/libs/wine/config.c
===================================================================
--- wine-development-4.12.1.orig/libs/wine/config.c
+++ wine-development-4.12.1/libs/wine/config.c
@@ -25,6 +25,7 @@
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
+#include <dirent.h>
 #include <errno.h>
 #include <sys/stat.h>
 #ifdef HAVE_UNISTD_H
@@ -43,7 +44,7 @@
 #include "wine/library.h"
 
 static const char server_config_dir[] = "/.wine";        /* config dir relative to $HOME */
-static const char server_root_prefix[] = "/tmp/.wine";   /* prefix for server root dir */
+static const char server_root_prefix[] = "/run/user";   /* prefix for server root dir */
 static const char server_dir_prefix[] = "/server-";      /* prefix for server dir */
 
 static char *bindir;
@@ -242,13 +243,113 @@ static char *get_runtime_argvdir( const
 /* initialize the server directory value */
 static void init_server_dir( dev_t dev, ino_t ino )
 {
-    char *p, *root;
+    char *p, *prefix = NULL, *root = NULL;
 
 #ifdef __ANDROID__  /* there's no /tmp dir on Android */
     root = build_path( config_dir, ".wineserver" );
 #else
-    root = xmalloc( sizeof(server_root_prefix) + 12 );
-    sprintf( root, "%s-%u", server_root_prefix, getuid() );
+
+#if defined(HAVE_GETUID)
+    /* use /run/user/$uid as wineserver's tmpdir if possible */
+    prefix = xmalloc( sizeof(server_root_prefix) + 12 );
+    sprintf( prefix, "%s/%u", server_root_prefix, getuid() );
+    if (opendir( prefix ))
+    {
+        root = xmalloc( sizeof(server_root_prefix) + 17 );
+        sprintf( root, "%s/wine", prefix);
+    }
+    free( prefix );
+#endif
+
+    /* otherwise, use a randomly named directory under TMPDIR */
+    if (!root)
+    {
+        int error;
+        FILE *stream;
+        char *wineserver_file, *tmp_env, *tmp_dir;
+        mode_t mode = S_IRUSR;
+
+        /* determine the temporary directory */
+        tmp_env = secure_getenv("TMPDIR");
+        if (tmp_env)
+        {
+            tmp_dir = xmalloc( strlen(tmp_env) + 1 );
+            strcpy( tmp_dir, tmp_env );
+        }
+        else
+        {
+            const char tmp_default[] = "/tmp";
+            tmp_dir = xmalloc( sizeof(tmp_default) );
+            strcpy( tmp_dir, tmp_default );
+        }
+
+        /* remove existing wineserver tmpdir file if permissions are wrong */
+        wineserver_file = build_path( config_dir, "wineserver" );
+        if ( access( wineserver_file, F_OK ) != -1 )
+        {
+            struct stat statbuf;
+            mode_t mode_mask = S_IRWXU | S_IRWXG | S_IRWXO;
+            error = stat( wineserver_file, &statbuf );
+            if (error != 0)
+                fatal_error("error reading wineserver tmpdir file permissions\n");
+            if ((statbuf.st_mode & mode_mask) != mode)
+            {
+                error = remove( wineserver_file );
+                if (error != 0)
+                    fatal_error("error removing wineserver tmpdir file\n");
+            }
+        }
+
+        /* create or read the name of the directory */
+        stream = fopen( wineserver_file, "r" );
+        if (!stream)
+        {
+            int n, fd;
+
+            /* create a new randomized name for the directory */
+            root = mkdtemp( build_path( tmp_dir, "wine-XXXXXX" ) );
+            if (!root)
+                fatal_error("unable to create wineserver tmpdir\n");
+
+            /* save location of the chosen temporary directory */
+            fd = creat( wineserver_file, mode );
+            if (fd < 0)
+                fatal_error("error opening file descriptor for wineserver tmpdir file\n");
+            stream = fdopen( fd, "w" );
+            if (!stream)
+                fatal_error("error opening wineserver tmpdir file\n");
+            n = fputs( root + strlen(tmp_dir) + 1, stream );
+            if (n < 0)
+                fatal_error("error writing to wineserver tmpdir file\n");
+            error = fclose( stream );
+            if (error != 0)
+                fatal_error("error closing wineserver tmpdir file\n");
+        }
+        else
+        {
+            char *tmp_wineserver;
+            size_t length = 0;
+            ssize_t nread;
+
+            /* try to read a previously generated wineserver tmpdir */
+            nread = getline( &tmp_wineserver, &length, stream );
+            error = fclose( stream );
+            if (error != 0)
+                fatal_error("error closing wineserver tmpdir file\n");
+
+            /* if something went wrong, remove the broken file */
+            if (nread < 0)
+            {
+                remove( wineserver_file );
+                fatal_error("fixed a temporary directory error, please try running the same command again\n");
+            }
+
+            /* build the full path to the temporary directory */
+            root = build_path( tmp_dir, tmp_wineserver );
+        }
+        free( tmp_dir );
+        free( wineserver_file );
+    }
 #endif
 
     server_dir = xmalloc( strlen(root) + sizeof(server_dir_prefix) + 2*sizeof(dev) + 2*sizeof(ino) + 2 );
description: regenerate all icon files
author: Michael Gilbert <mgilbert@debian.org>

Index: wine-development-4.12.1/tools/makedep.c
===================================================================
--- wine-development-4.12.1.orig/tools/makedep.c
+++ wine-development-4.12.1/tools/makedep.c
@@ -1550,6 +1550,9 @@ static struct file *open_include_file( c
 
     if (pFile->type == INCL_SYSTEM) return NULL;  /* ignore system files we cannot find */
 
+    /* no reason to check that files exist here, may be built later */
+    return file;
+
     /* try in src file directory */
     if ((file = open_file_same_dir( pFile->included_by, pFile->name, &pFile->filename ))) return file;
 
@@ -2876,6 +2879,14 @@ static void output_source_svg( struct ma
 
         if (images[i])
         {
+            struct incl_file *src;
+            LIST_FOR_EACH_ENTRY( src, &make->sources, struct incl_file, entry )
+            {
+                if (strendswith( src->name, ".rc" ))
+                {
+                output( "%s: %s.%s\n", replace_extension( src->name, "rc", "res" ), src_dir_path( make, obj ), images[i] );
+                }
+            }
             output( "%s.%s: %s\n", src_dir_path( make, obj ), images[i], source->filename );
             output( "\tCONVERT=\"%s\" ICOTOOL=\"%s\" RSVG=\"%s\" %s %s $@\n", convert, icotool, rsvg,
                     top_src_dir_path( make, "tools/buildimage" ), source->filename );
Index: wine-development-4.12.1/programs/regedit/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/programs/regedit/Makefile.in
+++ wine-development-4.12.1/programs/regedit/Makefile.in
@@ -20,4 +20,4 @@ RC_SRCS = regedit.rc
 
 MANPAGES = regedit.man.in
 
-SVG_SRCS = regedit.svg
+SVG_SRCS = regedit.svg folderopen.svg folder.svg computer.svg string.svg bin.svg
Index: wine-development-4.12.1/dlls/display.drv16/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/display.drv16/Makefile.in
+++ wine-development-4.12.1/dlls/display.drv16/Makefile.in
@@ -6,3 +6,5 @@ EXTRADLLFLAGS = -m16 -mno-cygwin
 C_SRCS = display.c
 
 RC_SRCS = display.rc
+
+SVG_SRCS = oic_hand.svg
Index: wine-development-4.12.1/dlls/comdlg32/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/comdlg32/Makefile.in
+++ wine-development-4.12.1/dlls/comdlg32/Makefile.in
@@ -22,6 +22,12 @@ SVG_SRCS = \
 	pd32_collate.svg \
 	pd32_landscape.svg \
 	pd32_nocollate.svg \
-	pd32_portrait.svg
+	pd32_portrait.svg \
+	cdrom.svg \
+	hdisk.svg \
+	floppy.svg \
+	folder.svg \
+	folder2.svg \
+	network.svg
 
 IDL_SRCS = comdlg32_classes.idl
Index: wine-development-4.12.1/dlls/comctl32/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/dlls/comctl32/Makefile.in
+++ wine-development-4.12.1/dlls/comctl32/Makefile.in
@@ -59,4 +59,8 @@ SVG_SRCS = \
 	idc_copy.svg \
 	idc_divider.svg \
 	idc_divideropen.svg \
-	idc_movebutton.svg
+	idc_movebutton.svg \
+	idi_dragarrow.svg \
+	idi_tt_info_sm.svg \
+	idi_tt_warn_sm.svg \
+	idi_tt_error_sm.svg
Index: wine-development-4.12.1/programs/taskmgr/Makefile.in
===================================================================
--- wine-development-4.12.1.orig/programs/taskmgr/Makefile.in
+++ wine-development-4.12.1/programs/taskmgr/Makefile.in
@@ -26,4 +26,6 @@ C_SRCS = \
 RC_SRCS = taskmgr.rc
 
 SVG_SRCS = \
-	taskmgr.svg
+	taskmgr.svg \
+	window.svg \
+	windowsm.svg
Index: wine-development-4.12.1/server/request.h
===================================================================
--- wine-development-4.12.1.orig/server/request.h
+++ wine-development-4.12.1/server/request.h
@@ -108,9 +108,9 @@ static inline void set_reply_data_ptr( v
     current->reply_data = data;
 }
 
+#include "request.generated"
 
-/* Everything below this line is generated automatically by tools/make_requests */
-/* ### make_requests begin ### */
+/*
 
 DECL_HANDLER(new_process);
 DECL_HANDLER(exec_process);
@@ -2438,9 +2438,8 @@ C_ASSERT( sizeof(struct suspend_process_
 C_ASSERT( FIELD_OFFSET(struct resume_process_request, handle) == 12 );
 C_ASSERT( sizeof(struct resume_process_request) == 16 );
 
-#endif  /* WANT_REQUEST_HANDLERS */
+#endif
 
-/* ### make_requests end ### */
-/* Everything above this line is generated automatically by tools/make_requests */
+*/
 
 #endif  /* __WINE_SERVER_REQUEST_H */
Index: wine-development-4.12.1/server/trace.c
===================================================================
--- wine-development-4.12.1.orig/server/trace.c
+++ wine-development-4.12.1/server/trace.c
@@ -1237,8 +1237,9 @@ static void dump_varargs_handle_infos( c
 
 typedef void (*dump_func)( const void *req );
 
-/* Everything below this line is generated automatically by tools/make_requests */
-/* ### make_requests begin ### */
+#include "trace.generated"
+
+/*
 
 static void dump_new_process_request( const struct new_process_request *req )
 {
@@ -5667,8 +5668,7 @@ static const struct
     { NULL, 0 }
 };
 
-/* ### make_requests end ### */
-/* Everything above this line is generated automatically by tools/make_requests */
+*/
 
 static const char *get_status_name( unsigned int status )
 {
Index: wine-development-4.12.1/tools/make_requests
===================================================================
--- wine-development-4.12.1.orig/tools/make_requests
+++ wine-development-4.12.1/tools/make_requests
@@ -265,17 +265,11 @@ sub PARSE_REQUESTS()
     close PROTOCOL;
 }
 
-### Retrieve the server protocol version from the existing server_protocol.h file
+# Modified by -1, see debian/scripts/import
 
 sub GET_PROTOCOL_VERSION()
 {
-    my $protocol = 0;
-    open SERVER_PROT, "include/wine/server_protocol.h" or return 0;
-    while (<SERVER_PROT>)
-    {
-        if (/^\#define SERVER_PROTOCOL_VERSION (\d+)/) { $protocol = $1; last; }
-    }
-    close SERVER_PROT;
+    my $protocol = 572;
     return $protocol;
 }
 
@@ -440,7 +434,7 @@ foreach my $err (sort keys %errors)
 push @trace_lines, "    { NULL, 0 }\n";
 push @trace_lines, "};\n";
 
-replace_in_file( "server/trace.c",
+replace_in_file( "server/trace.generated",
                  "### make_requests begin ###",
                  "### make_requests end ###",
                  @trace_lines );
@@ -467,7 +461,7 @@ foreach my $type (sort keys %formats)
 push @request_lines, @asserts;
 push @request_lines, "\n#endif  /* WANT_REQUEST_HANDLERS */\n";
 
-replace_in_file( "server/request.h",
+replace_in_file( "server/request.generated",
                  "### make_requests begin ###",
                  "### make_requests end ###",
                  @request_lines );
Index: wine-development-4.12.1/libs/port/cptable.c
===================================================================
--- wine-development-4.12.1.orig/libs/port/cptable.c
+++ wine-development-4.12.1/libs/port/cptable.c
@@ -22,8 +22,9 @@
 
 #include "wine/unicode.h"
 
-/* Everything below this line is generated automatically by make_unicode */
-/* ### cpmap begin ### */
+#include "cptable.generated"
+
+/*
 extern union cptable cptable_037;
 extern union cptable cptable_424;
 extern union cptable cptable_437;
@@ -172,9 +173,7 @@ static const union cptable * const cptab
     &cptable_28605,
     &cptable_28606,
 };
-/* ### cpmap end ### */
-/* Everything above this line is generated automatically by make_unicode */
-
+*/
 
 static int cmp_codepage( const void *codepage, const void *entry )
 {
Index: wine-development-4.12.1/tools/make_unicode
===================================================================
--- wine-development-4.12.1.orig/tools/make_unicode
+++ wine-development-4.12.1/tools/make_unicode
@@ -23,9 +23,9 @@ use strict;
 
 # base URLs for www.unicode.org files
 my $MAPPINGS = "http://www.unicode.org/Public/MAPPINGS";;
-my $UNIDATA = "http://www.unicode.org/Public/12.0.0/ucd";;
-my $REPORTS = "http://www.unicode.org/reports";;
-my $RFCS = "http://www.rfc-editor.org/rfc";;
+my $UNIDATA = "/usr/share/unicode";
+my $REPORTS = "debian/unicode";
+my $RFCS = "debian";
 
 # Sort keys file
 my $SORTKEYS = "tr10/allkeys.txt";
@@ -432,15 +432,8 @@ my %joining_forms =
 sub open_data_file($$)
 {
     my ($base, $name) = @_;
-    (my $dir = "data/$name") =~ s/\/[^\/]+$//;
     local *FILE;
-    unless (-f "data/$name")
-    {
-        print "Fetching $base/$name...\n";
-        system "mkdir", "-p", $dir;
-        !system "wget", "-q", "-O", "data/$name", "$base/$name" or die "cannot fetch $base/$name";
-    }
-    open FILE, "<data/$name" or die "cannot open data/$name";
+    open FILE, "<$base/$name" or die "cannot open $base/$name";
     return *FILE;
 }
 
@@ -2900,9 +2893,10 @@ dump_vertical( "dlls/gdi32/vertical.c" )
 dump_vertical( "dlls/wineps.drv/vertical.c" );
 dump_nameprep( "dlls/kernel32/nameprep.c" );
 
-foreach my $file (@allfiles) { HANDLE_FILE( @{$file} ); }
+# Skipping: unicode-data currently has no MAPPING files
+# foreach my $file (@allfiles) { HANDLE_FILE( @{$file} ); }
 
-output_cptable("libs/port/cptable.c");
+output_cptable("libs/port/cptable.generated");
 
 exit 0;
 
Index: wine-development-4.12.1/configure.ac
===================================================================
--- wine-development-4.12.1.orig/configure.ac
+++ wine-development-4.12.1/configure.ac
@@ -1973,6 +1973,11 @@ then
   dnl Check for some compiler flags
   WINE_TRY_CFLAGS([-fno-strict-aliasing])
   WINE_TRY_CFLAGS([-fexcess-precision=standard],[AC_SUBST(EXCESS_PRECISION_CFLAGS,"-fexcess-precision=standard")])
+
+case $host_cpu in
+  *aarch64*) EXCESS_PRECISION_CFLAGS="" ;;
+esac
+
   dnl clang needs to be told to fail on unknown options
   saved_CFLAGS=$CFLAGS
   WINE_TRY_CFLAGS([-Werror=unknown-warning-option],[CFLAGS="$CFLAGS -Werror=unknown-warning-option"])
description: fix gcc argument promotion warning
author: Michael Gilbert <mgilbert@debian.org>

Index: wine-development-4.12.1/include/evntrace.h
===================================================================
--- wine-development-4.12.1.orig/include/evntrace.h
+++ wine-development-4.12.1/include/evntrace.h
@@ -308,7 +308,7 @@ ULONG WINAPI StartTraceA(PTRACEHANDLE,LP
 ULONG WINAPI StartTraceW(PTRACEHANDLE,LPCWSTR,PEVENT_TRACE_PROPERTIES);
 #define      StartTrace WINELIB_NAME_AW(StartTrace)
 ULONG WINAPI TraceEvent(TRACEHANDLE,PEVENT_TRACE_HEADER);
-ULONG WINAPIV TraceMessage(TRACEHANDLE,ULONG,LPGUID,USHORT,...);
+ULONG WINAPIV TraceMessage(TRACEHANDLE,ULONG,LPGUID,UINT,...);
 ULONG WINAPI TraceMessageVa(TRACEHANDLE,ULONG,LPGUID,USHORT,__ms_va_list);
 ULONG WINAPI UnregisterTraceGuids(TRACEHANDLE);
 
Index: wine-development-4.12.1/dlls/ntdll/signal_arm64.c
===================================================================
--- wine-development-4.12.1.orig/dlls/ntdll/signal_arm64.c
+++ wine-development-4.12.1/dlls/ntdll/signal_arm64.c
@@ -611,9 +611,8 @@ static NTSTATUS raise_exception( EXCEPTI
     return STATUS_SUCCESS;
 }
 
-static inline DWORD is_write_fault( DWORD *pc )
+static inline DWORD is_write_fault( DWORD64 inst  )
 {
-    DWORD inst = *pc;
     if ((inst & 0xbfff0000) == 0x0c000000   /* C3.3.1 */ ||
         (inst & 0xbfe00000) == 0x0c800000   /* C3.3.2 */ ||
         (inst & 0xbfdf0000) == 0x0d000000   /* C3.3.3 */ ||
@@ -637,7 +636,7 @@ static void segv_handler( int signal, si
 {
     EXCEPTION_RECORD *rec;
     ucontext_t *context = ucontext;
-    DWORD *orig_pc = (DWORD *)PC_sig(context);
+    DWORD64 orig_pc = (DWORD64 *)PC_sig(context);
 
     /* check for page fault inside the thread stack */
     if (signal == SIGSEGV &&

Reply to: