Hello community,

here is the log from the commit of package python3 for openSUSE:Factory checked 
in at 2014-06-25 06:58:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3 (Old)
 and      /work/SRC/openSUSE:Factory/.python3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3/python3-base.changes     2014-04-09 
13:01:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3.new/python3-base.changes        
2014-06-25 06:58:16.000000000 +0200
@@ -1,0 +2,12 @@
+Wed May 21 11:01:56 UTC 2014 - [email protected]
+
+- update to 3.4.1
+    * bugfix-only release, over 300 bugs fixed
+- drop upstreamed python-3.4.0rc2-sqlite-3.8.4-tests.patch
+- drop upstreamed CVE-2014-2667-mkdir.patch
+- include Python release manager keyring and signature file
+  for the source archive (thus renumbering of source files)
+  (see https://www.python.org/download/#openpgp-public-keys )
+- move ensurepip to python3, because it transitively requires ssl
+
+-------------------------------------------------------------------
@@ -6 +18 @@
-  (CVE-2014-2667, bnc#869222)
+  (CVE-2014-2667, bnc#871152)
--- /work/SRC/openSUSE:Factory/python3/python3-doc.changes      2014-03-21 
15:47:41.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3.new/python3-doc.changes 2014-06-25 
06:58:16.000000000 +0200
@@ -1,0 +2,10 @@
+Fri May 23 17:38:42 UTC 2014 - [email protected]
+
+- update to 3.4.1
+- drop upstream compiled sources
+- build documentation from source tarball
+  * this brings build-time dependency on Sphinx and LaTeX
+- drop useless README.AIX and duplicate ACKS file
+- drop wrong Obsoletes/Provides pairs
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python3/python3.changes  2014-03-21 
15:47:41.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.python3.new/python3.changes     2014-06-25 
06:58:16.000000000 +0200
@@ -1,0 +2,11 @@
+Fri May 23 17:38:20 UTC 2014 - [email protected]
+
+- update to 3.4.1
+  *  * bugfix-only release, over 300 bugs fixed
+- upgrade pip to Recommends (it seems to be a stronger hint)
+- move ensurepip here, because it requires ssl through pip
+- python-3.4.1-SUSE-ensurepip.patch: make ensurepip require
+  python3-pip from separate package
+- Suggests every subpackage that is part of stdlib
+
+-------------------------------------------------------------------

Old:
----
  CVE-2014-2667-mkdir.patch
  Python-3.4.0.tar.xz
  python-3.4.0-docs-html.tar.bz2
  python-3.4.0-docs-pdf-a4.tar.bz2
  python-3.4.0-docs-pdf-letter.tar.bz2
  python-3.4.0rc2-sqlite-3.8.4-tests.patch

New:
----
  Python-3.4.1.tar.xz
  Python-3.4.1.tar.xz.asc
  python-3.4.1-SUSE-ensurepip.patch
  python.keyring

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

Other differences:
------------------
++++++ python3-base.spec ++++++
--- /var/tmp/diff_new_pack.JbEeiZ/_old  2014-06-25 06:58:18.000000000 +0200
+++ /var/tmp/diff_new_pack.JbEeiZ/_new  2014-06-25 06:58:18.000000000 +0200
@@ -36,7 +36,7 @@
 Summary:        Python3 Interpreter
 License:        Python-2.0
 Group:          Development/Languages/Python
-Version:        3.4.0
+Version:        3.4.1
 Release:        0
 %define         tarversion %{version}
 %define         tarname    Python-%{tarversion}
@@ -46,15 +46,17 @@
 Obsoletes:      python3 < 3.2
 # no Provides, because python3 is obviously provided by package python3
 
-Source0:        http://www.python.org/ftp/python/3.4.0/%{tarname}.tar.xz
-Source1:        baselibs.conf
-Source2:        README.SUSE
-Source3:        python3start
-Source4:        python3.sh
-Source5:        python3.csh
-Source7:        macros.python3.py
-Source8:        import_failed.py
-Source9:        import_failed.map
+Source0:        http://www.python.org/ftp/python/%{version}/%{tarname}.tar.xz
+Source1:        
http://www.python.org/ftp/python/%{version}/%{tarname}.tar.xz.asc
+Source2:        python.keyring
+Source3:        baselibs.conf
+Source4:        README.SUSE
+Source5:        python3start
+Source6:        python3.sh
+Source7:        python3.csh
+Source8:        macros.python3.py
+Source9:        import_failed.py
+Source10:       import_failed.map
 
 Source99:       PACKAGING-NOTES
 # this is documentation for packagers, put here to silence Factory 
source_validator
@@ -81,12 +83,10 @@
 Patch12:        python-3.3.3-skip-distutils-test_sysconfig_module.patch
 # Add support for ppc64le (ELFv2) to libffi copy for ctypes
 Patch13:        libffi-ppc64le.diff
-# Fix tests for sqlite 3.8.4
-Patch14:        python-3.4.0rc2-sqlite-3.8.4-tests.patch
 # Raise timeout value for test_subprocess
 Patch15:        subprocess-raise-timeout.patch
-# CVE-2014-2667 - race condition with umask in os.makedirs
-Patch16:        CVE-2014-2667-mkdir.patch
+# Modify ensurepip module to rely on python3-pip instead of bundled copy
+Patch16:        python-3.4.1-SUSE-ensurepip.patch
 ### COMMON-PATCH-END ###
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -216,7 +216,6 @@
 %patch10 -p1
 %patch12 -p1
 %patch13 -p0
-%patch14 -p1
 %patch15 -p1
 %patch16 -p1
 
@@ -300,10 +299,14 @@
 # done have any such interface breaking teh uuid module.
 EXCLUDE="$EXCLUDE test_uuid"
 
+# Exclude test_tools, test_venv and test_ensurepip which indirectly require ssl
+EXCLUDE="$EXCLUDE test_tools test_venv test_ensurepip"
+
 # Limit virtual memory to avoid spurious failures
 if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then
   ulimit -v 10000000 || :
 fi
+
 make test TESTOPTS="-u none -x $EXCLUDE"
 # use network, be verbose:
 #make test TESTOPTS="-l -u network -v"
@@ -325,7 +328,7 @@
 mkdir -p 
${RPM_BUILD_ROOT}/usr/lib/python%{python_version}/site-packages/__pycache__
 
 # cleanup parts that don't belong
-for dir in curses dbm sqlite3 tkinter xml xmlrpc; do
+for dir in curses dbm ensurepip sqlite3 tkinter xml xmlrpc; do
     find $RPM_BUILD_ROOT%{sitedir}/$dir/* -maxdepth 0 -name "test" -o -exec rm 
-rf {} ";"
 done
 rm $RPM_BUILD_ROOT%{dynlib pyexpat}
@@ -339,7 +342,7 @@
 # documentation
 export PDOCS=${RPM_BUILD_ROOT}%{_docdir}/%{name}
 install -d -m 755 $PDOCS
-install -c -m 644 %{S:2}                            $PDOCS/
+install -c -m 644 %{S:4}                            $PDOCS/
 install -c -m 644 LICENSE                           $PDOCS/
 install -c -m 644 README                            $PDOCS/
 
@@ -366,17 +369,17 @@
 
 # startup scripts
 mkdir -p $RPM_BUILD_ROOT/etc/profile.d
-install -m 644 %{S:3} $RPM_BUILD_ROOT/etc
-install -m 644 %{S:4} %{S:5} $RPM_BUILD_ROOT/etc/profile.d
+install -m 644 %{S:5} $RPM_BUILD_ROOT/etc # python3start
+install -m 644 %{S:6} %{S:7} $RPM_BUILD_ROOT/etc/profile.d # python3.sh, 
python3.csh
 
 # RPM macros
 mkdir -p $RPM_BUILD_ROOT/etc/rpm
-LD_LIBRARY_PATH=. ./python %{S:7} > $RPM_BUILD_ROOT/etc/rpm/macros.python3
+LD_LIBRARY_PATH=. ./python %{S:8} > $RPM_BUILD_ROOT/etc/rpm/macros.python3 # 
macros.python3.py
 
 # import_failed hooks
 FAILDIR=$RPM_BUILD_ROOT/%{sitedir}/_import_failed
 mkdir $FAILDIR
-install -m 644 %{S:8} %{S:9} $FAILDIR
+install -m 644 %{S:9} %{S:10} $FAILDIR # import_failed.*
 LD_LIBRARY_PATH=. ./python -c "from py_compile import compile; 
compile('$FAILDIR/import_failed.py', 
dfile='%{sitedir}/_import_failed/import_failed.py')"
 LD_LIBRARY_PATH=. ./python -O -c "from py_compile import compile; 
compile('$FAILDIR/import_failed.py', 
dfile='%{sitedir}/_import_failed/import_failed.py')"
 (
@@ -390,7 +393,7 @@
             done
             popd
         done
-    done < %{S:9}
+    done < %{S:10}
 )
 echo %{sitedir}/_import_failed > 
$RPM_BUILD_ROOT/%{sitedir}/site-packages/zzzz-import-failed-hooks.pth
 
@@ -537,7 +540,6 @@
 %{sitedir}/distutils
 %{sitedir}/email
 %{sitedir}/encodings
-%{sitedir}/ensurepip
 %{sitedir}/html
 %{sitedir}/http
 %{sitedir}/importlib

++++++ python3-doc.spec ++++++
--- /var/tmp/diff_new_pack.JbEeiZ/_old  2014-06-25 06:58:18.000000000 +0200
+++ /var/tmp/diff_new_pack.JbEeiZ/_new  2014-06-25 06:58:18.000000000 +0200
@@ -20,30 +20,29 @@
 Url:            http://www.python.org/
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  xz
-Summary:        Additional Package Documentation for Python.
+Summary:        Additional Package Documentation for Python
 License:        Python-2.0
 Group:          Development/Languages/Python
-Version:        3.4.0
+Version:        3.4.1
 Release:        0
 BuildArch:      noarch
-# we use "tarversion" for Python tarball, to be in sync with other specs...
 %define         tarversion     %{version}
 %define         tarname        Python-%{tarversion}
-# ...and "docversion" for version of doc tarballs, which can be lower
-%define         docversion     3.4.0
-Source0:        http://www.python.org/ftp/python/3.4.0/%{tarname}.tar.xz
-# docs for current version are regenerated every day
-# this messes with autobuild "file changed" checks
-#Source1:        
http://docs.python.org/3/archives/python-%{version}-docs-html.tar.bz2
-#Source2:        
http://docs.python.org/3/archives/python-%{version}-docs-pdf-a4.tar.bz2
-#Source3:        
http://docs.python.org/3/archives/python-%{version}-docs-pdf-letter.tar.bz2
-Source1:        python-%{docversion}-docs-html.tar.bz2
-Source2:        python-%{docversion}-docs-pdf-a4.tar.bz2
-Source3:        python-%{docversion}-docs-pdf-letter.tar.bz2
-Provides:       pyth_doc
-Provides:       pyth_ps
-Obsoletes:      pyth_doc
-Obsoletes:      pyth_ps
+Source0:        
http://www.python.org/ftp/python/%{tarversion}/%{tarname}.tar.xz
+BuildRequires:  python-Sphinx
+BuildRequires:  texlive-cmap
+BuildRequires:  texlive-collection-fontsrecommended
+BuildRequires:  texlive-fancybox
+BuildRequires:  texlive-fancyvrb
+BuildRequires:  texlive-framed
+BuildRequires:  texlive-mdwtools
+BuildRequires:  texlive-multirow
+BuildRequires:  texlive-parskip
+BuildRequires:  texlive-scheme-basic
+BuildRequires:  texlive-threeparttable
+BuildRequires:  texlive-titlesec
+BuildRequires:  texlive-ucs
+BuildRequires:  texlive-wrapfig
 
 # for consistency:
 ### COMMON-PATCH-BEGIN ###
@@ -68,12 +67,10 @@
 Patch12:        python-3.3.3-skip-distutils-test_sysconfig_module.patch
 # Add support for ppc64le (ELFv2) to libffi copy for ctypes
 Patch13:        libffi-ppc64le.diff
-# Fix tests for sqlite 3.8.4
-Patch14:        python-3.4.0rc2-sqlite-3.8.4-tests.patch
 # Raise timeout value for test_subprocess
 Patch15:        subprocess-raise-timeout.patch
-# CVE-2014-2667 - race condition with umask in os.makedirs
-Patch16:        CVE-2014-2667-mkdir.patch
+# Modify ensurepip module to rely on python3-pip instead of bundled copy
+Patch16:        python-3.4.1-SUSE-ensurepip.patch
 ### COMMON-PATCH-END ###
 ### COMMON-DEF-BEGIN ###
 
@@ -109,8 +106,6 @@
 
 
 %package pdf
-Provides:       pyth_pdf
-Obsoletes:      pyth_pdf
 Summary:        Python PDF Documentation
 Group:          Development/Languages/Python
 
@@ -142,7 +137,6 @@
 %patch10 -p1
 %patch12 -p1
 %patch13 -p0
-%patch14 -p1
 %patch15 -p1
 %patch16 -p1
 
@@ -160,19 +154,34 @@
 ### COMMON-PREP-END ###
 
 %build
-# nothing to do (...whistles innocently)
+TODAY_DATE=`date -r %{S:0} "+%B %d, %Y"`
+# TODO use not date of tarball but date of latest patch
+
+cd Doc
+sed -i "s/^today = .*/today = '$TODAY_DATE'/" conf.py
+make html
+make latex PAPER=a4
+( cd build/latex; make all-pdf )
+mv build/latex build/paper-a4
+make latex PAPER=letter
+( cd build/latex; make all-pdf )
+mv build/latex build/paper-letter
 
 %install
 export PDOCS=${RPM_BUILD_ROOT}%{_docdir}/python3
+mkdir -p $PDOCS
+# generated docs
+pushd Doc
+rm build/html/.buildinfo
+cp -r build/html $PDOCS
+install -d -m 755 $PDOCS/paper-a4
+cp build/paper-a4/*.pdf $PDOCS/paper-a4
+install -d -m 755 $PDOCS/paper-letter
+cp build/paper-letter/*.pdf $PDOCS/paper-letter
+popd
+# misc
 install -d -m 755 $PDOCS/Misc
-install -d -m 755 $PDOCS/paper-a4 $PDOCS/paper-letter $PDOCS/html
-tar xfj %{S:1} -C $PDOCS/html
-( cd $PDOCS/html; mv python-%{docversion}-docs-html/* . ; rm -rf 
python-%{docversion}-docs-html) 
-tar xfj %{S:2} -C $PDOCS/paper-a4
-( cd $PDOCS/paper-a4; mv docs-pdf/* . ; rm -rf docs-pdf) 
-tar xfj %{S:3} -C $PDOCS/paper-letter
-( cd $PDOCS/paper-letter; mv docs-pdf/* . ; rm -rf docs-pdf) 
-install -c -m 644 Misc/ACKS                             $PDOCS/ACKS.txt
+rm Misc/README.AIX
 for i in Misc/* ; do
   [ -f $i ] && install -c -m 644 $i                 $PDOCS/Misc/
 done
@@ -185,7 +194,6 @@
 %dir %{_docdir}/python3
 %doc %{_docdir}/python3/Misc
 %doc %{_docdir}/python3/html
-%doc %{_docdir}/python3/ACKS.txt
 
 %files pdf
 %defattr(644, root, root, 755)

++++++ python3.spec ++++++
--- /var/tmp/diff_new_pack.JbEeiZ/_old  2014-06-25 06:58:18.000000000 +0200
+++ /var/tmp/diff_new_pack.JbEeiZ/_new  2014-06-25 06:58:18.000000000 +0200
@@ -34,21 +34,26 @@
 BuildRequires:  readline-devel
 BuildRequires:  sqlite-devel
 BuildRequires:  tk-devel
+BuildRequires:  unzip
 BuildRequires:  xorg-x11-devel
 BuildRequires:  xz
 Url:            http://www.python.org/
 Summary:        Python3 Interpreter
 License:        Python-2.0
 Group:          Development/Languages/Python
-Version:        3.4.0
+Version:        3.4.1
 Release:        0
 %define         tarversion %{version}
 %define         tarname        Python-%{tarversion}
 
 Requires:       python3-base = %{version}
-Suggests:       python3-pip
+Recommends:     python3-pip
+Suggests:       python3-curses
+Suggests:       python3-dbm
+Suggests:       python3-idlelib
+Suggests:       python3-tk
 
-Source0:        http://www.python.org/ftp/python/3.4.0/%{tarname}.tar.xz
+Source0:        http://www.python.org/ftp/python/%{version}/%{tarname}.tar.xz
 Source1:        baselibs.conf
 #Source11:       testfiles.tar.bz2
 # issues with copyrighted Unicode testing files
@@ -80,12 +85,10 @@
 Patch12:        python-3.3.3-skip-distutils-test_sysconfig_module.patch
 # Add support for ppc64le (ELFv2) to libffi copy for ctypes
 Patch13:        libffi-ppc64le.diff
-# Fix tests for sqlite 3.8.4
-Patch14:        python-3.4.0rc2-sqlite-3.8.4-tests.patch
 # Raise timeout value for test_subprocess
 Patch15:        subprocess-raise-timeout.patch
-# CVE-2014-2667 - race condition with umask in os.makedirs
-Patch16:        CVE-2014-2667-mkdir.patch
+# Modify ensurepip module to rely on python3-pip instead of bundled copy
+Patch16:        python-3.4.1-SUSE-ensurepip.patch
 ### COMMON-PATCH-END ###
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -187,7 +190,6 @@
 %patch10 -p1
 %patch12 -p1
 %patch13 -p0
-%patch14 -p1
 %patch15 -p1
 %patch16 -p1
 
@@ -232,8 +234,18 @@
 if test $(ulimit -v) = unlimited || test $(ulimit -v) -gt 10000000; then
   ulimit -v 10000000 || :
 fi
+
 # only test the parts skipped in python3-base
 TESTS="test_dbm_gnu test_dbm_ndbm test_readline test_ssl test_tcl test_tk 
test_ttk_guionly test_ttk_textonly test_curses test_socketserver test_sqlite 
test_hashlib test_smtpnet"
+
+# prepare ensurepip-based tests
+pushd Lib
+for whl in ../Lib/ensurepip/_bundled/*.whl; do
+    unzip $whl
+done
+popd
+TESTS="$TESTS test_venv test_tools test_ensurepip"
+
 make test TESTOPTS="-u none $TESTS"
 
 %install
@@ -257,7 +269,7 @@
 rm $RPM_BUILD_ROOT%{sitedir}/*.*
 
 for module in \
-    asyncio ctypes collections concurrent distutils email encodings ensurepip \
+    asyncio ctypes collections concurrent distutils email encodings \
     html http \
     importlib json logging multiprocessing plat-* pydoc_data unittest \
     urllib venv wsgiref lib2to3 test idlelib turtledemo
@@ -301,6 +313,7 @@
 %defattr(644, root, root, 755)
 %dir %{sitedir}
 %dir %{sitedir}/lib-dynload
+%{sitedir}/ensurepip
 %{sitedir}/sqlite3
 %exclude %{sitedir}/sqlite3/test
 %{sitedir}/xml

++++++ Python-3.4.0.tar.xz -> Python-3.4.1.tar.xz ++++++
/work/SRC/openSUSE:Factory/python3/Python-3.4.0.tar.xz 
/work/SRC/openSUSE:Factory/.python3.new/Python-3.4.1.tar.xz differ: char 26, 
line 1

++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.JbEeiZ/_old  2014-06-25 06:58:18.000000000 +0200
+++ /var/tmp/diff_new_pack.JbEeiZ/_new  2014-06-25 06:58:18.000000000 +0200
@@ -1,6 +1,28 @@
 Python 3 in SUSE
 ==============
 
+* Subpackages *
+
+Python 3 is split into several subpackages, based on external dependencies.
+The main package 'python3' has soft dependencies on all subpackages needed to
+assemble the standard library; however, these might not all be installed by 
default.
+
+If you attempt to import a module that is currently not installed, an 
ImportError is thrown,
+with instructions to install the missing subpackage. Installing the subpackage 
might result
+in installing libraries that the subpackage requires to function.
+
+
+* ensurepip *
+
+The 'ensurepip' module from Python 3 standard library (PEP 453) is supposed to 
deploy
+a bundled copy of the pip installer. This makes no sense in a managed 
distribution like SUSE.
+Instead, you need to install package 'python3-pip'. Usually this will be 
installed automatically
+with 'python3'.
+
+Using 'ensurepip' when pip is not installed will result in an ImportError with 
instructions
+to install 'python3-pip'.
+
+
 * Documentation *
 
 You can find documentation in seprarate packages: python3-doc and
@@ -13,12 +35,9 @@
 
 The python3-doc package constains many text files from source tarball.
 
-* PYTHONSTARTUP environment variable *
-
-SUSE's Python 3 tries to start a script specified 
 
 * Interactive mode *
 
 Interactive mode is by default enhanced with of history and command completion.
-If you don't like these features, you can unset PYTHON3STARTUP and 
PYTHONSTARTUP
-variables in your .profile or disable it system wide in 
/etc/profile.d/python.sh.
+If you don't like these features, you can unset the PYTHONSTARTUP variable
+in your .profile or disable it system wide in /etc/profile.d/python.sh.

++++++ import_failed.map ++++++
--- /var/tmp/diff_new_pack.JbEeiZ/_old  2014-06-25 06:58:18.000000000 +0200
+++ /var/tmp/diff_new_pack.JbEeiZ/_new  2014-06-25 06:58:18.000000000 +0200
@@ -4,4 +4,4 @@
 python3-tk: tkinter _tkinter
 python3-curses: curses _curses _curses_panel
 python3-dbm: dbm _dbm _gdbm
-python3: sqlite3 xml xmlrpc _hashlib pyexpat readline _sqlite3 _ssl
+python3: ensurepip sqlite3 xml xmlrpc _hashlib pyexpat readline _sqlite3 _ssl

++++++ pre_checkin.sh ++++++
--- /var/tmp/diff_new_pack.JbEeiZ/_old  2014-06-25 06:58:18.000000000 +0200
+++ /var/tmp/diff_new_pack.JbEeiZ/_new  2014-06-25 06:58:18.000000000 +0200
@@ -31,8 +31,8 @@
     tarversion="%{version}"
 fi
 
-# set Version for python3 and python3-base (-doc has separate version)
-sed -i -r 's/(^Version:[ \t]+).*/\1'"$Version"'/' python3{-base,}.spec
+# set Version for every spec
+sed -i -r 's/(^Version:[ \t]+).*/\1'"$Version"'/' python3*.spec
 # set tarversion for every spec
 sed -i -r 's/(^%define[ \t]+tarversion[ \t]+).*/\1'$tarversion'/' python3*.spec
 

++++++ python-3.4.1-SUSE-ensurepip.patch ++++++
Index: Python-3.4.1/Lib/ensurepip/__init__.py
===================================================================
--- Python-3.4.1.orig/Lib/ensurepip/__init__.py 2014-05-19 07:19:38.000000000 
+0200
+++ Python-3.4.1/Lib/ensurepip/__init__.py      2014-06-17 16:29:49.387479400 
+0200
@@ -8,6 +8,11 @@
 __all__ = ["version", "bootstrap"]
 
 
+try:
+    import pip
+except ImportError:
+    raise ImportError("Module 'pip' is missing. Use:\n\n  sudo zypper install 
python3-pip\n\nto install it.\nSee README.SUSE for more information.")
+
 _SETUPTOOLS_VERSION = "2.1"
 
 _PIP_VERSION = "1.5.6"
@@ -45,7 +50,8 @@
     """
     Returns a string specifying the bundled version of pip.
     """
-    return _PIP_VERSION
+    import pkg_resources
+    return pkg_resources.get_distribution("pip").version
 
 def _disable_pip_configuration_settings():
     # We deliberately ignore all pip environment variables
@@ -87,33 +93,18 @@
         # omit pip and easy_install
         os.environ["ENSUREPIP_OPTIONS"] = "install"
 
-    with tempfile.TemporaryDirectory() as tmpdir:
-        # Put our bundled wheels into a temporary directory and construct the
-        # additional paths that need added to sys.path
-        additional_paths = []
-        for project, version in _PROJECTS:
-            wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version)
-            whl = pkgutil.get_data(
-                "ensurepip",
-                "_bundled/{}".format(wheel_name),
-            )
-            with open(os.path.join(tmpdir, wheel_name), "wb") as fp:
-                fp.write(whl)
-
-            additional_paths.append(os.path.join(tmpdir, wheel_name))
-
-        # Construct the arguments to be passed to the pip command
-        args = ["install", "--no-index", "--find-links", tmpdir]
-        if root:
-            args += ["--root", root]
-        if upgrade:
-            args += ["--upgrade"]
-        if user:
-            args += ["--user"]
-        if verbosity:
-            args += ["-" + "v" * verbosity]
+    # Construct the arguments to be passed to the pip command
+    args = ["install", "--no-index", "--find-links", os.path.dirname(__file__) 
+ "/_bundled"]
+    if root:
+        args += ["--root", root]
+    if upgrade:
+        args += ["--upgrade"]
+    if user:
+        args += ["--user"]
+    if verbosity:
+        args += ["-" + "v" * verbosity]
 
-        _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
+    _run_pip(args + [p[0] for p in _PROJECTS])
 
 def _uninstall_helper(*, verbosity=0):
     """Helper to support a clean default uninstall process on Windows
Index: Python-3.4.1/Lib/ensurepip/__main__.py
===================================================================
--- Python-3.4.1.orig/Lib/ensurepip/__main__.py 2014-05-19 07:19:38.000000000 
+0200
+++ Python-3.4.1/Lib/ensurepip/__main__.py      2014-06-17 16:12:30.679513932 
+0200
@@ -1,4 +1,9 @@
-import ensurepip
+import sys
 
 if __name__ == "__main__":
-    ensurepip._main()
+    try:
+        import ensurepip
+        ensurepip._main()
+    except ImportError as e:
+        print("An error occured:\n" + e.message)
+        sys.exit(1)
Index: Python-3.4.1/Lib/test/test_venv.py
===================================================================
--- Python-3.4.1.orig/Lib/test/test_venv.py     2014-05-19 07:19:39.000000000 
+0200
+++ Python-3.4.1/Lib/test/test_venv.py  2014-06-17 17:20:49.577416435 +0200
@@ -395,7 +395,7 @@
 
 
 def test_main():
-    run_unittest(BasicTest, EnsurePipTest)
+    run_unittest(BasicTest)
 
 if __name__ == "__main__":
     test_main()
Index: Python-3.4.1/Lib/test/test_ensurepip.py
===================================================================
--- Python-3.4.1.orig/Lib/test/test_ensurepip.py        2014-05-19 
07:19:38.000000000 +0200
+++ Python-3.4.1/Lib/test/test_ensurepip.py     2014-06-17 18:21:26.557813946 
+0200
@@ -55,12 +55,11 @@
             [
                 "install", "--no-index", "--find-links",
                 unittest.mock.ANY, "setuptools", "pip",
-            ],
-            unittest.mock.ANY,
+            ]
         )
 
-        additional_paths = self.run_pip.call_args[0][1]
-        self.assertEqual(len(additional_paths), 2)
+#        additional_paths = self.run_pip.call_args[0][1]
+#        self.assertEqual(len(additional_paths), 2)
 
     @requires_usable_pip
     def test_bootstrapping_with_root(self):
@@ -71,8 +70,7 @@
                 "install", "--no-index", "--find-links",
                 unittest.mock.ANY, "--root", "/foo/bar/",
                 "setuptools", "pip",
-            ],
-            unittest.mock.ANY,
+            ]
         )
 
     @requires_usable_pip
@@ -83,8 +81,7 @@
             [
                 "install", "--no-index", "--find-links",
                 unittest.mock.ANY, "--user", "setuptools", "pip",
-            ],
-            unittest.mock.ANY,
+            ]
         )
 
     @requires_usable_pip
@@ -95,8 +92,7 @@
             [
                 "install", "--no-index", "--find-links",
                 unittest.mock.ANY, "--upgrade", "setuptools", "pip",
-            ],
-            unittest.mock.ANY,
+            ]
         )
 
     @requires_usable_pip
@@ -107,8 +103,7 @@
             [
                 "install", "--no-index", "--find-links",
                 unittest.mock.ANY, "-v", "setuptools", "pip",
-            ],
-            unittest.mock.ANY,
+            ]
         )
 
     @requires_usable_pip
@@ -119,8 +114,7 @@
             [
                 "install", "--no-index", "--find-links",
                 unittest.mock.ANY, "-vv", "setuptools", "pip",
-            ],
-            unittest.mock.ANY,
+            ]
         )
 
     @requires_usable_pip
@@ -131,8 +125,7 @@
             [
                 "install", "--no-index", "--find-links",
                 unittest.mock.ANY, "-vvv", "setuptools", "pip",
-            ],
-            unittest.mock.ANY,
+            ]
         )
 
     @requires_usable_pip
@@ -313,12 +306,11 @@
             [
                 "install", "--no-index", "--find-links",
                 unittest.mock.ANY, "setuptools", "pip",
-            ],
-            unittest.mock.ANY,
+            ]
         )
 
-        additional_paths = self.run_pip.call_args[0][1]
-        self.assertEqual(len(additional_paths), 2)
+#        additional_paths = self.run_pip.call_args[0][1]
+#        self.assertEqual(len(additional_paths), 2)
 
 class TestUninstallationMainFunction(EnsurepipMixin, unittest.TestCase):
 
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to