aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Griffis <tingping@tingping.se>2017-06-09 22:03:28 -0400
committerPatrick Griffis <tingping@tingping.se>2017-06-09 22:03:28 -0400
commit7764c0a7fac551a95439881e53c1b0c28d13d239 (patch)
tree4b393341becdda5b5f2c70d40f3b210bac4a4b57
parent616c4c3a35840d91501a2d55a6c527eb29195231 (diff)
downloadmeson-7764c0a7fac551a95439881e53c1b0c28d13d239.zip
meson-7764c0a7fac551a95439881e53c1b0c28d13d239.tar.gz
meson-7764c0a7fac551a95439881e53c1b0c28d13d239.tar.bz2
gnome.yelp(): Handle file existing on symlink
Fixes #1921
-rw-r--r--mesonbuild/scripts/yelphelper.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/mesonbuild/scripts/yelphelper.py b/mesonbuild/scripts/yelphelper.py
index 2623790..978a870 100644
--- a/mesonbuild/scripts/yelphelper.py
+++ b/mesonbuild/scripts/yelphelper.py
@@ -81,7 +81,11 @@ def install_help(srcdir, blddir, sources, media, langs, install_dir, destdir, pr
if '/' in m or '\\' in m:
os.makedirs(os.path.dirname(outfile), exist_ok=True)
try:
- os.symlink(srcfile, outfile)
+ try:
+ os.symlink(srcfile, outfile)
+ except FileExistsError:
+ os.remove(outfile)
+ os.symlink(srcfile, outfile)
continue
except (NotImplementedError, OSError):
mlog.warning('Symlinking not supported, falling back to copying')