Jeffery To [Fri, 31 May 2019 19:52:23 +0000 (03:52 +0800)]
python,python3: Record PKG_RELEASE for host setuptools/pip
This changes the "patched" indicator files for host setuptools and pip
to include their PKG_RELEASE values. This also removes host setuptools
and/or pip before host install, if the installed copy does not match the
version (and PKG_RELEASE) of the copy to be installed.
This will allow added or removed patches to affect host setuptools /
pip, since these changes will cause PKG_RELEASE to be incremented.
This also fixes the host install error, when the install tries to patch
an already patched copy of setuptools. (This error occurs because the
existing indicator files do not have version numbers in their file
names, whereas host install expected version numbers to be present.)
Jeffery To [Wed, 29 May 2019 14:42:02 +0000 (22:42 +0800)]
python3-setuptools,python3-pip: Use more predictable pycache cleanup
This uses two find commands to delete __pycache__ contents then the
__pycache__ directories, rather than a for loop.
The second command omits a -empty test, so that if the first command
doesn't remove all directory contents for some reason, the second
command will return an error (find will not delete a non-empty
directory).
Jeffery To [Wed, 29 May 2019 14:38:30 +0000 (22:38 +0800)]
python-setuptools,python-pip: Change prefix to /usr
This changes the --prefix option, passed to host pip when "installing"
target setuptools and pip, to /usr, in case the prefix is recorded in
the packages.
Commit 32aaaaa led to failures when openwrt ARCH did not match kernel
ARCH, and this may not be its only side-effect.
This restores the previous Build/Compile and Build/Install, using the
default ones only when using external toolchain; in this case, ARCH is
set to LINUX_KARCH.
lang: python: readme: document mechanism for corner-case python[3]-package.mk location
After some thinking over this, documenting this behavior makes sense
versus adding some functionst to handle this.
There is some validity/use-cases where some users may want to reference
a python[3]-package.mk from some other location as well as have the
flexibility to change it (locally). One example can be when the local
`packages` is renamed to something else.
This does not fall on the responsibility of the Python maintainers, but
it can be documented.
Eric Luehrsen [Tue, 14 May 2019 02:54:07 +0000 (22:54 -0400)]
unbound: replace obsolete test expressions
Expressions '-o', '-a', and '\( \)' within test or '[ ]' are obsolete.
POSIX allows few arguments to test, so long expressions are not
portable. '[ p -a q ]' can be replaced with '[ p ] && [ q ]' instead.
Jeffery To [Fri, 24 May 2019 20:28:53 +0000 (04:28 +0800)]
python-chardet: Rename Python 3 script
The Python 2 and 3 versions of chardet both install a script with the
same name (/usr/bin/chardetect). This is the issue identified in #9006
(https://github.com/openwrt/packages/pull/9006#issuecomment-493709812).
Versions earlier than 1.2.15 had security vulnerabilities, especially
related to the bundled oniguruma. Now libevhtp uses a system-provided
library instead. The API changed as well, requiring patches to
seafile-server.
Adds @cotequeiroz Eneas U de Queiroz as maintainer.
Added a python3 variant, and removed python-cryptography, and pyjwt from
the dependencies. They are required only to run one test, that is not
even being installed.
Jeffery To [Fri, 24 May 2019 05:18:09 +0000 (13:18 +0800)]
python-setuptools: Add reproducibility patches from Debian
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.
Sebastian Kemper [Thu, 23 May 2019 18:03:00 +0000 (20:03 +0200)]
sqlite3: fix arm endian issue
Forum user portuquesa raised a topic (see [1]) about being unable to use
Asterisk on his armeb xscale device. We narrowed it down to sqlite3.
Asterisk was unable to insert a simple table into its db.
In short, sqlite3 assumes little endian for every ARM device. This
worked OK for 4 Byte bit (unaligned) access. But once upstream (back in
2015) added a function which accesses 2 Bytes (see [2]) this failed for
some (if not all) ARM big endian devices. ARM CPUs are bi-endian for 4
Byte reads but not for 2 Byte reads.
This patch fixes the problem by setting the endianness adequately for
ARM targets, for both 32 bit and 64 bit varieties. The patch was applied
upstream (see [3]).
Sebastian Kemper [Thu, 23 May 2019 17:55:43 +0000 (19:55 +0200)]
sqlite3: always build a thread-safe library
Pull request #9033 showed that there are problems with builds where
thread-safe mode is disabled. The binaries still reference functions
from libpthread. This commit removes the thread-safe choice for now.
Once this is addressed upstream the choice can be added back.
Libevhtp is building a static library, used by seafile-server.
Every time the libevhtp binary changes, seafile-server needs a release
bump.
Leave a note in the libevhtp Makefile, as a reminder.
Sébastien Blin [Sat, 2 Mar 2019 15:31:22 +0000 (10:31 -0500)]
xtables-addons: pass correct flags to compile and install
The Makefile currently redefine the Compile and Install functions.
This is not working when using an external toolchain because some
flags are not interpreted, like CROSS_COMPILE. It is possible to
override the MAKE_FLAGS and MAKE_INSTALL_FLAGS instead.
luajit didn't understand completely that it was building in a cross
compiled environment for Linux target. This would cause issues when
building under openwrt on macos.