Hello community,

here is the log from the commit of package python-virtualenv-clone for 
openSUSE:Factory checked in at 2016-03-03 15:16:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-virtualenv-clone (Old)
 and      /work/SRC/openSUSE:Factory/.python-virtualenv-clone.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-virtualenv-clone"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-virtualenv-clone/python-virtualenv-clone.changes
  2014-12-10 23:44:34.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-virtualenv-clone.new/python-virtualenv-clone.changes
     2016-03-03 15:16:36.000000000 +0100
@@ -1,0 +2,6 @@
+Mon Feb 29 12:14:12 UTC 2016 - [email protected]
+
+- Update to version 2.6
+  * Fix symlinks that point to the old virtual env
+
+-------------------------------------------------------------------

Old:
----
  virtualenv-clone-0.2.5.tar.gz

New:
----
  virtualenv-clone-0.2.6.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-virtualenv-clone.spec ++++++
--- /var/tmp/diff_new_pack.TXL0Jk/_old  2016-03-03 15:16:37.000000000 +0100
+++ /var/tmp/diff_new_pack.TXL0Jk/_new  2016-03-03 15:16:37.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-virtualenv-clone
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           python-virtualenv-clone
-Version:        0.2.5
+Version:        0.2.6
 Release:        0
 Summary:        Script to clone virtualenvs
 License:        MIT

++++++ virtualenv-clone-0.2.5.tar.gz -> virtualenv-clone-0.2.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virtualenv-clone-0.2.5/PKG-INFO 
new/virtualenv-clone-0.2.6/PKG-INFO
--- old/virtualenv-clone-0.2.5/PKG-INFO 2014-04-27 16:57:38.000000000 +0200
+++ new/virtualenv-clone-0.2.6/PKG-INFO 2015-06-29 12:34:32.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: virtualenv-clone
-Version: 0.2.5
+Version: 0.2.6
 Summary: script to clone virtualenvs.
 Home-page: http://github.com/edwardgeorge/virtualenv-clone
 Author: Edward George
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virtualenv-clone-0.2.5/clonevirtualenv.py 
new/virtualenv-clone-0.2.6/clonevirtualenv.py
--- old/virtualenv-clone-0.2.5/clonevirtualenv.py       2014-04-27 
16:53:42.000000000 +0200
+++ new/virtualenv-clone-0.2.6/clonevirtualenv.py       2015-06-29 
12:30:34.000000000 +0200
@@ -1,13 +1,16 @@
+#!/usr/bin/env python
 from __future__ import with_statement
 import logging
 import optparse
 import os
+import os.path
 import re
 import shutil
 import subprocess
 import sys
+import itertools
 
-version_info = (0, 2, 4)
+version_info = (0, 2, 6)
 __version__ = '.'.join(map(str, version_info))
 
 
@@ -89,6 +92,25 @@
     v_sys = _virtualenv_sys(dst_dir)
     remaining = has_old(v_sys[1])
     assert not remaining, v_sys
+    fix_symlink_if_necessary(src_dir, dst_dir)
+
+def fix_symlink_if_necessary(src_dir, dst_dir):
+    #sometimes the source virtual environment has symlinks that point to itself
+    #one example is $OLD_VIRTUAL_ENV/local/lib points to $OLD_VIRTUAL_ENV/lib
+    #this function makes sure
+    #$NEW_VIRTUAL_ENV/local/lib will point to $NEW_VIRTUAL_ENV/lib
+    #usually this goes unnoticed unless one tries to upgrade a package though 
pip, so this bug is hard to find.
+    logger.info("scanning for internal symlinks that point to the original 
virtual env")
+    for dirpath, dirnames, filenames in os.walk(dst_dir):
+        for a_file in itertools.chain(filenames, dirnames):
+            full_file_path = os.path.join(dirpath, a_file)
+            if os.path.islink(full_file_path):
+                target = os.path.realpath(full_file_path)
+                if target.startswith(src_dir):
+                    new_target = target.replace(src_dir, dst_dir)
+                    logger.debug('fixing symlink in {}'.format(full_file_path))
+                    os.remove(full_file_path)
+                    os.symlink(new_target, full_file_path)
 
 
 def fixup_scripts(old_dir, new_dir, version, rewrite_env_python=False):
@@ -267,6 +289,7 @@
     try:
         old_dir, new_dir = args
     except ValueError:
+        print("virtualenv-clone {}".format(__version__))
         parser.error("not enough arguments given.")
     old_dir = os.path.normpath(os.path.abspath(old_dir))
     new_dir = os.path.normpath(os.path.abspath(new_dir))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virtualenv-clone-0.2.5/setup.py 
new/virtualenv-clone-0.2.6/setup.py
--- old/virtualenv-clone-0.2.5/setup.py 2014-04-27 16:54:14.000000000 +0200
+++ new/virtualenv-clone-0.2.6/setup.py 2015-06-29 12:34:06.000000000 +0200
@@ -25,7 +25,7 @@
 
 
 setup(name="virtualenv-clone",
-    version='0.2.5',
+    version='0.2.6',
     description='script to clone virtualenvs.',
     author='Edward George',
     author_email='[email protected]',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/virtualenv-clone-0.2.5/virtualenv_clone.egg-info/PKG-INFO 
new/virtualenv-clone-0.2.6/virtualenv_clone.egg-info/PKG-INFO
--- old/virtualenv-clone-0.2.5/virtualenv_clone.egg-info/PKG-INFO       
2014-04-27 16:57:19.000000000 +0200
+++ new/virtualenv-clone-0.2.6/virtualenv_clone.egg-info/PKG-INFO       
2015-06-29 12:34:32.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: virtualenv-clone
-Version: 0.2.5
+Version: 0.2.6
 Summary: script to clone virtualenvs.
 Home-page: http://github.com/edwardgeorge/virtualenv-clone
 Author: Edward George


Reply via email to