diff options
author | CoprDistGit <infra@openeuler.org> | 2023-03-09 17:56:17 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-03-09 17:56:17 +0000 |
commit | e5ff7dfad35ff72672db36adf51cddf868e64081 (patch) | |
tree | 1ece1747ba7357f1689c4ff62cff0914afa1c8f1 | |
parent | fcb79112b20df2288edfc69137269f1f250c12bc (diff) |
automatic import of python-virtualenv-clone
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-virtualenv-clone.spec | 183 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 185 insertions, 0 deletions
@@ -0,0 +1 @@ +/virtualenv-clone-0.5.7.tar.gz diff --git a/python-virtualenv-clone.spec b/python-virtualenv-clone.spec new file mode 100644 index 0000000..20d6c47 --- /dev/null +++ b/python-virtualenv-clone.spec @@ -0,0 +1,183 @@ +%global _empty_manifest_terminate_build 0 +Name: python-virtualenv-clone +Version: 0.5.7 +Release: 1 +Summary: script to clone virtualenvs. +License: MIT +URL: https://github.com/edwardgeorge/virtualenv-clone +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/85/76/49120db3bb8de4073ac199a08dc7f11255af8968e1e14038aee95043fafa/virtualenv-clone-0.5.7.tar.gz +BuildArch: noarch + + +%description +virtualenv cloning script. + +[](https://travis-ci.org/edwardgeorge/virtualenv-clone) + +A script for cloning a non-relocatable virtualenv. + +Virtualenv provides a way to make virtualenv's relocatable which could then be +copied as we wanted. However making a virtualenv relocatable this way breaks +the no-site-packages isolation of the virtualenv as well as other aspects that +come with relative paths and `/usr/bin/env` shebangs that may be undesirable. + +Also, the .pth and .egg-link rewriting doesn't seem to work as intended. This +attempts to overcome these issues and provide a way to easily clone an +existing virtualenv. + +It performs the following: + +- copies `sys.argv[1]` dir to `sys.argv[2]` +- updates the hardcoded `VIRTUAL_ENV` variable in the activate script to the + new repo location. (`--relocatable` doesn't touch this) +- updates the shebangs of the various scripts in bin to the new Python if + they pointed to the old Python. (version numbering is retained.) + + it can also change `/usr/bin/env python` shebangs to be absolute too, + though this functionality is not exposed at present. + +- checks `sys.path` of the cloned virtualenv and if any of the paths are from + the old environment it finds any `.pth` or `.egg` link files within sys.path + located in the new environment and makes sure any absolute paths to the + old environment are updated to the new environment. + +- finally it double checks `sys.path` again and will fail if there are still + paths from the old environment present. + +NOTE: This script requires Python 2.7 or 3.4+ + + + + +%package -n python3-virtualenv-clone +Summary: script to clone virtualenvs. +Provides: python-virtualenv-clone +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-virtualenv-clone +virtualenv cloning script. + +[](https://travis-ci.org/edwardgeorge/virtualenv-clone) + +A script for cloning a non-relocatable virtualenv. + +Virtualenv provides a way to make virtualenv's relocatable which could then be +copied as we wanted. However making a virtualenv relocatable this way breaks +the no-site-packages isolation of the virtualenv as well as other aspects that +come with relative paths and `/usr/bin/env` shebangs that may be undesirable. + +Also, the .pth and .egg-link rewriting doesn't seem to work as intended. This +attempts to overcome these issues and provide a way to easily clone an +existing virtualenv. + +It performs the following: + +- copies `sys.argv[1]` dir to `sys.argv[2]` +- updates the hardcoded `VIRTUAL_ENV` variable in the activate script to the + new repo location. (`--relocatable` doesn't touch this) +- updates the shebangs of the various scripts in bin to the new Python if + they pointed to the old Python. (version numbering is retained.) + + it can also change `/usr/bin/env python` shebangs to be absolute too, + though this functionality is not exposed at present. + +- checks `sys.path` of the cloned virtualenv and if any of the paths are from + the old environment it finds any `.pth` or `.egg` link files within sys.path + located in the new environment and makes sure any absolute paths to the + old environment are updated to the new environment. + +- finally it double checks `sys.path` again and will fail if there are still + paths from the old environment present. + +NOTE: This script requires Python 2.7 or 3.4+ + + + + +%package help +Summary: Development documents and examples for virtualenv-clone +Provides: python3-virtualenv-clone-doc +%description help +virtualenv cloning script. + +[](https://travis-ci.org/edwardgeorge/virtualenv-clone) + +A script for cloning a non-relocatable virtualenv. + +Virtualenv provides a way to make virtualenv's relocatable which could then be +copied as we wanted. However making a virtualenv relocatable this way breaks +the no-site-packages isolation of the virtualenv as well as other aspects that +come with relative paths and `/usr/bin/env` shebangs that may be undesirable. + +Also, the .pth and .egg-link rewriting doesn't seem to work as intended. This +attempts to overcome these issues and provide a way to easily clone an +existing virtualenv. + +It performs the following: + +- copies `sys.argv[1]` dir to `sys.argv[2]` +- updates the hardcoded `VIRTUAL_ENV` variable in the activate script to the + new repo location. (`--relocatable` doesn't touch this) +- updates the shebangs of the various scripts in bin to the new Python if + they pointed to the old Python. (version numbering is retained.) + + it can also change `/usr/bin/env python` shebangs to be absolute too, + though this functionality is not exposed at present. + +- checks `sys.path` of the cloned virtualenv and if any of the paths are from + the old environment it finds any `.pth` or `.egg` link files within sys.path + located in the new environment and makes sure any absolute paths to the + old environment are updated to the new environment. + +- finally it double checks `sys.path` again and will fail if there are still + paths from the old environment present. + +NOTE: This script requires Python 2.7 or 3.4+ + + + + +%prep +%autosetup -n virtualenv-clone-0.5.7 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-virtualenv-clone -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 0.5.7-1 +- Package Spec generated @@ -0,0 +1 @@ +1c45da38faeae7447acc05a8c183d07d virtualenv-clone-0.5.7.tar.gz |