Commit Graph

120 Commits

Author SHA1 Message Date
Alexandru Ardelean 1f317dfb75 python3: add 'ensurepip' to python3-pip sub-package
Fixes:
  https://github.com/openwrt/packages/issues/12707

Seems to work.
Looking into the 'venv' lib, it seems it's installing pip & setuptools
inside a virtual environment.

`python3-pip` is already ~6 MB.
This adds another ~3 MB.

But, this gives users the ability to run Python virtual environments, which
is a pretty common feature of Python in production cases (usually web
stuff).

Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
2023-01-25 14:03:33 +02:00
Nick Hainke 4ecd9d67e9 python3: fix ssl support by removing libressl patches
Remove libressl specific patches. With commit
("tools/libressl: update to 3.7.0") they are no longer needed,
rather they cause python3 to be compiled without working ssl-support.

Fixes: #20107
Suggested-by: Andre Heider <a.heider@gmail.com>
Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-12-21 14:27:06 +01:00
Michal Vasilek e9ddc479f9
python3: update to 3.10.7
* fixes CVE-2021-28861
* adjust pip and setuptools versions
* refresh patches

Signed-off-by: Michal Vasilek <michal.vasilek@nic.cz>
2022-10-10 16:59:12 +02:00
Rosen Penev d09844e395 python3: use tools/expat for host build
Oversight from when the expat host build was removed.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-09-28 00:58:17 -07:00
Andre Heider bd6e205421 python3: update patches for libressl v3.5
Based upon patches from OpenBSD[0] and Gentoo[1].

Switched to the LibreSSL provided LIBRESSL_VERSION_NUMBER macro, which
makes OPENWRT_HOST_BUILD redundant.

[0] https://github.com/openbsd/ports/tree/master/lang/python/3.10/patches
[1] https://github.com/gentoo/libressl/tree/master/dev-lang/python/files

Signed-off-by: Andre Heider <a.heider@gmail.com>
2022-07-23 12:28:55 -07:00
Jeffery To 57e2b656cb
python3: Update to 3.10.5, refresh patches
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2022-06-13 18:21:20 +08:00
Jeffery To d0efe27a8c python3: Update to 3.10.4
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2022-03-28 00:57:45 -07:00
Jeffery To bed8dc2132
python3: Update to 3.10.3, refresh patches
Includes fixes for:
* Windows builds updated to bzip2 1.0.8 to mitigate CVE-2016-3189 and
  CVE-2019-12900
* CVE-2022-26488: Escalation of privilege via Windows Installer

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2022-03-21 16:43:35 +08:00
Jeffery To 5b2c8bccf3
python3: Update to 3.10.2, refresh patches
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2022-01-17 04:32:42 +08:00
Jeffery To d63664a5e7
python3: Update to 3.10.1, refresh/remove patches
Removed patches:
* 027-bpo-43158-Use-configure-values-for-building-_uuid-ex.patch
  Already merged.
* 029-disable-deprecation-warning.patch
  Packages should be patched/fixed to remove the use of distutils
  instead of disabling this warning.

Also:
* Updates PKG_LICENSE to use the correct SPDX license identifier
* Fixes build for mipsel_24kc_24kf

Fixes https://github.com/openwrt/packages/issues/17217.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2022-01-05 16:10:01 +08:00
Alexandru Ardelean 48ce6e48b6 python-packages: remove myself as maintainer
There's been a bit of overlapping opinions on some of these packages.
The best thing to do here is to reduce ownership and relinquish my
control.

This patch does that.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-11-23 13:14:43 +02:00
Alexandru Ardelean 4e05541782 python3: bump to version 3.10.0
Manually re-applied:
  008-distutils-use-python-sysroot.patch
  016-adjust-config-paths.patch

Drop patch: 003-do-not-run-distutils-tests.patch
There is now a configure option '--disable-test-modules'
And seems we left the '_ctypes_test' around for quite some time.
Dropped now.
Refs:
  https://bugs.python.org/issue27640
  https://bugs.python.org/issue43282

