diff --git a/debian/changelog b/debian/changelog index ac15879e328a1603490bc0a31993dade37b6e8e6..b55eafa01f42eb0c81a29ac4b50db22bb1f4bb22 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,10 @@ python-defaults (2.6.6-11) UNRELEASED; urgency=low - * dh_python2: fix parsing .pyinstall files (a space between file name and - module name is now required) + * dh_python2: + - fix parsing .pyinstall files (a space between file name and + module name is now required) + - replace a file with a symlink also if there's a matching one in + pyshared directory already -- Piotr Ożarowski <piotr@debian.org> Sat, 15 Jan 2011 21:14:38 +0100 diff --git a/dh_python2 b/dh_python2 index bc10c7abf6f8e151a178d0eed2e65739bee933da..776bf48f405ffaa91b32377a71765fa540fd37b4 100755 --- a/dh_python2 +++ b/dh_python2 @@ -26,7 +26,7 @@ import logging import os import re import sys -from filecmp import dircmp, cmpfiles +from filecmp import dircmp, cmpfiles, cmp as fcmp from optparse import OptionParser, SUPPRESS_HELP from os.path import isdir, islink, exists, join, realpath from shutil import rmtree, copy as fcopy @@ -261,8 +261,12 @@ def share_2x(dir1, dir2, dc=None): # do not touch symlinks created by previous loop or other tools if dc and not islink(fpath1): # replace with a link to pyshared - os.rename(fpath1, fpath3) - relative_symlink(fpath3, fpath1) + if not exists(fpath3): + os.rename(fpath1, fpath3) + relative_symlink(fpath3, fpath1) + elif fcmp(fpath3, fpath1, shallow=False): + os.remove(fpath1) + relative_symlink(fpath3, fpath1) if dc is None: # guess/copy mode if islink(fpath1): # ralative links will work as well, it's always the same level