<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/blocktrron/tools/gnulib, branch master</title>
<subtitle>Staging tree of David Bauer</subtitle>
<id>https://git.openwrt.org/openwrt/staging/blocktrron/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/blocktrron/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/'/>
<updated>2025-08-11T20:28:41Z</updated>
<entry>
<title>tools: gnulib: always use std-gnu23 module</title>
<updated>2025-08-11T20:28:41Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2025-08-08T04:58:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=a808086826a75976947fc38ad0c58b20e398f7b9'/>
<id>urn:sha1:a808086826a75976947fc38ad0c58b20e398f7b9</id>
<content type='text'>
The new "std-gnu23" module has the stated goal of:
"...to update the c99 module to depend on std-gnu23
instead of on std-gnu11, and to make std-gnu11 obsolete."
in upstream commit 8990abb50 ("std-gnu23: new module").

However, for now, it's design is optional, so that
definitions of the latest standard module overrides the former.
At some point, upstream gnulib will replace the dependency
instead of add it alongside the older one.

Because all macros are copied to the aclocal directory,
for complex projects, not including the module
may cause the macros to apply only to some subdirectories
rather than all of them and top-level together.

For projects that import source from local gnulib,
always include the std-gnu23.m4 macros for consistency.

Signed-off-by: Michael Pratt &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/19748
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools: gnulib: do not cache C standard option test results</title>
<updated>2025-08-02T22:41:05Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2025-08-02T08:12:17Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=ba76da4fe9fc07e62c7d94d2fb4e123e6f0c56c8'/>
<id>urn:sha1:ba76da4fe9fc07e62c7d94d2fb4e123e6f0c56c8</id>
<content type='text'>
After eliminating the possibility of automake having a bug
by testing a revert to the recent updates to automake,
the problems regarding autoreconf with some packages
was bisected to the gnulib update instead, through aclocal macros.

With the new module, std-gnu23, some packages are failing build
due to both the host compiler and cross compiler being tested for
availability of C23 standard features with the configure script.
The results of one is being cached and used for the other,
while the two compilers are different versions and may or may not
both support C23 options and would otherwise have conflicting results.

A similar patch may have to be done
for the next release of Autoconf
if upstream GNU does not accept this solution.

Reported-by: Georgi Valkov &lt;gvalkov@gmail.com&gt;
Signed-off-by: Michael Pratt &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/19627
Signed-off-by: Nick Hainke &lt;vincent@systemli.org&gt;
</content>
</entry>
<entry>
<title>tools/gnulib: backport patches for gettext</title>
<updated>2025-07-26T12:38:09Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2025-05-31T06:47:11Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=1a253a2bb5874f8ed33983216c098b474eda5bca'/>
<id>urn:sha1:1a253a2bb5874f8ed33983216c098b474eda5bca</id>
<content type='text'>
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 &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools/gnulib: update to branch stable-202501</title>
<updated>2025-07-26T12:38:09Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2025-06-07T04:48:20Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=d19f8bc199b821dc60f0c64f4b96f5cd470deffc'/>
<id>urn:sha1:d19f8bc199b821dc60f0c64f4b96f5cd470deffc</id>
<content type='text'>
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 &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools/gnulib: use git archive as download source</title>
<updated>2025-07-26T12:38:08Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2025-07-08T18:57:58Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=222a1bed794c83298ae6e7dfddbe0eed7dcab0fc'/>
<id>urn:sha1:222a1bed794c83298ae6e7dfddbe0eed7dcab0fc</id>
<content type='text'>
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 &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools/gnulib: use exact directory copy for install</title>
<updated>2025-07-26T12:38:08Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2025-05-31T18:07:05Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=774ce21c6671427e5a28c5183acb0065549feeea'/>
<id>urn:sha1:774ce21c6671427e5a28c5183acb0065549feeea</id>
<content type='text'>
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 &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools/gnulib: update to branch stable-202407</title>
<updated>2025-07-26T12:38:07Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2025-05-06T17:57:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=b07b8c8b4331d4ffcdbb5112f007778451dfa3f5'/>
<id>urn:sha1:b07b8c8b4331d4ffcdbb5112f007778451dfa3f5</id>
<content type='text'>
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 &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/16522
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools/gnulib: add fallocate-posix module</title>
<updated>2024-06-19T09:22:13Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2024-06-10T08:04:41Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=f07621e10b2ed85391eee7f489d843fb3f01ff6a'/>
<id>urn:sha1:f07621e10b2ed85391eee7f489d843fb3f01ff6a</id>
<content type='text'>
Add a module to gnulib to support posix_fallocate()
for macOS and other systems that are missing it.

Apple-specific code is sourced from Mozilla,
and the rest from glibc, both licensed under LGPL.

Signed-off-by: Michael Pratt &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/15690
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools/gnulib: ignore AC_PREREQ error if actual version passes</title>
<updated>2024-06-19T09:22:13Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2024-05-19T23:33:13Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=e6d106284eeaf632c581dc593ce4d5b774229604'/>
<id>urn:sha1:e6d106284eeaf632c581dc593ce4d5b774229604</id>
<content type='text'>
The gnulib-tool script is written to have a fatal error
whenever the minimum required version of autoconf
for the project that gnulib is being imported into
as defined in configure.ac was less than
the minimum required version required by gnulib.

However, none of this matters if the version of autoconf
that we use is newer than both requirements.

Instead, use functions from the bootstrap script
to check for the version of autoconf being used
and print a warning whenever this case occurs.

Signed-off-by: Michael Pratt &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/15690
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools/gnulib: allow forced exclusion of functions after configure</title>
<updated>2024-06-19T09:22:13Z</updated>
<author>
<name>Michael Pratt</name>
</author>
<published>2024-06-08T03:52:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/blocktrron/commit/?id=efdd65cb871c1fe369a56351064aca363fd792af'/>
<id>urn:sha1:efdd65cb871c1fe369a56351064aca363fd792af</id>
<content type='text'>
Overriding variables used in both the macros and the headers
like setting REPLACE_FCNTL to 0 while invoking Make causes the
function aliases like rpl_fcntl() to not be defined,
however the object may still be built with the fnctl() function.

Usually this is enough for building while avoiding
the need to link the resulting libgnu library
to every single other build target for a project
in order to include the gnulib copy of the function,
because in these cases we don't care which version
of the function is used.

However for functions like fcntl() this doesn't work
as it is designed to use either the alias or standard declaration
from gnulib headers in order to be
a wrapper for the native host copy of fcntl()
by containing recursive calls to fcntl() within itself
after undefining the gnulib function declaration.

Overriding the variables used by the header when invoking Make
causes the header's declarations to be blocked,
and this results in the gnulib version of fcntl()
to call itself recursively and indefinitely
leading to segmentation faults.

Fix this by using macros defined with those variables
in order to exclude the function during preprocessing.

While at it, do the same for reallocarray()
so that the configure option --avoid=reallocarray
and Make variable REPLACE_REALLOCARRAY set to 0
would have a similar effect.

In the future this patch can be expanded to include
more functions and some version of this may be upstreamable.

Signed-off-by: Michael Pratt &lt;mcpratt@pm.me&gt;
Link: https://github.com/openwrt/openwrt/pull/15690
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
</feed>
