Commit Graph

2149 Commits

Author SHA1 Message Date
Felix Fietkau
c3d4598c01 tools: add more linux include files to fix x86 build on macos
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-05-07 12:50:27 +02:00
Christian Marangi
49a64c9541
tools: pkgconf: provide prefix for host and hostpkg stagind directory
Some package might require to fix their pkg-config file to point to host
or hostpkg file. This is the case for glib2 library that provides with
pkg-config variables, tools to generates files from xml. Those tools
should use the host binary instead of the targets one to correctly build
packages that makes use of such tools.

Link: https://github.com/openwrt/openwrt/pull/15134
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-05-05 17:22:26 +02:00
Christian Marangi
a8bfdf2ed4
gengetopt: backport patch fixing support for c++17
Backport patch fixing support for c++17 that got merged upstream in
gengetopt.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-05-01 15:45:25 +02:00
Robert Marko
00ff73ec6e tools/elfutils: remove dirname
In the 0.191 update dirname was used instead of <libgen.h> to fix the
poisoned basename error:
/usr/include/libgen.h:35:9: error: attempt to use poisoned "basename"
       35 | #define basename        __xpg_basename

However, doing this has lead to libelf.a pulling in xmalloc, xstrdup and
friends and statically linking them thus leading to a symbol name conflict
with FRR host build and anything else that links against libelf and uses
xmalloc and friends.

Well, it turns out that upstream has added a helper[1] for basename so it
can compile with musl 1.2.5 which dropped the basename declaration, but it
also means that we must NOT include <libgen.h> and that poisoned error is
intentional and added to prevent duplicate basename definitions.
This also means that for macOS we dont need to do any additional header
inclusions as the new helper takes care of basename.

So, to fix the symbol conflict we can simply drop the <dirname.h> inclusion
and build from elfutils.

Tested on Fedora 40 as well as macOS 14.4.1.

[1] https://sourceware.org/git/?p=elfutils.git;a=commit;h=a2194f6b305bf0d0b9dd49dccd0a5c21994c8eea

Fixes: #24030
Fixes: b6f025b424 ("tools/elfutils: update to 1.91")

Link: https://github.com/openwrt/openwrt/pull/15337
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-30 13:37:59 +02:00
Fabrice Fontaine
ff59f3f4bd tools/expat: fix PKG_CPE_ID
cpe:/a:libexpat_project:libexpat is the correct CPE ID for expat:
https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3🅰️libexpat:libexpat

Fixes: c61a239514 (add PKG_CPE_ID ids to package and tools)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/15291
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-27 23:37:57 +02:00
Fabrice Fontaine
832460b452 tools/flex: fix PKG_CPE_ID
cpe:/a:westes:flex is the correct CPE ID for flex:
https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3🅰️westes:flex

Fixes: c61a239514 (add PKG_CPE_ID ids to package and tools)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2024-04-27 12:08:11 +02:00
Fabrice Fontaine
e9ecaade6f tools/zlib: fix PKG_CPE_ID
cpe:/a:zlib:zlib is the correct CPE ID for zlib:
https://nvd.nist.gov/products/cpe/search/results?keyword=cpe:2.3🅰️zlib:zlib

Fixes: c61a239514 (add PKG_CPE_ID ids to package and tools)

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2024-04-27 12:07:37 +02:00
Michael Pratt
1991bfb814 tools/elfutils: refresh portability patch for macOS
Quilt refresh combined two sets of changes to the same file.

The switch from using libgen.h to dirname.h because of function poisoning
from gnulib's import of basename() was added as a new patch hunk instead
of an edit to the original one.

The original patch hunk was to fix build errors on an earlier version of
elfutils before the "dirname" module was being imported to fix further
build errors with the 0.191 version.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
ddb7177c57 tools/elfutils: remove no-op copy of tdestroy()
A false tdestroy() function was added in order to make elfutils build on
macOS again. A previous commit added declarations for a real version of
tdestroy() into gnulib, which is already imported, as well as the
preprocessor flags and the triggers for the Makefile.am conditional in
order to include the source to be built.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
20ed56ec8b tools/elfutils: use locally declared static reallocarray()
On macOS, stdlib.h in the standard include paths does not provide
reallocarray() while both elfutils and gnulib do, however they are
declared differently, leading to an error:

  ./system.h:101:1: error: static declaration of 'reallocarray' follows non-static declaration
  reallocarray (void *ptr, size_t nmemb, size_t size)

A normal "configure && make" build cycle results in both declarations
being enabled as a result of both elfutils and gnulib having completely
separate configure checks where gnulib uses an internal placeholder symbol
HAVE_REALLOCARRAY, and elfutils uses a standard autoconf macro
HAVE_DECL_REALLOCARRAY.

