[libvirt PATCH v2] scripts: Fix meson-install-symlink.py overwriting existing links

Erik Skultety eskultet at redhat.com
Wed Aug 5 09:06:29 UTC 2020


By default, symlink re-creation fails if the link already exists, more
specifically in case of meson-install-symlink.py:

Traceback (most recent call last):
  File "/<path_to_libvirt_repo>/scripts/meson-install-symlink.py",
    line 15, in <module>
        os.symlink(target, link)
FileExistsError: File exists: '../default.xml' -> 'default.xml'

Unfortunately, Python can't mimic "ln -sf", so we have to fix this
differently - remove the existing link first and then try re-creating
it.

Signed-off-by: Erik Skultety <eskultet at redhat.com>
---

This version suffers from the same problem as v1, but I didn't bother putting
that into the commit message anymore as the consensus seems to be that we don't
care.

 scripts/meson-install-symlink.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/scripts/meson-install-symlink.py b/scripts/meson-install-symlink.py
index e38507072d..d8817fb9be 100644
--- a/scripts/meson-install-symlink.py
+++ b/scripts/meson-install-symlink.py
@@ -12,4 +12,8 @@ workdir = os.path.join(destdir, dirname.strip(os.sep))
 
 os.makedirs(workdir, exist_ok=True)
 os.chdir(workdir)
+
+if os.path.exists(link):
+    os.remove(link)
+
 os.symlink(target, link)
-- 
2.26.2




More information about the libvir-list mailing list