Drop patch: 013-getbuildinfo-date-time-source-date-epoch.patch
Python build honors SOURCE_DATE_EPOCH pretty well now.

Drop setuptools patches. Setuptools should be reproducible with Python 3.6+
according to a mention here:
  https://github.com/pypa/setuptools/pull/1690#issuecomment-536517456
It's time to let upstream fix Setuptools reproduce-ability.

Drop patch: 010-do-not-add-rt-lib-dirs-when-cross-compiling.patch
I can't seem to fully remember why it's there.
And it seem to build fine without it.

Drop patch: 015-abort-on-failed-modules.patch
Python build supports a similar PYTHONSTRICTEXTENSIONBUILD=1 env-var
option.

Add patch: 026-openssl-feature-flags.patch
We need to keep this in our tree for a while.
See:
  https://bugs.python.org/issue45627

Backport patch: 027-bpo-43158-Use-configure-values-for-building-_uuid-ex.patch
Link: https://github.com/python/cpython/pull/29353
Fixes the build for uuid C module.

Add patch: 028-host-python-support-ssl-with-libressl.patch
We need the _ssl module working on the host-side with LibreSSL for pip to
work to download from https://pypi.org
Refs: https://github.com/openwrt/openwrt/pull/4749

Add patch: 029-disable-deprecation-warning.patch
Fixes apparmor build. The warning causes a configure error.

Refreshed the rest of patches.

Some old build-flags were removed. They don't seem to be necessary anymore.

Split python3-uuid from python3-light. To better manage the libuuid library
(if needed). Also, fixing the uuid C module build. Seems this was failing,
and was falling back to using hashlib.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-11-19 13:30:14 +02:00
Rosen Penev 5bf74f2ad4 expat: don't build host libs
tools/expat is actually what's used by the various packages that
supposedly depend on expat/host.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-10-19 13:16:18 -07:00
Alexandru Ardelean a1d32499ca python3: enable bluetooth support by default
Bluetooth support requires bluez-libs present, but they are only required
for the build, and don't seem to be needed to be present on the target.

There isn't any linking required to libbluetooth. It's only the bluetooth.h
header that is required for building BT support into Python.

For testing, this snippet was used from `Lib/test/test_socket.py` (inside
cpython):
```
def _have_socket_bluetooth():
    """Check whether AF_BLUETOOTH sockets are supported on this host."""
    try:
        # RFCOMM is supported by all platforms with bluetooth support. Windows
        # does not support omitting the protocol.
        s = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
    except (AttributeError, OSError):
        return False
    else:
        s.close()
    return True
```

Fixes: https://github.com/openwrt/packages/issues/16544

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-09-27 11:01:07 -07:00
Alexandru Ardelean 26988f905f python3: bump version to 3.9.7
Refreshed patches.
And apply hack for line-endings in pep517 (from pip).

Hack comment:
  # FIXME: [1] get rid of this asap; 'patch' doesn't like Windows endings, and this file is full of them...
  #        I actually tried this in a number of ways and the only way to fix this is to implement
  #        a poor-man's dos2unix using sed.
  #        The issue is with the pip package; it seems that it throws in some Windows line-endings
  #        and 'patch' won't handle them. So, we do a "dos2unix" and then patch.
  #        We can get rid of this once this is solved upstream and in pip:
  #            https://github.com/pypa/pep517/pull/130

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-09-09 14:31:46 -07:00
Alexandru Ardelean 78f6c2c5ad python3: use gdbm for Berkley dbm
Python works with GNU DBM and with Berkley DBM.
Berkley DBM has been under Oracle for some time.

And it's not clear how many Python users actually use DBM.

In the packages feed, we have both libdb47 (which is now under Oracle) and
GNU DBM. The GNU DBM has a compatibility layer for Berkley DBM.
There are newer versions than libdb47, but it's probably not worth having
them yet. The libbd47 tarball is ~40+ MB. Odds are newer versions will be
bigger and more bloated.

