Commit graph

10 commits

Author SHA1 Message Date
Christian Marangi
78a8cfb577
tools: gnulib: fix broken install of .m4 files
Some checks failed
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Makefile foreach works only on parsing the Makefile and in this specific
case only works if the package is already extracted and file actually
exist.

On scenario where the package still has to be built, foreach doesn't
find any file causing Host/Install to not install any .m4 file.

To handle this, use a shell for loop that scan files in the
Host/install.

Fixes: c820f097e0 ("tools: gnulib: install .m4 file with gl_ prefix")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-04 16:35:40 +01:00
Christian Marangi
c820f097e0
tools: gnulib: install .m4 file with gl_ prefix
Some checks are pending
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Waiting to run
It was found that there is currently a conflict for the cond.m4 that
is also shipped by automake, making the gnulib one having priority causing
problem with finding AM_CONDITIONAL macro.

To handle this, install gnulib .m4 file with a gl_ prefix to the
filename.

This make sure gnulib .m4 file won't have name conflict with automake
.m4 default files permitting correct autoreconf run of any affected
package by this.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-12-03 18:44:42 +01:00
Michael Pratt
d19f8bc199 tools/gnulib: update to branch stable-202501
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>
2025-07-26 14:38:09 +02:00
Michael Pratt
222a1bed79 tools/gnulib: use git archive as download source
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>
2025-07-26 14:38:08 +02:00
Michael Pratt
774ce21c66 tools/gnulib: use exact directory copy for install
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>
2025-07-26 14:38:08 +02:00
Michael Pratt
b07b8c8b43 tools/gnulib: update to branch stable-202407
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>
2025-07-26 14:38:07 +02:00
Tony Ambardar
4de8c0e1d8 tools/gnulib: update to branch stable-202401
Patches refreshed automatically.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Felix Fietkau
5331e85d96 elfutils: fix build and enable on non-linux systems
Use gnulib for compatibility

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-10-29 15:56:46 +01:00
Michael Pratt
e4977f614f
tools/missing-macros: prefer macros provided by gnulib source
These 7 macro files are provided by gnulib,
so we can now replace these statically stored copies
with the latest copy from GNU sources.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-05-04 06:07:27 +02:00
Michael Pratt
fe33d5ba13
tools: add gnulib source
By having a local copy of gnulib, we can:
import the latest macro fixes into any package,
get rid of some statically stored macros that were otherwise missing,
bootstrap GNU tools with the latest relevant source
without having to wait for a release or rely on git submodules,
and possibly more...

The patch assists in bootstrapping by ignoring
the building of po files using gettext,
and also to allow a user-defined path to a program
to include parameters.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-05-04 06:07:27 +02:00