gunicorn: convert to Python packaging format + add Python3 variant
And splitting the gunicorn[3] binary/executable away from the
python[3]-gunicorn libraries. This was inspired from Debian packaging.
The gunicorn[3] binaries require the new `python[3]-pkg-resources`
libraries to run, which add ~1.1 MB on the [ram]disk when uncompressed.
For the Python2 variant, the `_gaiohttp.py` is dropped as it fails to
compile, so it would likely be unusable anyway:
```
File "/usr/lib/python2.7/site-packages/gunicorn/workers/_gaiohttp.py", line 84
yield from self.wsgi.close()
^
SyntaxError: invalid syntax
```
People around the web recommend this as well:
https://stackoverflow.com/questions/25611140/syntax-error-installing-gunicorn
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803170
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803202
python,python3: add Py[3]Shebang functions & move outside of script
Some packages just install some Python binaries, that may need their
shebang fixed.
This change adds some utilities to help with that and try to centralize the
sed rules a bit.
It also removes the logic from the `python-package-install.sh` into the
`python-package[3].mk` files. This does 2 things:
1. It minimizes the need for the shell script to know the Python
version 2/3
2. Makes the logic re-usable in packages; especially if the install rules
differ a bit
James Taylor [Wed, 18 Sep 2019 14:11:04 +0000 (00:11 +1000)]
pdns: Explicitly define lua implementation
Compile Tested: yes, selects lua as implementation and doesn't pick up luajit
Run Tested: no, minor change
Maintainer: me
Description:
On some architectures PowerDNS was preferring Luajit over Lua, which wasn't added
as a dependency. On previous versions this was controlled by passing `--with-lua`
and `--without-luajit` however this isn't functional anymore.
On the 4.2 series, it is instead possible to define the lua implementation to be
used by passing `--with-lua=[implementation]` ie `--with-lua=lua`
Michael Heimpold [Sun, 15 Sep 2019 09:09:48 +0000 (11:09 +0200)]
libmodbus: update to 3.1.6
Also fix the license information: in older versions the test programs
were GPL 3 licensed, but meanwhile it changed to BSD license.
But since this package only packages the library itself, we can
safely focus only on the LGPL here which covers the library itself.
While at, fix a minor nitpick during library symlink installation.
Karel Kočí [Mon, 16 Sep 2019 11:31:36 +0000 (13:31 +0200)]
bigclown-mqtt2influxdb: update to version 1.2.0
This version introduces new option -d that makes service not to exit on
error. This is brutal solution but is required to protect against
service failure when remote resource is down.
bigclown-mqtt2influxdb is service moving data from MQTT to InfluxDB and
both of those services can and potentially are remote. The original
implementation where it failed when service goes down is not ideal
because network outage or target server outage can later require this
service restart.
Daniel Golle [Sun, 15 Sep 2019 22:36:10 +0000 (00:36 +0200)]
mjpg-streamer: modularize package
Instead of selecting the modules on compile time, package them into
several small packages. While at it, add the ZeroMQ output plugin which
was previously not packaged.
Also make sure to use OpenWrt's built-in support for CMake properly by
calling Build/Configure/Default in the package's Build/Configure rule.
nut uses gdlib-config to find libgd, which happens to be deprecated. This
switches it to use pkgconfig and allows a fallback to gdlib-config, same
as the libusb check.
James Taylor [Fri, 13 Sep 2019 13:14:55 +0000 (23:14 +1000)]
pdns: bump version to 4.2.0
Bump PowerDNS Authoritative DNS Server to 4.2.0. Release changelong can be found at
https://doc.powerdns.com/authoritative/changelog/4.2.html#change-4.2.0
Compile Tested: OpenWRT Snapshot - armv7
Run Tested: Linksys WRT1900ACS - package runs correctly, not all functionality has been tested.
Add a new `cgi-download` applet which allows to retrieve the contents
of regular files or block devices.
In order to initiate a transfer, a POST request in x-www-form-urlencoded
format must be sent to the applet, with one field "sessionid" holding
the login session and another field "path" containing the file path to
download.
Further optional fields are "filename" which - if present - will cause
the download applet to set a Content-Dispostition header and "mimetype"
which allows to let the applet respond with a specific type instead of
the default "application/octet-stream".
Below is an example for the required acl rules to grant download access
to files or block devices:
cgi-io: use different acl scopes for path and command permissions
Use the `cgi-io` scope to check for permission to execute the requested
command (`upload`, `backup`) and the `file` scope to check path
permissions.
The reasoning of this change is that `cgi-io` is usually used in
conjunction with `rpcd-mod-file` to transfer large file data out
of band and `rpcd-mod-file` already uses the `file` scope to manage
file path access permissions. After this change, both `rpc-mod-file`
and `cgi-io` can share the same path acl rules.
Write access to a path can be granted by using an ubus call in the
following form:
Jeffery To [Fri, 13 Sep 2019 09:28:42 +0000 (17:28 +0800)]
golang: Use new -trimpath option when compiling Go packages
Go 1.13 added a new -trimpath option to the "go build" command[1] that
removes system paths from compiled executables. This replaces the
previous -trimpath flags.
There are still system paths in the compiled executable (for crti.o and
crtn.o, when cross-compiling); these appear to be stripped during the
packaging process.
seafile-seahub: update dependency to python-mysqlclient
The `python-mysql` package was updated with PR https://github.com/openwrt/packages/pull/9705
For seahub this was omitted, since the Python dependencies are prefixed
with `python-`, so it was missed during the grep search.
And grepping just for `mysql` yields many results.
Petr Štetiar [Sat, 27 Jul 2019 22:13:15 +0000 (00:13 +0200)]
iotivity,smartsnmpd,gpsd: use scons from feed
commit 0c090fde68b2 ("scons: move host build tool to a proper place")
has moved scons into the packages feeds, so switch to that package
include and adjust build dependency to a new scons home.