[pypy-commit] pypy.org extradoc: update download.txt for portable x86 packages, mention certifi for SSL certificates

mattip pypy.commits at gmail.com
Sun Dec 15 02:13:34 EST 2019


Author: Matti Picus <matti.picus at gmail.com>
Branch: extradoc
Changeset: r960:1618d33ae327
Date: 2019-12-15 09:13 +0200
http://bitbucket.org/pypy/pypy.org/changeset/1618d33ae327/

Log:	update download.txt for portable x86 packages, mention certifi for
	SSL certificates

diff --git a/source/download.txt b/source/download.txt
--- a/source/download.txt
+++ b/source/download.txt
@@ -12,16 +12,16 @@
   as stable as the release, but they contain numerous bugfixes and
   performance improvements.
 
-We provide binaries for x86, ARM, PPC and s390x running on different operating systems such as
-Linux, Mac OS X and Windows (`what's new in PyPy 7.2.0?`_):
+We provide binaries for x86, aarch64, ppc64 and s390x running on different operating systems such as
+Linux, Mac OS X and Windows (`what's new in PyPy 7.3.0?`_):
 
-* the Python2.7 compatible release — **PyPy2.7 v7.2.0**
+* the Python2.7 compatible release — **PyPy2.7 v7.3.0**
 
-* the Python3.6 compatible release — **PyPy3.6 v7.2.0**
+* the Python3.6 compatible release — **PyPy3.6 v7.3.0**
 
 * the Python2.7 Software Transactional Memory special release — **PyPy-STM 2.5.1** (Linux x86-64 only)
 
-.. _what's new in PyPy 7.2.0?: http://doc.pypy.org/en/latest/release-v7.2.0.html
+.. _what's new in PyPy 7.3.0?: http://doc.pypy.org/en/latest/release-v7.3.0.html
 
 
 .. class:: download_menu
@@ -50,21 +50,46 @@
 Linux binaries and common distributions
 ---------------------------------------
 
-Linux binaries are dynamically linked, as is usual, and thus might
-not be usable due to the sad story of linux binary compatibility.  This means
-that **Linux binaries are only usable on the distributions written next to
-them** unless you're ready to hack your system by adding symlinks to the
-libraries it tries to open.  There are better solutions:
+Since version 7.3, the linux x86 binaries in the links below ship with versions
+of OpenSSL, SQLite3, libffi, expat, and TCL/TK binary libraries linked in. This
+make the binaries "portable" so that they should run on any current glibc-based
+linux platform. The ideas were adopted from the `portable-pypy`_ package.
 
-* use Squeaky's `portable Linux binaries`_.
+This solution to the portability problem means that the versions of the
+packaged libraries are frozen to the version shipped, so updating your system
+libraries will not affect this installation of PyPy. Also see the note about
+SSL certificates below. If you wish to use your system libraries instead,
+there are other solutions.
 