This change merges the old `python3-gdbm` package into the `python3-dbm`
package, since they are effectively using the same underlying library now,
i.e. gdbm.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-07-13 11:22:51 +03:00
Alexandru Ardelean d27d23167b python3: do a simple ls on pip & setuptools if not selected for build
I seem to forget to check/select setuptools and pip (that come bundled with
Python).
This change will do a simple 'ls' on the 2 wheel files, so that the build
fails even if just building Python.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-07-06 16:20:18 +02:00
Alexandru Ardelean 8b3297e507 python3: update to version 3.9.6
Refreshed patches.
Bumped pip to 21.1.3.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-07-06 16:20:18 +02:00
Alexandru Ardelean 49faf5d7ca python3: add python3-readline subpackage
Python3 comes with a built-in readline module. It wasn't included up until
now; mostly because it wasn't considered.

This change introduces it as a sub-package of the main Python3 package.
readline support is included in Python.

libreadline pulls libncursesw as a package, so python3-ncurses was
updated to pull libncursesw as well.
It should be the same package; mostly done for consistency.

Resolves the issue reported here:
  https://forum.openwrt.org/t/python3-repl-missing-readline/90039

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-05-19 14:17:00 +03:00
Alexandru Ardelean e312275dd9 python3: bump version to 3.9.5
Refreshed Python patches.
Updated pip & setuptools version.

For pip, patch '001-pep517-pyc-fix.patch' was reworked.

Also, the current version of the bundled pip (21.1.1) no longer supports
Python2, so the 'py2.py3' suffix gets replaced with just py3.

For setuptools, there is no longer a script/module:
  https://github.com/pypa/setuptools/pull/2544

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-05-11 11:50:35 +03:00
Alexandru Ardelean 27aee1fbf0 python3: introduce libpython3 with ABI_VERSION flag
Related to discussion:
  https://github.com/openwrt/packages/pull/14060

Every once in a while a version bump will occur that requires an ABI
change. Example: Python 3.8 to 3.9. When this happens some Python packages
would need to be rebuilt. In setups where everything gets rebuilt, this
isn't a problem.

It's usually a bigger problem when needing to upgrade something via
opkg.
To accommodate for this, we add a libpython with it's own ABI_VERSION
flag. If this ABI_VERSION changes, then this should propagate forward.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-04-28 14:25:01 +03:00
Alexandru Ardelean 156e2e354e python3: bump to version 3.9.4
For some reason Python3 jumped from 3.9.2 to 3.9.4 in about a week.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2021-04-05 19:32:00 +03:00
Jeffery To 6d9005d5ac
python3: Update to 3.9.2, refresh patches
Includes fixes for:
* CVE-2021-3177 - ctypes: Buffer overflow in PyCArg_repr
* CVE-2021-23336 - urllib parse_qsl(): Web cache poisoning - semicolon
  as a query args separator

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2021-02-22 21:58:56 +08:00
Jeffery To 18330902a0
python3: Fix target python-config when building on macOS
The Python version of python-config is installed when building on macOS,
rather than the shell script version when building on Linux. When run on
macOS, the Python version of python-config will return values with
Mac-specific customizations.

This patches the python-config install recipe so that which version is
installed can be controlled by the package makefile. When building on
macOS, this installs the Python version for host Python and the shell
script version for target Python.

This also updates Host/Compile and Host/Install to use the default host
build recipes, so that the various HOST_* variables are taken into
account automatically.

Fixes https://github.com/openwrt/packages/issues/14652

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2021-02-17 00:01:41 +08:00
Alexandru Ardelean 571dd8e40a python3: bump to version 3.9.1
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2020-12-14 08:32:23 +02:00
Rosen Penev fadf7190ea python3: fix compilation
Because of e52d0487e88c3c8c57e1310d1a02b18eae0d142e , these flags no
longer get passed. Add them back to fix compilation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-11-29 13:58:13 +02:00
Alexandru Ardelean cc332fddaa python3: bump to version 3.9.0
Refreshed patches.

Dropped 'patches-setuptools/004-site-patch.patch'
Does not apply anymore. Setuptools has removed site.py support:
   https://github.com/pypa/setuptools/issues/2165
