Commit Graph

328 Commits

Author SHA1 Message Date
Rafał Miłecki
2cb83a991a firmware-utils: bump to the latest master
56e8e19 otrx: support TRX from stdin when extracting
a37ccaf otrx: support unsorted partitions offsets
1fa145e otrx: extract shared code opening & parsing TRX format
0fbc135 oseama: support extracting entity to stdout
58c9d5d oseama: allow reading from stdin
4ecefda otrx: allow validating TRX from stdin
cf01e69 otrx: avoid unneeded fseek() when calculating CRC32
fa35379 tplink-safeloader: add EAP225 v1 support
f4d1263 build, cmake: switch OPENSSL_CRYPTO_LIBRARY -> OPENSSL_CRYPTO_LIBRARIES
cd3f6ee build, cmake: add quotes for FW_UTIL variable arguments

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-12-07 23:57:30 +08:00
AmadeusGhost
0c9ce5afbc Merge Mainline 2021-12-01 00:15:25 +08:00
Rosen Penev
8a52924c8e tools/libressl: update to 3.4.1
Signed-off-by: Rosen Penev <rosenp@gmail.com>
(cherry picked from commit 03bb3412a2)
2021-11-28 00:02:46 +08:00
Adrian Schmutzler
f2d5827020 firmware-utils: bump to latest git HEAD
7073760 ramips: add support for TP-Link RE305 v3
86739f2 Add more missing include for byte swap operations

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-11-19 00:05:23 +08:00
Andre Heider
510d44e42f tools/pkgconf: add PKG_CONFIG_EXTRAARGS for additional arguments
This can be used my the OpenWrt build system to pass additional
arguments when required.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2021-10-28 23:57:10 +08:00
Tianling Shen
f4effdee24 Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-10-27 12:18:41 +08:00
Rui Salvaterra
ef4a2c9509 tools/isl: update the download URL
isl.gforge.inria.fr has been dead since early this month [1]. Switch to
libisl.sourceforge.io for the time being.

[1] https://groups.google.com/g/isl-development/c/JGaMo2VUu_8

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-10-24 00:16:22 +08:00
Felix Fietkau
14f3dbb8b0 tools/llvm-bpf: add llvm+clang build suitable for compiling code to eBPF
Preparation for building packages that ship eBPF code

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-10-24 00:08:23 +08:00
Felix Fietkau
83f1d6b96e tools/fakeroot: explicitly pass CPP variable
For some reason, the generated configure script fails to properly set up
the internal preprocessor command variable, causing the host OS check for
Darwin to fail after the last update.
Explicitly setting CPP fixes this issue

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-10-19 00:02:48 +08:00
Rosen Penev
0046ae202e tools/ccache: update to 4.4.2
Refreshed patch.

Disable hiredis backend since it seems to default to it now.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-10-12 23:40:45 +08:00
Rosen Penev
d544c1b0d7 tools/meson: fix usage with SDK
The python path cannot be embedded in the meson binary as it changes
with the SDK.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-10-12 23:40:34 +08:00
Kevin Darbyshire-Bryant
e81067552f firmware-utils: bump to git HEAD
f9ad6b3 Add more missing includes for byte swap operations

Basically stop it exploding on MacOS

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2021-10-10 23:49:10 +08:00
Petr Štetiar
43b96ecea6 firmware-utils: update to version 2021-10-05
Includes following changes:

 db65821f006c cmake: fix missing install target
 3a0cfc856991 Add initial GitLab CI support
 8f47adea6f87 Add missing includes for byte swap operations
 fbafae9f8037 Convert to CMake based project

Additionaly moves source code into separate Git project repository and
converts the package build to utilize CMake.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
[rmilecki: rebase, update to the latest repo git & rm -r src]
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2021-10-10 23:48:25 +08:00
Tianling Shen
077e6b59e8 Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-10-09 11:19:14 +08:00
Rosen Penev
b082f04ae3 tools/meson: update to 0.59.2
Update install procedure based on upstream feedback. Normally, meson is
to be installed with pip. But as pip is not mandated by the build
system, it cannot be used. Upstream provides a nice script to pack meson
automatically.

Moved src/ to files/. No need to copy to BUILD_DIR.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-10-08 23:39:42 +08:00
Rosen Penev
0b24cf0aef tools/cmake: update to 3.21.3
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-10-06 23:34:58 +08:00
Rosen Penev
3f3da66abe tools/bison: update to 3.8.2
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-10-06 23:34:05 +08:00
Felix Fietkau
0d57f8b297 tools/fakeroot: fix build error on macOS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-09-28 23:37:03 +08:00
Andrew Cameron
4d571bb68b ath79: add support for TP-Link CPE710-v1
TP-Link CPE710-v1 is an outdoor wireless CPE for 5 GHz with
one Ethernet port based on the AP152 reference board

