summaryrefslogtreecommitdiff
path: root/debian/patches/remove_broken_symlinks
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/remove_broken_symlinks')
-rw-r--r--debian/patches/remove_broken_symlinks19
1 files changed, 19 insertions, 0 deletions
diff --git a/debian/patches/remove_broken_symlinks b/debian/patches/remove_broken_symlinks
new file mode 100644
index 0000000..f28a4d7
--- /dev/null
+++ b/debian/patches/remove_broken_symlinks
@@ -0,0 +1,19 @@
+Description: In Clean() routine, try to delete symlinks even if files they point to are not available.
+Upstream bug: http://scons.tigris.org/issues/show_bug.cgi?id=2095
+Debian bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=485521
+
+Index: scons-1.2.0/engine/SCons/Script/Main.py
+===================================================================
+--- scons-1.2.0.orig/engine/SCons/Script/Main.py 2008-12-26 17:46:29.470044569 +0100
++++ scons-1.2.0/engine/SCons/Script/Main.py 2008-12-26 17:46:40.238042348 +0100
+@@ -328,6 +328,10 @@
+ # then delete dir itself
+ if remove: os.rmdir(path)
+ display("Removed directory " + pathstr)
++ else:
++ if os.path.islink(path):
++ if remove: os.unlink(path)
++ display("Removed " + pathstr)
+ except (IOError, OSError), e:
+ print "scons: Could not remove '%s':" % pathstr, e.strerror
+