[RFC PATCH 4/5] wineboot: Disable prefix update if overlays are used.
Rémi Bernon
rbernon at codeweavers.com
Mon Mar 30 07:24:29 CDT 2020
Updating the prefix with overlays enabled creates all sort of yet
unsolved problems, and will update the upper dir, defeating the purpose
of using overlays.
---
programs/wineboot/wineboot.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
index 2463b7a0e050..53a634a70614 100644
--- a/programs/wineboot/wineboot.c
+++ b/programs/wineboot/wineboot.c
@@ -86,6 +86,7 @@ static const BOOL is_64bit = sizeof(void *) > sizeof(int);
static const WCHAR winebuilddirW[] = {'W','I','N','E','B','U','I','L','D','D','I','R',0};
static const WCHAR winedatadirW[] = {'W','I','N','E','D','A','T','A','D','I','R',0};
static const WCHAR wineconfigdirW[] = {'W','I','N','E','C','O','N','F','I','G','D','I','R',0};
+static const WCHAR wineprefix_overlaysW[] = {'W','I','N','E','P','R','E','F','I','X','_','O','V','E','R','L','A','Y','S',0};
/* retrieve the path to the wine.inf file */
static WCHAR *get_wine_inf_path(void)
@@ -138,12 +139,21 @@ static BOOL update_timestamp( const WCHAR *config_dir, unsigned long timestamp )
if ((fd = _wopen( timestampW, O_WRONLY | O_CREAT | O_TRUNC, 0666 )) == -1) goto done;
count = sprintf( buffer, "%lu\n", timestamp );
+ ret = TRUE;
+
+ if (_wgetenv( wineprefix_overlaysW ))
+ {
+ WINE_MESSAGE( "wine: overlays are enabled, disabling prefix updates\n" );
+ count = sprintf( buffer, "disable\n" );
+ ret = FALSE;
+ }
+
if (write( fd, buffer, count ) != count)
{
WINE_WARN( "failed to update timestamp in %s\n", debugstr_w(timestampW) );
chsize( fd, 0 );
+ ret = FALSE;
}
- else ret = TRUE;
done:
if (fd != -1) close( fd );
@@ -1462,6 +1472,12 @@ static void update_wineprefix( BOOL force )
fstat( fd, &st );
close( fd );
+ if (_wgetenv( wineprefix_overlaysW ))
+ {
+ WINE_MESSAGE( "wine: overlays are enabled, not updating prefix\n" );
+ force = FALSE;
+ }
+
if (update_timestamp( config_dir, st.st_mtime ) || force)
{
HANDLE process;
--
2.26.0.rc2
More information about the wine-devel
mailing list