Specifications:
- SoC: QCA9563-AL3A MIPS 74kc @ 775MHz, AHB @ 258MHz
- RAM: 128MiB DDR2 @ 650MHz
- Flash: 16MiB SPI NOR Based on the GD25Q128
- Wi-Fi 5Ghz: ath10k chip (802.11ac for up to 867Mbps on 5GHz wireless
  data rate) Based on the QCA9896
- Ethernet: one 1GbE port
- 23dBi high-gain directional 2×2 MIMO antenna and a dedicated metal
  reflector
- Power, LAN, WLAN5G Blue LEDs
- 3x Blue LEDs

Flashing instructions:
Flash factory image through stock firmware WEB UI or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 30-40 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP address:192.168.0.254

Signed-off-by: Andrew Cameron <apcameron@softhome.net>
[convert to nvmem, fix MAC assignment in 11-ath10k-caldata]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-09-27 23:56:37 +08:00
Felix Fietkau
b3d52933b2 tools/fakeroot: fix build error on macOS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-09-26 23:58:32 +08:00
Alan Luck
d162f4dd57 ramips: add missing information to dlink headers
Add additional header information required for newer
bootloaders found on DIR-2660-A1 & A2.

Also remove the MTD splitter compatible from the second firmware
partition, as OpenWrt only supports handling of the first one.

Signed-off-by: Alan Luck <luckyhome2008@gmail.com>
[rephrase commit message, remove removal of read-only flags]
Signed-off-by: David Bauer <mail@david-bauer.net>
2021-09-25 00:16:14 +08:00
Hauke Mehrtens
3eb78a8e0c libtool: Revert "libtool: bump to 2.4.6"
This breaks the package builds using the SDK.
The targets all build fine, but the package builder fails on many
packages. The package builder uses the OpenWrt SDK.

This reverts commit c377d874be.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-09-23 23:56:08 +08:00
Tianling Shen
11805f2f70 Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-09-23 10:13:31 +08:00
Rosen Penev
85bdd87fc4 tools/e2fsprogs: update to 1.46.4
Refresh patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-22 23:35:20 +08:00
Rosen Penev
7457d9bc2b tools/autoconf-archive: update to 2021.02.19
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-22 23:35:06 +08:00
Rosen Penev
00b400024b tools/sstrip: update to 3.2
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-22 23:34:49 +08:00
Rosen Penev
f20796d631 tools/sparse: update to 0.6.4
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-22 23:34:38 +08:00
Rosen Penev
f2b0893fc0 tools/mtools: update to 4.0.35
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-22 23:34:21 +08:00
Rosen Penev
a62ae81c66 tools/m4: update to 1.4.19
Remove upstreamed patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-22 23:34:11 +08:00
Rosen Penev
164b915c2c tools/fakeroot: update to 1.26
Remove upstreamed patches. Refresh other.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-22 23:34:00 +08:00
Rosen Penev
40614a630c tools/bison: update to 3.8.1
Remove upstreamed patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-22 23:33:49 +08:00
Eneas U de Queiroz
49eb757386 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.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2021-09-21 23:39:32 +08:00
Rosen Penev
41b0200487 tools/pkgconf: update to 1.8.0
Switch to compiling with meson for faster and more reliable compilation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-19 00:09:29 +08:00
Rosen Penev
3d0dc072f1 tools/pkgconf: update to 1.7.3
Remove upstreamed patch.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-19 00:06:37 +08:00
Jo-Philipp Wich
c2ff1d8c03 pkgconf: always retain -I and -L flags
The pkgconf fork filters -I and -L flag values from .pc files which match
pkgconf's builtin system directory value.

During configure, pkgconf derives the default system include and library
search path values from exec_prefix, which is set to staging_dir/host in
the host tool build phase.

Due to that, pkgconf will drop all -I and -L flags pointing to
staging_dir/host/include or staging_dir/host/lib, unless invoked with
--keep-system-cflags and --keep-system-libs respectively, breaking our
kernel libelf discovery / stack validation workarounds.

In order to inhibit the filtering, add --keep-system-cflags and
--keep-system-libs to our pkg-config shell wrapper.

Fixes: GH#2832
Fixes: 867298cf47 ("tools/pkg-config: Replace with pkgconf")
Ref: https://lists.infradead.org/pipermail/openwrt-devel/2020-March/022182.html
Ref: https://git.openwrt.org/fe43969336201f2cc7d103b68fd6e65989bee184
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Acked-by: Petr Štetiar <ynezz@true.cz>
2021-09-19 00:06:26 +08:00
Rosen Penev
0a3ac3cc02 tools/pkgconf: Run pkg-config wrapper through shellcheck
Mainly quoting fixes.

Separated parameters by \ for easier readability.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-19 00:06:16 +08:00
Rosen Penev
3246dc7f15 tools/pkg-config: Replace with pkgconf
pkgconf is a newer, actively maintained implementation of pkg-config that
supports more aspects of the pkg-config file specification and provides a
library interface that applications can use to incorporate intelligent
handling of pkg-config files into themselves (such as build file
generators, IDEs, and compilers). Through its pkg-config compatibility
interface (activated when it is run as "pkg-config"), it also can
completely replace the original implementation.