Fix this by excluding the import of the reallocarray module which causes
gnulib checks in the configure stage to not even consider whether to
declare reallocarray later on, so the decision is only between the
standard include stdlib.h and the elfutils header.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
43be319823 tools/elfutils: organize gnulib import build stage
Organize the Makefile lines involved in gnulib importing and its
workarounds. It improves readability and keeps git history organized.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
7a4df7825e tools/elfutils: override SUBDIRS variable of Makefile
Instead of editing the SUBDIRS variable with a patch, it can be overriden
at the end of the command line when invoking Make.

This tool has a series of recursive Makefiles in each subdirectory,
therefore SUBDIRS is set to a pattern of Make functions so that the result
is variable depending on the current subdirectory that Make is being
invoked in.

It's not necessary to have gnulib-cache.m4 in EXTRA_DIST since we don't
need to re-import after packaging this in the SDK, so get rid of the
entire patch hunk for ./Makefile.am

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Tony Ambardar
b6f025b424 tools/elfutils: update to 1.91
Release Notes:
https://sourceware.org/pipermail/elfutils-devel/2024q1/006876.html

Manually refresh:
- 100-portability.patch

Change:
- replace libgen.h with gnulib "dirname" module for compilation errors:
    In file included from ./../libdw/libdwP.h:38,
                     from eblobjnote.c:42:
    /usr/include/libgen.h:35:9: error: attempt to use poisoned "basename"
       35 | #define basename        __xpg_basename
          |         ^

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Co-Developed-by: Nick Hainke <vincent@systemli.org>
Signed-off-by: Nick Hainke <vincent@systemli.org>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
44625e9d95 tools/coreutils: update to 9.5
Update to latest stable release.

The following commits in gnulib caused a conflict in locally bootstrapped
coreutils with stable gnulib:

  8f4b4e52c991de2233b471f8e35a068866b31f01
  2749234203959df8d72cd8638d4e00a9fff450db

A module (strftime) was marked deprecated and replaced by another module
(nstrftime) in the version of gnulib that coreutils was released with
compared to the stable branch that we use for importing. Conflicts from
the previous version of coreutils are now gone, so other imported headers
are now good.

Refresh patch:
 - 000-bootstrap.patch

Remove upstreamed patch:
 - 001-bootstrap-sync.patch

Link: https://lists.gnu.org/archive/html/coreutils/2024-03/msg00132.html
Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
0489436506 tools/coreutils: update to 9.4
Update to latest stable release.

Add configure option to disable support for the Year 2038 problem.
(for now, as some versions of GCC do not yet support it)

Syncing bootstrap script fails, backport an upstream patch which can be
removed at next coreutils update.

Several headers from the stable gnulib branch cause build failure because
the changes in the imported versions are incompatible with the Makefile
that gets generated for coreutils. This version of coreutils was released
after being bootstrapped and autoreconf'ed with a significantly different
version of gnulib compared to our local gnulib, so skip importing them
(and restore the backup).

While at it, organize restoring the originally shipped version of files
into a Make foreach function.

Refresh patch:
- 000-bootstrap.patch

New patch:
- 001-bootstrap-sync.patch

Link: https://lists.gnu.org/archive/html/coreutils/2023-08/msg00099.html
Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
41bc16dcc4 tools/bison: hardcode path to m4 with STAGING_DIR_HOST
Force bison to ignore the M4 environment variable and hardcode it to the
locally built m4 during build operations using the relocatable path
variable STAGING_DIR_HOST.

This allows bison to continue to function while we are forcefully avoiding
autoreconf and other autoconf and automake-like operations by giving a
fake path to m4 with the M4 environment variable.

The specific path can still be overridden independently from the
environment within the line of invocation that runs bison by setting
STAGING_DIR_HOST within the command, so document this in the help printout.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
eb726c90be tools/gnulib: make tdestroy() fully portable
The tdestroy() function, which is a GNU extension to the standard C
library, is defined in gnulib in tsearch.c but is missing it's
corresponding declaration in search.in.h by being completely missing...

This patch is large but upstreamable, including all of the macros and
conditionals and configure checks that upstream GNU would expect for
portable support, like using the @@ placeholder/substitution method to
determine whether or not to have declarations based on whether or not
tdestroy() is already declared within the standard headers of the default
include paths.

There were also some typedefs and aliases missing, along with the warnings
and preprocessor exceptions that need to be added for consistency with the
usage of the rest of the functions in the files.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Michael Pratt
5ade7ee60e tools/gnulib: add macros to skip reallocarray() functions
For modules that depend on the reallocarray module, like ialloc, xalloc,
and safe-alloc, it was not possible to skip importing the reallocarray
module as they all contained at least one function that called
reallocarray() and would cause build failure if the host system didn't
declare it.