If this is still needed, we may need to re-think it's implementation.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2020-10-19 11:01:12 +03:00
Rosen Penev b40c40151c
python3: fix host compilation with clang
Matched rpath parameter with Makefile.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-08-02 00:49:30 -07:00
Jeffery To 7d6fcf20e7
python3: Update to 3.8.5
This version includes fixes for:
* CVE-2020-15801 - Fixes python3x._pth being ignored on Windows
* CVE-2019-20907 - Avoid infinite loop when reading specially crafted
  TAR files using the tarfile module

This also:
* Remove patches that are included in the update
* Add a dependency in python3-distutils for python3-email[1]

[1]: https://github.com/python/cpython/blob/v3.8.5/Lib/distutils/dist.py#L10

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-27 04:33:28 +08:00
Jeffery To 1a3cef77d4
python3: Update to 3.8.4, refresh/rework patches, backport patches
This version includes fixes for:
* CVE-2020-14422: Hash collisions in IPv4Interface and IPv6Interface
* CVE-2020-15523: Python uses invalid DLL path after calling Py_SetPath
  on Windows

This version also includes support for OpenSSL 1.1.x builds that use
'no-deprecated' and '--api=1.1.0'[1], and so this removes the previous
OpenSSL-related patches.

This also backports fixes for security issues, including:
* CVE-2019-20907: Infinite loop in the tarfile module

This also updates the setuptools and pip packages to 47.1.0 and 20.1.1,
respectively.

[1]: https://github.com/python/cpython/pull/20566

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-20 17:30:14 +08:00
Jeffery To 0973d21787
python3: Use default _PYTHON_HOST_PLATFORM
This lets the Python build process set _PYTHON_HOST_PLATFORM instead of
forcing an explicit value.

Also:

* Save the target _PYTHON_HOST_PLATFORM value during Build/InstallDev
  for use when building target Python packages (in python3-package.mk).

* Use the (mostly) default PYTHON_FOR_BUILD value, instead patch
  configure to remove the platform triplet from the sysconfigdata file
  name.

* Remove the "CROSS_COMPILE=yes" make variable (there is no indication
  that this variable is necessary).

