With mjpg-streamer pending removal [1], it would be nice if we add
a compatible replacement which is under active development.
ustreamer offers a better performance, especially when the
camera supports MJPEG encoding in hardware.
The package already includes OpenWRT support files ./pkg/openwrt
but they needed heavy editing, so it is more efficient to copy
the scripts and configuration, instead of using patches.
Notable changes:
While the init.d script can run in the background when no camera is
connected, it is more efficient to indicate no active instances.
A hotplug script is introduced to start and stop the service when
cameras are added or removed.
If the configured format or encoding are unsupported, a compatible
alternative is automatically selected, so I changed the default
configuration to use MJPEG encoding in hardware for better performance.
HACKS:
MAKE_FLAGS += WITH_SETPROCTITLE=0
is added to workaround the following linker error:
undefined reference to setproctitle_init
This symbol is defined in libbsd, however adding the build dependency
does not resolve the error, because -lbsd is added conditionally, only
when uname -s contains linux. This is unreliable and fails when
cross-compiling on a macOS host. An upstream fix is needed.
An alternative is to use
PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip=2 -xf $(DL_DIR)/$(PKG_SOURCE)
however this modifies the directory structure, so patches would need
path editing to maintain upstream compatibility.
TODO:
luci-app-mjpg-streamer which is also pending removal [2] is able to
open the HTTP stream from ustreamer. It would be nice to create
luci-app-ustreamer based on that.
[1] https://github.com/openwrt/packages/pull/28344
[2] https://github.com/openwrt/luci/pull/8221
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
When selecting only a package of "no-configure" build variant, e.g.
CONFIG_PACKAGE_zabbix-frontend-server=y
but not any other zabbix package, then the build fails.
The sources are not extracted and the install fails finally with:
make[4]: Entering directory '/srv/openwrt/openwrt-2.git/build_dir/target-arm_arm926ej-s_musl_eabi/zabbix-no-configure/zabbix-7.0.22'
make[4]: *** No rule to make target 'install'. Stop.
make[4]: Leaving directory '/srv/openwrt.git/build_dir/target-arm_arm926ej-s_musl_eabi/zabbix-no-configure/zabbix-7.0.22'
make[3]: *** [Makefile:522: /srv/openwrt.git/build_dir/target-arm_arm926ej-s_musl_eabi/zabbix-no-configure/zabbix-7.0.22/.built] Error 2
This PR fixes this by always running the standard Prepare stage,
but skip the Install one when nothing needs to be compiled.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
This was overlooked. Therefore, the package could not be built.
Fixes: e9fe0249f6 ("ddns-scripts: Fix Hetzner Cloud naming")
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Makefile:
* Remove installation of /usr/share/nftables.d/* files as they are no
longer needed
Init script:
* bugfixes/more mature netifd extensions support
* refactor of the nft_file function and global variables it uses
* the "main" atomic nft file now includes creation of pbr chains and jumps
from relevant fw4 chains to pbr chains
* more consistent use of "uplink" wording in the output and variable names
* implement resolver 'wait' call and use it before trying to resolve any
policy entries
* major overhaul of the split uplink case (IPv4-only wan and IPv6-only
wan6), should now create/use a single pbr_wan table for both legacy and
IPv6 routing and the same marking chain
* updates to IDs and text of some error messages (needs luci app update)
* major speed improvements for service stop
* unify the cleanup_* functions into a single cleanup function
* reject creating/additions to nft sets for src_address entries as dnsmasq
doesn't populate sets with local addresses
* minor bugfixes/code cleanups
* refactor processing of WG servers due to split uplink support (thanks
@egc112!)
* clearer (hopefully) argument names for process_interface calls
* small improvements to status_service
Signed-off-by: Stan Grishin <stangri@melmac.ca>
Support building release candidates by setting GO_VERSION_RC to the
release candidate number, e.g. GO_VERSION_RC:=2, and unsetting
GO_VERSION_PATCH.
Signed-off-by: George Sapkin <george@sapk.in>
Add missing 386 and arm64 suffixes to -installsuffix so as not to
accidentally mix incompatible binaries.
Signed-off-by: George Sapkin <george@sapk.in>
* switch from nslookup to resolveip and add dependencey
* fix/use new OutputFormatFilter names for all resolvers
Signed-off-by: Stan Grishin <stangri@melmac.ca>
The error in the #24828 patch series left Kconfig recursive depedency
error on zabbix-frontend-server. We fix this by update the database
depedencies on zabbix-frontend-server. Now, you must select the PHP8
database module you want _before_ zabbix-frontend-server will be
visible in menuconfig.
This is not a big problem, because zabbix-frontend-server already
depends on having php8 slected before the frontend can be built.
Closes: #28458
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
Due to package renaming the selection of database for the server and
proxy was missing from the Kconfig menu. This caused build failures for
proxy and server.
We now fix that.
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
Using line continuation (\\) in GNU Make \$(foreach ...) and
\$(call ...) resulted in the install section for many of the packages
not being defined. This resulted in 'skipping [package-name] no install
section' messages and no new package being generated.
We remove the line continuation from the parts foreach and call, in
ordeer to restore compilation and creation of packages.
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
Introduce a new configuration option - GOLANG_BUILD_BOOTSTRAP - that
defaults to enabled:
- When enabled, build the local bootstrap instead of using an external
one for host Go. If GOLANG_EXTERNAL_BOOTSTRAP_ROOT is set, skip the
initial 1.4 step.
- When disabled, let Go auto-detect the toolchain or use the toolchain
specified in GOLANG_EXTERNAL_BOOTSTRAP_ROOT to skip building the
bootstrap and build host Go using that toolchain directly. Configured
toolchain must be compatible with the current version of Go.
HOST_BUILD_DEPENDS cannot be conditional, so some Makefile juggling is
needed.
Put menu config under bootstrap only.
Remove unnecessary package-related flags from host-only bootstrap.
Signed-off-by: George Sapkin <george@sapk.in>
As described in #28261 Not compiled with OpenSSL, the SSL variant of
the mailsend package is not actually being compiled with OpenSSL.
This is due to an upstream configure check borrowed from an ancient
version of BIND, which no longer works.
As a workaround we add `-DHAVE_OPENSSL=1` to the `TARGET_CFLAGS` when
building the SSL variant.
This results in a complaint about COPTS not being honoured correctly,
but results in `mailsend` compiled with OpenSSL (i.e. works).
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
In the original commit I used the wrong name for the package in the
Makefile and various other files which caused the package to not build.
Unify the naming to "cloud" to fix the package build.
Fixes: 5ee205bd31 ("ddns-scripts: add Hetzner Cloud support")
Signed-off-by: Christopher Obbard <obbardc@gmail.com>
Add a new Hetzner DDNS provider using the Hetzner Cloud API
(api.hetzner.cloud) with Bearer token authentication.
Configuration guide:
* set [domain] to domain
* set [username] to subdomain (without domain)
* set [password] to Bearer API key
Signed-off-by: Christopher Obbard <obbardc@gmail.com>
Since the RFC-1918 in-addr.arpa empty zones are automatically created,
they will exist, but we can't use modzone on them because that's not
how things work.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Remove warning disable. The issue was fixed in 7.1 and backported to
6.1.3
Remove atrac3 from patented list. It's no longer true and is already in
the non patented list.
Add missing upstream patch in 6.1.4 to fix x86 build.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Split misc sources and test data into separate packages. Reduces target
src package size by a third.
Move architecture-dependent generated source from src to the main
package.
Mark doc, misc, src and tests packages with PKGARCH:=all as they don't
have any architecture-specific files.
Fix stripping and strip compiler only.
Fixes: c137c382 ("golang: new packages")
Link: https://github.com/openwrt/packages/pull/28445
Suggested-by: Jeffery To <jeffery.to@gmail.com>
Signed-off-by: George Sapkin <george@sapk.in>
In preparation for further changes, deduplicate package definitions,
and reorganize them. At the same time make use of provides to ensure
both existing names are preserved, and that it is possible to be
specific about the variant of the package one wants.
Also, condense the package conffiles, install, postinst, etc handling.
This is more maintainable (less copy and paste and less to modify).
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
cspell.json was accidentally include in a previous commit, so remove it.
VARIANT is to be used in package definitions, and BUILD_VARIANT
for checking which VARIANT is currently being built. BUILD_VARIANT was
incorrectly used in a package definition, so we fix that.
Signed-off-by: Daniel F. Dickinson <dfdpublic@wildtechgarden.ca>
The RFC-1918 zones are automatically synthesized locally by bind
to avoid forwarding queries about them to root nameservers. As
a result, we can't easily replace them with rndc addzone on the
fly. We need this for DHCP integration.
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
Remove no longer used CONFIGURE_ARGS since the conversion to CMake.
Remove patented stuff. Red Hat Legal seems to have approved its
inclusion into Fedora without any flags disabling SBR. If it's good
enough for Red Hat it's good enough for OpenWrt.
Signed-off-by: Rosen Penev <rosenp@gmail.com>