This upstreamable patch adds macros that toggle whether to define
functions that depend on reallocarray() based on whether the reallocarray
module is being imported.

Tested-by: Georgi Valkov <gvalkov@gmail.com> # MacOS
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +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
Michael Pratt
cdd56fc893 tools/missing-macros: add symlinks to makeinfo
There are other wrapper scripts released with makeinfo like texi2pdf which
are required by the build prerequisites of some tools, and have a similar
purpose and usage.

Let the makeinfo perl script handle all of these cases.

It's worth mentioning that "texi2any" is the actual program and "makeinfo"
is one of it's aliases. From upstream GNU:

  makeinfo: texi2any
	rm -f $@
	-$(LN_S) texi2any $@

Signed-off-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-25 21:33:51 +02:00
Bryan Roessler
98cc65d9a0 tools/zstd: enable position independent code compilation
Currently, trying to compile LLVM-BPF will fail with:
[2225/3517] Linking CXX shared library lib/libLLVM-15.so
FAILED: lib/libLLVM-15.so
/usr/bin/ld: staging_dir/host/lib/libzstd.a(zstd_common.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: failed to set dynamic section sizes: bad value
collect2: error: ld returned 1 exit status

So, to fix it enable PIC for the host ZSTD.

Fixes: #15247
Signed-off-by: Bryan Roessler <bryanroessler@gmail.com>
2024-04-24 12:16:48 +02:00
Christian Marangi
2b6923bc76
tools: zstd: update patch with upstream version
Proposed fixup has been replaced and merged with an advanced version.

install-pc-mt has been dropped and replaced for intall-pc MT=1 to
generate a .pc file with multithread libs.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-17 11:29:14 +02:00
Robert Marko
ac881ce59a tools: mold: update to 2.30.0
Release Notes:
https://github.com/rui314/mold/releases/tag/v2.3.3
https://github.com/rui314/mold/releases/tag/v2.4.0
https://github.com/rui314/mold/releases/tag/v2.4.1
https://github.com/rui314/mold/releases/tag/v2.30.0

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-16 21:52:57 +02:00
Robert Marko
2116073f98 tools: libdeflate: backport fix for AVX-VNNI
Trying to compile with new new enough GCC but older binutils that dont
support AVX-VNNI will error out on the assembler, so backport an upstream
fix for it.

Fixes: 338b463e1e ("tools: libdeflate: update to 1.20")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-15 13:52:37 +02:00
Tony Ambardar
20c0dfb8e1 tools/dwarves: add myself as PKG_MAINTAINER
Missed setting this when first adding package.

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-04-15 12:43:37 +02:00
Robert Marko
338b463e1e tools: libdeflate: update to 1.20
Changes:
* Improved CRC-32 performance on recent x86 CPUs by adding
VPCLMULQDQ-accelerated implementations using 256-bit and 512-bit vectors.

* Improved Adler-32 performance on recent x86 CPUs by adding
VNNI-accelerated implementations using 256-bit and 512-bit vectors.

* Improved CRC-32 and Adler-32 performance on short inputs.

* Optimized the portable implementation of Adler-32.

* Added some basic optimizations for RISC-V.

* Dropped support for gcc versions older than v4.9 (released in 2014) and
clang versions older than v3.9 (released in 2016).

* Dropped support for CRC-32 acceleration on 32-bit ARM using the ARMv8 pmull or crc32 instructions.
This code only worked on CPUs that also have a 64-bit mode, and it was
already disabled on many compiler versions due to compiler limitations.
CRC-32 acceleration remains fully supported on 64-bit ARM.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-14 19:52:46 +02:00
Robert Marko
e65800d948 tools: zstd: dont override CLI max level
Now that instead of relying on env variables for the GH download script
invoking ZSTD tarball compression it passes the full arguments via tar -I
we can drop the CLI max compression level override.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-09 18:39:36 +02:00
Christian Marangi
f2fabf7aaa
tools: zstd: add patch fixing wrong generated .pc with lib-mt
The current .pc generated by make build system for zstd is wrong and
always assume a single-threaded library is used.

This wasn't the case for the meson build system that used his own logic
to generate the pkg-config file.

Add a patch to fix this by introducing install-mt-pc make target to
generate the correct pkg-config gile.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-06 14:58:48 +02:00
Nick Hainke
0a0d89265e Revert "tools/mkimage: update to v2024.04"
This reverts commit 8d934c1196.

The update seems to be causing issues that need to be further
explored [0]. Let's revert it.

[0] - https://github.com/openwrt/openwrt/pull/15078

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-04-06 14:52:06 +02:00
Robert Marko
076e860418 tools: zstd: install headers as well
We forgot to make sure install-includes is called for the libzstd in
order for it to install the required headers.

Fixes: 4b920e799f ("tools: zstd: convert to make and drop meson dependency")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-06 12:10:51 +02:00
Paul Spooren
b3c1c57a35 treewide: update PKG_MIRROR_HASH to zst
When using zst instead of xz, the hash changes. This commit fixes the
hash for packages and tools in core.

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-06 11:24:18 +02:00
Robert Marko
bab3ae2ee7 tools: prefer gz or bz2 tarballs
In the light of recent XZ events, and fundamental XZ issues lets work on
moving away from using XZ.

So, use gz compressed tarballs as sources whenever possible.

dwarves only offers bz2 compressed tarballs, so use those as size
difference is minor compared to XZ.

Signed-off-by: Robert Marko <robimarko@gmail.com>

dwarves
2024-04-06 11:24:18 +02:00
Robert Marko
4c7591c426 tools: libdeflate: fetch source as tarball
libdeflate is currently intentionally being fetched via GIT.

However, with the move to using ZSTD to compress the cloned GIT repo
tarballs it means that we would first need to compile ZSTD.
But that means that we need to be able to unpack gzipped tarballs first
which we currently do by using libdeflate-gzip.
So, in order to do so lets fetch libdeflate as a tarball, use gzip to
extract it and then use libdeflate as regular for all other tools.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-06 11:24:18 +02:00
Rosen Penev
e09d3fd290 tools: rework tools-core dependecies
ZSTD and libdeflate do not depend on SED nor flock, so instead of the whole
for loop that will filter 2 out of 4 core packages just specify that patch
and tar depend on sed explicitly.

ZSTD now depends on libdeflate since libdeflate-gzip will then be used to
unpack ZSTD as well as most tool archives.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-06 11:24:18 +02:00
Christian Marangi
c3e43b7e65 tools: make zstd tool core and xz tool non-core
Make zstd tool core and xz tool non-core since zstd is the new default
for compression format.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-06 11:24:18 +02:00
Robert Marko
d5c4cb0a8d tools: zstd: dont override ZSTD_LEGACY_SUPPORT
We dont really have a reason to deviate from the upstream default for
ZSTD_LEGACY_SUPPORT value of 5, as it will save a bit of space but
prevent decompressing data compressed with legacy ZSTD versions.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-06 11:24:18 +02:00
Christian Marangi
ed149717ee tools: zstd: override max safe compression level
ZTSD limits the safe compression level to a max of 19 as 20 to 22 cause
increased RAM usage. Higher levels require --ultra arg passed.

There isn't currently a way to set --ultra using ENV options similar to
ZSTD_CLEVEL and ZSTD_CLEVEL is limited to 19.

To fix this, we can increase the max safe compression level by providing
a custom ZSTDCLI_CLEVEL_MAX value with CFLAGS.

The max safe level is increased to 20.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-06 11:24:18 +02:00
Christian Marangi
4b920e799f tools: zstd: convert to make and drop meson dependency
Convert to make and drop meson dependency since it's not a core tools
and can't depend on advanced build system like cmake or meson.

On top of this make is the official build support and cmake/meson are
supported by 3rd parties.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-04-06 11:24:18 +02:00
Nick Hainke
8d934c1196 tools/mkimage: update to v2024.04
Update to latest version.

Refresh patches:
- 030-allow-to-use-different-magic.patch
- 095-tools-disable-TOOLS_FIT_FULL_CHECK.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-04-06 08:02:40 +02:00
Felix Fietkau
1f3e0177d9 tools/bzip2: switch to cmake
Fixes portability issues on macOS.
CMakeLists.txt is a stripped-down backport from bzip2 upstream

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-04-03 18:56:58 +02:00
Paul Spooren
004c853019 zstd: update to 1.5.6
Full changelog here:
https://github.com/facebook/zstd/releases/tag/v1.5.6

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-04-02 16:19:39 +02:00
Robert Marko
0c96d20bf9 tools: b43-tools: fix compilation with GCC14
GCC14 no longer treats integer types and pointer types as equivalent in
assignments (including implied assignments of function arguments and return
values), and instead fails the compilation with a type error.

So, as a workaround lets disable the newly introduced error
-Werror=int-conversion and just make it print a warning to enable compiling
with GCC14 as Fedora 40 now defaults to it.

Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-03-30 10:42:47 +01:00
Rosen Penev
fcdc629144 tools/meson: update to 1.3.2
Add explicit setup as implicit is deprecated.

Rename pkgconfig as no hyphen is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2024-03-29 23:42:22 +01:00
Petr Štetiar
d4b6b76443
Revert "tools/xz: update to 5.6.1" (CVE-2024-3094)
This reverts commit 714c91d1a6 as probably
the upstream xz repository and the xz tarballs have been backdoored.

References: https://www.openwall.com/lists/oss-security/2024/03/29/4.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2024-03-29 16:59:56 +00:00
Felix Fietkau
383b68e73c tools/cmake: disable xcode generator
Fixes build on latest macOS SDK

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-03-29 15:40:25 +01:00
Felix Fietkau
c9ae8fd3d4 tools/e2fsprogs: disable building fuse2fs to avoid depending on libfuse
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-03-29 15:39:04 +01:00
Nick Hainke
b05aad58e8 tools/cmake: update to 3.29.0
Changelog:
- https://www.kitware.com/cmake-3-29-0-available-for-download/

Refresh patches:
- 120-curl-fix-libressl-linking.patch
- 130-bootstrap_parallel_make_flag.patch
- 150-zstd-libarchive.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-03-29 07:18:07 +01:00
Nick Hainke
714c91d1a6 tools/xz: update to 5.6.1
Change mirror to github.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-03-29 06:56:43 +01:00
Josef Schlehofer
80b2288ea3 tools/expat: update to version 2.6.2
Release notes:
https://github.com/libexpat/libexpat/blob/R_2_6_2/expat/Changes

Fixes:
CVE-2024-28757

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2024-03-26 10:37:37 +01:00
Hauke Mehrtens
2ac6fe6a88 tools: firmware-utils: update to git HEAD
6b24299 ptgen: fix limitation for active partition in GPT

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-23 15:50:59 +01:00
Sander Vanheule
3b4cfb25bc tools: firmware-utils: update to git HEAD
Add the new 'zycast' tool for remote flashing of Zyxel devices, support
for factory image generation for two new TP-Link devices, and improved
compatibility with two other devices.

    17de36575f1e zycast: disable build on non-Linux OS
    a5dfb5fb5e6e tplink-safeloader: add TP-Link RE205 v3 support
    c1e06daf4622 tplink-safeloader: bump EAP225-V3 compat_level
    335d063cff23 tplink-safeloader: bump EAP225-Outdoor v1 compat
    c1e69e6f9c0d tplink-safeloader: show compat_level with FW info
    e87f23849790 zycast: new tool for ZyXEL bootloader flashing
    9067281d17da tplink-safeloader: add RE365 v1

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2024-03-23 15:36:34 +01:00
Paul Spooren
e8725a932e treewide: use APK compatible version schema
Different from OPKG, APK uses a deterministic version schema which chips
the version into chunks and compares them individually. This enforces a
certain schema which was previously entirely flexible.

 - Releases are added at the very and end prefixed with an `r` like
`1.2.3-r3`.
- Hashes are prefixed with a `~` like `1.2.3~abc123`.
- Dates become semantic versions, like `2024.04.01`
- Extra tags are possible like `_git`, `_alpha` and more.

For full details see the APK test list:
https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/master/test/version.data

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-03-22 22:14:22 +01:00
Weijie Gao
53e3851646 tools: add util-linux
since kernel 6.4, commit bca2f3a9406b ("efi/zboot: Add BSS padding
before compression") introduces the use of hexdump to padding the
EFI kernel binary before compression.

util-linux which containing hexdump should then be compiled as a host
tool to guarantee not breaking the kernel build process.

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-03-11 20:17:25 +01:00
Tony Ambardar
043da3fe5a tools/dwarves: update to 1.26
Release Notes:
https://lore.kernel.org/dwarves/20240228193921.JWQp1Mc2M47ffhgIjnHKh8538u4uztVKuznlck9Pk9E@z/

Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
2024-02-28 15:12:30 -08:00
Koen Vandeputte
f3cbdaec29 tools/expat: fix build error with ccache
Disable compilation of separate tests as it causes
a build error when combined with ccache

Fixes: 4a3f430d72 ("tools/expat: update to 2.6.0")
Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
2024-02-15 12:02:20 +01:00
Nick Hainke
4a3f430d72 tools/expat: update to 2.6.0
Changelog:
https://github.com/libexpat/libexpat/blob/R_2_6_0/expat/Changes

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-02-12 09:57:08 +01:00
Nick Hainke
b49a6f685b tools/ccache: update to 4.9.1
Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_9_1

Manually refresh patch:
- 100-honour-copts.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-02-12 09:51:03 +01:00
Nick Hainke
8b113bfc6e tools/cmake: update to 3.28.3
Release Notes:
https://www.kitware.com/cmake-3-28-3-available-for-download/

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-02-06 19:19:22 +01:00
Nick Hainke
c0c175e4fe tools/pkgconf: update to 2.1.1
Changes:
2edf954f3a/NEWS

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-02-06 19:18:55 +01:00
Nick Hainke
3595931934 tools/ccache: update to 4.9
Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_9

Manually refresh patch:
- 100-honour-copts.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-02-02 17:32:50 +01:00
Nick Hainke
906595c262 tools/cmake: update to 3.28.2
Release Notes:
https://www.kitware.com/cmake-3-28-2-available-for-download/

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-01-30 15:27:37 +01:00
Nick Hainke
dfb4babfdf tools/xz: update to 5.4.6
Changelog:
https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;h=d271dad2d3f1ec54e56ef8fa60275a88697a24aa;hb=0ef8192e8d5af4e6200d5d4aee22d1f177f7a2df

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-01-30 10:37:34 +01:00
Nick Hainke
25080a95dc tools/zlib: update to 1.3.1
Release Notes:
https://github.com/madler/zlib/releases/tag/v1.3.1

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-01-30 10:35:15 +01:00
Nick Hainke
ae7a7ef5da tools/mkimage: update to 2024.01
Update to latest version.

Refresh patch:
- 030-allow-to-use-different-magic.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-01-25 16:07:42 +01:00
Nick Hainke
6fbe36a618 tools/cpio: update to 2.15
Release Notes:
https://lists.gnu.org/archive/html/info-gnu/2024-01/msg00006.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-01-25 16:06:49 +01:00
Nick Hainke
659f027e69 tools/cmake: update to 3.28.1
Release Notes:
https://www.kitware.com/cmake-3-28-1-available-for-download/

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-12-18 12:55:28 +01:00
Sander Vanheule
090bb649ab tools: firmware-utils: update to git HEAD
Adds two changes improving compatibility with supported TP-Link devices.

5e14973d2199 tplink-safeloader: add Archer A6 v2 (RU)
d87b6c4b6423 tplink-safeloader: bump EAP615-Wall compat_level

Signed-off-by: Sander Vanheule <sander@svanheule.net>
2023-12-17 19:39:50 +01:00
Nick Hainke
0827fb8cc3 tools/cmake: update to 3.28.0
Release Notes:
- https://www.kitware.com/cmake-3-28-0-available-for-download/

Refresh patches:
- 120-curl-fix-libressl-linking.patch
- 130-bootstrap_parallel_make_flag.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-12-12 00:44:31 +01:00
Nick Hainke
b9bd3feeb4 tools/bash: update to 5.2.21
Update to latest release.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-12-08 16:28:40 +01:00
Nick Hainke
0c1cffd00e tools/pkgconf: update to 2.1.0
Changes:
5825e2c6d6/NEWS (L4)

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-12-08 09:30:40 +01:00
Nick Hainke
230a2b8a5e tools/cmake: update to 3.27.9
Release Notes:
- https://www.kitware.com/cmake-3-27-7-available-for-download/
- https://www.kitware.com/cmake-3-27-9-available-for-download/

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-12-07 11:55:06 +01:00
Nick Hainke
8bc448eff5 tools/mold: update to 2.3.2
Release Notes:
https://github.com/rui314/mold/releases/tag/v2.3.2

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-12-04 13:24:50 +01:00
Nick Hainke
39bdcec011 tools/xz: update to 5.4.5
* liblzma:
    - Use __attribute__((__no_sanitize_address__)) to avoid address
      sanitization with CRC64 CLMUL. It uses 16-byte-aligned reads
      which can extend past the bounds of the input buffer and
      inherently trigger address sanitization errors. This isn't
      a bug.
    - Fixed an assertion failure that could be triggered by a large
      unpadded_size argument. It was verified that there was no
      other bug than the assertion failure.
    - Fixed a bug that prevented building with Windows Vista
      threading when __attribute__((__constructor__)) is not
      supported.
* xz now properly handles special files such as "con" or "nul" on
  Windows. Before this fix, the following wrote "foo" to the
  console and deleted the input file "con_xz":
      echo foo | xz > con_xz
      xz --suffix=_xz --decompress con_xz
* Build systems:
    - Allow builds with Windows win95 threading and small mode when
      __attribute__((__constructor__)) is supported.
    - Added a new line to liblzma.pc for MSYS2 (Windows):
          Cflags.private: -DLZMA_API_STATIC
      When compiling code that will link against static liblzma,
      the LZMA_API_STATIC macro needs to be defined on Windows.
    - CMake specific changes:
        * Fixed a bug that allowed CLOCK_MONOTONIC to be used even
          if the check for it failed.
        * Fixed a bug where configuring CMake multiple times
          resulted in HAVE_CLOCK_GETTIME and HAVE_CLOCK_MONOTONIC
          not being set.
        * Fixed the build with MinGW-w64-based Clang/LLVM 17.
          llvm-windres now has more accurate GNU windres emulation
          so the GNU windres workaround from 5.4.1 is needed with
          llvm-windres version 17 too.
        * The import library on Windows is now properly named
          "liblzma.dll.a" instead of "libliblzma.dll.a"
        * Fixed a bug causing the Ninja Generator to fail on
          UNIX-like systems. This bug was introduced in 5.4.0.
        * Added a new option to disable CLMUL CRC64.
        * A module-definition (.def) file is now created when
          building liblzma.dll with MinGW-w64.
        * The pkg-config liblzma.pc file is now installed on all
          builds except when using MSVC on Windows.
        * Added large file support by default for platforms that
          need it to handle files larger than 2 GiB. This includes
          MinGW-w64, even 64-bit builds.
* Small fixes and improvements to the tests.
* Updated translations: Chinese (simplified) and Esperanto.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-12-04 13:18:35 +01:00
Hauke Mehrtens
86994e1b78 tools: firmware-utils: Fix PKG_MIRROR_HASH
This fixes the mirror hash to the version of the file uploaded to the
download mirror and which my build calculated.

Fixes: 59a66d3c9b ("firmware-utils: update to Git HEAD (2023-11-21)")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-11-23 00:16:56 +01:00
Rafał Miłecki
59a66d3c9b firmware-utils: update to Git HEAD (2023-11-21)
12bf1a9 lxlfw: support certificate & signature blobs
eaf2ea2 lxlfw: support extracting image
d770cab lxlfw: support embedding blobs
16fa890 lxlfw: fix struct lxl_hdr attribute
8e149e4 lxlfw: move code copying data to helper function
3b114de lxlfw: move code opening LXL to helper function

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-11-21 21:17:29 +01:00
Nick Hainke
a82c9699c4 tools/mkimage: update to 2023.10
Update to latest version.

Remove "100-increase-tmpfile-name-length-limit.patch" because project
is now using limits.h with PATH_MAX [0].

Automatically refreshed:
- 030-allow-to-use-different-magic.patch

[0] - 99d430f344

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-11-09 12:50:04 +01:00
Paul Spooren
74edd9e19a firmware-utils: bump to git HEAD
ba5bc4e add dlink-sge-image for D-Link devices by SGE

Signed-off-by: Paul Spooren <mail@aparcar.org>
2023-11-03 09:54:17 +01:00
Petr Štetiar
4a8961f1df
tools: macOS: types.h: fix missing unsigned types
For some reason unsigned types were not added in commit 0a06fcf608
("build: fix kernel 5.4 on macos"), which led to bunch of hacks, like
commit 3cc57ba462 ("uboot-sunxi: add missing type __u64") or
commit 997ff740dc ("uboot-mediatek: fix build on Mac OS X").

So lets add the missing unsigned types to workaround it in a bit more
maintainable way.

Fixes: #13833
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2023-11-02 20:20:53 +01:00
Felix Fietkau
f95a8f8769 tools/elfutils: fix missing _ in auxv info alias
Fixes dwarves compile issue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-11-01 19:20:35 +01:00
Felix Fietkau
17a5f1c81f tools/elfutils: disable bzlib support
It is not needed

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-11-01 18:37:50 +01:00
Felix Fietkau
5364163e77 tools/elfutils: add -fPIC to fix linker errors (#13841)
Resolves issues with building PIE binaries that link against libdw or libelf

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-11-01 17:45:25 +01:00
Felix Fietkau
1d6f9bdfc0 tools/elfutils: add missing dependency to fix build error
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-10-30 09:08:39 +01:00
Hauke Mehrtens
da52c6f50e firmware-utils: bump to git HEAD
a170683 firmware-utils: fix use of NULL string progname
89875fc tplink-safeloader: CPE510: add Canadian support
9e211d2 mktplinkfw2: add support to extract bootloader images
c18f662 mktplinkfw2: add support to pack bootloader
3dc1339 mktplinkfw2: show exact exceed bytes when the image is to big
d16ff79 tplink-safeloader: WPA8631: add v4 AU, US
0fa1cc5 zytrx: add LTE5398-M904
6354661 firmware-utils: ptgen: add SiFive GPT partition support

The removed patch was applied upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2023-10-29 18:50:48 +01: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
Felix Fietkau
169757c7fd tools/include: add more endian macros
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2023-10-29 15:56:41 +01:00
Andre Heider
997bbc8a94 tools: mold: update to v2.3.1
Release notes:
https://github.com/rui314/mold/releases/tag/v2.3.0
https://github.com/rui314/mold/releases/tag/v2.3.1

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-10-22 10:00:00 +02:00
Nick Hainke
d19bf76da1 tools/mtd-utils: update to 2.1.6
Release Notes:
https://lists.infradead.org/pipermail/linux-mtd/2023-August/100922.html

Refresh patch:
- 110-portability.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-10-14 08:03:06 +02:00
Nick Hainke
f5e66b5fd9 tools/mold: update to 2.2.0
Release Notes:
https://github.com/rui314/mold/releases/tag/v2.2.0

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-10-14 08:01:24 +02:00
Michael Pratt
518923178c tools/cmake: disable cmake script debugger
Upstream commit a9a592f96e6498da302f8e968be1db0ad3c32123
("cmake: Add debugger") added a huge amount of code
in order to create a debugging feature for CMakeLists.txt
of other projects. This was added to CMake since 3.27.x.

Unforunately, this new debugger will not build on ARM systems
like arm-linux-gnueabihf (Raspberry Pi 4), and takes up
extra build time for something Openwrt doesn't need,
yet it was enabled by default. (Thanks Microsoft....)

Specifically, it's a failure to link to functions like
__atomic_store_8, __atomic_load_8, __atomic_fetch_add_8, etc.

Let's just disable it.

Someone who really needs this for developing can have CMake
with the debugger on their host machine or manually re-enable it here.

Link: https://gitlab.kitware.com/cmake/cmake/-/issues/21510
Link: https://devblogs.microsoft.com/cppblog/cmake-debugger-allows-you-to-debug-your-cmake-scripts-and-more/
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-10-13 09:27:18 +02:00
Nick Hainke
63f5b5ed3f tools/zlib: update to 1.3
Changes in 1.3 (18 Aug 2023)
- Remove K&R function definitions and zlib2ansi
- Fix bug in deflateBound() for level 0 and memLevel 9
- Fix bug when gzungetc() is used immediately after gzopen()
- Fix bug when using gzflush() with a very small buffer
- Fix crash when gzsetparams() attempted for transparent write
- Fix test/example.c to work with FORCE_STORED
- Rewrite of zran in examples (see zran.c version history)
- Fix minizip to allow it to open an empty zip file
- Fix reading disk number start on zip64 files in minizip
- Fix logic error in minizip argument processing
- Add minizip testing to Makefile
- Read multiple bytes instead of byte-by-byte in minizip unzip.c
- Add memory sanitizer to configure (--memory)
- Various portability improvements
- Various documentation improvements
- Various spelling and typo corrections

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-10-12 09:49:49 +02:00
Nick Hainke
cdcabbd490 tools/pkgconf: update to 2.0.3
News:
- 752a9825dc/NEWS (L13)
- 752a9825dc/NEWS (L4)

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-10-12 00:23:16 +02:00
Nick Hainke
c0f1980adf tools/libdeflate: update to 1.19
Release Notes:
https://github.com/ebiggers/libdeflate/blob/master/NEWS.md#version-119

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-10-12 00:23:03 +02:00
Nick Hainke
01ae733e06 tools/gmp: update to 6.3
Release Notes:
https://gmplib.org/gmp6.3

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-10-12 00:22:36 +02:00
Nick Hainke
6d9af0ee5a tools/ccache: update to 4.8.3
Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_8_3

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-10-12 00:22:09 +02:00
Nick Hainke
9947fe74e3 tools/cmake: update to 3.27.5
Release Notes:
- https://www.kitware.com/cmake-3-27-5-available-for-download/
- https://www.kitware.com/cmake-3-27-6-available-for-download/
- https://www.kitware.com/cmake-3-27-7-available-for-download/

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-10-12 00:21:46 +02:00
Oskari Rauta
b61ac68b67 ccache: add missing \
-DREDIS_STORAGE_BACKEND=OFF option is ignored due to missing \

Signed-off-by: Oskari Rauta <oskari.rauta@gmail.com>
2023-09-24 12:49:50 +02:00
Josef Schlehofer
587f94eb1a tools/libressl: update to version 3.7.3
Release notes:
https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-3.7.3-relnotes.txt

Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
2023-09-22 14:11:22 +02:00
Alexander Couzens
02f86a0765 tools: assign PKG_CPE_ID
The PKG_CPE_ID links to NIST CPE version 2.2.
Assign PKG_CPE_ID to all remaining tools which have a CPE ID.
Not every tool has CPE id.

Related: https://github.com/openwrt/packages/issues/8534
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2023-09-19 20:21:33 +02:00
Hannu Nyman
6267961a4a tools/cmake: update to 3.27.4
Update cmake to 3.27.4
No patch refresh needed.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2023-09-03 23:07:16 +02:00
Linhui Liu
49eedc146a tools/mpfr: update to 4.2.1
Changes from version 4.2.0 to version 4.2.1:
- Bug fixes (see <https://www.mpfr.org/mpfr-4.2.0/#fixed> and/or the
  ChangeLog file).
- Improved MPFR manual.
- Configure tests: replaced the test of the link with GMP, in order to
  avoid the use of a function without a prototype (Autoconf issue), as
  this is obsolescent in ISO C. The new test should be more robust.

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-08-28 23:45:58 +02:00