Commit Graph

1938 Commits

Author SHA1 Message Date
Mathew McBride
c98e09f01b tools: update elf.h
OpenWrt contains a 2012 copy of glibc's elf.h, which predates the
introduction of some newer architectures like Arm64 and RISC-V.

Linux 5.13 introduced the "gen-hyprel" tool into the kernel compile
(when virtualization/KVM is enabled) which requires EM_AARCH64 to be
defined.

arch/arm64/kvm/hyp/nvhe/gen-hyprel.c: In function 'init_elf':
arch/arm64/kvm/hyp/nvhe/gen-hyprel.c:289:43: error: 'EM_AARCH64'
  undeclared (first use in this function); did you mean 'EM_IA_64'?
  289 |  assert_eq(elf16toh(elf.ehdr->e_machine), EM_AARCH64, "%u");
      |                                           ^~~~~~~~~~

Update the copy of elf.h from the latest glibc to fix this.

Compile-tested: ath79, armvirt, mpc85xx, x86
Run-tested: armvirt

Signed-off-by: Mathew McBride <matt@traverse.com.au>
2023-03-19 18:20:18 +01:00
Jo-Philipp Wich
0ba130abb2 tools/autoconf: ensure relocatability
Upstream introduced a new `trailer.m4` macro file referenced by the
absolute build path of autoconf. Make sure that this is covered by
the `000-relocatable.patch` as well.

This should fix various SDK build failures related to autoconf.

Fixes: 030447b8f4 ("tools/autoconf: bump to 2.71")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-03-16 00:32:59 +01:00
David Bauer
86be8677b3 firmware-utils: update to latest HEAD
a2c80c5 tplink-safeloader: add Archer AX23
3c04ecf tplink-safeloader: add Cloud image detection
87e593d tplink-safeloader: add QNEW image detection
34fbf48 tplink-safeloader: add vendor info support
d86cc1b tplink-safeloader: refactor image ingestion
5d3a14a tplink-safeloader: ignore NULLs in version info
71ddbcd tplink-safeloader: don't end-pad sysupgrade file
a29817e tplink-safeloader: stop at nameless partition
0c8a724 tplink-safeloader: replace hardcoded offsets
b82a521 tplink-safeloader: use enum for table types
201a6c0 tplink-safeloader: stricter free_image_partition()

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-03-15 01:23:40 +01:00
Rosen Penev
bf261073dc tools/libtool: bump to 2.4.7
Remove upstreamed patch and refresh others.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[rebased and refreshed patches again]
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Eneas U de Queiroz
0d0cfe9f2d tools/libtool: bump to 2.4.6
This updates libtool to its current release, from 2015.  Current patches
were renumbered and given a description text.  The fix in
160-passthrough-ssp.patch is no longer needed.

A patch to speed up build was cherry-picked, and another openwrt
specific patch was needed to not use quotes in $(SHELL), to acommodate
our "SHELL=/usr/bin/env bash" usage.

The already present call to ./bootstrap ensures that generated files are
refreshed, so the patches are applied only to their sources.  Also, that
bootstrap call was adjusted to run at the appropriate time when QUILT=1.

References below are relevant commits to upstream libtool
regarding some of the changes to patches.

This commit is being reapplied after previous revertion, and after some editing.
The fix for the issue that prompted reverting is the parent of this commit.

