[Mesa-dev] [PATCH v2] meson, install_megadrivers: Also remove stale symlinks
Gert Wollny
gert.wollny at collabora.com
Mon Aug 6 07:41:48 UTC 2018
os.path.exists doesn't return True for stale symlinks, but they are in
the way later, when a link/file with the same name is to be created.
For instance it is conceivable that the pointed to file is replaced by
a file with a new name, and then the symlink is dead.
To handle this check specifically for all existing symlinks to be
removed. (This bugged me for some time with a link libXvMCr600.so
always being in the way of installing this file)
v2: use only os.path.lexist and replace all instances
of os.path.exist (Dylan Baker)
Fixes: f7f1b30f81e842db6057591470ce3cb6d4fb2795
("meson: extend install_megadrivers script to handle symmlinking")
Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
---
bin/install_megadrivers.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/bin/install_megadrivers.py b/bin/install_megadrivers.py
index 8d9ed9c6dc..3a31fddd89 100755
--- a/bin/install_megadrivers.py
+++ b/bin/install_megadrivers.py
@@ -42,14 +42,14 @@ def main():
master = os.path.join(to, os.path.basename(args.megadriver))
- if not os.path.exists(to):
+ if not os.path.lexists(to):
os.makedirs(to)
shutil.copy(args.megadriver, master)
for driver in args.drivers:
abs_driver = os.path.join(to, driver)
- if os.path.exists(abs_driver):
+ if os.path.lexists(abs_driver):
os.unlink(abs_driver)
print('installing {} to {}'.format(args.megadriver, abs_driver))
os.link(master, abs_driver)
@@ -60,7 +60,7 @@ def main():
name, ext = os.path.splitext(driver)
while ext != '.so':
- if os.path.exists(name):
+ if os.path.lexists(name):
os.unlink(name)
os.symlink(driver, name)
name, ext = os.path.splitext(name)
--
2.16.4
More information about the mesa-dev
mailing list