From 4ef202f300eea85aee35b7bad06cc2985898b3f8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Piotr=20O=C5=BCarowski?= <piotr@debian.org>
Date: Sun, 20 Mar 2011 16:28:13 +0100
Subject: [PATCH] do not try to check dangling symlinks's shebang (closes:
 619005)

---
 debian/changelog |  1 +
 dh_python2       | 13 +++++++------
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index df15c1f..8cf5dc3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ python-defaults (2.6.6-12) UNRELEASED; urgency=low
     - use Depends: python (<< 2.X), python (>= 2.Y) rather than Breaks
       in packages with public modules (after a discussion on debian-devel
       mailing list)
+    - do not try to check dangling symlinks's shebang (closes: 619005)
 
   [ Scott Kitterman ]
   * Start Python Policy updates for Wheezy
diff --git a/dh_python2 b/dh_python2
index f73283f..f7d6890 100755
--- a/dh_python2
+++ b/dh_python2
@@ -371,12 +371,13 @@ def scan(package, dname=None):
                     continue
 
             elif private_dir:
-                mode = os.stat(join(root, fn))[ST_MODE]
-                if mode & S_IXUSR or mode & S_IXGRP or mode & S_IXOTH:
-                    res = shebang2pyver(join(root, fn))
-                    if res:
-                        r['private_dirs'].setdefault(private_dir, {})\
-                            .setdefault('shebangs', set()).add(res)
+                if exists(join(root, fn)):
+                    mode = os.stat(join(root, fn))[ST_MODE]
+                    if mode & S_IXUSR or mode & S_IXGRP or mode & S_IXOTH:
+                        res = shebang2pyver(join(root, fn))
+                        if res:
+                            r['private_dirs'].setdefault(private_dir, {})\
+                                .setdefault('shebangs', set()).add(res)
 
             if public_dir or private_dir:
                 if fext == 'so':
-- 
GitLab