Bug 2454249

Summary: python-virtualenv-clone fails to build with virtualenv 20.38.0+: test_clone_contents: AssertionError: Found source path in cloned file /tmp/tmpt25l9ytk/clone_venv/pyvenv.cfg
Product: [Fedora] Fedora Reporter: Karolina Surma <ksurma>
Component: python-virtualenv-cloneAssignee: Fedora Infrastructure SIG <infra-sig>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: infra-sig, ksurma, mhroncok, tadej.j
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-virtualenv-clone-0.5.7-19.fc45 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-04-15 16:32:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2412434, 2433833    

Description Karolina Surma 2026-04-02 08:21:32 UTC
python-virtualenv-clone fails to build with Python 3.15.0a7.

___________________ TestVirtualenvClone.test_clone_contents ____________________

self = <tests.test_virtualenv_clone.TestVirtualenvClone testMethod=test_clone_contents>

    def test_clone_contents(self):
        """Walk the virtualenv and verify clonedenv contents"""
    
        sys.argv = ['virtualenv-clone', venv_path, clone_path]
        clonevirtualenv.main()
    
        version = clonevirtualenv._virtualenv_sys(venv_path)[0]
    
        for root, dirs, files in os.walk(venv_path):
            clone_root = root.replace(venv_path,clone_path)
            for dir_ in dirs:
                dir_in_clone = os.path.join(clone_root,dir_)
                assert os.path.exists(dir_in_clone),\
                    'Directory %s is missing from cloned virtualenv' % dir_
    
            for file_ in files:
                if file_.endswith('.pyc') or\
                    file_.endswith('.exe') or\
                    file_.endswith('.egg') or\
                    file_ in ['python', 'python%s' % version]:
                    # binarys fail reading and
                    # compiled will be recompiled
                    continue
    
                file_in_clone = os.path.join(clone_root,file_)
                assert os.path.exists(file_in_clone),\
                    'File %s is missing from cloned virtualenv' % file_
    
                if os.path.islink(file_in_clone):
                    target = os.readlink(file_in_clone)
                    assert venv_path != target
                    assert venv_path not in target
                    assert os.path.basename(venv_path) not in target
                    continue
    
                with open(file_in_clone, 'rb') as f:
                    lines = f.read().decode('utf-8')
>                   assert venv_path not in lines,\
                        'Found source path in cloned file %s' % file_in_clone
E                   AssertionError: Found source path in cloned file /tmp/tmpt25l9ytk/clone_venv/pyvenv.cfg
E                   assert '/tmp/tmpt25l9ytk/srs_venv' not in 'home = /usr...in/python3\n'
E                     
E                     '/tmp/tmpt25l9ytk/srs_venv' is contained here:
E                       home = /usr/bin
E                       implementation = CPython
E                       version_info = 3.15.0.alpha.7
E                       version = 3.15.0
E                       executable = /usr/bin/python3.15...
E                     
E                     ...Full output truncated (7 lines hidden), use '-vv' to show

https://docs.python.org/3.15/whatsnew/3.15.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.15/fedora-rawhide-x86_64/10243265-python-virtualenv-clone/

For all our attempts to build python-virtualenv-clone with Python 3.15, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/package/python-virtualenv-clone/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.15:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/

Let us know here if you have any questions.

Python 3.15 is planned to be included in Fedora 45.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.15.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Miro Hrončok 2026-04-02 10:00:42 UTC
This is not a problem with Python 3.15. See Fix a test failure with virtualenv 20.38.0+ https://src.fedoraproject.org/rpms/python-virtualenv-clone/pull-request/6 opened a month ago.

Comment 2 Miro Hrončok 2026-04-09 10:15:42 UTC
Please either merge the PR, raise your concerns or orphan this package if you do not require it. Upstream seems quite inactive.