-* or download PyPy from your release vendor (usually an outdated
+For aarch64, s390x, and ppc64, the binaries target a specific operating system.
+These binaries are dynamically linked, and thus might -not be usable due to the
+sad story of linux binary compatibility.  This means -that **Linux binaries are
+only usable on the distributions written next to -them** unless you're ready to
+hack your system by adding symlinks to the -libraries it tries to open.  There
+are better solutions:
+
+* download PyPy from your release vendor (usually an outdated
   version): `Ubuntu`_ (`PPA`_), `Debian`_, `Homebrew`_, MacPorts,
   `Fedora`_, `Gentoo`_ and `Arch`_ are known to package PyPy, with various
   degrees of being up-to-date.
 
+* `recompile the CFFI-based`_ TCL/TK, OpenSSL, or sqlite3 modules, using system
+  libraries and the scripts in ``pypy/lib_pypy``. This solution will not solve
+  compatibility issues with libffi, since that is baked into PyPy.
+
 * or translate_ your own PyPy.
 
+.. class:: download_menu
+
+    SSL Certificates
+
+    While the linux binaries ship an OpenSSL library, they do not ship a
+    certificate store for SSL certificates. If you wish to use SSL module,
+    you will need a valid certificate store. You can use the `certifi`_ package
+    and set ``SSL_CERT_FILE`` to ``certifi.where()`` or install your platform
+    certificates which should be discovered by the ``_ssl`` module.
+
+
 .. _`Ubuntu`: http://packages.ubuntu.com/search?keywords=pypy&searchon=names
 .. _`PPA`: https://launchpad.net/~pypy/+archive/ppa
 .. _`Debian`: http://packages.debian.org/sid/pypy
@@ -72,18 +97,19 @@
 .. _`Gentoo`: http://packages.gentoo.org/package/dev-python/pypy
 .. _`Homebrew`: https://github.com/Homebrew/homebrew-core/blob/master/Formula/pypy.rb
 .. _`Arch`: https://wiki.archlinux.org/index.php/PyPy
-.. _`portable Linux binaries`: https://github.com/squeaky-pl/portable-pypy#portable-pypy-distribution-for-linux
-
+.. _`portable-pypy`: https://github.com/squeaky-pl/portable-pypy#portable-pypy-distribution-for-linux
+.. _`recompile the CFFI-based`: https://doc.pypy.org/en/latest/build.html#build-cffi-import-libraries-for-the-stdlib
+.. _`certifi`: https://pypi.org/project/certifi/
 
 .. _release:
 
-Python2.7 compatible PyPy 7.2.0
+Python2.7 compatible PyPy 7.3.0
 -------------------------------
 
 .. class:: download_menu
 
-* `Linux x86 binary (32bit, built on Ubuntu 16.04)`__ (see ``[1]`` below)
-* `Linux x86-64 binary (64bit, built on Ubuntu 14.04)`__ (see ``[1]`` below)
+* `Linux x86 binary (32bit, built on CenOS6)`__ 
+* `Linux x86-64 binary (64bit, built on CentOS6)`__ 
 * `Mac OS X binary (64bit)`__
 * FreeBSD x86 and x86_64: see FreshPorts_
 * `Windows binary (32bit)`__ (you might need the VC runtime library
@@ -97,29 +123,29 @@
   mirror_, but please use only if you have troubles accessing the links above
 
 
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-linux32.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-linux64.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-osx64.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-win32.zip
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-aarch64.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-ppc64.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-ppc64le.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-s390x.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-src.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-src.zip
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-linux32.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-linux64.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-osx64.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-win32.zip
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-aarch64.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-ppc64.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-ppc64le.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-s390x.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-src.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-src.zip
 .. _`vcredist.x86.exe`: https://www.microsoft.com/en-us/download/details.aspx?id=52685
 .. __: https://bitbucket.org/pypy/pypy/downloads
 .. _mirror: http://buildbot.pypy.org/mirror/
 .. _FreshPorts: http://www.freshports.org/lang/pypy
 
 
-Python 3.6 compatible PyPy3.6 v7.2.0
+Python 3.6 compatible PyPy3.6 v7.3.0
 ------------------------------------
 
 .. class:: download_menu
 
-* `Linux x86-64 binary (64bit, built on Ubuntu 16.04)`__ (see ``[1]`` below)
-* `Linux x86 binary (32bit, built on Ubuntu 14.04)`__ (see ``[1]`` below)
+* `Linux x86-64 binary (64bit, built on CentOS6)`__ 
+* `Linux x86 binary (32bit, built on CentOS6)`__ 
 * `Mac OS X binary (64bit)`__ (High Sierra >= 10.13, not for Sierra and below)
 * `Windows binary (32bit)`__ (you might need the VC runtime library
   installer `vcredist.x86.exe`_.)
@@ -131,16 +157,16 @@
 * `All our downloads,`__ including previous versions.  We also have a
   mirror_, but please use only if you have troubles accessing the links above
 
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-linux64.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-linux32.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-osx64.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-win32.zip
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-aarch64.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-ppc64.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-ppc64le.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-s390x.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-src.tar.bz2
-.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-src.zip
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-linux64.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-linux32.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-osx64.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-win32.zip
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-aarch64.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-ppc64.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-ppc64le.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-s390x.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-src.tar.bz2
+.. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-src.zip
 .. __: https://bitbucket.org/pypy/pypy/downloads
 
 
@@ -153,8 +179,7 @@
 ``[1]:`` stating it again: the Linux binaries are provided for the
 distributions listed here.  **If your distribution is not exactly this
 one, it won't work,** you will probably see: ``pypy: error while loading shared
-libraries: ...``.  Unless you want to hack a lot, try out the
-`portable Linux binaries`_.
+libraries: ...``.
 
 PyPy-STM 2.5.1
 ------------------------------
@@ -250,11 +275,11 @@
    Alternatively, get one of the following smaller packages for the source at
    the same revision as the above binaries:
 
-   * `pypy2.7-v7.2.0-src.tar.bz2`__ (sources, PyPy 2 only)
-   * `pypy3.6-v7.2.0-src.tar.bz2`__ (sources, PyPy 3 only)
+   * `pypy2.7-v7.3.0-src.tar.bz2`__ (sources, PyPy 2 only)
+   * `pypy3.6-v7.3.0-src.tar.bz2`__ (sources, PyPy 3 only)
 
-   .. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.2.0-src.tar.bz2
-   .. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.2.0-src.tar.bz2
+   .. __: https://bitbucket.org/pypy/pypy/downloads/pypy2.7-v7.3.0-src.tar.bz2
+   .. __: https://bitbucket.org/pypy/pypy/downloads/pypy3.6-v7.3.0-src.tar.bz2
 
 
 2. Make sure you **installed the dependencies.**  See the list here__.
@@ -317,14 +342,6 @@
   .../pypy/tool/build_cffi_imports.py`` if you want to be able to import
   the cffi-based modules.
 
-* On Linux, translating with ``asmgcroot``, is delicate.  
-  It requires using gcc with no particularly
-  fancy options.  It does not work e.g. with clang, or if you pass uncommon
-  options with the ``CFLAGS`` environment variable.  If you insist on
-  passing these options or using clang, then you can compile PyPy with
-  the default `shadow stack`_ option instead (for a small performance price in
-  non-JITted code).
-
 * Like other JITs, PyPy doesn't work out of the box on some Linux
   distributions that trade full POSIX compliance for extra security
   features.  E.g. with PAX, you have to run PyPy with ``paxctl -cm``.


More information about the pypy-commit mailing list