It is also lighterweight and does not require glib2, as pkg-config does.

On other distros, pkgconf is symlinked to pkg-config. For simplicity here,
it is renamed to pkg-config.real, as in the original package.

Initial results have been positive. As before, pkgconf works as long as
the pkg-config files point to the proper paths.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[backported upstream fix for Meson]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2021-09-19 00:05:57 +08:00
Rosen Penev
e06ab0c6b3 tools: add meson
meson is a next generation build system designed to have good defaults,
simpler build files, and fast compilation.

It is built upon python and uses ninja for compilation. The latter
provides fast by default (parallel) and problem free compilation.

There are over 40 packages already successfully using meson. The next
commit will convert pkgconf to use meson compilation.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-18 23:53:55 +08:00
Rosen Penev
f0dff7533c tools/mm-macros: remove
ccaaab1c04 says that this is in the
codebase because of libsigc++, which is not in the codebase anymore.
Neither in base nor in packages. It doesn't seem to be needed by
anything else either. GNOME packages have transitioned to using meson,
which does not use m4 files.

Tested local compile with CONFIG_ALL. No problems seen.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-18 23:51:55 +08:00
Sander Vanheule
6b3a9d3a3a firmware-utils: tplink-safeloader: set EAP235-Wall v1 soft-version
Starting with v3 of the vendor firmware for the TP-Link EAP235-Wall v1,
downgrades to firmware versions below v3 as not allowed.  Since OpenWrt
uses version 0.0.0 as a default, this causes the factory install to fail
on devices with a recent firmware. This failure is associated by the
following message on the device's serial console:

    EAP235/230-Wall forbid fw reverted from 3.x.x to lower version!

Vendor firmware (v3) also uses build and release numbers to compare
images, so identical version numbers are very unlikely to cause issues.
Bump the firmware version to 3.0.0 to ensure users can install OpenWrt
on their devices.

Reported-by: Colton Conor <colton.conor@gmail.com>
Tested-by: Colton Conor <colton.conor@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2021-09-16 23:59:37 +08:00
Sander Vanheule
0b1f986c4c firmware-utils: tplink-safeloader: improve soft-version customisation
Some devices using the safeloader firmware format require a minimum or
specific version to be set in the soft-version metadata partition.
Currently only custom text values can be provided, but not all device
firmware support this format.

Modify the device info struct to allow for more well-defined types of
soft-version overwrites, and provide a few macros for easy value
initialisation. Requires all existing values to be updated to match the
new structure.

Signed-off-by: Sander Vanheule <sander@svanheule.net>
[Adapt TL-WA1201-V2 entry too]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-09-16 23:59:20 +08:00
Tianling Shen
369be64ebb Merge Mainline
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2021-09-11 04:14:53 +08:00
Sander Vanheule
4d82b2f977 firmware-utils: tplink-safeloader: use revision field
The structured soft-version partition has a field which contains a
(source) revision number. Factory images used to include this, but
it was accidentaly removed during an earlier refactoring.

Include the source revision number again in the generated soft-version
partition. Additionaly, also show this revision number when printing
image info.

Fixes: 1a211af2cb ("firmware-utils: tplink-safeloader: refactor meta-partition generation")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
2021-09-10 12:26:52 +08:00
Rafał Miłecki
2fb7e00601 firmware-utils: seama.h: replace LGPL-2.1-or-later boilerplate with SPDX
This was missed because scancode license scanner was confused by a
slightly different than expected license text (96,75% license score).

License text included "file" instead of "library" in the main part of
the licensing info. It also used "The GNU C Library" instead of the
standard "This library" in 2nd and 3rd paragraphs.

The first paragraph clearly mentions LGPL-2.1-or-later and the use of
"file" instead of "library" should not affect licensing.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-09-08 23:25:51 +08:00
Ivan Pavlov
f16245a009 tools/libtool: update to 2.4.2
Refresh patches.
Remove upstreamed: 001-fix-func_append.patch

Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com>
2021-09-08 23:25:12 +08:00
Kevin Darbyshire-Bryant
4dd6fcb510 tools/findutils: fix build on macos
Use same fix as homebrew:

https://github.com/Homebrew/homebrew-core/pull/69761

Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
2021-09-07 23:24:52 +08:00
Rosen Penev
b01487863f tools/libressl: update to 3.3.4
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-07 23:24:35 +08:00
Rosen Penev
be9e54685f tools/cmake: update to 3.21.2
Refreshed patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-07 23:24:25 +08:00
Rosen Penev
c5e28a2969 tools/bison: update to 3.7.6
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-07 23:24:13 +08:00
Rosen Penev
9726d837b0 tools/dosfstools: update to 4.2
Remove upstream backport.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2021-09-07 23:24:00 +08:00