This adds a Python 3 version of the django1 package.
This also adds a python-django1-common package that contains a
django-admin script based on the one in Debian[1]. This allows
python-django1 and python3-django1 to be installed at the same time.
python3-django conflicts with python-django1 (via python-django1-common)
and python3-django1.
This also updates older Python 3 Django plugin packages to depend on
python3-django1, and newer plugin packages to depend on "django", which
both python3-django and python3-django1 provide.
Because of this dependency on either version of Django, the MDEPENDS for
Python 3 Django plugin packages no longer functions correctly and has
been removed.
[1]: https://salsa.debian.org/python-team/modules/python-django/blob/debian/buster/debian/django-admin
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Move more environment variables into GoPackage/Environment
* Split GoPackage/Environment into target and build sections
* Do not set GOROOT_FINAL for Go packages (setting it should only affect
the Go compiler and not Go packages)
* Set CGO_LDFLAGS to $(TARGET_LDFLAGS)
* Move GO_TARGET_* variables from golang-values.mk, and GO_VERSION_*
variables from golang-version.mk, into golang/Makefile
This also updates runc, containerd, and docker-ce to reflect the changes
in GoPackage/Environment.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* Set GOENV=off when building Go compiler and packages, to ignore user's
environment configuration file
* Set GOCACHE when building host Go
* Unset GOTMPDIR, to use the buildroot temp directory instead of temp
directories in build_dir
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
The host utility is used to build other lua modules for the target.
For that, the site config needs to specify the correct arch/system type.
Use target dependent build/staging dirs to avoid issue when switching
between targets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Split python2 and python3 packages and update to newest versions:
* python-django-restframework version 3.9.4 using django1
* python3-django-restframework version 3.11.0 using django3
This fixes the issue that the restframework cannot import name
'python_2_unicode_compatible' from 'django.utils.encoding', when
using version 3.9.x together with Django 3.y.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
* Replace $(PKG_NAME) with package name in call, define, and eval lines
* Remove extra "define" in $(call define Package/.../description)
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Python Interface for libmodbus written with CFFI.
This libmodbus wrapper is compatible with Python 2 and Python 3.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This backports patches from bpo-34585[1] to fix byte order detection of
floats.
Fixing byte order detection allows the repr() of floats to be shorter (a
feature backported to Python 2.7 from Python 3.1[2]).
sys.float_repr_style should be 'short' instead of 'legacy' on supported
platforms.
See #11134.
[1]: https://bugs.python.org/issue34585
[2]: https://docs.python.org/2.7/whatsnew/2.7.html#python-3-1-features
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
According to the installation guide [1], the support for "sha256_password"
or "caching_sha2_password" for authentication is optional.
This change makes it optional for the OpenWrt package by providing a build
option to enable it.
By default it won't be enabled, and packages can choose to enable it.
[1] https://pymysql.readthedocs.io/en/latest/user/installation.html
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
+ WolfSSL support from upstream => remove 0001-Add-locking-support-to-wolfSSL.patch
PycURL changeLog:
Version 7.43.0.4 - 2020-01-15
-----------------------------------------------------------------
- Minimum supported Python 3 version is now 3.5.
- Python 2 is no longer officially supported.
- Improved thread safety of multi code.
- Added Python 3.8 support (patch by Michael Treanor).
- Fixed link order when linking statically against OpenSSL (patch by Ashley Whetter).
- Fixed Darwin detection.
- Added support for wolfSSL (patch by Eneas U de Queiroz).
- Added PROXY_SSL_VERIFYHOST (patch by Amir Rossert).
Signed-off-by: Waldemar Konik <informatyk74@interia.pl>
Compile tested: mipsel_24kc
When during the build the openssl extension is also selected, then
the mysqlnd extension depends on it, too.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
JavaScript obfuscator is a powerful free obfuscator for JavaScript with a wide number of features which provides protection for your source code.
Signed-off-by: Zbyněk Kocur <zbynek.kocur@fel.cvut.cz>
The ASLR PIE option was changed to a tristate option
(openwrt/openwrt@19cbac7d26). This updates
the Go compiler package and golang-package.mk to account for this
change.
This also adds warning messages for when the user has selected PIE but
Go does not have PIE support for the chosen target.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds support to compile position-independent executables for
packages that use golang-package.mk.
Go packages will have PIE enabled if:
* Go supports PIE on the target platform;
* CONFIG_PKG_ASLR_PIE is selected; and
* PKG_ASLR_PIE (for the package) is not set to 0
Go 1.13 supports PIE for x86 and arm targets; mips support is in
progress[1].
[1]: https://github.com/golang/go/issues/21222#issuecomment-542064462
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This fixes how GOARM is selected for arm platforms, based on support for
VFP/VFPv3 rather than CPU version.
Fixes#10967.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This change adds support for the pymysql package, which is a pure Python
MySQL client. This package will replace the current python-mysqlclient.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
The php7-mod-gd package requires that freetype support exist in libgd. The
libgd-full package provides this, whereas the libgd package does only
if explicitly configured.
Ref: https://github.com/openwrt/packages/issues/10944
Signed-off-by: W. Michael Petullo <mike@flyn.org>
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
This adds support to compile host and target Go as position-independent
executables.
Host Go will have PIE enabled if Go supports PIE on the host platform.
Target Go will have PIE enabled if Go supports PIE on the target
platform and CONFIG_PKG_ASLR_PIE is selected.
Go 1.13 supports PIE for x86 and arm targets; mips support is in
progress[1].
[1]: https://github.com/golang/go/issues/21222#issuecomment-542064462
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This replaces conditional functions with conditional directives to make
golang-values.mk more readable.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds calls to the strip function in golang-package.mk when using
variables expected to be set by Go packages.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This changes the formatting of environment variable unexports in
golang-values.mk to be more maintainable, and to document the sources of
variables.
There should be no change to the actual list of variables unexported.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This change:
* bumps the version 1.3.0
* switches to pypi.org download
* removes the python2 variant
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
go invokes the external linker by calling gcc, so -zxxx options in
TARGET_LDFLAGS (in golang-package.mk) need to be formatted as -Wl,z,xxx.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Relevant bits of upstream changelog
New Features
argon2: Support more hashes
scrypt: Now uses python 3.6 stdlib’s hashlib.scrypt() as backend, if present (issue 86).
Bugfixes
Python 3.8 compatibility fixes
passlib.apache.HtpasswdFile: improve compatibility with Apache 2.4's htpasswd
passlib.totp: fix some compatibility issues with older TOTP clients (issue 92)
Fixed error in argon2.parsehash() (issue 97)
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
go build/install supports multiple -ldflags arguments, but they are not
combined; for each package, the latest match on the command line is
used.[1]
Previously, the main executable would not be affected by the default
ldflags if GO_PKG_LDFLAGS or GO_PKG_LDFLAGS_X were set. (The default
ldflags instructs go to use the external linker.)
This fixes golang-package.mk so that the default ldflags take effect in
all cases.
[1]: https://golang.org/cmd/go/#hdr-Compile_packages_and_dependencies
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
- remove obsolete patches and update other ones
- filter support is now available as an extension module
- php7-mod-hash: this extension is now part of the core binary
and cannot be built as an extension module anymore
- php7-mod-gd:
- do not use bundled libgd, but rely on external one
- this also obsoletes dependencies and configuration options
- php7-mod-zip: requires external libzip now
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
This activates following extensions:
* io/nonblock
* io/wait
* openssl
* pathname
* ipper
* socket
* zlib
zlib and socket are required for gem so they should be just enabled
because otherwise it does not make sense to provide host gem at all.
The rest of extensions are activated to support compass.
Signed-off-by: Karel Kočí <karel.koci@nic.cz>
Should fix the no previous prototype errors.
Also fixed the install paths. Now running this should be correct.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
The build throws several (non-fatal) build errors:
-snip-
...
checking for kerberos support... yes, shared
checking path to krb5config tool... no
checking for kerberos KADM5 support... no
checking whether we have krb5config...
./configure: line 3974: --libs: command not found
./configure: line 3975: --cflags: command not found
checking for required linker flags...
checking for required compiler flags...
./configure: line 3988: --version: command not found
checking for kerberos library version...
checking for krb5_free_string... no
checking for krb5_chpw_message... no
checking for krb5_principal_get_realm... no
checking how to print strings... printf
...
-snap-
To fix this give configure the path to krb5-config tool.
The runtime error which is fixed by the change is:
PHP Warning: PHP Startup: Unable to load dynamic library 'krb5.so'
(tried: /usr/lib/php/krb5.so (Error relocating
/usr/lib/php/krb5.so: krb5_get_init_creds_opt_free: symbol not found),
...
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
It seems that OpenSSL is bugged. While OpenSSL uses this code, it doesn't
export these defines anywhere. Match against the API version instead.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
- Instagram compliance fix
- Added force_querystring argument to fetch_token() method on
OAuth2Session
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
All symbols on MacOS are prefixed with an underscore which
interfered with the filtering mechanism (added in perl 5.28)
for extension libraries to be linked into static perl.
Signed-off-by: Jakub Piotr Cłapa <jpc@loee.pl>
This is the reusable django app that implements the server side of EteSync.
There will be another package that makes it available through Nginx using uwsgi.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
Last release was from 2012. Latest git has many additions.
Cleaned up Makefile and eliminated build hacks.
Added InstallDev section.
Added PKG_BUILD_PARALLEL for faster compilation.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
While the filespec example is technically correct, the more likely
scenario is that the files to be omitted would be inside of a package
subdirectory.
This adds an example_package directory into the example to illustrate
this case.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Add dependency on python3-sqlparse and use django-admin.py instead of django-admin as the latter depends on python3-pkg-resources.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
This adds documentation on including pypi.mk and its required/optional
variables to the Python section readme.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
PKG_BUILD_DIR now takes variants into account
(openwrt/openwrt@e545fac8d9), so it should
not be necessary for Python packages to set these variables anymore.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
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>
This is a dependency of the etesync-server and uses the rest framework of django.
Edit: Remove runtests and add dependencies on python3-django and python3-light.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
This is a dependency for django-cors-headers.
Install sqlformat without using pkg-resources:
Upstream uses the entry_point function to call the __main__.py script.
We copy it for avoiding the dependency on pkg_resources and full python3 in turn.
Signed-off-by: Peter Stadler <peter.stadler@student.uibk.ac.at>
This updates all Python packages that download their source from PyPi to
use pypi.mk.
This will allow future improvements/changes to pypi.mk to affect all
relevant packages.
This also makes it easier for future Python packages to start using
pypi.mk, when it's clear how it is used in existing packages.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
After many failed attempts at upgrading Django to 2.2.6, the solution seems
to be to split a `python-django1` package that works with Python2 and
upgrade `python3-django` to the latest 2.2[.6] LTS release.
This also means that all Python2 Django packages will be stuck & based on
Django 1.11[.24] LTS release. But, it's currently the sanest approach I
could find to be able to perform an upgrade of Django to 2.2, and not break
Seafile.
Upgrading Seafile is also pretty difficult, as their Python3 support is not
yet finished & released. And in the meantime, we want to allow people to
use newer Django versions.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This adds a new (optional) variable, PYPI_SOURCE_NAME, to pypi.mk.
For some PyPi packages (e.g. aiohttp_cors, click, django-compressor),
the name of the package and the source tarball name are slightly
different (usually by capitalisation or hyphen/underscore change).
This new variable is to make this difference explicit. PYPI_NAME is
meant for the "official" package name, whereas PYPI_SOURCE_NAME is meant
for the source tarball name.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
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>
This adds pypi.mk, which can be included in Python packages that
download their sources from PyPI, to auto-fill various PKG_* variables
based on the value of PYPI_NAME.
This makefile should be included after $(TOPDIR)/rules.mk but before
$(INCLUDE_DIR)/package.mk (and $(INCLUDE_DIR)/host-build.mk).
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
PHP7 fails to load xmlreader.so (php7-mod-xmlreader) module without
dom.so (php7-mod-dom) module loaded:
-snip-
PHP Warning: PHP Startup: Unable to load dynamic library 'xmlreader.so'
(tried: /usr/lib/php/xmlreader.so (Error relocating /usr/lib/php/xmlreader.so:
dom_node_class_entry: symbol not found), /usr/lib/php/xmlreader.so.so (Error
loading shared library /usr/lib/php/xmlreader.so.so: No such file or
directory)) in Unknown on line 0
^C
-snap-
However, this dependency only exists when during build also php7-mod-dom
is selected.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
This removes lines that set PKG_BUILD_DIR when the set value is no
different from the default value.
Specifically, the line is removed if the assigned value is:
* $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
The default PKG_BUILD_DIR was updated[1] to incorporate BUILD_VARIANT
if it is set, so now this is identical to the default value.
* $(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR)
if PKG_SOURCE_SUBDIR is set to $(PKG_NAME)-$(PKG_VERSION), making it
the same as the previous case
* $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
This is the same as the default PKG_BUILD_DIR when there is no
BUILD_VARIANT.
* $(BUILD_DIR)/[name]-$(PKG_VERSION)
where [name] is a string that is identical to PKG_NAME
[1]: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=e545fac8d968864a965edb9e50c6f90940b0a6c9
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Lost when luaposix converted their upstream build system.
Required to prevent the build from attempting to invoke "ldoc" on the
host and also simply to speed it up.
Signed-off-by: Karl Palsson <karlp@tweak.net.au>
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/issue34155https://bugs.python.org/issue38243
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
- Remove PKG_BUILD_DEPENDS as it is no longer necessary.
- The Python3 is already included in DEPENDS.
- Remove PKG_BUILD_DIR and PKG_UNPACK was for dual Python version.
- Change TITLE and description
- Add source package
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>