automake update to 1.18 broke buildbots as we dont have makeinfo host tool
present, after investigation this was an automake regression that was fixed
in 1.18.1[1].
So, since 1.18.1 contains small number of fixes, update to it instead of
just backporting the single commit.
[1] https://cgit.git.savannah.gnu.org/cgit/automake.git/commit/?id=9b92240af4a8f7a3050c13adec367cf48e9ce063
Fixes: d7d0205940 ("tools/automake: update to 1.18")
Signed-off-by: Robert Marko <robimarko@gmail.com>
Update to the latest stable release
with the new API versions for binaries.
The temporary patching of shebangs is no longer necessary
since the whitespace check has been changed to a warning.
Part of a patch was upstreamed and therefore removed.
Manually adjusted patch:
- 000-relocatable.patch
- 101-do-not-require-files.patch
All other patches are automatically refreshed.
Link: https://lists.gnu.org/archive/html/autotools-announce/2025-05/msg00001.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The latest versions of gettext rely on several changes to gnulib
including both changes to modules and new modules
and some previously gettext specific code being moved to gnulib.
Backport these changes in order to allow updating gettext
while using the local gnulib copy of sources.
Add patch:
- 640-mem-hash-map.patch
- 645-next-prime.patch
- 646-hashcode-string.patch
- 647-hashkey-string.patch
- 650-package-version.patch
- 651-package-version-simplify.patch
- 652-package-version-simplify-further.patch
- 653-package-version-warning.patch
- 660-version-stamp.patch
- 689-vc-mtime.patch
- 755-clean-temp-hashkey.patch
- 795-string-desc-rename-functions.patch
- 796-vc-mtime-less-read.patch
- 797-vc-mtime-add-api.patch
- 798-vc-mtime-add-api.patch
- 799-vc-mtime-old-git.patch
- 900-str_startswith-module.patch
- 901-str_endswith-module.patch
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Move to the June 2025 update of the first 2025 stable branch
in order to better support updating gettext to the latest versions.
More instances of blocking the defining of functions
that use reallocarray() is needed for portability with macOS
as more similar functions have been added.
And one instance is removed as the function was removed.
Refer to a previous commit to explain the need for this.
Manually adjusted patch:
- 150-portable-tdestroy.patch
- 160-flag-reallocarray.patch
- 200-force-disable-after-configure.patch
Removed upstreamed patch:
- 500-acl-function-name.patch
All other patches are automatically refreshed.
Ref: 5ade7ee60 ("tools/gnulib: add macros to skip reallocarray() functions")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
There are multiple subdirectories for elfutils
and more than one is not dependent on another,
so enabling parallel building can save time
if multiple cores are available.
The change in build time for the package
is as much as 20% when cores are not in use by other jobs.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The original patch series partially added by commit
f97da2c61 ("tools/elfutils: add missing MIPS reloc support")
now has a v3 which has half of it's commits accepted.
To prepare for updating to the new release,
use the new series that includes backports.
Manually adjusted patch:
- 010-backport-mips-support-reloc.patch
Add patch:
- 011-backport-mips-support-strip.patch
- 012-backport-mips-support-readelf.patch
- 013-backport-mips-support-elflint.patch
- 014-backport-mips-support-stack.patch
- 015-backport-mips-support-regs.patch
Tested-by: Tony Ambardar <itugrok@yahoo.com>
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use the clean recipe during build, so that files already
generated by the bootstrapping within the release are removed
before the bootstrap script is run again.
Automake with modified rules must be ran
in order to generate a Makefile that does delete itself or libtool.
In order to enable rules for building what is removed,
maintainer mode is required for configuring.
Building from tracked sources only with maintainer mode
requires a lexical analyzer, so add dependency for bison.
Override an automake variable "am__CONFIG_DISTCLEAN_FILES"
in order to prevent removing config.status and other configure files
so that configure stage does not need to be ran twice.
The function obstack_printf() is not present on macOS,
so use the available gnulib module and their dependencies.
Many more modules from gnulib are now needed,
and some replacements of some functions must be skipped
to prevent build errors at link time.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
These patches will be present in version 0.192 release.
Include them before the update
to support changes before updating
and in order to have a more organized git history.
Manually refreshed patch:
- 110-objects-manifest.patch
Add patch:
- 095-src-unused-variable.patch
- 096-lib-config_h.patch
- 097-libcpu-config_h.patch
- 098-libdw-maintainer-clean.patch
- 099-remove-unlocked-stdio.patch
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
In order to solve the problem of the possibility that
the "stack" binary is incorrectly included as a header
while the compiler looks for the standard C++ header "stack",
a workaround forcing a dependency between building "stack"
and the C++ program was introduced.
This upstream fix uses the compiler "-iquote" option
in order to avoid looking for standard headers
in the current working directory
and blocks the default inclusion of "-I ."
to the compiler flags.
The upstream fix happens to be incomplete,
so add an extra patch to fix an additional instance
and then remove the workaround.
Also, adjust the way DEFAULT_INCLUDES is overridden
in the build Makefile by using the "-iquote" option
in the same manner in order to remove all instances
of the default inclusion for the current directory.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
For the building of some packages, it is helpful
to completely clean the packaged release copy of the source,
however this usually deletes libtool if used,
otherwise causing the need to run the bootstrap script twice.
Not deleting libtool allows compilation to continue directly
after cleaning pre-generated files in the package distribution.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The install stage of util-linux uses the install utility
with GNU options which is provided to macOS by coreutils.
Before, Make coincidentally built them in the right order,
this makes the prerequisite explicit.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The install stage of findutils uses the install utility
with GNU options which is provided to macOS by coreutils.
Before, Make coincidentally built them in the right order,
this makes the prerequisite explicit.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The version of the rmdir utility in macOS is POSIX-only
while elfutils uses the GNU extended options while building.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Include the coreutils utilities required for macOS
and other non-GNU friendly OSs to products like the SDK.
This also allows manually building coreutils on Linux
without having to manually edit this Makefile.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use the rmdir utility provided by GNU coreutils for macOS
in order to be able to use the option "--ignore-fail-on-non-empty".
Some other tools such as elfutils use this while building.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Before building, symlinks are made from existing utilities
on the host machine, because they are necessary before
coreutils can be built.
Instead of leaving these utilities as symlinks,
replace them with the copy provided by the coreutils build
in order to increase version control for these utilities
and to have a real copy for targets like the SDK.
The utilities required before building and provided by coreutils are
cp, install, realpath, seq, and stat.
Let all of the utilities be installed with the "g" prefix,
then, existing symlinks named without the "g" prefix are safely replaced
with a new symlink using the coreutils version of `ln` just built
in order to prevent an inconsistent state of the file
since these utilities must always be available.
While at it, sort the list alphabetically.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
GNU coreutils is a unique case where we require
some of the utilities on the host machine
before anything is built.
The prerequisite is handled by symlinks to the host binaries
in the staging directory that are installed
by the build system and that are expected to remain
as long as the corresponding stampfile exists.
Because the binaries built by coreutils
will replace the symlinks, the uninstall target
will actually delete the symlinks
long before the build finishes whenever it is ran.
This can cause the utilities to be temporarily missing
from the controlled part of the shell's PATH,
so disable the removal of the coreutils utilities.
The appropriate way to clear all of the programs and links
would be `make dirclean`.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use the clean recipe during build, so that files already
generated by the bootstrapping within the release are removed
before the bootstrap script is run again.
Automake with modified rules must be ran
in order to generate a Makefile that does not delete itself.
Override an automake variable "am__CONFIG_DISTCLEAN_FILES"
in order to prevent removing config.status and other configure files
so that configure stage does not need to be ran twice.
Redefine MAINTAINERCLEANFILES with Make functions
to avoid deleting the targets of gettext and gperf rules.
In order to prevent an inconsistent state of `install`
since this utility must always be available as a prerequisite,
do not allow it to be removed.
Instead of preventing the removal of the config.h header,
the Makefile supports regenerating it quickly.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
This was previously not possible because
part of the source code for coreutils in the form of
extra gnulib modules was missing from the release distribution.
Now that the local modules from coreutils source
is included in coreutils releases,
the bootstrap script can be ran without skipping
automake in the autoreconf stage after importing modules
by using fake paths to each autotools program,
and instead use the real paths to our modified autotools.
Because we do not require tools for building documentation,
continue to fake the paths to autopoint and gtkdocize.
Remove the skipping of imports of some source files
which is no longer necessary.
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Update to the next stable release.
Prevent the need for gperf to build
gperf based headers due to new gnulib versions
by skipping replacement of gperf files.
Without Automake, there are some
existing macro conflicts
due to the new version of gnulib,
causing build errors with some source files,
so skip those file replacements.
All patches are automatically refreshed.
Link: https://lists.gnu.org/archive/html/coreutils/2025-01/msg00049.html
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The bootstrap configuration is set to require
gettext and gperf for regenerating documentation and headers.
However, these steps are skipped in favor
of not building documentation and using existing headers.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Automake previously makes rules for the target maintainer-clean
to remove both the contents of MAINTAINERCLEANFILES and BUILT_SOURCES.
In order to have finer control over what is removed,
let there only be a rule for deleting MAINTAINERCLEANFILES,
and set MAINTAINERCLEANFILES to a default value of BUILT_SOURCES
if only conditional or missing, and append BUILT_SOURCES if user-defined.
In order to maintain conditional values for MAINTAINERCLEANFILES
while keeping a default value, change the behavior of automake
to output unconditional definitions before conditions.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
There is only one subdirectory for libtool that actually compiles,
so enabling parallel building has no significant beneficial effects.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Use the clean recipe during build, so that files already
generated by the bootstrapping within the release are removed
before the bootstrap script is run again.
Override an automake variable "am__CONFIG_DISTCLEAN_FILES"
and related variables for their dependencies
in order to prevent removing config.status and other configure files
so that configure stage does not need to be ran twice.
Automake with modified rules must be ran
in order to generate a Makefile that does not delete itself.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
For the building of some packages, it is sometimes helpful
to completely clean the packaged release copy of the source,
however this usually both requires and deletes the Makefile,
causing the need to run the configure stage twice.
Not deleting the Makefile allows compilation to continue directly
after cleaning pre-generated files in the package distribution.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Snapshot downloads, whether from GNU cgit or GNU gitweb,
are becoming more unreliable and unstable.
Use the GNU gnulib git repository server for downloads
because GNU has disabled cgit server snapshots due to performance issues.
Other possible options include GNU gitweb snapshot or a git bundle download
but these methods either may also have similar performance issues
or require additions to the build system to handle the method
beyond the previous commit.
In case snapshots are to be used again for build tools in the future,
the previous commit reduces the tarball generation attempts
for the original source of snapshots in order to reduce server impact.
A conversation regarding server performance issues and alternatives is linked.
Link: https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00124.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The python implementation of gnulib-tool
uses a hidden file as the independent main function.
A copy with glob ('*') does not include hidden files
at the top level directory, so use whole directory copy
instead and remove the patch for a non-hidden python file.
Ensure the directory does not already exist
by attempting uninstall first to remove it
and by not using "install" to create a directory.
Rename the clean target to uninstall, as it handles
the staging directory and not the build directory.
Removed:
- 021-python-main.patch
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Bump to the next stable branch with the May 2025 update.
Add a patch to compensate for gnulib-tool being further split up
into independent shell and python implementations
by using a non-hidden version of the main.py file.
Add a patch for the python implementation of gnulib-tool
in order to ignore the required version of autoconf in configure.ac
being lower than the required version of autoconf for gnulib
if the version that is being run exceeds the required version for both,
and adjust existing autoconf version shell script patch to new filename.
Backport a patch for a change in function naming convention
for forward compatibility with tool releases after this stable branch.
Added:
- 020-python-version.patch
- 021-python-main.patch
- 500-acl-function-name.patch
Manually Adjusted:
- 010-autoconf-version.patch
- 160-flag-reallocarray.patch
Existing patches are automatically refreshed.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Update to the latest stable release.
This is the automake API that newer packages
such as libtool 2.5.4 is bootstrapped with,
and is required for bootstrapping it again.
Manually Adjusted:
- 000-relocatable.patch
All other patches are automatically refreshed.
Link: https://lists.gnu.org/archive/html/autotools-announce/2024-07/msg00000.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The latest automake version 1.17 includes a restriction against whitespace
for the configure variable $PERL, which is set to "/usr/bin/env perl"
for portability reasons with products like the SDK.
Instead of waiting until the next version of automake is released
for this error to be converted to a warning,
set the shebang of automake and aclocal manually with a patch.
In past git history, these lines have been patched before,
but only to remove the "-w" flag in favor of setting global warnings
in the script itself so that env does not strip the option.
The other purposes of Perl during building can use
the static staging directory path without any limitations.
Also, the configure variable "am_cv_prog_PERL_ithreads"
for the detection of Perl threads support
has been removed since 2013 in favor of dynamic runtime detection.
Remove our manual setting of this variable value as it has no effect.
Ref: 1ef07eee4 ("automake: forcibly disable perl ithreads support")
Ref: 182626687 ("ithreads: use runtime (not configure time) detection of perl threads") # automake.git
Ref: f6c581cc3 ("automake: portability fixes")
Ref: 87f3365d9 ("Revert "tools/automake: bump to 1.17"")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Add a patch in order to remove an obsolete workaround
that is currently causing issues on some macOS systems.
Add patch:
- 000-getopt-prototype.patch
Tested-by: Georgi Valkov <gvalkov@gmail.com> # macOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
Instead of editing the SUBDIRS variable with a patch,
it can be overriden at the end of the command line when invoking Make.
Also, remove use of autoreconf, as this patch
was the only one that made it necessary.
Removed:
- 001-no_doc.patch
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
The remaining changes in this patch to the configure script
has no effect at all since autoreconf is used with bc
and the recent update to bc removed the need to patch
the original set of changes in order to fix building.
Remove the patch.
Removed:
- 002-fix-libmath.patch
Fixes: abd424c3e ("tools/bc: update to 1.08.1")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko <robimarko@gmail.com>
075cdc0 iptime-crc32: add support for ipTIME AX3000Q
48ababa iptime-crc32: add support for ipTIME AX3000SM
f29de74 iptime-crc32: Add device support for ipTIME AX6000M
Link: https://github.com/openwrt/openwrt/pull/19520
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Update to latest version. All patches are automatically refreshed.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19341
Signed-off-by: Nick Hainke <vincent@systemli.org>
Add erofs-utils to create an EROFS-based rootfs for image generation.
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Link: https://github.com/openwrt/openwrt/pull/19244
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This backports upstream commit 05a895b3f996[1] to fix
compilation when using musl on the host machine.
[1]: 05a895b3f9
Signed-off-by: Rany Hany <rany_hany@riseup.net>
Link: https://github.com/openwrt/openwrt/pull/19285
Signed-off-by: Robert Marko <robimarko@gmail.com>
Update to the latest version.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19143
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This new version introduced parallel file reading, which will
greatly improve the IO performance. OpenWrt only uses GZIP
and XZ compression, hence the LZ4, LZO and ZSTD compression
algorithms were explicitly disabled.
Upstreamed patches:
001-xz_wrapper-support-multiple-lzma-configuration-optio.patch[1]
002-xz_wrapper-make-new-OpenWrt-extended-options-non-def.patch[2]
Release Notes:
https://github.com/plougher/squashfs-tools/releases/tag/4.7
[1] dcb976fe4e
[2] 5fb9fdfb87
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19019
Signed-off-by: Nick Hainke <vincent@systemli.org>
There are no patches that need to be refreshed.
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19020
Signed-off-by: Nick Hainke <vincent@systemli.org>
It seems that MOLD_MOSTLY_STATIC was required before to avoid packaging
every single dependency. But nowadays, mold uses whatever dependency it
can find and builds its own if it cannot.
Saves a small amount of compilation time.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18881
Signed-off-by: Robert Marko <robimarko@gmail.com>
It's using cmake.mk so it needs CMake to build.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18880
Signed-off-by: Robert Marko <robimarko@gmail.com>
Newer GCC and Clang default to C++17, which does not support register.
Just remove it.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18859
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
New m4 release was made after a long time, for us most importantly
it ships newer gnulib so it compiles against GCC15 without forcing GNU17.
* Noteworthy changes in release 1.4.20 (2025-05-10) [stable]
** Fix a bug in the `eval' builtin where it does not suppress warnings
about division by zero that occurs within a more complex expression on
the right hand side of || or && (present since short-circuiting was
introduced in 1.4.8b).
** The `syscmd' and `esyscmd' builtins no longer mishandle a command line
starting with `-' or `+' (present since "the beginning").
** Fix regression introduced in 1.4.19 where trace output (such as with
`debugmode(t)') could read invalid memory when tracing a series of
pushed macros that are popped during argument collection.
** Fix regression introduced in 1.4.19 where the `format' builtin
inadvertently took on locale-dependent parsing and output of floating
point numbers as a side-effect of introducing message translations.
While it would be nice for m4 to be fully locale-aware, such a behavior
change belongs in a major version release such as 1.6, and not a minor
release.
** Fix regression introduced in 1.4.11 where the experimental `changeword'
builtin could cause a crash if given a regex that does not match all
one-byte prefixes of valid longer matches. As a reminder, `changeword'
is not recommended for production use, and will likely not be present
in the next major version release.
** On non-Unix platforms where binary files differ from text, loading a
frozen file (which should be cross-platform compatible) now correctly
uses binary mode.
** Several documentation improvements to the manual.
** Update to comply with newer C standards, and inherit portability
improvements from gnulib.
Link: https://github.com/openwrt/openwrt/pull/18821
Signed-off-by: Robert Marko <robimarko@gmail.com>
Update b43-tools to the latest upstream version to fix a
compilation error with C23:
util.h:25:15: error: 'bool' cannot be defined via 'typedef'
25 | typedef _Bool bool;
| ^~~~
Changelog:
c6fc53f replace custom bool typedef with <stdbool.h>
dadf30c fix format warning in compilation
2fe10ea b43-fwdump: Fix forwarding of arguments to disassembler
Link: https://github.com/openwrt/openwrt/pull/18708
Signed-off-by: Nick Hainke <vincent@systemli.org>
Update libtool to the current stable 2.5.4 release.
130-trailingslash.patch was upstream, 100 and 110 patches were
manually refreshed while rest was automatically refreshed via quilt.
Link: https://github.com/openwrt/openwrt/pull/18655
Signed-off-by: Robert Marko <robimarko@gmail.com>
13767a9 make_ext4fs: add missing space after LDFLAGS
Signed-off-by: Konstantin Demin <rockdrilla@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18682
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
mold has seen a bunch of bugfixes and improvements since 2.33.0, so
lets update it.
Link: https://github.com/openwrt/openwrt/pull/18575
Signed-off-by: Robert Marko <robimarko@gmail.com>
Prevent accidentally including an old version of uuid.h, which causes
the build to fail because of missing definitions.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
5.8.1 (2025-04-03)
* Multithreaded .xz decoder (lzma_stream_decoder_mt()):
- Fix a bug that could at least result in a crash with
invalid input. (CVE-2025-31115)
- Fix a performance bug: Only one thread was used if the whole
input file was provided at once to lzma_code(), the output
buffer was big enough, timeout was disabled, and LZMA_FINISH
was used. There are no bug reports about this, thus it's
possible that no real-world application was affected.
* Avoid <stdalign.h> even with C11/C17 compilers. This fixes the
build with Oracle Developer Studio 12.6 on Solaris 10 when the
compiler is in C11 mode (the header doesn't exist).
* Autotools: Restore compatibility with GNU make versions older
than 4.0 by creating the package using GNU gettext 0.23.1
infrastructure instead of 0.24.
* Update Croatian translation.
Link: https://github.com/openwrt/openwrt/pull/18558
Signed-off-by: Robert Marko <robimarko@gmail.com>
drop upstream patches
$ git log --no-merges --oneline v2.7.6..v2.8
48ceda8 Version 2.8
b3d0c93 Regression in commit abe92e8010ab affecting MariaDB tests
29fced6 Count traditional diff pattern lines correctly
b5d2124 patch: fix --no-backup-if-mismatch regression
86ac7e2 Fix dodgy assert with side-effects in insert_cached_dirfd
7d87652 Declare an expected test failure on Haiku.
86baf97 build: update gnulib submodule to latest
1ba2c1b Fix two test failures on Haiku.
1da6bf8 Check for newlines only when creating a file name
30ee610 Gnulib renamed some modules
6dbc381 maint: update bootstrap from gnulib
05ac924 build: update gnulib submodule to latest
95e0092 maint: make update-copyright
5bac274 Set --no-backup-if-mismatch when in --posix mode
910fecf Add missing feature tests to the test suite
be8b3c6 Disable release-prep
c61485b Fix "make release" to handle alpha releases
499916f Add announce-gen module for "make release"
adb1ebc Pacify gcc -fsanitize=address
6bdae94 Fix memory leak when malformed unidiff patch
72a146c Port to clang address sanitizer
e2e6820 Refactor argc+argv processing
606c091 Omit needless get_some_switches code
ee3cc40 Revert "Remove obsolete require_gnu_diff function"
8cae4fc Remove obsolete require_gnu_diff function
164b529 savebuf can return a null pointer
91c1e4f Spelling fixes
a03e1ba Port other reject-format test to non-GNU diff
9ba5eb0 Don’t be fooled by NUL bytes in diff directives
79dd5e7 Don’t be fooled by "\000" in file name
8492a6a Port to quasi-GNU diff
f6f2c6f In previous patch, make w_q static
0525681 Pacify -Wunterminated-string-initialization
301411d Spelling fixes
4615206 Remove double semicolon
923e0ef Prefer angle bracket headers
5d17ca0 Update more old copyright notices
5f4edd3 Simplify memory allocation of files to delete
802511c Report patch read errors more immediately
a93b50d Port fflush usage to OpenBSD 7.5
55e224b Update old copyright notices
33a7fd8 Fix gl_gcc_warnings typo in ‘configure’
2313b37 build: update gnulib submodule to latest
37fec39 Remove some dependencies no longer needed
cc87173 Update NEWS as per recent changes
7887622 Update POSIX citations
18f4dd6 Use “Gruenbacher” in international contexts
638675c Adjust libs to match recent Gnulib
53400a1 Pacify clang -Wbitwise-conditional-parentheses
e8e1bcb Remove “support” for nested critical sections
b963510 Simplify critical section code in util fns
85949fb Shrink critical sections
448ff9b Defer signals by hand with sigatomic_t
b95a603 output_file_later avoid a malloc+free pair
2663228 Defend against closed stdin/stdout/stderr
fc77964 Stop using Gnulib ‘execute’ module
470699c Move defer_signals up
f696e4e Make sigs, NUM_SIGS local
4d3a4ab Rename block_signals
b3bb925 Trade a bit of space for time in parse_c_string
070d859 Allocate first patchbuf statically
f46a90f Use bigger buffer size by default
2e64cfd Preinitialize fatal_act.sa_hander
45de0d9 Prefer EXIT_SUCCESS etc. to literal integers
82c4940 Fix some signal handling races
eceea61 Fix --set-utc TZ setting
9c55d3f Improve logic for when rename removes source
61c72f0 Fix signal race when renaming file
705c9bc Simplify traverse_another_path via last_component
77f21a6 Stop using Gnulib dirname module
fe8ffd9 Fix implausible overflow when reading symlinks
5e84bda Access checks should use effective, not real
8d4ca49 Don’t assume AT_FDCWD != -1
fe5d4a0 Copy input to output attributes via fd if possible
ca4c431 Simplify timestamp epoch checking
0ad4347 Check for ftello failures
c49a16d Remove format_linenum
22efdee Fix "with multiple words" line number
5a70a1b Drop Plan B
c0d465f Prefer ximemdup0 to xmemdup0
b91aab2 Refactor ifetch API
55c8a5c Do not attempt huge I/Os
e0e121e Use outfd when setting file attributes
241e57e Don’t assume Linux-like S_IFREG
0f8c628 Use STDOUT_FILENO etc
f2c3676 Fix unlikely glitch with ed diffs
cec6407 Use fds to copy attrs in create_backup_copy
6b7b01b Be more careful about (time_t) -1
0433553 X == -1 → X < 0
0a66dee Let set_file_attributes use fds not names
36ff2c9 Port to narrow unsigned uid_t
3951496 Check for output errors more systematically
6429630 Report input error right away
03cb187 Simplify EOF testing
cc7cde7 Prefer other types to ‘int’
4c6650b Detect unlikely integer overflow in size calcs
abe92e8 Prefer idx_t, ptrdiff_t to lin
30449e2 Fix compatibility issue with blanks in patches
9228a8c pch_swap return type cleanup
c1c438d Fix unlikely int overflow in hunk counts
5d3f41f Use char for char in plan_a
fb056f2 Cache cwd_is_root dev, ino
84b5f34 Avoid ‘unsigned’ in safe.c
d2e113e Simplify get_sha1
f73718b Avoid casts in patch.c
79eef3e Prefer idx_t in util.c
11588d0 Prefer idx_t in pch.c
e16037d Prefer idx_t in patch.c
388926f Prefer idx_t in list.h
3582fdb Prefer idx_t in inp.c
4a47c00 build: update gnulib submodule to latest
4f8c4b8 Don’t limit strip counts etc. to INT_MAX
0a810b6 Fix unlikely integer overflows in patch.c
bac3b6d Fix unlikely integer overflows in pch.c
8fb784b Fix unlikely integer overflows in inp.c
e10f3ca Promote minmax.h to common.h
57e2165 Avoid some memory allocation by not using ‘const’
eb18b39 Remove unnecessary char * casts in inp.c
d60cb72 Pacify gcc -Wunused-parameter when !USE_XATTR
05ef886 Pacify gcc -Wunused-parameter when !USE_XATTR
1f8d192 maint: stop using alloca
ba92722 Don’t assume O_RDONLY == 0
0f98e03 Avoid syscall when nested signal block
1235ccc Add signal comment
43ee674 build: update gnulib submodule to latest
e381947 Update NEWS, README-prereq
2c2a83b Omit _Noreturn when easy
a13c2ea Replace __attribute__ with attribute.h
6eb2d13 Switch from ctype.h to c-ctype.h
d1a6847 Simplify warning configuration
d6631b3 Prefer ATTRIBUTE_* to _GL_ATTRIBUTE_*
bc6899d Pacify gcc -Wno-unused-parameter
da25985 Improve ‘git diff’ output if desired
248ef13 Prefer strerror to perror
6cb321a A bit more long-string fixing
47bc09d Prefer nullptr to NULL
7608746 More fixing of printing of very long strings
323da0d Don’t assume string sizes fit in int when printing
53d1014 Avoid fprintf INT_MAX overflow when merging
59681c8 Avoid sprintf INT_MAX overflow
4278b91 Reject output file names containing '\n'
34b45bc Update man page a bit.
d18c05d Update copyright notices
af828e5 Fix some races involving signals
b3a6c95 Don’t attempt to remove files we didn’t create
9abc949 Omit goto in try_safe_open
90e62d5 Pacify clang re obsolete O_CREAT test
2b87c1e Allow nested block/unblock of signals
7aa1c3b Adjust to new Gnulib bootstrap post imports
99c0c0b maint: remove generated file lib/Makefile.am
1c087d6 Rely on Gnulib inttypes module
7214f8d Update main locals more consistently
6785b2c Use struct outfile * in function args
72d7ed0 Refactor temp names into struct
abf6fb1 Simplify by using Gnulib sigaction
d3816ac Avoid unnecessary freeing in output_files
346d3ac Clean up cleanup
ff2317b Port better to GNU/Hurd
c2d9792 Don’t say empty backups are unreadable
8c27a03 Spelling fixes
d46d729 Change manywarnings usage to be more like coreutils
924698b Pacify clang, which dislikes n + "y"
8939519 Pacify -Wstrict-overflow in pch.c
531cc2b Pacify -Wsuggest-attribute=format in util.c
ff13fea Port to non-VLA C compilers
3d5c0d1 Rename vars to pacify gcc -Wshadow
56788ce Stop including stdbool.h
c10da77 Recommend 64-bit time_t on 32-bit platforms
1e21767 Remove pch_sha1
39005cf Move skip_spaces
755712d Remove pch_timestamp function
04f0eeb Prefer extern inline to static inline for list.h
f06c123 maint: pacify gcc 14 -Wcast-align
aab6e7b maint: pacify -Wanalyzer-null-argument
d1d32c9 maint: work around GCC bug 109839
7575694 maint: pacify gcc -Wmissing-variable-declarations
8f78b09 maint: pacify gcc -Winline
bb841fd maint: port _FORTIFY_SOURCE to Ubuntu
4887683 maint: assume STDC_HEADERS
5b8ecde maint: spruce up our .m4 files a bit
009a424 maint: omit obsolete macro calls
299167f maint: simplify .gitignore
3ec44a4 build: update gnulib submodule to latest
68cb529 build: update gnulib submodule to latest
f144b35 build: Enable the 'subdir-objects' Automake option.
faafc79 build: update gnulib submodule to latest
c835ecc Pass the correct stat to backup files
24f81be maint: modernize README-{hacking,prereq}
7623b2d Fix test for presence of BASH_LINENO[0]
0993940 gnulib: update to latest
78ed9de Add missing-section tests to context-format test case
76e7758 Fix failed assertion 'outstate->after_newline'
15b158d Avoid invalid memory access in context format diffs
dce4683 Don't follow symlinks unless --follow-symlinks is given
61d7788 Don't crash when RLIMIT_NOFILE is set to RLIM_INFINITY
b7b028a Abort when cleaning up fails
a5b442c Skip "ed" test when the ed utility is not installed
2b584ae Improve support for memory leak detection
9c98635 Fix swapping fake lines in pch_swap
ff81775 Make the (debug & 2) output more useful
369dccc Don't leak temporary file on failed multi-file ed-style patch
1959988 Don't leak temporary file on failed ed-style patch
f322a7e Request 'alloca' module from gnulib.
458ac51 Fix 'ed-style' test failure.
1e9104c Fix check of return value of fwrite().
ae81be0 maint: avoid warnings from GCC8
2a32bf0 Minor cleanups in do_ed_script
ff1d3a6 Use gnulib execute module
3fcd042 Invoke ed directly instead of using the shell
123eaff Fix arbitrary command execution in ed-style patches (CVE-2018-1000156)
b5a91a0 Allow input files to be missing for ed-style patches
f290f48 Fix segfault with mangled rename patch
074e239 Test suite: fix Korn shell incompatibility
f6bc5b1 Test suite compatibility fixes
3bbebbb Avoid set_file_attributes sign conversion warnings
Signed-off-by: Russell Senior <russell@personaltelco.net>
Link: https://github.com/openwrt/openwrt/pull/18479
Signed-off-by: Robert Marko <robimarko@gmail.com>
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks m4 compilation.
This looks like a gnulib issue, so until that is updated/fixed
lets simply set C language version back to GNU17.
[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
Link: https://github.com/openwrt/openwrt/pull/18506
Signed-off-by: Robert Marko <robimarko@gmail.com>
This reverts commit 21cece29e9.
Unfortunately, LibreSSL 4.0 causes the host APK tools to segfault under
fakeroot when .apk is being generated and it is completely breaking
building under Debian and Ubuntu hosts.
So, until this is fixed lets revert the update.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Stable version. Odd versions are betas.
Added static patch to rename some ecdsa symbols that conflict with
u-boot's mkimage.
These symbols are not exported by default but because OpenWrt uses a
static libressl, they are present and conflict with mkimage's libecdsa.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16901
Signed-off-by: Nick Hainke <vincent@systemli.org>
This reverts commit 160e0b7ad8.
It seems that this was not tested on MacOS and will fail to compile,
so revert it until a proper update is done.
Fixes: 160e0b7ad8 ("tools/coreutils: update to 9.6")
Signed-off-by: Robert Marko <robimarko@gmail.com>
Currently macOS builds are failing due to hash mismatch. Lets fix it by
using proper hash:
Here are the SHA1 and SHA256 checksums:
File: coreutils-9.6.tar.gz
SHA1 sum: 1da82e96486e0eedbd5257c8190f2cf9fcb71c2e
SHA256 sum: 2bec616375002c92c1ed5ead32a092b174fe44c14bc736d32e5961053b821d84
References: https://lists.gnu.org/archive/html/coreutils/2025-01/msg00049.html
Fixes: 160e0b7ad8 ("tools/coreutils: update to 9.6")
Reported-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Fix the 000-relocatable.patch broken by e0f5ce9. The patch segment about
detecting STAGING_DIR_HOST was erroneously removed, as upstream had
deleted the previous bin/autoconf.as and had implemented it in perl
in bin/autoconf.in. Re-create the previous functionality in that.
Fixes: #18059
Fixes: e0f5ce974 ("tools/autoconf: bump to 2.72")
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/18073
Signed-off-by: Robert Marko <robimarko@gmail.com>
Switch to the git repository source so that we can use zstd
compression algorithm to create smaller package tarball. This
patch also corrected the license file name[1].
[1] 352cb28d12
Suggested-by: Christian Marangi <ansuelsmth@gmail.com>
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/17880
Signed-off-by: Robert Marko <robimarko@gmail.com>
This reverts commit b930ce3bf7.
Bump to 1.17 broke SDK portability as it partially reverted commit
("automake: portability fixes") which made Perl PATH "/usr/bin/env perl"
as that is portable, as otherwise automake will set the absolute path to
the Perl binary and this will then fail when using SDK on a different
system as that PATH is not present.
So, since fixing this would require backport of upstream commit
("configure: make perl path with whitespace a warning, not error.") which
requires autoreconf to be done in order for configure to get regenerated
we cannot do it because at that time we do not have automake built.
So, for now revert the bump until upstream makes a new release.
Signed-off-by: Robert Marko <robimarko@gmail.com>
Changelog included in package.
Signed-off-by: Jack Sun <sunjiazheng321521@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17826
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
refresh patch:
001-no_doc.patch
002-fix-libmath.patch
Changelog included in package.
Signed-off-by: Jack Sun <sunjiazheng321521@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17828
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The latest upstream version of Yafut builds on macOS and other
POSIX-compatible systems. Drop the custom OpenWRT patch applying
non-Linux compatibility fixes to the tool's source code.
Signed-off-by: Michał Kępień <openwrt@kempniu.pl>
Link: https://github.com/openwrt/openwrt/pull/18014
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The ccache build relies on doctest, which
is useless and can be disabled.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/17700
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
The ccache build requires xxhash, which is download from
the Internet. So add host-build package for xxhash.
Fixes: #16851
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
[ use git source proto ]
Link: https://github.com/openwrt/openwrt/pull/17700
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Update to include the latest upstream improvements and bugfixes, including
pahole now always encoding reproducibly.
Drop the local patch:
100-reproducible-builds.patch
Release Notes: https://lore.kernel.org/bpf/Z4-TDt42dTKZvCo6@x1/
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/17705
Signed-off-by: Robert Marko <robimarko@gmail.com>