diff --git a/README.md b/README.md index 455e508a..2857bc59 100644 --- a/README.md +++ b/README.md @@ -113,6 +113,8 @@ Pokemon sprite filenames are in a 1-to-1 correspondence with the Pokemon's name, - Tup, like Git, tracks files, not directories. If you `readdir()` and forget to declare a dependency it won't catch it, like it would for `read()`. You can work around this by having build tools `stat()` any filenames they acquire. +- Using DeflOpt requires a custom build of tup. Checkout the repo and `git am vendor/tup-remove-fuse-context-check.patch`, and run with environment variable `TUP_NO_NAMESPACING=1`. + - DeflOpt performance can suffer under Wine due to repeatedly starting/shutting down `wineserver`. You can specify the server timeout with `wineserver -p`, where `n` is the # of seconds (default 3). If you don't specify `n` it never shuts down. Sometimes wine will hang so you may want to instead pick something high like 30 seconds. ## License diff --git a/vendor/tup-remove-fuse-context-check.patch b/vendor/tup-remove-fuse-context-check.patch new file mode 100644 index 00000000..1a5275a9 --- /dev/null +++ b/vendor/tup-remove-fuse-context-check.patch @@ -0,0 +1,31 @@ +From aa0d590380db26d1669fb6368328c71cd9f389d1 Mon Sep 17 00:00:00 2001 +From: Christopher Monsanto +Date: Tue, 15 Sep 2020 06:05:50 -0400 +Subject: [PATCH] Remove fuse context check + +This allows using wine in build rules. +--- + src/tup/server/fuse_fs.c | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/src/tup/server/fuse_fs.c b/src/tup/server/fuse_fs.c +index b8ff82c0..7867b18b 100644 +--- a/src/tup/server/fuse_fs.c ++++ b/src/tup/server/fuse_fs.c +@@ -290,13 +290,6 @@ static int context_check(void) + return 0; + } + +- if(ourpgid != pgid) { +- if(server_debug_enabled()) { +- fprintf(stderr, "tup fuse warning: Process pid=%i, uid=%i, gid=%i is trying to access the tup server's fuse filesystem.\n", +- fuse_get_context()->pid, fuse_get_context()->uid, fuse_get_context()->gid); +- } +- return -1; +- } + return 0; + } + +-- +2.25.1 +