1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-13 19:03:52 +02:00
Commit Graph

93 Commits

Author SHA1 Message Date
Karel Kočí
7175b2b47d
python,python3: do not package binary files to base packages
Thanks to fix 200a5a2eec 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>
2019-02-21 09:33:49 +01:00
Alexandru Ardelean
c767598097 python,python3: fix CVE-2019-5010 - Denial of Service
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>
2019-02-12 12:31:55 +02:00
Daniel F. Dickinson
682cdf3b9c python3: install pkgconfig to staging
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>
2019-01-18 04:40:43 -05:00
Nj Hsiong
c98b12d9a9 python3: enable lib2to3 to also search and fix .pyc files.
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>
2019-01-09 22:06:52 +08:00
Alexandru Ardelean
a16dea9627 python,python3: use setuptools & pip versions from python{3}-version.mk
`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>
2019-01-02 23:42:01 +02:00
Alexandru Ardelean
1e9a248a56 python3: bump to version 3.7.2
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2018-12-31 19:26:46 +02:00
Alexandru Ardelean
178ffb41f1 python3: bump to version 3.7.1
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>
2018-11-02 09:58:57 +02:00
Jan Kardell
6ade5a1e3a Python3: Fix host build on OpenSUSE
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>
2018-10-08 11:47:08 +02:00
Alexandru Ardelean
768c675123 python3: fix build with SSL module
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>
2018-09-17 12:53:57 +03:00
Karol Wrona
23b7d14b24 python3: fix libuuid missing dependency for python3-light
Signed-off-by: Karol Wrona <wrona.vy@gmail.com>
2018-07-13 12:57:44 +02:00
Martin Strobel
fe01c8fc05 python3: update to python 3.7.0
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>
2018-07-11 06:34:54 +02:00
Alexandru Ardelean
b7d1d2149e python3: update to version 3.6.5
Add PKG_RELEASE for setuptools and pip.
Refresh all patches.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2018-05-03 14:46:35 +03:00
Hauke Mehrtens
f9016b5977 python/python3: remove zlib/host dependency
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>
2018-04-28 16:20:44 +02:00
Alexandru Ardelean
b6973e5deb python,python3: remove --with-system-ffi=no config arg
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>
2018-03-14 16:21:41 +02:00
Alexandru Ardelean
ea62d1217c python,python3: limit underlinking behavior to linux platforms
This change was introduced in commit 1c54e2b0fb 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>
2018-03-14 16:18:30 +02:00
Alexandru Ardelean
63dfa19812 python,python3: disable dependencies between python src packages
Related to:
 https://github.com/openwrt/packages/issues/5424

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2018-01-16 16:18:47 +02:00
Hannu Nyman
f460719bf4
Merge pull request #5360 from commodo/python_reproducible
python,python3: honour the SOURCE_DATE_EPOCH for the build-info
2018-01-14 17:32:57 +02:00
Alexandru Ardelean
ccdc6bc530 python,python3: export mk files outside of python package dirs
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>
2018-01-10 23:01:51 +02:00
Matthias Schiffer
55c0b5ae19 python,python3: do not install .mk snippets
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>
2018-01-10 23:01:51 +02:00
Alexandru Ardelean
c54b312043 python,python3: honour the SOURCE_DATE_EPOCH for the build-info
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>
2018-01-08 15:32:47 +02:00
Jeffery To
c5cbd44cea python,python3: undo egg-info removal
This reverts commits 4333d1dcbf and
074d2863be, making Python packages
discoverable again by pkg_resources.

Fixes #5361.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2018-01-08 17:26:54 +08:00
Alexandru Ardelean
36bb5706a2 python,python3: add zlib/host to HOST_BUILD_DEPENDS (ver 2)
This reverts commit 3c6d14021e.
( which is a revert of commit c764f77dc1 )

The initiall commit ( c764f77dc1 )
was reverted, becase zlib did not have a host-build.

Now it does:
 cbe71649bc

So, now it should be good to put this in.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2018-01-02 18:59:53 +02:00
Alexandru Ardelean
4ec5d3d62f python3: bump to version 3.6.4
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>
2017-12-31 17:58:34 +02:00
Alexandru Ardelean
1b6dd4781f python,python3: add support for SOURCE_DATE_EPOCH var
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>
2017-12-20 00:11:47 +02:00
Hannu Nyman
3c6d14021e Revert "python,python3: add zlib/host to HOST_BUILD_DEPENDS"
This reverts commit c764f77dc1.

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>
2017-12-16 17:02:45 +02:00
Alexandru Ardelean
c764f77dc1 python,python3: add zlib/host to HOST_BUILD_DEPENDS
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>
2017-12-13 21:07:46 +02:00
Alexandru Ardelean
59f0506622 python,python3: define config option for bluetooth support
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>
2017-12-10 19:49:23 +02:00
Alexandru Ardelean
c2b3496977 python,python3: build bluetooth support if bluez-libs selected
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>
2017-11-14 13:50:14 +02:00
Alexandru Ardelean
8750a59d3d python,python3: apply PKG_FIXUP:=autoreconf
Should hopefully provide more consistent results
across distros.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-11-06 18:06:02 +02:00
Alexandru Ardelean
652553e552 python3: bump to version 3.6.3
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-11-06 18:05:59 +02:00
Mirko Vogt
32b60fa32b python3: package CGI component
Signed-off-by: Mirko Vogt <mirko-openwrt@nanl.de>
2017-10-31 13:45:29 +01:00
Alexandru Ardelean
074d2863be python,python3: add option to keep egg-info dirs for python packages
That way some python packages can choose
to keep their egg-info dirs, if they want to, or they're needed.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-10-03 10:40:26 +03:00
Alexandru Ardelean
21a18bd97f python3: fix install mk filenames
Copy + paste error.

Seems I fixed it while testing but forgot to update PR with this.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-09-15 08:59:47 +03:00
Alexandru Ardelean
2eb3979d28 python,python3: install mk files in both host build and InstallDev part
Not sure how it can happen that the files are not
installed via the host build.

Maybe some SDK-like build.

Let's make sure they are installed via InstallDev rule too.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-09-14 11:44:01 +03:00
Alexandru Ardelean
77bf1f09ad python3: upgrade to version 3.6.2
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-24 13:57:54 +03:00
Alexandru Ardelean
0df253cc04 python,python3: drop PKG_MD5SUM fields ; will use only PKG_HASH
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-19 16:50:25 +03:00
Alexandru Ardelean
84202f17e1 python,python3: remove multi-arch support, and /usr/local paths
This should hopefully reduce weird behaviour caused
by the host system.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-19 16:50:25 +03:00
Alexandru Ardelean
3fa0c06d48 python,python3: add dependency on CONFIG_PACKAGE_ symbols for setuptools & pip
If you build python/python3 and later decide to build
python(3)-setuptools and/or python(3)-pip, the build won't
re-run without adding `CONFIG_PACKAGE_python(3)-setuptools`
and `CONFIG_PACKAGE_python(3)-pip`.

Seems to resolve issue:
https://github.com/openwrt/packages/issues/4529

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-03 16:11:57 +03:00
Alexandru Ardelean
1c54e2b0fb python,python3: fix underlinking issues with lrt (clock_gettime())
Seems it's called underlinking that's happening only
on Ubuntu 12.04 with libressl (that comes from LEDE's
tools folder).

Link here:
https://ubuntuforums.org/showthread.php?t=1870586

I'm still reading about this a bit.
Since I don't really get it.

But applying that fix (as in the link) seems to fix compiling
on Ubuntu 12.04, and tried also on 16.04 (to make sure).

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-07-03 09:28:41 +03:00
Alexandru Ardelean
e88e35249f python,python3: install mk files in the Host/Install phase
The Build/InstallDev rule is activated only for target builds.
But if someone needs only the host Python, then
these files need to be installed in this phase, and not Build/InstallDev

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-06-29 14:04:09 +03:00
Alexandru Ardelean
576c45eb0a python3: fix distutils path to package when using bytecodes
If there is only Python bytecodes, then
the __init__.py script will be concatenated, and
the __init__.pyc as well.

This is becase this bit `path = os.path.join(path, '__init__'+extension)`
is iterated twice.

This is a bug in Python3, also because we ship bytecodes
instead of source code [ with Python & Python3 ].
Python is not affected.

Reported-by: Mirko Vogt <mirko@nanl.de>
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-06-12 23:26:54 +03:00
Alexandru Ardelean
0d54d05b6d python3-pip: override Package/python3-pip/install rule
This is in essence fixes pip3.

That means pip3 will ship without Python byte-codes
for a while, until I'll find a better way to fix it.

I couldn't think of a not-very hack-ish way of doing it.

The only draw-back of this, will be that pip3 will run
a bit slower ; but that should be ok for a while.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-05-19 17:28:08 +03:00
Alexandru Ardelean
68312f49c0 python packages: move all things python under lang/python
I admit this may be be a bit aggressive, but the lang
folder is getting cluttered/filled up with Python, PHP, Perl,
Ruby, etc. packages.

Makes sense to try to group them into per-lang folders.

I took the Pythons.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
2017-05-17 16:51:14 +03:00