diff --git a/pisi/atomicoperations.py b/pisi/atomicoperations.py index 790f0dac..e2fe7ed3 100644 --- a/pisi/atomicoperations.py +++ b/pisi/atomicoperations.py @@ -300,8 +300,9 @@ class Install(AtomicOperation): if not os.path.exists(destdir): os.makedirs(destdir) - if os.path.islink(old_path): - os.symlink(os.readlink(old_path), new_path) + if os.path.islink(old_path): + if not os.path.exists(new_path): + os.symlink(os.readlink(old_path), new_path) else: shutil.copy(old_path, new_path) diff --git a/pisi/delta.py b/pisi/delta.py index 93f211d7..1cf33b5e 100644 --- a/pisi/delta.py +++ b/pisi/delta.py @@ -118,7 +118,6 @@ def find_relocations(oldfiles, newfiles): relocations = [] for hash in files_new.keys(): if hash in files_old: - files_new[hash] = filter(lambda x:x not in files_old[hash], files_new[hash]) for i in range(len(files_new[hash])): if files_old[hash][0].path != files_new[hash][i].path: relocations.append((files_old[hash][0], files_new[hash][i]))