aboutsummaryrefslogtreecommitdiff
path: root/lang/python/python3
Commit message (Collapse)AuthorAge
...
* | python,python3: Use ensurepip=upgrade for host PythonJeffery To2019-05-28
|/ | | | | | | This changes --with-ensurepip=install to upgrade, to upgrade host versions of setuptools and pip to the Python-bundled versions. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* python-setuptools: Add reproducibility patches from DebianJeffery To2019-05-24
| | | | | | | | | | | | | | | | | | This adds the ability to patch setuptools (and pip), and adds 3 reproducibility patches from Debian[1]. (003-PKG-INFO-output-reproducible.patch addresses the issue identified in #9039.) The patching is not perfect, in that the patches are applied to setuptools and pip after they have been installed, since they are installed from wheels which are already "precompiled". Also, patching for the host install cannot be updated in place, for example if a patch is added or removed. [1]: https://sources.debian.org/patches/python-setuptools/40.8.0-1/ Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* python-python3-pip: add LICENSE informationEneas U de Queiroz2019-05-21
| | | | | | CVE id was left commented out as it is not handled by uscan. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* python-python3-setuptools: add LICENSE informationEneas U de Queiroz2019-05-21
| | | | | | CVE id was left commented out as it is not handled by uscan. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* python3: refresh LICENSE informationEneas U de Queiroz2019-05-20
| | | | | | | | | | Changed PKG_LICENSE to reflect spdx license tag, and PKG_LICENSE_FILES to include all lincense-related files applicable to the parts of the code we are actually using to build and/or distributing. The Windows-only files, and the python-bundled Tools we're not using have been left out. Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* python,python3: Include python-config for target Python in InstallDevJeffery To2019-03-31
| | | | | | | | | | | | | | | | | | | This installs python{2.7,3.7}-config in $(STAGING_DIR)/usr/bin as part of Build/InstallDev, to be used by other packages to get build configuration for target Python. The treatment for Python 2 and 3 are a bit different: * For Python 2, python-config is a Python script that is expected to be run with, and return data for, the installed Python interpreter. This installs a modified version of this script, to be run using host Python, and read/return data for target Python. * Python 3 includes a shell script version of python-config (expected to be used in cross-compilation scenarios). This simply installs the script into the right place. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* python,python3: Fix CVE-2019-9636 - urlsplit missing NFKC normalizationJeffery To2019-03-31
| | | | | | | | | | These patches address issue: CVE-2019-9636: urlsplit does not handle NFKC normalization Link to Python issue: https://bugs.python.org/issue36216 Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* python,python3: Use only target package data for Build/InstallDevJeffery To2019-03-27
| | | | | | | | | | | | This changes Build/InstallDev for both Python 2 and 3 to only copy files from target Python, not from host Python, since InstallDev files are used for target packages to link to other target packages. In particular, usr/lib/python{2.7,3.7}/_sysconfigdata.py holds system configuration data generated at build time, and is different for target Python and host Python. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* python3: remove OpenSSL deprecated API patchAlexandru Ardelean2019-03-19
| | | | | | | | | | | Fixes: https://github.com/openwrt/packages/issues/8399 These 2 patches cause some breakage for other packages. For now, we drop them and wait for upstream to finalize a fix. We can live with deprecated SSL APIs for a while. No need to hurry, since this doesn't seem to help. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* Merge pull request #8371 from neheb/patch-1Hannu Nyman2019-03-12
|\ | | | | python: Add PKG_CPE_ID for proper CVE tracking
| * python: Add PKG_CPE_ID for proper CVE trackingRosen Penev2019-03-11
| | | | | | | | Signed-off-by: Rosen Penev <rosenp@gmail.com>
* | python3: Fix compilation with deprecated OpenSSL APIsRosen Penev2019-03-11
|/ | | | | | Also refreshed patches. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* Merge pull request #8308 from commodo/python3-pip-fixHannu Nyman2019-03-01
|\ | | | | python3-pip: fix install rule
| * python3-pip: fix install ruleAlexandru Ardelean2019-02-27
| | | | | | | | | | | | | | | | | | | | | | Fixes: https://github.com/openwrt/packages/issues/8301 This seems to have slipped for some time. No idea if it ever worked. It could be that this worked at some point. In any case, the shebang is properly updated now. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* | Merge pull request #8307 from commodo/python3-split-urllibHannu Nyman2019-03-01
|\ \ | | | | | | python3: split python3-urllib from python3-light
| * | python3: split python3-urllib from python3-lightAlexandru Ardelean2019-02-26
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | This is the result of this discussion: https://github.com/openwrt/packages/issues/8285 `urllib.request` requires the `email` module/lib, which was part of python3-light. This change moves the Lib/urllib folder from the python3-light into it's own package, making it lighter. At least this way, users that want `urllib` (on top of `python3-light`) will be forced to install it via opkg and this will make sure `python3-email` gets installed as well. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* / python,python3: add Jeffery To as co-maintainerAlexandru Ardelean2019-02-27
|/ | | | | | | | | | | | | | For a while now, Jeffery has helped quite a lot with Python, and is now unofficial go-to guy [for problems] with Python packages. This change adds him as co-maintainer [if he also agrees]. I'm not going away; I'll be still doing the same work for Python. This change serves to recognize Jeffery in an official way, since he's already taking on these things. And 2 co-maintainers is better in case one kicks the bucket [by accident]. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: do not package binary files to base packagesKarel Kočí2019-02-21
| | | | | | | | | | | | | | Thanks to fix 200a5a2eec896b2d34f1114d14df66d810c1f4bd all base packages now contain all binaries that are generated as part of python installation. That causes collision between those packages with package managers that consider this such as Turris updater-ng. This is also just wrong. Those binaries were not included and should not be after mentioned fix as well. This just adds empty install definition. The idea is to override the default one that is otherwise used. Signed-off-by: Karel Kočí <karel.koci@nic.cz>
* python,python3: fix CVE-2019-5010 - Denial of ServiceAlexandru Ardelean2019-02-12
| | | | | | | | | | This patch addresses issue: [ssl][CVE-2019-5010] TALOS-2018-0758 Denial of Service Link to Python issue: https://bugs.python.org/issue35746 Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: move shebang handle in install scriptAlexandru Ardelean2019-02-12
| | | | | | | | | | | | This extends the Python[3] shebang fixup to all packages. Only Python scripts in `/usr/bin` will be handled at the moment. Later it may make sense to also cover executables in `/bin`, though typically Python executables shouldn't be placed there. Previously the shebang handling was only done for python[3]-pip & python[3]-setuptools. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: make deletion tolerant for paths with spacesAlexandru Ardelean2019-02-12
| | | | | | | | | Piping to xargs does not handle spaces in paths too well, because it splits up the paths. For deleting empty dirs, we also need to do several retries, otherwise `find` will try to go through the directories after they're deleted. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python3: install pkgconfig to stagingDaniel F. Dickinson2019-01-18
| | | | | | | | | | | Some programs that use the Python C API have difficulties finding cross-compiled Python3 without the pkgconfig, so make sure we have python3.pc and python-3.7.pc in pkgconfig staging dir. CircleCI requires a package Makefile change to actually do the CI check, so bump PKG_RELEASE. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
* python3: enable lib2to3 to also search and fix .pyc files.Nj Hsiong2019-01-09
| | | | | | python3's lib2to3 would fail in silence if python3 and its packages are installed as compiled .pyc files. Root cause is, in Lib/lib2to3/refactor.py, the function get_all_fix_names only searches '.py' fix names. Signed-off-by: Nj Hsiong <nj.hsiong@gmail.com>
* python,python3: use setuptools & pip versions from python{3}-version.mkAlexandru Ardelean2019-01-02
| | | | | | | | | | | `setuptools` & `pip` whl files were selected via wildcards, because it was easier in the beginning. Also, initially there weren't any PYTHON{3}_{SETUTPTOOLS/PIP}_VERSION variables. But now since these vars exist, it makes sense to use them, because we can catch easier (at build) time if Python/Python3 bump these versions. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python3: bump to version 3.7.2Alexandru Ardelean2018-12-31
| | | | Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python/python3: fix .dist-info missing for setuptools and pipJeffery To2018-12-22
| | | | | | | Without .dist-info (similar to .egg-info), setuptools and pip are not discoverable by pkg_resources. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* python3: bump to version 3.7.1Alexandru Ardelean2018-11-02
| | | | | | | | | | | | This change bumps Python3 version to 3.7.1. Patch `002-fix-implicit-dh-free-declaration.patch` is now included in upstream. This also fixes CVE-2018-1061. https://www.cvedetails.com/cve/CVE-2018-1061/ Compile & run-tested on x86. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* Python3: Fix host build on OpenSUSEJan Kardell2018-10-08
| | | | | | | | | | | | | The linker option -rpath is required to find libs in staging_dir. Now it is included when building host modules. Without it the import test of the _ctypes and _uuid modules would fail. The _ctypes module uses libffi.so.6 from staging, but OpenSUSE LEAP 15 has libffi.so.7. It will also fail on LEAP 42.x, Fedora28 and 29 and future or old versions of Ubuntu. Fix needed in master and 18.06 branches. Signed-off-by: Jan Kardell <jan.kardell@telliq.com>
* python3: fix build with SSL moduleAlexandru Ardelean2018-09-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No idea how this creeped up. Probably OpenSSL been has updated recently. Will send this patch upstream as well, but in the meantime we should fix the Python3 build. Build error seems to be: ``` <openwrt>/build_dir/target-i386_pentium4_musl/Python-3.7.0/Modules/_ssl.c:4000:5: error: implicit declaration of function 'DH_free'; did you mean 'lh_free'? [-Werror=implicit-function-declaration] DH_free(dh); ^~~~~~~ lh_free cc1: some warnings being treated as errors Python build finished successfully! The necessary bits to build these optional modules were not found: _tkinter _uuid nis To find the necessary bits, look in setup.py in detect_modules() for the module's name. The following modules found by detect_modules() in setup.py, have been built by the Makefile instead, as configured by the Setup files: _abc atexit pwd time zlib Failed to build these modules: _ssl Makefile:618: recipe for target 'sharedmods' failed ``` Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python3: fix libuuid missing dependency for python3-lightKarol Wrona2018-07-13
| | | | Signed-off-by: Karol Wrona <wrona.vy@gmail.com>
* python3: add override for uuid.h header checkMartin Strobel2018-07-11
| | | | Signed-off-by: Martin Strobel <arctus@crza.de>
* python3: update to python 3.7.0Martin Strobel2018-07-11
| | | | | | | | Fixes python3 host SSL build -> host-pip can use https:// urls again. Updates Pip to 10.0.1 rebased patches Signed-off-by: Martin Strobel <arctus@crza.de>
* python3: update to version 3.6.5Alexandru Ardelean2018-05-03
| | | | | | | Add PKG_RELEASE for setuptools and pip. Refresh all patches. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python/python3: remove zlib/host dependencyHauke Mehrtens2018-04-28
| | | | | | | | zlib is now a host tool and the zlib/host package was removed. this dependency is not needed any more as there will always be a zlib host library. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* python,python3: remove `--with-system-ffi=no` config argAlexandru Ardelean2018-03-14
| | | | | | | | | | | | | | | | | | | Report https://github.com/openwrt/packages/issues/5638 It was mentioned that this causes build failures on Mac OS X. The default behavior [in the setup.py script] is to check whether `--with-system-ffi` is present in the CONFIG_ARGS env var. However that back-fires a bit when `--with-system-ffi=no`, because the condition `not '--with-system-ffi' in sysconfig.get_config_var("CONFIG_ARGS")` evaluates to true. This is a small bug in the `setup.py` script, but it looks like the easiest/cleanest way to address it on our end is to just remove it entirely from the HOST_CONFIGURE_ARGS. At least that's how it looks like when testing on a Linux machine. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: limit underlinking behavior to linux platformsAlexandru Ardelean2018-03-14
| | | | | | | | | | | | This change was introduced in commit 1c54e2b0fbe2e9a7d to address build issues on Ubuntu 12.04. However it was reported to cause issues on Mac OS X. Report: https://github.com/openwrt/packages/issues/5310 It was also reported that removing this on MacOS X fixes the issue. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: disable dependencies between python src packagesAlexandru Ardelean2018-01-16
| | | | | | | Related to: https://github.com/openwrt/packages/issues/5424 Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* Merge pull request #5360 from commodo/python_reproducibleHannu Nyman2018-01-14
|\ | | | | python,python3: honour the SOURCE_DATE_EPOCH for the build-info
| * python,python3: honour the SOURCE_DATE_EPOCH for the build-infoAlexandru Ardelean2018-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Modules/getbuildinfo.c allows the use of DATE and TIME macros to be defined via CFLAGS. These vars, control the build date & time when the interpreter is opened, and can be read via the `platform._sys_version()` function. So, a conversion from SOURCE_DATE_EPOCH to DATE & TIME is required at build-time. This is especially needed for `platform._sys_version()` to work. The installation of pip seems to rely on this. The logic has been adapted from: https://wiki.debian.org/ReproducibleBuilds/TimestampsProposal#Makefile Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* | python,python3: export mk files outside of python package dirsAlexandru Ardelean2018-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since `lang/python` is it's own folder of Python packages (for both Python 2 & 3), and these build rules are needed in a lot of packages [especially Python packages], putting them here makes sense architecturally, to be shared. This also helps get rid of the `include_mk` construct which relies on OpenWrt core to provide, and seems like a broken design idea that has persisted for a while. Reason is: it requires that Python 2/3 be built to provide these mk files for other Python packages, which seems like a bad idea. Long-term, there could be an issue where some other feeds would require these mk files [e.g. telephony] for some Python packages. We'll see how we handle this a bit later. For now we limit this to this feed. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* | python,python3: do not install .mk snippetsMatthias Schiffer2018-01-10
|/ | | | | | | | | The .mk snippets are not really usable at the moment, as they cannot be considered for metadata collection (package DUMP) when included through include_mk. Python packages do not use include_mk anymore for this reason, so the install commands can be removed as well. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* python,python3: undo egg-info removalJeffery To2018-01-08
| | | | | | | | | | This reverts commits 4333d1dcbfd67dde4ca7d08717bc345cc424fbf8 and 074d2863be48c1a9093fffcda91f7a328bc7d0cb, making Python packages discoverable again by pkg_resources. Fixes #5361. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* python,python3: add zlib/host to HOST_BUILD_DEPENDS (ver 2)Alexandru Ardelean2018-01-02
| | | | | | | | | | | | | | | This reverts commit 3c6d14021e62d68a7d9bdd4520b799c5c207fde1. ( which is a revert of commit c764f77dc1a62ce667b38520496ddb9bfaececab ) The initiall commit ( c764f77dc1a62ce667b38520496ddb9bfaececab ) was reverted, becase zlib did not have a host-build. Now it does: https://github.com/openwrt/openwrt/commit/cbe71649bc49ccc6ae96385482d0794c33336f68 So, now it should be good to put this in. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python3: bump to version 3.6.4Alexandru Ardelean2017-12-31
| | | | | | | | | | | | | | | | Re-worked patch `003-do-not-run-distutils-tests.patch` to reduce patch-size. Removed `011-fix-ncursesw-definition-colisions.patch` it is fixed upstream. Refreshed with `make package/python3/refresh` Resetting PKG_RELEASE to 1. This variable was never used for pip3 & setuptools, since VERSION is specified in the package definitions. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: add support for SOURCE_DATE_EPOCH varAlexandru Ardelean2017-12-20
| | | | | | | | | | | | | See: https://github.com/openwrt/packages/issues/5278 This should make Python & Python3 packages reproducible when building. In my local tests, I got the same sha256 for a sample .pyc file, so likely this is the solution that should address this. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* Revert "python,python3: add zlib/host to HOST_BUILD_DEPENDS"Hannu Nyman2017-12-16
| | | | | | | | | | | This reverts commit c764f77dc1a62ce667b38520496ddb9bfaececab. The commit caused warnings to be displayed at make defconfig etc. WARNING: Makefile 'package/feeds/packages/python/python/Makefile' has a host build dependency on 'zlib/host' but 'package/libs/zlib/Makefile' does not implement a 'host' build type Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* python,python3: add zlib/host to HOST_BUILD_DEPENDSAlexandru Ardelean2017-12-13
| | | | | | | | | | | | | | | | | This should fix the zlibmodule build on the host side. Usually, if zlib is not found, Python/Python3 builds fine without it, but there are some cases where the Python/Python3 interpreter on the host-side requires zlib to run. At the moment, zlib does not have a host-build. This should be available when this PR gets merged: https://github.com/lede-project/source/pull/1329 [ or a similar one that contains host-build support for zlib ]. In the meantime, this change can go into Python/Python3. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: define config option for bluetooth supportAlexandru Ardelean2017-12-10
| | | | | | | | | | | | | | | | | | | | | | | | | It was reported via https://github.com/openwrt/packages/pull/5122#issuecomment-347395472 that if bluez-libs is selected as an installable package, then the error below will show up: ``` * satisfy_dependencies_for: Cannot satisfy the following dependencies for python-light: * bluez-libs * * opkg_install_cmd: Cannot install package python-light. ``` This looks like a limitation in the design of package deps, and maybe a misuse of conditional deps (i.e. PACKAGE_bluez-libs:bluez-libs). So, to fix this, an idea we're adding an extra symbol that enfoces installation of bluez-libs if selected. We also need to add a way to disable bluetooth build if PYTHON(3)_BLUETOOTH_SUPPORT is de-selected. Otherwise, bluetooth is installed and the socket module is broken due to linker errors. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: build bluetooth support if bluez-libs selectedAlexandru Ardelean2017-11-14
| | | | | | | | | | | | | | | | This should hopefully fix the Python3 build on buildbot. For a while I assumed it may be a build-bot issue, but then looking through the packages repo [and finding the bluez package] it looks like, if you try to build all packages, Python3 detects the bluetooth headers installed by bluez. It looks like Python's bluetooth support was somewhat broken ; it was not detecting the <bluetooth/bluetooth.h> header, so a backport from Python3 to Python fixed that. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* python,python3: apply PKG_FIXUP:=autoreconfAlexandru Ardelean2017-11-06
| | | | | | | Should hopefully provide more consistent results across distros. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>