* Force host pip to build packages from source instead of downloading
  binary wheels.

  Previously, host pip can download universal (platform-independent)
  wheels but not platform-specific wheels, because of the custom
  _PYTHON_HOST_PLATFORM value. (Packages that do not have universal
  wheels would be compiled from source.)

  With a correct _PYTHON_HOST_PLATFORM, host pip can install
  platform-specific wheels as well. However, the pre-built shared object
  (.so) files in these wheels will have the host's platform triplet in
  their file names. When target Python packages are built (using the
  target's _PYTHON_HOST_PLATFORM), Python will not use these shared
  object files.

  By forcing host pip to build packages from source, the built shared
  object files will not have the platform triplet in their file names.
  (Host Python has been patched to remove the platform triplet from file
  names.) This allows these packages to be used when building target
  Python packages.

  (The net effect of this complete change is that platform-dependent
  packages will continue to be compiled from source, while
  platform-independent packages will now also be compiled from source.)

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-07-08 17:11:42 +08:00
Jeffery To 3c36696a56 python-packages: Add usr/bin symlinks without "3" suffix
Previously, binaries installed by Python packages will have a
non-suffixed Python 2 version and a suffixed Python 3 version, e.g. pip
and pip3. With the removal of Python 2, the non-suffixed names are no
longer taken.

This adds symlinks for the non-suffixed names linking to the suffixed
scripts (or in the case of pip, easy_install, and python-config, to the
fully-versioned scripts).

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-22 03:57:55 +08:00
Jeffery To 0254a4bea9 python3: Update to 3.8.3, refresh patches
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-20 17:40:38 +08:00
Jeffery To d2b0cc523d python3-openssl: Add dependency on ca-certs
The ssl module assumes OpenSSL can load the default trust anchors (root
CA certificates).

From https://github.com/openwrt/packages/issues/12209

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-20 04:30:45 +08:00
Jeffery To be9a554a26 python3: Enable compile-time optimizations
This adds the --enable-optimizations configure option (for
profile-guided optimization) for both host and target Python, and the
--with-lto configure option (for link-time optimization) for target
Python (for non-MIPS platforms).

Currently, compiling Python with LTO leads to link errors on mips and
mipsel. (Compiling with LTO appears to succeed on mips64 but there is
only one mips64 target available for convenient testing.)

This also cleans up the host and target configure options:

* Sort options/variables
  - Alphabetically
  - Flags/options before child-process environment variables
  - Group options by type (enable/disable/with/without)
  - Static options/variables before conditional ones

* Remove the prefix/dir options, as they are the same as the defaults
  set by the build system

* Remove --with-threads, as it is no longer a valid option (threads are
  always enabled)

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-05-18 15:01:17 +08:00
Jeffery To 9f81ab895e python3: Fix host build tool names recorded in target files
Python will record the values of CC, CXX, AR, and READELF (and other
configure options) used during compilation. pip will use these programs
when asked to compile extension modules on the target device.

* If ccache is used during build, CC and CXX will be ccache_cc and
  ccache_cxx, respectively, which are not available on-device (#11912).

* If an external toolchain is used during build, the values of these
  variables will contain the external toolchain prefix, which may not be
  available on target.

* If the normal toolchain is used during build, AR and READELF will
  contain the toolchain prefix, but the names of ar and readelf
  on-device do not contain the prefix; they are named "ar" and
  "readelf".

This changes the values of these variables in Python's files to match
the names available on-device, and without any toolchain prefix.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-27 14:10:53 +08:00
Jeffery To 89ae10ed71 python3: Change PYTHON_VERSION references to PYTHON3_VERSION
PYTHON_VERSION is a holdover from Python 2; all Python 3 variables are
prefixed with PYTHON3 (or some variation with "3").

This updates all uses of PYTHON_VERSION to PYTHON3_VERSION.

This also sets PYTHON3_PKG_BUILD:=0 before python3-package.mk is
included in the python3 Makefile.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-04-19 01:56:23 +08:00
Alexandru Ardelean eeda0f939b python3: symlink 'python' to '/usr/bin/python3'
Time to make it more official.
Running 'python' should get you an interpreter running, and that one is now
Python3.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2020-04-08 14:40:26 +03:00
Jeffery To 7513448d20 python3: Update to 3.8.2, fix python3-xml dependency
xml.sax.saxutils has a dependency on urllib[1].

[1]: https://github.com/python/cpython/blob/v3.8.2/Lib/xml/sax/saxutils.py#L6

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2020-03-20 16:30:22 +08:00
Rosen Penev d869dc8010
python3: Fix compilation without deprecated APIs
This is based on upstream work here:

https://github.com/python/cpython/pull/3934
and
https://github.com/python/cpython/pull/39430

First patch was kept as is (just rebased) while the second was combined
into one.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-01-14 14:43:58 -08:00
Josef Schlehofer d2c997f39e
python3: Updated to version 3.8.1
Removed upstream patch: 002-fix-blake2-detection.patch

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2019-12-21 20:04:30 +01:00
Josef Schlehofer ffeb852e61
python3: bump PKG_RELEASE
Fixes: 85eee2d7f8 (python3: fix build when
Blake2 not enabled in OpenSSL")

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2019-11-21 15:19:15 +01:00
Alexandru Ardelean 0c8b0b0bf7 python3: fix build on Ubuntu/Debian multi-arch
This issue was introduced after upgrading to 3.8.
Patch `006-remove-multi-arch-and-local-paths.patch` was dropped. It was
tested on x86, but when using the x86_64 compiler in OpenWrt, the issue is
present.

The issue seems to be about Ubuntu/Debian's multi-arch support in
Python/Python3 setup [which I forgot about]. The code runs it regardless of
whether it cross-compiles or not, and for OpenWrt, this causes issues, as
it introduces absolute include paths from the host system.

Fixes https://github.com/openwrt/packages/issues/10452

Fixes: 48277ec915 ("python3: bump to version 3.8")
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2019-11-04 14:10:36 +02:00
Alexandru Ardelean 48277ec915 python3: bump to version 3.8
This required a bit work to get working, compared to other versions. So,
some things have changed a bit more significantly.

Some highlights:
* there is no longer a pgen executable, seems this is now part of
  libpython; let's see what this means for us in the future
* blake2 hash (from OpenSSL) detection needs some fixing; will upstream
  added patch 002-fix-blake2-detection.patch
* removed all bpo patches; those should be fixed in upstream
* some needed to be manually re-applied as stuff changed:
  - 001-enable-zlib.patch  - file changed
  - 004-do-not-write-bytes-codes.patch  - file changed
  - 015-abort-on-failed-modules.patch - variable was renamed
    cross_compiling -> CROSS_COMPILING
* 017_lib2to3_fix_pyc_search.patch - the code changed, it does not seem to
     have the original problem with respect to file-extension, as there
     does not seem to be any special extension logic anymore there
* 006-remove-multi-arch-and-local-paths.patch - dropped patch; I can't
     remember the full-details of this issue; it was something with
     Debian/Ubuntu's multi-arch stuff; it was probably added maybe due to
     some overzealous (on my part) thingy caused by some weird reports,
     that I could never solve; let's have this patch dropped and see
* make package/python3/refresh to reduce fuzz for the rest

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2019-10-21 15:24:51 +03:00
Jeffery To a3be5cfa92 python,python3: Fix CVE-2019-16056, CVE-2019-16935
These patches address issues:
CVE-2019-16056: email.utils.parseaddr mistakenly parse an email
CVE-2019-16935: A reflected XSS in python/Lib/DocXMLRPCServer.py (for
Python 2.7)

CVE-2019-16935 was fixed for python3 in #10109

Links to Python issues:
https://bugs.python.org/issue34155
https://bugs.python.org/issue38243

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-10-04 23:54:46 +08:00
Josef Schlehofer 80def9e653
python3: backport three security patches
Fixes: CVE-2019-16935

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2019-09-29 23:18:29 +02:00
Alexandru Ardelean ed0e77f3c3 python,python3: split python[3]-pkg-resources from setuptools
This package is required by other packages to run some binaries via
`load_entry_point`.

So, this splits this package away from setuptools.
setuptools is pretty big, akd pkg-resources is also big, but not as big.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2019-09-20 13:42:40 +03:00
Jeffery To 229c23a440 python,python3: Fix host Python compilation for macOS
* Remove $$$$(pkg-config --static --libs libcrypto libssl) from
  HOST_LDFLAGS

  Having this leads to an "unknown type name 'u_int'" error on Mac.
  Removing it doesn't appear to affect Python's ability to find
  buildroot LibreSSL.

* Change -Wl,-rpath=... to -Wl,-rpath,... in HOST_LDFLAGS

  The equals sign version is not supported by the Mac linker (appears to
  be an GNU extension). The comma version is supported; -rpath and its
  argument will be separated by a space when passed to the linker.

* Add ac_cv_header_libintl_h=no to HOST_CONFIGURE_VARS for Mac

  Python on Mac doesn't expect to use libintl, but if gettext-full is
  compiled for host, it will try, leading to undefined symbol errors
  during compilation. This prevents configure from finding libintl.h.

Fixes #7171.
Fixes #9621.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-08-17 04:45:58 +08:00
Jeffery To e14c4e5c0a python,python3: Fix ctypes.util.find_library()
Python's ctypes.util.find_library() function currently doesn't work for
musl libraries/systems[1].

This adds a patch to fix this function, based on a patch from Alpine
Linux[2].

Fixes #9448.

[1]: https://bugs.python.org/issue21622
[2]: https://git.alpinelinux.org/aports/tree/main/python2/musl-find_library.patch

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-07-22 04:42:54 +08:00
Josef Schlehofer ce769db007
python3: Update to version 3.7.4
- Update setuptools to 40.8.0
- Update pip to 19.0.3
- Refreshed patches
- Removed 4 patches (2 of them was included in 3.7.3 and other two are
included in this release)

Makefile python3:
- Move PKG_MAINTAINER above PKG_LICENSE

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2019-07-10 10:11:50 +02:00