Sebastian Kemper [Mon, 16 Dec 2019 22:33:30 +0000 (23:33 +0100)]
libzip: fix musl-fts failure
musl doesn't support fts. But with the extra package musl-fts installed,
libzip picks up the fts header and fails at the linking stage:
zipcmp.c:(.text.startup+0x130): undefined reference to `fts_open'
/home/sk/tmp/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/lib/gcc/mips-openwrt-linux-musl/8.3.0/../../../../mips-openwrt-linux-musl/bin/ld: zipcmp.c:(.text.startup+0x172): undefined reference to `fts_read'
So with musl-fts we need to link in libfts. To address that this commits
patches the cmake setup to check if fts is available in libc itself or
in any external libfts.
So when musl-fts is installed on the system the setup will be the
following:
musl: use libfts
uclibc: use fts from libc
glibc: like uclibc
Sebastian Kemper [Sun, 15 Dec 2019 09:44:05 +0000 (10:44 +0100)]
tinycdb: install shared lib and pic archive
dnsdist picks up cdb.h but can't link in the static archive.
/home/sk/tmp/openwrt/staging_dir/toolchain-mips_24kc_gcc-8.3.0_musl/lib/gcc/mips-openwrt-linux-musl/8.3.0/../../../../mips-openwrt-linux-musl/bin/ld: /home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libcdb.a(cdb_init.o): relocation R_MIPS_26 against `fstat' can not be used when making a shared object; recompile with -fPIC
This commit extends the tinycdb Makefile to build and install as well
the shared library as well as the pic archive. dnsdist will then pick
the shared library.
Leonid Esman [Thu, 28 Nov 2019 09:45:39 +0000 (12:45 +0300)]
nlohmannjson: initial commit
JSON for Modern C++ library.
Design goals: intuitive syntax, trivial integration, serious testing.
https://nlohmann.github.io/json/
IPFS C++ HTTP API client library depends on this library.
Sebastian Kemper [Sat, 14 Dec 2019 16:37:56 +0000 (17:37 +0100)]
dnsdist: add missing build dep on protoc
The build needs protoc, otherwise it fails.
checking if we need to link in protobuf... yes
checking for PROTOBUF... yes
checking for protoc... no
configure: error: Protobuf requested but the protobuf compiler was not found
Sebastian Kemper [Sat, 14 Dec 2019 16:34:54 +0000 (17:34 +0100)]
dnsdist: add missing lmdb dep
Currently dnsdist is failing at packaging stage when lmdb is in staging:
make[4]: Leaving directory '/builder/shared-workdir/build/sdk/build_dir/target-x86_64_musl/dnsdist-1.4.0'
Package dnsdist is missing dependencies for the following libraries:
liblmdb.so
Makefile:109: recipe for target '/builder/shared-workdir/build/sdk/bin/packages/x86_64/packages/dnsdist_1.4.0-2_x86_64.ipk' failed
Sebastian Kemper [Sat, 14 Dec 2019 11:21:32 +0000 (12:21 +0100)]
protobuf: fix libdir handling for host build
On some host machines (example: Gentoo amd64 no-multilib) by default
cmake will install libraries to lib64. But in OpenWrt the correct libdir
is lib (for instance the RPATH is set to lib). So you may end up with
libraries in lib64 while RPATH points to lib:
sk@darth ~/tmp/openwrt $ ldd staging_dir/hostpkg/bin/protoc
linux-vdso.so.1 (0x00007ffc741ea000)
libprotoc.so.3.8.0.0 => not found
libprotobuf.so.3.8.0.0 => not found
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f0a8f7ea000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/libstdc++.so.6 (0x00007f0a8f572000)
libm.so.6 => /lib64/libm.so.6 (0x00007f0a8f427000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/libgcc_s.so.1 (0x00007f0a8f40d000)
libc.so.6 => /lib64/libc.so.6 (0x00007f0a8f23c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f0a8f827000)
sk@darth ~/tmp/openwrt $
Fix this by specifying the libdir during host builds.
Alberto Bursi [Fri, 13 Dec 2019 10:12:31 +0000 (11:12 +0100)]
minidlna: add static uuid in config
minidlna uses UUID to uniquely identify the media server
by default, if the "uuid" option is not specified in
its setting file it will try to autogenerate it by
reading MAC address.
This seems to fail on some devices resulting in random
UUID on reboot, and this causes confusion and issues as
for clients this is a new server and must be added to
the list.
In OpenWrt there are also devices where the system can't
read the true MAC address and it is therefore randomized
on reboot.
So, add a static UUID in the settings file.
Since each mindlna server should have a different UUID,
if the user has more than one OpenWrt device with
minidlna, he should change the UUID of the
additional devices.
Jo-Philipp Wich [Fri, 13 Dec 2019 08:08:51 +0000 (09:08 +0100)]
cgi-io: implement exec action
Implement a new "cgi-exec" applet which allows to invoke remote commands
and stream their stdandard output back to the client via HTTP. This is
needed in cases where large amounts of data or binary encoded contents
such as tar archives need to be transferred, which are unsuitable to be
transported via ubus directly.
The exec call is guarded by the same ACL semantics as rpcd's file plugin,
means in order to be able to execute a command remotely, the ubus session
identified by the given session ID must have read access to the "exec"
function of the "cgi-io" scope and an explicit "exec" permission rule for
the invoked command in the "file" scope.
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 "command" specifiying the commandline
to invoke.
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 exec access to
both the "date" and "iptables" commands. The "date" rule specifies the
base name of the executable and thus allows invocation with arbitrary
parameters while the latter "iptables" rule merely allows one specific
set of arguments which must appear exactly in the given order.
James Taylor [Thu, 12 Dec 2019 09:25:43 +0000 (20:25 +1100)]
dnsdist: add missing dependency on libcap
When present on the build system dnsdist will try to make use of libcap. This
change adds an explicit dependency to ensure it's present at build time, to
prevent build failures when another package brings the dependency in.
Petr Štetiar [Wed, 11 Dec 2019 21:23:56 +0000 (22:23 +0100)]
uledd: bump to latest version 1.0.1
018f57e713fa cmake: bump version to 1.0.1 b90c65be87c5 ubus: add state method 034e3a77680d scene: add dumping of state to blobmsg d21b0946e6f6 scene: add all LEDs during scene creation f31a6f2b8c3b led: add dumping of state to blobmsg cead0f7f54f6 add support for scenes with priorities 8637a86307d7 led: remove string format from led_state_str 0eaa67a5a687 led: add led_from_path 8243708905aa tests: add basic blob-led unit test 99bcdaa306f7 refactor blob LED parsing into separate unit 210c5e3c5128 led: change sysfs LED path for unit tests 310a676e50d7 add cram based unit tests eb7acbb08e36 led: led_add: add debug output ca9c762fb29a led: make timer tick interval variable 44d072039680 led: allow running and stopping df0c7772c9c6 timer: add missing includes 2aab48d1143c cmake: add sources into static library 83d4189606ca fix multiple timer drifts by using singular timer for all LEDs 3abe097ebecf log: output function name in debug log messages 5c768b337df8 led: set current brightness only after success cf93720951bc allow overriding of default ubus socket path b642b650a612 led: fix initial LED fading out ba00ca0e886c fix deprecated SPDX license identifier 766448f68e69 convert content of README into Markdown format 079e773e3250 rename README into README.md 76eb126d9eb5 add LICENSE file 7a006926c442 add initial GitLab CI support cc94cd4c59b0 replace stderr based logging with ulog 7aa9c35a9581 add basic application versioning ecd26be4c5dd add basic logging cc42a9c79ad9 factor out ubus stuff into separate unit 13a589678c29 factor out led stuff into separate unit 7763972de980 fix sign issue spotted by compiler aef09580c960 cmake: enable extra compiler warnings 97663b4e1d15 cmake: fix include dirs and libs lookup 875a9e15b10a fixes a small bug that failed to reset the state to LED_SET when reconfiguring a LED
Dirk Brenken [Tue, 10 Dec 2019 14:01:16 +0000 (15:01 +0100)]
adblock: bugfix 3.8.13
* remove 'ransomware' blocklist by abbuse.ch (discontinued)
from default adblock config
* fix/switch 'someonewhocares' config to https only
* fix curl download parameters to follow redirects and
suppress needless output
* made the tmp directory of sort operations configurable,
set 'adb_sorttmp' accordingly (only supported by 'coreutils-sort')