Start building sub package that provide dynamic modules.
Each module needs to be loaded using load_modules.
Refer to nginx documentation on how to use this.
This should result in lower memory usage as only used module are loaded.
Also fix the uci-default scripts to add the required ubus module for
luci module.
-fvisibility=hidden is needed to be dropped to correctly support loading
dynamic modules.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add support for loading dynamic module in uci template by adding .module
file in module.d directory.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
opkg runs uci-defaults if a package installs one, in acme-common's case
that's identical to postinst.
prerm shouldn't be run a image builder, so it's unnecessary to check
IPKG_INSTROOT
Signed-off-by: Glen Huang <me@glenhuang.com>
This fixes "permission denied" error when access files as a normal user.
Reported-by: Anya Lin <hukk1996@gmail.com>
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Do not build shared libraries to avoid host programs to dynamic link
libraries at non-standard paths.
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
Ruby uses extensions (.so files) that might also depend on other
libraries. When the linker builds an executable, it will refer to the
path it found the library, including those in the stagging dir. However,
when it links a shared library (like ruby exts), it will let that
dependency to be resolved at runtime.
During host and target build, ruby build script runs ruby scripts. When
it loads a ext that depends on another library, it will, by default,
look for the system libraries to satisfy that, breaking the build when
it fails. Setting LD_LIBRARY_PATH to the stagging lib dir is a valid
workaround.
Ruby can also be built statically linking all exts into ruby executable.
That will make the linker point to the stagging library path, fixing the
issue. It was used in the past but, at some point, ruby broke it. Now it
is working as expected.
Closes#20839
While at it, clean up excluded extensions not used by host ruby.
Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
This updates the python3-find-stdlib-depends.sh script for these
changes:
* The gdbm (dbm.gnu) package was merged into the dbm package in
78f6c2c5ad.
* The uuid module was split into a separate package in
4e05541782.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
The root user is usually the user that clients ssh into with, so in most
cases its authorized_keys determines what clients are allowed to ssh
into this device. Without preserving this file, they could potentially
be locked out after upgrading.
Signed-off-by: Glen Huang <me@glenhuang.com>
Without these charon will warn with messages like:
plugin 'kdf': failed to load - kdf_plugin_create not found and no plugin file available
plugin 'drbg': failed to load - drbg_plugin_create not found and no plugin file available
Signed-off-by: Glen Huang <me@glenhuang.com>
* Rename PYTHON3_PKG_SETUP_VARS to PYTHON3_PKG_BUILD_VARS, and
PYTHON3_PKG_SETUP_DIR to PYTHON3_PKG_BUILD_PATH
The new variable names emphasize that these values apply to the new
build process.
* Remove PYTHON3_PKG_SETUP_ARGS set to the empty string
These were set to override the default arguments in the old build
process and not applicable to the new build process.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This updates the build options for these packages to work with the
pyproject.toml-based build process, and removes
PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This removes the changes made in
61f202c017 and adds actual support for
pyproject.toml-based (PEP 517) builds of Python packages.
Packages can force the use of the old build process by setting
PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1; this should only be a temporary
workaround until the package can be updated/fixed to use the new build
process.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This package requires poetry to build using the new Python build process
but poetry is not available, so force the old build process for now.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This package isn't compatible with the new Python build process yet, so
force the old build process for now.
This also adds a call to Py3Build/Install, for when the new build
process can be used.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This sets build options and adds a call to Py3Build/Install to prepare
for the new Python build process.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
These packages will need adjustments to work with pyproject.toml-based
builds, so set PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1 to force the old
build process (when pyproject.toml-based builds are in place) for now.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Includes fix for CVE-2022-39348 (NameVirtualHost Host header injection).
This adds a build dependency that will be required for
pyproject.toml-based builds.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds a build dependency that will be required for
pyproject.toml-based builds.
This also removes the run-time dependency on python3-attrs; there is no
indication this package is required.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
These will be required for pyproject.toml-based builds.
This also includes a patch to unpin the version requirement for
setuptools, as the current in-repo version of setuptools does not
fulfill this requirement, and there does not appear to be any specific
reason why this version requirement is necessary.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This adds a build dependency that will be required for
pyproject.toml-based builds.
This also marks the package as BROKEN (for now) as it requires proper
support for pyproject.toml-based builds.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
setuptools-scm is a declared build dependency[1], and pkgconfig will
allow setup to find the required libraries, replacing the need to set
environment variables.
[1]: https://github.com/borgbackup/borg/blob/1.2.4/setup.py#L313
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
From the README:
pkgconfig is a Python module to interface with the pkg-config command
line tool for Python 3.3+.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Currently, Build/InstallDev installs libxxhash.pc.in, which is the
template for libxxhash.pc and does not contain the correct information.
(pkg-config also does not recognize this file name.)
This uses PKG_INSTALL:=1 so that libxxhash.pc is generated (by 'make
install').
This also removes the need to override Build/Prepare by setting the
correct command in PKG_UNPACK.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Without nonce, charon won't start, so it's not an optional plugin. I
asked one of the strongSwan maintainers (ecdsa), and he confirmed this:
> It definitely has to be enabled unconditionally. The only other
> provider for the NONCE_GEN plugin feature is in charon-tkm, so
> completely irrelevant on OpenWrt
Signed-off-by: Glen Huang <me@glenhuang.com>