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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
* 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>
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>
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>
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>