Revision
89357
Author
singingwolfboy@macports.org
Date
2012-01-26 07:52:45 -0800 (Thu, 26 Jan 2012)

Log Message

py-zc-buildout: apply symlink patch from https://github.com/koodaamo/cns.recipe.symlink/wiki/zc.buildout-bug-%23144228

Modified Paths

Added Paths

Diff

Modified: trunk/dports/python/py-zc-buildout/Portfile (89356 => 89357)


--- trunk/dports/python/py-zc-buildout/Portfile	2012-01-26 10:27:10 UTC (rev 89356)
+++ trunk/dports/python/py-zc-buildout/Portfile	2012-01-26 15:52:45 UTC (rev 89357)
@@ -6,6 +6,7 @@
 name                py-zc-buildout
 set real_name       zc.buildout
 version             1.5.2
+revision            1
 python.versions     24 25 26 27
 categories-append   devel
 platforms           darwin
@@ -23,6 +24,8 @@
 distname            ${real_name}-${version}
 checksums           rmd160  4335f747986d05919e62627f2c8aeed5b23af9cb \
                     sha256  0ac5a325d3ffbc5a988fb3ba87f4159d4769cc73e3331cb5234edc8839b6506b
+# https://github.com/koodaamo/cns.recipe.symlink/wiki/zc.buildout-bug-%23144228
+patchfiles          fix-symlink-removal.patch
 
 if {$name != $subport} {
     depends_lib-append      port:py${python.version}-distribute

Added: trunk/dports/python/py-zc-buildout/files/fix-symlink-removal.patch (0 => 89357)


--- trunk/dports/python/py-zc-buildout/files/fix-symlink-removal.patch	                        (rev 0)
+++ trunk/dports/python/py-zc-buildout/files/fix-symlink-removal.patch	2012-01-26 15:52:45 UTC (rev 89357)
@@ -0,0 +1,22 @@
+--- src/zc/buildout/buildout.py
++++ src/zc/buildout/buildout.py
+@@ -753,9 +753,7 @@
+             if not f:
+                 continue
+             f = self._buildout_path(f)
+-            if os.path.isdir(f):
+-                rmtree(f)
+-            elif os.path.isfile(f):
++            if os.path.isfile(f) or os.path.islink(f):
+                 try:
+                     os.remove(f)
+                 except OSError:
+@@ -770,6 +768,8 @@
+                         # and, of course, it's in use. Leave it.
+                         ):
+                         raise
++            elif os.path.isdir(f):
++                rmtree(f)
+
+     def _install(self, part):
+         options = self[part]