Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ValveSoftware/Proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Eikum <aeikum@codeweavers.com>2021-03-25 21:14:33 +0300
committerArkadiusz Hiler <ahiler@codeweavers.com>2022-10-26 21:29:10 +0300
commit47e5e9ec9cc06de916904fa09d52d403e55f46d4 (patch)
tree4cfada6d79bb80b0b2539ef6d30d27c2d98a2d3d
parentdfb87090abc3f27239040f2a78669d7e097879ba (diff)
Don't ship filenames with colons in them
-rwxr-xr-xdefault_pfx.py9
-rwxr-xr-xproton6
2 files changed, 15 insertions, 0 deletions
diff --git a/default_pfx.py b/default_pfx.py
index 89857366..d4ae6949 100755
--- a/default_pfx.py
+++ b/default_pfx.py
@@ -71,6 +71,14 @@ def setup_dll_symlinks(default_pfx_dir, dist_dir):
os.unlink(filename)
make_relative_symlink(target, filename)
+#steampipe can't handle filenames with colons, so we remove them here
+#and restore them in the proton script
+def fixup_drive_links(default_pfx_dir):
+ for walk_dir, dirs, files in os.walk(os.path.join(default_pfx_dir, "dosdevices")):
+ for dir_ in dirs:
+ if ":" in dir_:
+ os.remove(os.path.join(walk_dir, dir_))
+
def make_default_pfx(default_pfx_dir, dist_dir, runtime):
local_env = dict(os.environ)
@@ -94,6 +102,7 @@ def make_default_pfx(default_pfx_dir, dist_dir, runtime):
env=local_env, check=True)
setup_dll_symlinks(default_pfx_dir, dist_dir)
+ fixup_drive_links(default_pfx_dir)
if __name__ == '__main__':
import sys
diff --git a/proton b/proton
index ea40e0d7..7d951da9 100755
--- a/proton
+++ b/proton
@@ -764,6 +764,12 @@ class CompatData:
self.migrate_user_paths()
+ if not os.path.lexists(self.prefix_dir + "/dosdevices/c:"):
+ os.symlink("../drive_c", self.prefix_dir + "/dosdevices/c:")
+
+ if not os.path.lexists(self.prefix_dir + "/dosdevices/z:"):
+ os.symlink("/", self.prefix_dir + "/dosdevices/z:")
+
# collect configuration info
steamdir = os.environ["STEAM_COMPAT_CLIENT_INSTALL_PATH"]