Ref: 435cb8d71 ("libtoolize: simplify runtime by substituting pkgauxdir")
Ref: 3cf11cfe2 ("libtoolize: rewritten over funclib.sh instead of general.m4sh")
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
[refactored to simplify patch changes, expanded patches, added upstream references]
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Sebastian Kemper
a22c54e39f tools/libtool: fix hard-coded paths
libtoolize hardcodes some paths. This is fine when building libtool and
then using it (for example in OpenWrt's buildroot). But when using an
SDK the paths are most likely different.

For example, when building util-linux within an SDK we're greeted with
the following message:

  libtoolize: error: $pkgauxdir is not a directory: '/path/to/openwrt/staging_dir/host/share/libtool/build-aux'

This is because staging_dir/host/bin/libtoolize contains the following
hard-coded paths from when the SDK was built in the first place:

  prefix="/path/to/openwrt/staging_dir/host"
  datadir="/path/to/openwrt/staging_dir/host/share"
  pkgauxdir="/path/to/openwrt/staging_dir/host/share/libtool/build-aux"
  pkgltdldir="/path/to/openwrt/staging_dir/host/share/libtool"
  aclocaldir="/path/to/openwrt/staging_dir/host/share/aclocal"

This commits updates 000-relocatable.patch to correct the paths,
relative to "$STAGING_DIR_HOST".

Ref: 96e05e2e3 ("libtool: Revert "libtool: bump to 2.4.6"")
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
[adapted to older libtool version before bumping, use STAGING_DIR_HOST]
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
efe56a51bc tools/libtool: add commit messages to patches
Add commit messages to patches as intended
by the last bump to libtool which had to be reverted.

This allows for a cleaner diff later,
removing this clutter from the complex changes to patches
that are required to bump to the latest libtool version.

Ref: c377d874b ("libtool: bump to 2.4.6")
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
c7828a7184 tools/libtool: refresh patches
Preparation for bumping libtool several versions at once,
which includes some complex changes to patches.

Remove an empty line change from a patch.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
f509935fe3 tools/automake: bump to 1.16.5
Automake releases 1.16.2 to 1.16.5 are major releases,
the two before are minor releases.

The first patch needed rewriting, some lines moved
to be consistent with the same change upstream in other files.
This also simplifies the patch.

Second patch refreshed.

Links to changelogs in order, oldest to newest.

Link: https://lists.gnu.org/archive/html/info-gnu/2018-02/msg00008.html
Link: https://lists.gnu.org/archive/html/info-gnu/2018-03/msg00002.html
Link: https://lists.gnu.org/archive/html/info-gnu/2020-03/msg00009.html
Link: https://lists.gnu.org/archive/html/info-gnu/2020-11/msg00005.html
Link: https://lists.gnu.org/archive/html/info-gnu/2021-07/msg00013.html
Link: https://lists.gnu.org/archive/html/info-gnu/2021-10/msg00000.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
030447b8f4 tools/autoconf: bump to 2.71
Autoconf release 2.71 is a bugfix release of 2.70
Links provided are the changelog of 2.70 [1] [2]
and the announcement of 2.71 [3]

The first patch needed to be rewritten.
Some of the lines in the patch were moved
to be consistent with the same change added upstream
in other similar files.

Second and third patches are no longer needed,
Emacs can now be disabled at the configure stage,
and support for musl was added upstream.

The patch now causes help2man to be required
for installing man pages, but we don't need them.
There is no way to disable man pages build
with the configure script,
so use make to touch the files with the build target install-man1.

Link: https://lists.gnu.org/archive/html/autotools-announce/2020-12/msg00001.html
Link: https://lwn.net/Articles/839395
Link: https://lists.gnu.org/archive/html/info-gnu/2021-01/msg00017.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
b3776230f3 tools/autoconf-archive: bump to 2022.09.03
Changelog included in package.
Link to announcement.

Link: https://lists.gnu.org/archive/html/info-gnu/2022-09/msg00004.html
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
a3cf796e77 tools/automake: use make variable to generate aclocal symlinks
Instead of having a somewhat random list of aclocal symlinks
which are named with the API versioning scheme,
install a symlink for every API version since 1.11
(the first release after Automake was moved to git)
using the API version number from the version of automake
that is currently in openwrt.

Automake API versioning does not include the patch level number.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
8d0ff17ec9 tools/automake: clean up build recipes
The configure option datarootdir
defaults to PREFIX/share.

The Host/Clean define should be Host/Uninstall
otherwise it is removing the build directory
before there is a chance to try "make uninstall"
in that directory.
Host/Clean/Default is no longer defined.

Consolidate the install stage with Host/Uninstall,
since it is essentially uninstalling before installing.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
99ed71faec tools/autoconf: clean up build recipes
The configure option datarootdir
defaults to PREFIX/share.

The Host/Clean define should be Host/Uninstall
otherwise it is removing the build directory
before there is a chance to try "make uninstall"
in that directory.
Host/Clean/Default is no longer defined.

Use default build recipes defined in host-build.mk
instead of custom ones that are equivalent.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Michael Pratt
a1527207b8 tools/autoconf-archive: clean up build recipes
The configure option datarootdir
defaults to PREFIX/share.

The Host/Clean define should be Host/Uninstall
otherwise it is removing the build directory
before there is a chance to try "make uninstall"
in that directory.
Host/Clean/Default is no longer defined.

Use default build recipes defined in host-build.mk
instead of custom ones that are equivalent.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-03-13 22:53:41 +01:00
Nick Hainke
34f7b2120c tools/elfutils: update to 1.89
Release Notes:
https://sourceware.org/pipermail/elfutils-devel/2023q1/006023.html

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-03-12 13:53:49 +01:00
Paul Fertser
5a1eb3bb2c Remove ccache wrappers
These wrappers are not needed as CC doesn't need to be a single word.

a53b084e49 which introduced the wrappers
doesn't explain why they were really needed and why only for the target
and not for the host.

Moreover, name of the wrappers breaks a ccache assumption: since
v4.0-3-g6a92b4cd3a67 it has special handling for "chained" invocation
such as "ccache ccache gcc" where it skips all the "ccache*" names in
the middle and proceeds to run as if it was started as "ccache
gcc"[1][2].

This becomes important when a build system sees ccache in the PATH and
automatically enables it by prepending to CC. An example of such a
system would be autosetup as used by jimtcl. With the wrappers it breaks
as the command line ends up being just "ccache -Os..." because
"ccache_cc" gets skipped as it starts with "ccache".

[1] https://github.com/ccache/ccache/blob/master/src/ccache.cpp#L2105
[2] https://github.com/ccache/ccache/blob/master/src/Util.cpp#L802

Reported-by: Karl Palsson <karlp@etactica.com>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2023-03-05 17:48:31 +01:00
Daniel Golle
af5e230c20 tools/squashfs4: fix PKG_MIRROR_HASH
The hash currently matches neither the SHA256 of the Github download
nor the hash of the archive generated by the OpenWrt build system.
(and yes, they differ...)

Set hash of Github-generated tarball.

Fixes: 30f2d516ba ("tools/squashfs4: add new tool for squashfs4 images")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-02-25 19:01:53 +00:00
Christian Marangi
eac6fe6f74
tools/squashfskit4: drop unused tool
Drop squashfskit4 tool as it got replaced by new version of squashfs4
tool.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-02-20 07:34:07 +01:00
Christian Marangi
30f2d516ba
tools/squashfs4: add new tool for squashfs4 images
squashfs tool is finally reborn and correctly maintained.

Introduce the new version as a replacement for squasfs4kit as it was a
fork and also abandoned.

Add additional patch to add the missing feature present in squashfskit4
but still missing on this new project.

Backport each required patch that fix compilation error on macos.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-02-20 07:34:03 +01:00
Christian Marangi
01262c921c
tools/squashfs: rename to squashfs3-lzma
The name of squashfs is confusing since in reality it's a really old
version using an old lzma library. This tools is used for old ath79
netgear target and to produde a fake squasfs3 image needed for some
specific bootloader from some OEM (AVM for example)

Rename squashfs tool to squasfs3-lzma to better describe it.
Rename the installed bin from mksquashfs-lzma to mksquashfs3-lzma.
Use tar transform to migrate the root directory in tar to the new
naming.
Drop redundant PKG_CAT variable not needed anymore.
Also update any user of this tool.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-02-18 21:11:36 +01:00
Rosen Penev
80d61c41d5 tools/zstd: update to 1.5.4
Mostly performance improvements, as usual.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-18 17:38:01 +01:00
Nick Hainke
11591752ac tools/e2fsprogs: update to 1.47.0
Release notes:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.0

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-02-12 16:45:29 +01:00
Michael Pratt
eeba2a67ca Revert "tools/fakeroot: update to 1.30.1"
This reverts commit 52167feff8.

Fakeroot 1.30.1 broke building on certain hosts (32-bit archs).

As of 2023-01-10, this was apparently fixed in source code,
however, the version is still 1.30.1 (patch release),
so the old binaries are removed from the repository and replaced,
but the source provided by the repository remains the same.

Furthermore, there are some complicated issues blocking
the "testing" release from being bumped to a 1.30.x version.

Considering all of this, it would likely be better for this package
to follow the "testing" release instead of the "unstable" release,
which is still 1.29-1, so revert to that.

Link: https://bugs.debian.org/1023286
Link: https://tracker.debian.org/news/1407613/accepted-fakeroot-1301-11-source-into-unstable/
Link: https://qa.debian.org/excuses.php?package=fakeroot
Link: https://bugs.debian.org/1027803
Signed-off-by: Michael Pratt <mcpratt@pm.me>
2023-02-12 01:02:22 +01:00
Rosen Penev
786c4099b4
tools/cmake: remove rpath ldflag
no longer needed because of tools/zstd

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-09 02:53:36 +01:00
Rosen Penev
e704a2b57b
tools/zstd: build libraries as static
Enables to get rid of rpath hack for all users.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-02-09 02:53:36 +01:00
Nick Hainke
38350650cb tools/e2fsprogs: update to 1.46.6
Release information:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.46.6

Remove upstreamed patch:
- 004-CVE-2022-1304-libext2fs-add-sanity-check-to-extent-manipulation.patch

Refresh patch:
- 003-no-crond.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-02-08 00:12:23 +01:00
Nick Hainke
6bc675c0be tools/pkgconf: add PKG_CPE_ID
Add PKG_CPE_ID to track vulnerabilities.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-02-05 22:39:17 +01:00
Nick Hainke
57ad2ea110 tools/pkgconf: update to 1.9.4
Release information:
https://github.com/pkgconf/pkgconf/blob/master/NEWS

Fixes CVE-2023-24056.

Further, this commit corrects the "-Dtests" flag and changes it from
"false" to "disabled".

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-02-05 22:39:17 +01:00
John Audia
c5608227ef tools/coreutils: update to 9.1
In addition to version update, this commit applies a fixup to allow building
on MacOS involving renaming: [gt_TYPE_WINT_T] --> [gt_TYPE_WINT_T_GNUTLS]
suggested by zhanhb.

Build system: x86_64
Build-tested: bcm2711/RPi4B

Signed-off-by: John Audia <graysky@archlinux.us>
2023-02-05 21:55:20 +01:00
Mark Ceeha
c97bcec15a firmware-utils: bump to git HEAD
Adds support for building TP-Link Deco M4R v4 factory images

    e7233d229c2c tplink-safeloader: Add support for Deco M4R V4

Signed-off-by: Mark Ceeha <hi@shiz.me>
2023-02-03 12:13:50 +01:00
Linhui Liu
825250ec4b tools/cmake: update to 3.25.2
Release Notes:
    https://cmake.org/cmake/help/latest/release/3.25.html#id2

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-01-24 23:19:21 +01:00
Nick Hainke
58a8ad3801 tools/ninja: update to 1.11.1
Release Notes:
https://github.com/ninja-build/ninja/releases/tag/v1.11.1

Sync the "100-make_jobserver_support.patch" with the PR:
https://github.com/ninja-build/ninja/pull/1140

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-01-24 23:13:25 +01:00
Olliver Schinagl
62e150949f
libdeflate: Avoid circular dependencies
CMake depends on (libdeflate-)gunzip, libdeflate depends on Cmake, so we
can't win.

Luckily libdeflate is _very_ easy to build, without any build system, so
lets just manually compile it and be done with it.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2023-01-17 21:01:54 +01:00
Olliver Schinagl
9a59bf3528
libdeflate: Update to v1.17
The new version of libdeflate makes it a little easier to build it
without any build system.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2023-01-17 20:55:18 +01:00
Olliver Schinagl
92feae64eb
tools: Improve diffability/maintainability
Like with commit ae614fb397 ("tools: Improve diffability/maintainability")
we also want tools-core to be easy to maintain. While a smaller target,
it's still usefull and makes things nice and consistent.

To avoid duplicating any tools in the comment, simplify the comment
instead.

Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
2023-01-17 20:54:05 +01:00
Tony Butler
32e99ed069 tools/lzop: add lzop binaries
Depends: `tools/liblzo`

`lzop` is the standard executable for LZO compression

the initramfs generator offers the LZO option but there was no
executable to support it actually working

Signed-off-by: Tony Butler <spudz76@gmail.com>
2023-01-16 23:51:10 +00:00
Tony Butler
9a8509c2c5 tools/liblzo: add liblzo library
prerequisite of upcoming `tools/lzop` addition, and subsequent initramfs
and squashfs cleanups

same as `packages/lzo` modified to be a HOST/tools type build,
and should always be the same version and sources when either one is
bumped

because this (and `packages/lzo`) only provide liblzo and no
executables, use the clearer name `tools/liblzo`

Signed-off-by: Tony Butler <spudz76@gmail.com>
2023-01-16 23:51:10 +00:00
Tony Butler
8b12966d20 tools/lz4: add lz4 binaries
same as `packages/liblz4` modified to be a HOST/tools type build with
unified liblz4 (this is also the dev package for liblz4)

the image initramfs generator offers the LZ4 option but there was no
executable to support it actually working

Signed-off-by: Tony Butler <spudz76@gmail.com>
2023-01-16 23:51:10 +00:00
David Bauer
9300a20dcc dosfstools: switch to AC_CHECK_LIB
This fixes spurious build-errors on OpenWrt, where the AM_ICONV macro
is undefined while invoking autoconfig. Later in the build, the ICONV
LDOPTIONS are set to @LIBICONV@, failing the build.

Signed-off-by: David Bauer <mail@david-bauer.net>
2023-01-16 18:29:04 +01:00
David Bauer
8292537e90 dosfstools: refresh patches
Signed-off-by: David Bauer <mail@david-bauer.net>
2023-01-16 18:28:57 +01:00
Linhui Liu
7a5d37ef61 tools/b43-tools: update to latest git HEAD
2fe10ea b43-fwdump: Fix forwarding of arguments to disassembler

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-01-14 09:36:02 +08:00
Linhui Liu
753efd45b2 tools/xz: update to 5.4.1
Release notes:
    https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;hb=HEAD

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-01-13 22:09:12 +01:00
Linhui Liu
9db52b6785 tools/patchelf: update to 0.17.2
Changes from version 0.17.1 to version 0.17.2:
- fix incorrect version in 0.17.1

Changes from version 0.17.0 to version 0.17.1:
- Also pass STRIP to the tests
- Fix Out-of-bounds read in the function modifySoname
- Split segment size fix

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-01-13 22:08:17 +01:00
Linhui Liu
ace44e5b57 tools/llvm: update to 15.0.7
Release Notes:
    https://discourse.llvm.org/t/llvm-15-0-7-release/67638

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-01-13 22:07:13 +01:00
Linhui Liu
1909a3d69b tools/mkimage: update to 2023.01
Remove upstreamed patches:
- 020-tools-mtk_image-split-gfh-header-verification-into-a.patch
- 021-tools-mtk_image-split-the-code-of-generating-NAND-he.patch
- 022-tools-mtk_image-add-support-for-nand-headers-used-by.patch

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
2023-01-13 14:49:52 +00:00
Christian Marangi
e854dcaef3
tools/mpc: use STAGING_DIR_HOST instead of hardcoding default
Use STAGING_DIR_HOST to reference the staging dir for host tools instead
of hardcoding it to the default location.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-09 21:33:19 +01:00
Christian Marangi
7b56ca399a
libtool: use STAGING_DIR_HOST in relocatable patch
Instead of using STAGING_DIR and then go up one dir with '../' use
directly STAGING_DIR_HOST env variable. This should produce cleaner
symbolic links.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-09 21:33:18 +01:00
Christian Marangi
b344da7640
autoconf: use STAGING_DIR_HOST in relocatable patch
Instead of using STAGING_DIR and then go up one dir with '../' use
directly STAGING_DIR_HOST env variable. This should produce cleaner
symbolic links.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-09 21:33:18 +01:00
Christian Marangi
3606fcce0b
automake: use STAGING_DIR_HOST in relocatable patch
Instead of using STAGING_DIR and then go up one dir with '../' use
directly STAGING_DIR_HOST env variable. This should produce cleaner
symbolic links.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-09 21:33:18 +01:00