From 34f7b2120cf9be9a186f6db1076b462e5951e207 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 4 Mar 2023 23:12:31 +0100 Subject: [PATCH 01/24] tools/elfutils: update to 1.89 Release Notes: https://sourceware.org/pipermail/elfutils-devel/2023q1/006023.html Signed-off-by: Nick Hainke --- tools/elfutils/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/elfutils/Makefile b/tools/elfutils/Makefile index 4461e45b686..f9c6272719c 100644 --- a/tools/elfutils/Makefile +++ b/tools/elfutils/Makefile @@ -3,12 +3,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=elfutils -PKG_VERSION:=0.188 +PKG_VERSION:=0.189 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) -PKG_HASH:=fb8b0e8d0802005b9a309c60c1d8de32dd2951b56f0c3a3cb56d21ce01595dff +PKG_HASH:=39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8 PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=COPYING COPYING-GPLV2 COPYING-LGPLV3 From 56f4d5ec6babfe54d9e29cc06d7c9b090af84cd3 Mon Sep 17 00:00:00 2001 From: Nick Hainke Date: Sat, 4 Mar 2023 23:19:37 +0100 Subject: [PATCH 02/24] elfutils: update to 1.89 Release Notes: https://sourceware.org/pipermail/elfutils-devel/2023q1/006023.html Refresh patch: - 003-libintl-compatibility.patch Signed-off-by: Nick Hainke --- package/libs/elfutils/Makefile | 6 ++++-- .../libs/elfutils/patches/003-libintl-compatibility.patch | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/package/libs/elfutils/Makefile b/package/libs/elfutils/Makefile index 717403c1247..2c68a94ba03 100644 --- a/package/libs/elfutils/Makefile +++ b/package/libs/elfutils/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=elfutils -PKG_VERSION:=0.188 +PKG_VERSION:=0.189 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) -PKG_HASH:=fb8b0e8d0802005b9a309c60c1d8de32dd2951b56f0c3a3cb56d21ce01595dff +PKG_HASH:=39bd8f1a338e2b7cd4abc3ff11a0eddc6e690f69578a57478d8179b4148708c8 PKG_MAINTAINER:=Luiz Angelo Daros de Luca PKG_LICENSE:=GPL-3.0-or-later @@ -65,6 +65,7 @@ HOST_CONFIGURE_ARGS += \ --disable-nls \ --disable-debuginfod \ --disable-libdebuginfod \ + --without-bzlib \ --without-lzma \ --without-zstd @@ -72,6 +73,7 @@ CONFIGURE_ARGS += \ --program-prefix=eu- \ --disable-debuginfod \ --disable-libdebuginfod \ + --without-bzlib \ --without-lzma \ --without-zstd diff --git a/package/libs/elfutils/patches/003-libintl-compatibility.patch b/package/libs/elfutils/patches/003-libintl-compatibility.patch index ce71602d774..1271796af54 100644 --- a/package/libs/elfutils/patches/003-libintl-compatibility.patch +++ b/package/libs/elfutils/patches/003-libintl-compatibility.patch @@ -8,10 +8,10 @@ +Libs: -L${libdir} -lelf @intl_LDFLAGS@ Cflags: -I${includedir} - Requires.private: zlib + Requires.private: zlib @LIBZSTD@ --- a/configure.ac +++ b/configure.ac -@@ -652,6 +652,9 @@ dnl AM_GNU_GETTEXT_REQUIRE_VERSION suppo +@@ -717,6 +717,9 @@ dnl AM_GNU_GETTEXT_REQUIRE_VERSION suppo AM_GNU_GETTEXT_VERSION([0.19.6]) AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.6]) From a7a3de5edb142c7cefdb6e810cc07a6222f7541d Mon Sep 17 00:00:00 2001 From: Lech Perczak Date: Tue, 7 Mar 2023 01:14:05 +0100 Subject: [PATCH 03/24] ath79: fix user LED glow on Mikrotik 911 Lite boards GPIO3, to which the user LED is connected on RB911-Lite boards seems to still sink current, even when driven high. Enabling open drain for this pin fixes this behaviour and gets rid of the glow when LED is set to off, so enable it. Fixes: 43c7132bf8e7 ("ath79: add support for MikroTik RouterBOARD 911 Lite2/Lite5") Signed-off-by: Lech Perczak --- target/linux/ath79/dts/ar9344_mikrotik_routerboard-911-lite.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-911-lite.dts b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-911-lite.dts index d77078c5a22..0315f49d074 100644 --- a/target/linux/ath79/dts/ar9344_mikrotik_routerboard-911-lite.dts +++ b/target/linux/ath79/dts/ar9344_mikrotik_routerboard-911-lite.dts @@ -25,7 +25,7 @@ led_user: user { label = "green:user"; - gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + gpios = <&gpio 3 (GPIO_ACTIVE_LOW|GPIO_OPEN_DRAIN)>; }; }; From 129be247a6a0cb11132691bdf27104f48ab08530 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Wed, 24 Aug 2022 22:32:13 -0400 Subject: [PATCH 04/24] build: disable automake dependency tracking Recent versions of Automake have changed dependency tracking significantly (reference commit below) causing breakage in some package builds when using newer Automake with packages that need autoreconf that were bootstrapped with an old version of Automake. Those changes cause a great inconsistency between packages over time where some packages may or may not use this feature, and may or may not update the .ac and .am files to work with the new methods. This problem might exist in many packages where autoreconf is not currently required, but would cause build failure if autoreconf is used. Fortunately, this feature is practically useless for the purposes of Openwrt and the average developer, so we can disable it. GNU Automake manual states in part: "Because dependencies are only computed as a side-effect of compilation... no dependency information exists the first time a package is built... dependency tracking is completely useless for one-time builds..." A nice side-effect is that build times are slightly faster. Ref: 6a675ef17edf7109da189f5ae70e2dc6b7665896 (automake.git) Signed-off-by: Michael Pratt --- include/host-build.mk | 1 + include/package-defaults.mk | 1 + 2 files changed, 2 insertions(+) diff --git a/include/host-build.mk b/include/host-build.mk index 2cc1ec5842f..b7fb0a737f1 100644 --- a/include/host-build.mk +++ b/include/host-build.mk @@ -59,6 +59,7 @@ HOST_CONFIGURE_ARGS = \ --target=$(GNU_HOST_NAME) \ --host=$(GNU_HOST_NAME) \ --build=$(GNU_HOST_NAME) \ + --disable-dependency-tracking \ --program-prefix="" \ --program-suffix="" \ --prefix=$(HOST_BUILD_PREFIX) \ diff --git a/include/package-defaults.mk b/include/package-defaults.mk index 72f88b9bbbd..2cff26b5317 100644 --- a/include/package-defaults.mk +++ b/include/package-defaults.mk @@ -80,6 +80,7 @@ CONFIGURE_ARGS = \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ + --disable-dependency-tracking \ --program-prefix="" \ --program-suffix="" \ --prefix=$(CONFIGURE_PREFIX) \ From a1527207b8f23d4084a18e988605fd30c5e72ca8 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Wed, 7 Sep 2022 10:29:49 -0400 Subject: [PATCH 05/24] 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 --- tools/autoconf-archive/Makefile | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/tools/autoconf-archive/Makefile b/tools/autoconf-archive/Makefile index 228a27cf600..ecca9973135 100644 --- a/tools/autoconf-archive/Makefile +++ b/tools/autoconf-archive/Makefile @@ -9,20 +9,8 @@ PKG_HASH:=e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd include $(INCLUDE_DIR)/host-build.mk -HOST_CONFIGURE_ARGS += \ - --datarootdir=$(STAGING_DIR_HOST)/share - -define Host/Compile - export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR) -endef - -define Host/Install - export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR) install -endef - -define Host/Clean - -export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR) uninstall - $(call Host/Clean/Default) +define Host/Uninstall + -$(call Host/Compile/Default,uninstall) endef $(eval $(call HostBuild)) From 99ed71faec745ced91a00d46c6512b27c9892d2b Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Wed, 7 Sep 2022 10:06:15 -0400 Subject: [PATCH 06/24] 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 --- tools/autoconf/Makefile | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/tools/autoconf/Makefile b/tools/autoconf/Makefile index 6eb64d77d51..b9c2f93ff3d 100644 --- a/tools/autoconf/Makefile +++ b/tools/autoconf/Makefile @@ -1,4 +1,4 @@ -# +# # Copyright (C) 2006-2015 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. @@ -15,23 +15,15 @@ PKG_HASH:=64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684 include $(INCLUDE_DIR)/host-build.mk -HOST_CONFIGURE_ARGS += \ - --datarootdir=$(STAGING_DIR_HOST)/share - HOST_CONFIGURE_VARS += \ PERL="/usr/bin/env perl" define Host/Compile - export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR) + $(call Host/Compile/Default) endef -define Host/Install - export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR) install -endef - -define Host/Clean - -export SHELL="$(BASH)"; $(MAKE) -C $(HOST_BUILD_DIR) uninstall - $(call Host/Clean/Default) +define Host/Uninstall + -$(call Host/Compile/Default,uninstall) endef $(eval $(call HostBuild)) From 8d0ff17ec9907b1383644793884c2b50598aafea Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Wed, 7 Sep 2022 10:45:43 -0400 Subject: [PATCH 07/24] 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 --- tools/automake/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/automake/Makefile b/tools/automake/Makefile index 85ccc0ded4d..3a05cc90f8e 100644 --- a/tools/automake/Makefile +++ b/tools/automake/Makefile @@ -17,7 +17,6 @@ PKG_HASH:=af6ba39142220687c500f79b4aa2f181d9b24e4f8d8ec497cea4ba26c64bedaf include $(INCLUDE_DIR)/host-build.mk HOST_CONFIGURE_ARGS += \ - --datarootdir=$(STAGING_DIR_HOST)/share \ --disable-silent-rules HOST_CONFIGURE_VARS += \ @@ -31,9 +30,8 @@ endef define Host/Install # remove old automake resources to avoid version conflicts - rm -rf $(STAGING_DIR_HOST)/share/aclocal-[0-9]* - rm -rf $(STAGING_DIR_HOST)/share/automake-[0-9]* - $(MAKE) -C $(HOST_BUILD_DIR) install + $(call Host/Uninstall) + $(call Host/Compile/Default,install) mv $(STAGING_DIR_HOST)/bin/aclocal $(STAGING_DIR_HOST)/bin/aclocal.real $(INSTALL_BIN) ./files/aclocal $(STAGING_DIR_HOST)/bin ln -sf aclocal $(STAGING_DIR_HOST)/bin/aclocal-1.9 @@ -45,6 +43,8 @@ endef define Host/Uninstall -$(call Host/Compile/Default,uninstall) + rm -rf $(STAGING_DIR_HOST)/share/aclocal-[0-9]* + rm -rf $(STAGING_DIR_HOST)/share/automake-[0-9]* endef $(eval $(call HostBuild)) From a3cf796e7731fb7ce657017ad34e93acf35b038a Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Fri, 2 Sep 2022 14:51:48 -0400 Subject: [PATCH 08/24] 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 --- tools/automake/Makefile | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/tools/automake/Makefile b/tools/automake/Makefile index 3a05cc90f8e..246e1814b75 100644 --- a/tools/automake/Makefile +++ b/tools/automake/Makefile @@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=automake PKG_CPE_ID:=cpe:/a:gnu:automake PKG_VERSION:=1.15.1 +PKG_API_VERSION:=$(word 2,$(subst ., ,$(PKG_VERSION))) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/automake @@ -34,11 +35,13 @@ define Host/Install $(call Host/Compile/Default,install) mv $(STAGING_DIR_HOST)/bin/aclocal $(STAGING_DIR_HOST)/bin/aclocal.real $(INSTALL_BIN) ./files/aclocal $(STAGING_DIR_HOST)/bin - ln -sf aclocal $(STAGING_DIR_HOST)/bin/aclocal-1.9 - ln -sf aclocal $(STAGING_DIR_HOST)/bin/aclocal-1.10 - ln -sf aclocal $(STAGING_DIR_HOST)/bin/aclocal-1.11 - ln -sf aclocal $(STAGING_DIR_HOST)/bin/aclocal-1.11.6 - ln -sf aclocal $(STAGING_DIR_HOST)/bin/aclocal-1.15 + ( \ + api=$(PKG_API_VERSION); \ + while [ "$$$$api" -ge 11 ]; do \ + ln -sf aclocal "$(STAGING_DIR_HOST)/bin/aclocal-1.$$$$api"; \ + api=$$$$(($$$$api - 1)); \ + done; \ + ) endef define Host/Uninstall From b3776230f312972e40ef49ce8b830db0c8138b06 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Mon, 1 Aug 2022 08:29:29 -0400 Subject: [PATCH 09/24] 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 --- tools/autoconf-archive/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/autoconf-archive/Makefile b/tools/autoconf-archive/Makefile index ecca9973135..0595577283a 100644 --- a/tools/autoconf-archive/Makefile +++ b/tools/autoconf-archive/Makefile @@ -1,11 +1,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=autoconf-archive -PKG_VERSION:=2021.02.19 +PKG_VERSION:=2022.09.03 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/autoconf-archive -PKG_HASH:=e8a6eb9d28ddcba8ffef3fa211653239e9bf239aba6a01a6b7cfc7ceaec69cbd +PKG_HASH:=e07454f00d8cae7907bed42d0747798927809947684d94c37207a4d63a32f423 include $(INCLUDE_DIR)/host-build.mk From 030447b8f4c70cf8313dd8de5a3f70e2ad1de375 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Mon, 1 Aug 2022 08:28:44 -0400 Subject: [PATCH 10/24] 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 --- tools/autoconf/Makefile | 6 +- tools/autoconf/patches/000-relocatable.patch | 123 ++++++------------ tools/autoconf/patches/001-no_emacs_lib.patch | 22 ---- .../patches/002-musl_host_fixup.patch | 24 ---- 4 files changed, 47 insertions(+), 128 deletions(-) delete mode 100644 tools/autoconf/patches/001-no_emacs_lib.patch delete mode 100644 tools/autoconf/patches/002-musl_host_fixup.patch diff --git a/tools/autoconf/Makefile b/tools/autoconf/Makefile index b9c2f93ff3d..a1ce1580312 100644 --- a/tools/autoconf/Makefile +++ b/tools/autoconf/Makefile @@ -7,18 +7,20 @@ include $(TOPDIR)/rules.mk PKG_NAME:=autoconf -PKG_VERSION:=2.69 +PKG_VERSION:=2.71 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/autoconf -PKG_HASH:=64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684 +PKG_HASH:=f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4 include $(INCLUDE_DIR)/host-build.mk HOST_CONFIGURE_VARS += \ + EMACS="no" \ PERL="/usr/bin/env perl" define Host/Compile + -$(call Host/Compile/Default,--touch install-man1) # disable building of man pages $(call Host/Compile/Default) endef diff --git a/tools/autoconf/patches/000-relocatable.patch b/tools/autoconf/patches/000-relocatable.patch index a935671ce8a..a105defd299 100644 --- a/tools/autoconf/patches/000-relocatable.patch +++ b/tools/autoconf/patches/000-relocatable.patch @@ -1,7 +1,11 @@ --- a/bin/autoheader.in +++ b/bin/autoheader.in -@@ -28,7 +28,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; +@@ -30,9 +30,12 @@ use 5.006; + use strict; + use warnings FATAL => 'all'; ++$^W = 1; ++ BEGIN { - my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; @@ -10,33 +14,23 @@ unshift @INC, "$pkgdatadir"; # Override SHELL. On DJGPP SHELL may not be set to a shell -@@ -50,7 +51,7 @@ use strict; - use vars qw ($config_h %verbatim %symbol); +@@ -54,7 +57,7 @@ use Autom4te::XFile; + our ($config_h, %symbol, %verbatim); # Lib files. -my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; +my $autom4te = $ENV{'AUTOM4TE'} || ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/bin/@autom4te-name@' : '@bindir@/@autom4te-name@'); - local $config_h; my $config_h_in; my @prepend_include; + my @include; --- a/bin/autom4te.in +++ b/bin/autom4te.in -@@ -1,10 +1,12 @@ --#! @PERL@ -w -+#! @PERL@ - # -*- perl -*- - # @configure_input@ - - eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' - if 0; +@@ -26,9 +26,12 @@ use 5.006; + use strict; + use warnings FATAL => 'all'; +$^W = 1; + - # autom4te - Wrapper around M4 libraries. - # Copyright (C) 2001-2003, 2005-2012 Free Software Foundation, Inc. - -@@ -24,7 +26,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; - BEGIN { - my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; @@ -45,8 +39,8 @@ unshift @INC, $pkgdatadir; # Override SHELL. On DJGPP SHELL may not be set to a shell -@@ -44,7 +47,8 @@ use File::Basename; - use strict; +@@ -48,7 +51,8 @@ use Autom4te::General; + use Autom4te::XFile; # Data directory. -my $pkgdatadir = $ENV{'AC_MACRODIR'} || '@pkgdatadir@'; @@ -55,7 +49,7 @@ # $LANGUAGE{LANGUAGE} -- Automatic options for LANGUAGE. my %language; -@@ -87,7 +91,7 @@ my @include; +@@ -91,7 +95,7 @@ my @include; my $freeze = 0; # $M4. @@ -64,7 +58,7 @@ # Some non-GNU m4's don't reject the --help option, so give them /dev/null. fatal "need GNU m4 1.4 or later: $m4" if system "$m4 --help &1 | grep reload-state >/dev/null"; -@@ -269,6 +273,12 @@ sub load_configuration ($) +@@ -272,6 +276,12 @@ sub load_configuration ($) my @words = shellwords ($_); my $type = shift @words; @@ -79,22 +73,13 @@ fatal "$file:$.: end-language missing for: $lang" --- a/bin/autoreconf.in +++ b/bin/autoreconf.in -@@ -1,10 +1,12 @@ --#! @PERL@ -w -+#! @PERL@ - # -*- perl -*- - # @configure_input@ - - eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' - if 0; +@@ -29,10 +29,13 @@ use 5.006; + use strict; + use warnings FATAL => 'all'; +$^W = 1; + - # autoreconf - install the GNU Build System in a directory tree - # Copyright (C) 1994, 1999-2012 Free Software Foundation, Inc. - -@@ -26,7 +28,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; - + my $buildauxdir; BEGIN { - my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; @@ -102,31 +87,25 @@ + ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/autoconf' : '@pkgdatadir@'); unshift @INC, $pkgdatadir; - # Override SHELL. On DJGPP SHELL may not be set to a shell -@@ -106,9 +109,9 @@ Written by David J. MacKenzie and Akim D + $buildauxdir = $ENV{'autom4te_buildauxdir'} || $pkgdatadir . '/build-aux'; +@@ -117,9 +120,9 @@ Written by David J. MacKenzie and Akim D "; # Lib files. --my $autoconf = $ENV{'AUTOCONF'} || '@bindir@/@autoconf-name@'; --my $autoheader = $ENV{'AUTOHEADER'} || '@bindir@/@autoheader-name@'; --my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; -+my $autoconf = $ENV{'AUTOCONF'} || ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/bin/@autoconf-name@' : '@bindir@/@autoconf-name@'); -+my $autoheader = $ENV{'AUTOHEADER'} || ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/bin/@autoheader-name@' : '@bindir@/@autoheader-name@'); -+my $autom4te = $ENV{'AUTOM4TE'} || ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/bin/@autom4te-name@' : '@bindir@/@autom4te-name@'); - my $automake = $ENV{'AUTOMAKE'} || 'automake'; - my $aclocal = $ENV{'ACLOCAL'} || 'aclocal'; - my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize'; +-my $autoconf = $ENV{'AUTOCONF'} || '@bindir@/@autoconf-name@'; +-my $autoheader = $ENV{'AUTOHEADER'} || '@bindir@/@autoheader-name@'; +-my $autom4te = $ENV{'AUTOM4TE'} || '@bindir@/@autom4te-name@'; ++my $autoconf = $ENV{'AUTOCONF'} || ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/bin/@autoconf-name@' : '@bindir@/@autoconf-name@'); ++my $autoheader = $ENV{'AUTOHEADER'} || ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/bin/@autoheader-name@' : '@bindir@/@autoheader-name@'); ++my $autom4te = $ENV{'AUTOM4TE'} || ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/bin/@autom4te-name@' : '@bindir@/@autom4te-name@'); + my $automake = $ENV{'AUTOMAKE'} || 'automake'; + my $aclocal = $ENV{'ACLOCAL'} || 'aclocal'; + my $libtoolize = $ENV{'LIBTOOLIZE'} || 'libtoolize'; --- a/bin/autoscan.in +++ b/bin/autoscan.in -@@ -1,4 +1,4 @@ --#! @PERL@ -w -+#! @PERL@ - # -*- perl -*- - # @configure_input@ - -@@ -23,9 +23,12 @@ - eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' - if 0; +@@ -28,9 +28,12 @@ use 5.006; + use strict; + use warnings FATAL => 'all'; +$^W = 1; + @@ -138,7 +117,7 @@ unshift @INC, $pkgdatadir; # Override SHELL. On DJGPP SHELL may not be set to a shell -@@ -91,10 +94,10 @@ my $configure_scan = 'configure.scan'; +@@ -95,10 +98,10 @@ my %needed_macros = my $log; # Autoconf and lib files. @@ -153,15 +132,9 @@ # ----- --- a/bin/autoupdate.in +++ b/bin/autoupdate.in -@@ -1,4 +1,4 @@ --#! @PERL@ -w -+#! @PERL@ - # -*- perl -*- - # @configure_input@ - -@@ -24,9 +24,12 @@ - eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' - if 0; +@@ -29,9 +29,12 @@ use 5.006; + use strict; + use warnings FATAL => 'all'; +$^W = 1; + @@ -173,7 +146,7 @@ unshift @INC, $pkgdatadir; # Override SHELL. On DJGPP SHELL may not be set to a shell -@@ -50,10 +53,10 @@ my $autom4te = $ENV{'AUTOM4TE'} || '@bin +@@ -55,10 +58,10 @@ my $autom4te = $ENV{'AUTOM4TE'} || '@bin my $autoconf = "$autom4te --language=autoconf"; # We need to find m4sugar. my @prepend_include; @@ -188,22 +161,12 @@ # $HELP --- a/bin/ifnames.in +++ b/bin/ifnames.in -@@ -1,10 +1,12 @@ --#! @PERL@ -w -+#! @PERL@ - # -*- perl -*- - # @configure_input@ - - eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' - if 0; +@@ -33,9 +33,12 @@ use 5.006; + use strict; + use warnings FATAL => 'all'; +$^W = 1; + - # ifnames - print the identifiers used in C preprocessor conditionals - - # Copyright (C) 1994-1995, 1999-2003, 2005-2012 Free Software -@@ -31,7 +33,8 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; - BEGIN { - my $pkgdatadir = $ENV{'autom4te_perllibdir'} || '@pkgdatadir@'; @@ -214,7 +177,7 @@ # Override SHELL. On DJGPP SHELL may not be set to a shell --- a/bin/autoconf.as +++ b/bin/autoconf.as -@@ -84,7 +84,11 @@ exit_missing_arg=' +@@ -89,7 +89,11 @@ exit_missing_arg=' # restore font-lock: ' # Variables. @@ -224,6 +187,6 @@ +else + : ${AUTOM4TE='@bindir@/@autom4te-name@'} +fi + : ${trailer_m4='@pkgdatadir@/autoconf/trailer.m4'} autom4te_options= outfile= - verbose=false diff --git a/tools/autoconf/patches/001-no_emacs_lib.patch b/tools/autoconf/patches/001-no_emacs_lib.patch deleted file mode 100644 index 35c51642e84..00000000000 --- a/tools/autoconf/patches/001-no_emacs_lib.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/lib/Makefile.am -+++ b/lib/Makefile.am -@@ -15,7 +15,7 @@ - # You should have received a copy of the GNU General Public License - # along with this program. If not, see . - --SUBDIRS = Autom4te m4sugar autoconf autotest autoscan emacs -+SUBDIRS = Autom4te m4sugar autoconf autotest autoscan - nodist_pkgdata_DATA = autom4te.cfg - EXTRA_DIST = autom4te.in freeze.mk - ---- a/lib/Makefile.in -+++ b/lib/Makefile.in -@@ -225,7 +225,7 @@ target_alias = @target_alias@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = Autom4te m4sugar autoconf autotest autoscan emacs -+SUBDIRS = Autom4te m4sugar autoconf autotest autoscan - nodist_pkgdata_DATA = autom4te.cfg - EXTRA_DIST = autom4te.in freeze.mk - edit = sed \ diff --git a/tools/autoconf/patches/002-musl_host_fixup.patch b/tools/autoconf/patches/002-musl_host_fixup.patch deleted file mode 100644 index 4dcb1ec3c12..00000000000 --- a/tools/autoconf/patches/002-musl_host_fixup.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/build-aux/config.sub -+++ b/build-aux/config.sub -@@ -122,9 +122,9 @@ esac - # Here we must recognize all the valid KERNEL-OS combinations. - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in -- nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ -- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ -- knetbsd*-gnu* | netbsd*-gnu* | \ -+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-musl* | \ -+ linux-newlib* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ -+ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os -@@ -1360,7 +1360,7 @@ case $os in - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -linux-android* \ -- | -linux-newlib* | -linux-uclibc* \ -+ | -linux-musl* | -linux-newlib* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ From f509935fe3bf85dcd5cce98beb32d426b3ea11f2 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Mon, 1 Aug 2022 08:30:43 -0400 Subject: [PATCH 11/24] 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 --- tools/automake/Makefile | 4 +- tools/automake/patches/000-relocatable.patch | 80 +++++-------------- ...clocal-skip-not-existing-directories.patch | 2 +- 3 files changed, 21 insertions(+), 65 deletions(-) diff --git a/tools/automake/Makefile b/tools/automake/Makefile index 246e1814b75..4c1e5758cbc 100644 --- a/tools/automake/Makefile +++ b/tools/automake/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=automake PKG_CPE_ID:=cpe:/a:gnu:automake -PKG_VERSION:=1.15.1 +PKG_VERSION:=1.16.5 PKG_API_VERSION:=$(word 2,$(subst ., ,$(PKG_VERSION))) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/automake -PKG_HASH:=af6ba39142220687c500f79b4aa2f181d9b24e4f8d8ec497cea4ba26c64bedaf +PKG_HASH:=f01d58cd6d9d77fbdca9eb4bbd5ead1988228fdb73d6f7a201f5f8d6b118b469 include $(INCLUDE_DIR)/host-build.mk diff --git a/tools/automake/patches/000-relocatable.patch b/tools/automake/patches/000-relocatable.patch index 02382ba8c86..0b61eaeb45a 100644 --- a/tools/automake/patches/000-relocatable.patch +++ b/tools/automake/patches/000-relocatable.patch @@ -1,44 +1,34 @@ --- a/lib/Automake/Config.in +++ b/lib/Automake/Config.in -@@ -32,7 +32,7 @@ our $PACKAGE = '@PACKAGE@'; +@@ -34,7 +34,7 @@ our $PACKAGE = '@PACKAGE@'; our $PACKAGE_BUGREPORT = '@PACKAGE_BUGREPORT@'; our $VERSION = '@VERSION@'; our $RELEASE_YEAR = '@RELEASE_YEAR@'; --our $libdir = '@datadir@/@PACKAGE@-@APIVERSION@'; +-our $libdir = $ENV{"AUTOMAKE_LIBDIR"} || '@datadir@/@PACKAGE@-@APIVERSION@'; +our $libdir = $ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/@PACKAGE@-@APIVERSION@' : '@datadir@/@PACKAGE@-@APIVERSION@'; our $perl_threads = 0; # We need at least this version for CLONE support. --- a/bin/aclocal.in +++ b/bin/aclocal.in -@@ -1,10 +1,12 @@ --#!@PERL@ -w -+#!@PERL@ - # -*- perl -*- - # @configure_input@ - - eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' - if 0; +@@ -23,9 +23,11 @@ use 5.006; + use strict; + use warnings FATAL => 'all'; +$^W = 1; + - # aclocal - create aclocal.m4 by scanning configure.ac - - # Copyright (C) 1996-2017 Free Software Foundation, Inc. -@@ -27,7 +29,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0"; - BEGIN { -- @Aclocal::perl_libdirs = ('@datadir@/@PACKAGE@-@APIVERSION@') -+ @Aclocal::perl_libdirs = ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/@PACKAGE@-@APIVERSION@' : '@datadir@/@PACKAGE@-@APIVERSION@') - unless @Aclocal::perl_libdirs; - unshift @INC, @Aclocal::perl_libdirs; +- unshift (@INC, '@datadir@/@PACKAGE@-@APIVERSION@') ++ unshift (@INC, ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/@PACKAGE@-@APIVERSION@' : '@datadir@/@PACKAGE@-@APIVERSION@')) + unless $ENV{AUTOMAKE_UNINSTALLED}; } -@@ -69,8 +71,8 @@ $perl_threads = 0; + +@@ -65,8 +67,8 @@ $perl_threads = 0; # ACLOCAL_PATH environment variable, and reset with the '--system-acdir' # option. my @user_includes = (); --my @automake_includes = ("@datadir@/aclocal-$APIVERSION"); +-my @automake_includes = ('@datadir@/aclocal-' . $APIVERSION); -my @system_includes = ('@datadir@/aclocal'); +my @automake_includes = ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . "/share/aclocal-$APIVERSION" : "@datadir@/aclocal-$APIVERSION"); +my @system_includes = ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/aclocal' : '@datadir@/aclocal'); @@ -47,50 +37,16 @@ my $install = 0; --- a/bin/automake.in +++ b/bin/automake.in -@@ -1,10 +1,12 @@ --#!@PERL@ -w -+#!@PERL@ - # -*- perl -*- - # @configure_input@ - - eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac' - if 0; +@@ -26,9 +26,11 @@ use 5.006; + use strict; + use warnings FATAL => 'all'; +$^W = 1; + - # automake - create Makefile.in from Makefile.am - # Copyright (C) 1994-2017 Free Software Foundation, Inc. - -@@ -31,7 +33,7 @@ use strict; - BEGIN { -- @Automake::perl_libdirs = ('@datadir@/@PACKAGE@-@APIVERSION@') -+ @Automake::perl_libdirs = ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/@PACKAGE@-@APIVERSION@' : '@datadir@/@PACKAGE@-@APIVERSION@') - unless @Automake::perl_libdirs; - unshift @INC, @Automake::perl_libdirs; +- unshift (@INC, '@datadir@/@PACKAGE@-@APIVERSION@') ++ unshift (@INC, ($ENV{'STAGING_DIR_HOST'} ? $ENV{'STAGING_DIR_HOST'} . '/share/@PACKAGE@-@APIVERSION@' : '@datadir@/@PACKAGE@-@APIVERSION@')) + unless $ENV{AUTOMAKE_UNINSTALLED}; ---- a/t/wrap/aclocal.in -+++ b/t/wrap/aclocal.in -@@ -1,6 +1,8 @@ --#!@PERL@ -w -+#!@PERL@ - # @configure_input@ - -+$^W = 1; -+ - # Copyright (C) 2012-2017 Free Software Foundation, Inc. - - # This program is free software; you can redistribute it and/or modify ---- a/t/wrap/automake.in -+++ b/t/wrap/automake.in -@@ -1,6 +1,8 @@ --#!@PERL@ -w -+#!@PERL@ - # @configure_input@ - -+$^W = 1; -+ - # Copyright (C) 2012-2017 Free Software Foundation, Inc. - - # This program is free software; you can redistribute it and/or modify + # Override SHELL. This is required on DJGPP so that system() uses diff --git a/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch b/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch index ad019ddd1ae..a0d04e21e5f 100644 --- a/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch +++ b/tools/automake/patches/100-aclocal-skip-not-existing-directories.patch @@ -1,6 +1,6 @@ --- a/bin/aclocal.in +++ b/bin/aclocal.in -@@ -356,6 +356,12 @@ sub scan_m4_dirs ($$@) +@@ -371,6 +371,12 @@ sub scan_m4_dirs ($$@) foreach my $m4dir (@dirlist) { From c7828a7184d704dafcdfd89b1f59ac2a70090637 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Thu, 9 Mar 2023 08:29:38 -0500 Subject: [PATCH 12/24] 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 --- tools/libtool/patches/000-relocatable.patch | 10 ++++------ .../patches/120-strip-unsafe-dirs-for-relinking.patch | 2 +- tools/libtool/patches/160-passthrough-ssp.patch | 7 +++---- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/tools/libtool/patches/000-relocatable.patch b/tools/libtool/patches/000-relocatable.patch index 996e6445be9..a5fa0406966 100644 --- a/tools/libtool/patches/000-relocatable.patch +++ b/tools/libtool/patches/000-relocatable.patch @@ -104,18 +104,16 @@ configure_ac=configure.in --- a/libltdl/m4/libtool.m4 +++ b/libltdl/m4/libtool.m4 -@@ -907,9 +907,8 @@ dnl AC_DEFUN([AC_LIBTOOL_RC], []) - # ---------------- - m4_defun([_LT_TAG_COMPILER], +@@ -909,7 +909,7 @@ m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl -- + _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], ["-O2 -I\${STAGING_DIR_HOST:-$STAGING_DIR_HOST}/include"], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl -@@ -7660,9 +7659,9 @@ m4_defun([_LT_DECL_EGREP], +@@ -7660,9 +7660,9 @@ m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep @@ -128,7 +126,7 @@ dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) -@@ -7695,9 +7694,8 @@ AC_SUBST([DLLTOOL]) +@@ -7695,9 +7695,8 @@ AC_SUBST([DLLTOOL]) # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED diff --git a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch index 8840ee05699..d5729e68ac6 100644 --- a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch +++ b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch @@ -1,6 +1,6 @@ --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh -@@ -2183,6 +2183,9 @@ func_mode_install () +@@ -2186,6 +2186,9 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi diff --git a/tools/libtool/patches/160-passthrough-ssp.patch b/tools/libtool/patches/160-passthrough-ssp.patch index da44c614e3d..2f6838cb852 100644 --- a/tools/libtool/patches/160-passthrough-ssp.patch +++ b/tools/libtool/patches/160-passthrough-ssp.patch @@ -1,7 +1,6 @@ -diff -ur libtool-2.4.orig/libltdl/config/ltmain.m4sh libtool-2.4/libltdl/config/ltmain.m4sh ---- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2015-06-18 10:46:15.499996979 +0200 -+++ libtool-2.4/libltdl/config/ltmain.m4sh 2015-06-18 10:48:24.686882213 +0200 -@@ -5076,7 +5076,7 @@ +--- a/libltdl/config/ltmain.m4sh ++++ b/libltdl/config/ltmain.m4sh +@@ -5076,7 +5076,7 @@ func_mode_link () # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ From efe56a51bcd0b2c2db39c682e88fb166a2431727 Mon Sep 17 00:00:00 2001 From: Michael Pratt Date: Thu, 9 Mar 2023 09:35:13 -0500 Subject: [PATCH 13/24] 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 --- tools/libtool/patches/000-relocatable.patch | 10 ++++++++++ tools/libtool/patches/100-libdir-fixes.patch | 19 +++++++++++++++++++ ...10-dont-use-target-dir-for-relinking.patch | 10 ++++++++++ .../120-strip-unsafe-dirs-for-relinking.patch | 13 +++++++++++++ tools/libtool/patches/150-trailingslash.patch | 7 +++++++ .../patches/200-openwrt-branding.patch | 12 ++++++++++++ 6 files changed, 71 insertions(+) diff --git a/tools/libtool/patches/000-relocatable.patch b/tools/libtool/patches/000-relocatable.patch index a5fa0406966..6ac293afbe5 100644 --- a/tools/libtool/patches/000-relocatable.patch +++ b/tools/libtool/patches/000-relocatable.patch @@ -1,3 +1,13 @@ +From ca10caa502f971f90d8c041aa2476de54ef0ce2b Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 20 Jul 2021 16:41:11 -0300 +Subject: openwrt: make relocatable, search resources relative to STAGING_DIR + +This was originally commited to openwrt by Jo-Philipp Wich +. + +Signed-off-by: Eneas U de Queiroz + --- a/libltdl/config/general.m4sh +++ b/libltdl/config/general.m4sh @@ -45,15 +45,22 @@ progpath="$0" diff --git a/tools/libtool/patches/100-libdir-fixes.patch b/tools/libtool/patches/100-libdir-fixes.patch index 3df2b14b60b..75ab5838069 100644 --- a/tools/libtool/patches/100-libdir-fixes.patch +++ b/tools/libtool/patches/100-libdir-fixes.patch @@ -1,3 +1,22 @@ +From 67ffe8e8582a7ba1f1d1307a419098e6dd88bdaf Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 20 Jul 2021 16:41:11 -0300 +Subject: openwrt: cross-compilation path adjustments + +Comments from the patch: + +Adding 'libdir' from the .la file to our library search paths +breaks crosscompilation horribly. We cheat here and don't add +it, instead adding the path where we found the .la. -CL + +OE sets installed=no in staging. We need to look in $objdir and $absdir, +preferring $objdir. RP 31/04/2008 + +This was originally commited to openwrt by Jo-Philipp Wich +. + +Signed-off-by: Eneas U de Queiroz + --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -5731,8 +5731,14 @@ func_mode_link () diff --git a/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch b/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch index bbfd1250030..be25c29e870 100644 --- a/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch +++ b/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch @@ -1,3 +1,13 @@ +From 375833af93999f8b0a747c8a1dfa3ec8d347743d Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 20 Jul 2021 16:52:37 -0300 +Subject: openwrt: don't use target dir for relinking + +This was originally commited to openwrt by Jo-Philipp Wich +. + +Signed-off-by: Eneas U de Queiroz + --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -6120,7 +6120,6 @@ func_mode_link () diff --git a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch index d5729e68ac6..575b5fd24bb 100644 --- a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch +++ b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch @@ -1,3 +1,16 @@ +From 7f2b8a1ab4fa1475eeeddfb84eb5b92594bfce43 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 20 Jul 2021 16:54:12 -0300 +Subject: openwrt: strip unsave directories from relink command + +strip unsave directories from relink command, nuke every -L that looks +like /usr/lib or /lib + +This was originally commited to openwrt by Jo-Philipp Wich +. + +Signed-off-by: Eneas U de Queiroz + --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -2186,6 +2186,9 @@ func_mode_install () diff --git a/tools/libtool/patches/150-trailingslash.patch b/tools/libtool/patches/150-trailingslash.patch index 423911cf4be..833acbb38f2 100644 --- a/tools/libtool/patches/150-trailingslash.patch +++ b/tools/libtool/patches/150-trailingslash.patch @@ -1,3 +1,8 @@ +From 1b45c3c0d6682be7f4876b620780ee246a5acbaa Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 20 Jul 2021 16:56:16 -0300 +Subject: openwrt: remove trailing slash in install destdir + A command like /bin/sh ../../i586-poky-linux-libtool --mode=install /usr/bin/install -c gck-roots-store-standalone.la '/media/data1/builds/poky1/tmp/work/core2-poky-linux/gnome-keyring-2.26.1-r1/image/usr/lib/gnome-keyring/standalone/' fails (e.g. gnome-keyring or pulseaudio) This is because libdir has a trailing slash which breaks the comparision. @@ -9,6 +14,8 @@ Merged a patch received from Gary Thomas Date: 2010/07/12 Nitin A Kamble +Signed-off-by: Eneas U de Queiroz + --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -2167,8 +2167,15 @@ func_mode_install () diff --git a/tools/libtool/patches/200-openwrt-branding.patch b/tools/libtool/patches/200-openwrt-branding.patch index 3fc0afb8665..1c599b0201c 100644 --- a/tools/libtool/patches/200-openwrt-branding.patch +++ b/tools/libtool/patches/200-openwrt-branding.patch @@ -1,3 +1,15 @@ +From 90707200efadc8e230635c7c204c9c272cbc8631 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Tue, 20 Jul 2021 17:01:03 -0300 +Subject: openwrt: add openwrt branding + +This prepends program name with "OpenWrt-". + +This was originally commited to openwrt by Jo-Philipp Wich +. + +Signed-off-by: Eneas U de Queiroz + --- a/libltdl/config/general.m4sh +++ b/libltdl/config/general.m4sh @@ -359,7 +359,7 @@ opt_warning=: From a22c54e39f8cb668ea5d717a51359fe2409fa336 Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Fri, 24 Sep 2021 14:28:20 +0200 Subject: [PATCH 14/24] 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 [adapted to older libtool version before bumping, use STAGING_DIR_HOST] Signed-off-by: Michael Pratt --- tools/libtool/patches/000-relocatable.patch | 34 +++++++++++++-------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/tools/libtool/patches/000-relocatable.patch b/tools/libtool/patches/000-relocatable.patch index 6ac293afbe5..f4d5b476775 100644 --- a/tools/libtool/patches/000-relocatable.patch +++ b/tools/libtool/patches/000-relocatable.patch @@ -66,48 +66,58 @@ Signed-off-by: Eneas U de Queiroz : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} -@@ -2487,10 +2494,17 @@ func_check_macros () +@@ -2486,11 +2493,21 @@ func_check_macros () + all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h slist.c" # Locations for important files: - prefix=@prefix@ +- prefix=@prefix@ - datadir=@datadir@ - pkgdatadir=@pkgdatadir@ - pkgltdldir=@pkgdatadir@ - aclocaldir=@aclocaldir@ + if test -n "$STAGING_DIR_HOST"; then ++ prefix="$STAGING_DIR_HOST" + datadir="$STAGING_DIR_HOST/share" ++ pkgauxdir="$STAGING_DIR_HOST/share/libtool/build-aux" + pkgdatadir="$STAGING_DIR_HOST/share/libtool" + pkgltdldir="$STAGING_DIR_HOST/share/libtool" + aclocaldir="$STAGING_DIR_HOST/share/aclocal" + else -+ datadir=@datadir@ -+ pkgdatadir=@pkgdatadir@ -+ pkgltdldir=@pkgdatadir@ -+ aclocaldir=@aclocaldir@ ++ prefix="@prefix@" ++ datadir="@datadir@" ++ pkgauxdir="@pkgauxdir@" ++ pkgdatadir="@pkgdatadir@" ++ pkgltdldir="@pkgdatadir@" ++ aclocaldir="@aclocaldir@" + fi auxdir= macrodir= configure_ac=configure.in --- a/libtoolize.m4sh +++ b/libtoolize.m4sh -@@ -1453,10 +1453,17 @@ func_check_macros () +@@ -1452,11 +1452,21 @@ func_check_macros () + all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h slist.c" # Locations for important files: - prefix=@prefix@ +- prefix=@prefix@ - datadir=@datadir@ - pkgdatadir=@pkgdatadir@ - pkgltdldir=@pkgdatadir@ - aclocaldir=@aclocaldir@ + if test -n "$STAGING_DIR_HOST"; then ++ prefix="$STAGING_DIR_HOST" + datadir="$STAGING_DIR_HOST/share" ++ pkgauxdir="$STAGING_DIR_HOST/share/libtool/build-aux" + pkgdatadir="$STAGING_DIR_HOST/share/libtool" + pkgltdldir="$STAGING_DIR_HOST/share/libtool" + aclocaldir="$STAGING_DIR_HOST/share/aclocal" + else -+ datadir=@datadir@ -+ pkgdatadir=@pkgdatadir@ -+ pkgltdldir=@pkgdatadir@ -+ aclocaldir=@aclocaldir@ ++ prefix="@prefix@" ++ datadir="@datadir@" ++ pkgauxdir="@pkgauxdir@" ++ pkgdatadir="@pkgdatadir@" ++ pkgltdldir="@pkgdatadir@" ++ aclocaldir="@aclocaldir@" + fi auxdir= macrodir= From 0d0cfe9f2d086404093b547b89afec822c32bd76 Mon Sep 17 00:00:00 2001 From: Eneas U de Queiroz Date: Mon, 13 Sep 2021 18:08:55 -0300 Subject: [PATCH 15/24] 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 Signed-off-by: Sebastian Kemper [refactored to simplify patch changes, expanded patches, added upstream references] Signed-off-by: Michael Pratt --- tools/libtool/Makefile | 11 +- tools/libtool/patches/000-relocatable.patch | 107 ++------- tools/libtool/patches/100-libdir-fixes.patch | 77 ++---- ...10-dont-use-target-dir-for-relinking.patch | 40 ++-- .../120-strip-unsafe-dirs-for-relinking.patch | 22 +- ...ingslash.patch => 130-trailingslash.patch} | 25 +- ...140-don-t-quote-SHELL-in-Makefile.am.patch | 72 ++++++ ...itigate-the-sed_quote_subst-slowdown.patch | 224 ++++++++++++++++++ .../libtool/patches/160-passthrough-ssp.patch | 11 - .../patches/200-openwrt-branding.patch | 130 ++-------- 10 files changed, 394 insertions(+), 325 deletions(-) rename tools/libtool/patches/{150-trailingslash.patch => 130-trailingslash.patch} (62%) create mode 100644 tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch create mode 100644 tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch delete mode 100644 tools/libtool/patches/160-passthrough-ssp.patch diff --git a/tools/libtool/Makefile b/tools/libtool/Makefile index fcac06e2697..4149491bd3a 100644 --- a/tools/libtool/Makefile +++ b/tools/libtool/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libtool PKG_CPE_ID:=cpe:/a:gnu:libtool -PKG_VERSION:=2.4.2 +PKG_VERSION:=2.4.6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/$(PKG_NAME) -PKG_HASH:=1d7b6862c1ed162e327f083a6f78f40eae29218f0db8c38393d61dab764c4407 +PKG_HASH:=7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f HOST_BUILD_PARALLEL:=1 @@ -24,7 +24,12 @@ HOST_CONFIGURE_VARS += \ define Host/Prepare $(call Host/Prepare/Default) (cd $(STAGING_DIR_HOST)/share/aclocal/ && rm -f libtool.m4 ltdl.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4) - (cd $(HOST_BUILD_DIR); $(AM_TOOL_PATHS) ./bootstrap) + $(if $(QUILT),,(cd $(HOST_BUILD_DIR); touch README-release; $(AM_TOOL_PATHS) ./bootstrap --skip-git --skip-po --force)) +endef + +define Host/Configure + $(if $(QUILT),(cd $(HOST_BUILD_DIR); touch README-release; $(AM_TOOL_PATHS) ./bootstrap --skip-git --skip-po --force)) + $(call Host/Configure/Default) endef define Host/Install diff --git a/tools/libtool/patches/000-relocatable.patch b/tools/libtool/patches/000-relocatable.patch index f4d5b476775..e6189d562a4 100644 --- a/tools/libtool/patches/000-relocatable.patch +++ b/tools/libtool/patches/000-relocatable.patch @@ -8,73 +8,47 @@ This was originally commited to openwrt by Jo-Philipp Wich Signed-off-by: Eneas U de Queiroz ---- a/libltdl/config/general.m4sh -+++ b/libltdl/config/general.m4sh -@@ -45,15 +45,22 @@ progpath="$0" - M4SH_VERBATIM([[ - : ${CP="cp -f"} - test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} --: ${EGREP="@EGREP@"} --: ${FGREP="@FGREP@"} --: ${GREP="@GREP@"} - : ${LN_S="@LN_S@"} - : ${MAKE="make"} - : ${MKDIR="mkdir"} - : ${MV="mv -f"} - : ${RM="rm -f"} --: ${SED="@SED@"} -+if test -n "$STAGING_DIR_HOST"; then -+ : ${EGREP="$STAGING_DIR_HOST/bin/grep -E"} -+ : ${FGREP="$STAGING_DIR_HOST/bin/grep -F"} -+ : ${GREP="$STAGING_DIR_HOST/bin/grep"} -+ : ${SED="$STAGING_DIR_HOST/bin/sed"} -+else -+ : ${EGREP="@EGREP@"} -+ : ${FGREP="@FGREP@"} -+ : ${GREP="@GREP@"} -+ : ${SED="@SED@"} -+fi - : ${SHELL="${CONFIG_SHELL-/bin/sh}"} - : ${Xsed="$SED -e 1s/^X//"} - --- a/libtoolize.in +++ b/libtoolize.in -@@ -334,15 +334,22 @@ as_unset=as_fn_unset +@@ -38,14 +38,23 @@ + # with bootstrap, so set those here where they can still be over- + # ridden by the user, but otherwise take precedence. - : ${CP="cp -f"} - test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} +-: ${AUTOCONF="autoconf"} +-: ${AUTOMAKE="automake"} -: ${EGREP="@EGREP@"} -: ${FGREP="@FGREP@"} -: ${GREP="@GREP@"} : ${LN_S="@LN_S@"} - : ${MAKE="make"} - : ${MKDIR="mkdir"} - : ${MV="mv -f"} - : ${RM="rm -f"} -: ${SED="@SED@"} + +if test -n "$STAGING_DIR_HOST"; then ++ : ${AUTOCONF="$STAGING_DIR_HOST/bin/autoconf"} ++ : ${AUTOMAKE="$STAGING_DIR_HOST/bin/automake"} + : ${EGREP="$STAGING_DIR_HOST/bin/grep -E"} + : ${FGREP="$STAGING_DIR_HOST/bin/grep -F"} + : ${GREP="$STAGING_DIR_HOST/bin/grep"} + : ${SED="$STAGING_DIR_HOST/bin/sed"} +else ++ : ${AUTOCONF="autoconf"} ++ : ${AUTOMAKE="automake"} + : ${EGREP="@EGREP@"} + : ${FGREP="@FGREP@"} + : ${GREP="@GREP@"} + : ${SED="@SED@"} +fi - : ${SHELL="${CONFIG_SHELL-/bin/sh}"} - : ${Xsed="$SED -e 1s/^X//"} -@@ -2486,11 +2493,21 @@ func_check_macros () - all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h slist.c" + ## -------------------------- ## + ## Source external libraries. ## +@@ -1901,11 +1910,21 @@ func_require_seen_libtool () + pkgmacro_files="@pkgmacro_files@" # Locations for important files: -- prefix=@prefix@ -- datadir=@datadir@ -- pkgdatadir=@pkgdatadir@ -- pkgltdldir=@pkgdatadir@ -- aclocaldir=@aclocaldir@ +- prefix="@prefix@" +- datadir="@datadir@" +- pkgauxdir="@pkgauxdir@" +- pkgltdldir="@pkgdatadir@" +- aclocaldir="@aclocaldir@" + if test -n "$STAGING_DIR_HOST"; then + prefix="$STAGING_DIR_HOST" + datadir="$STAGING_DIR_HOST/share" @@ -90,41 +64,12 @@ Signed-off-by: Eneas U de Queiroz + pkgltdldir="@pkgdatadir@" + aclocaldir="@aclocaldir@" + fi - auxdir= - macrodir= - configure_ac=configure.in ---- a/libtoolize.m4sh -+++ b/libtoolize.m4sh -@@ -1452,11 +1452,21 @@ func_check_macros () - all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h slist.c" - # Locations for important files: -- prefix=@prefix@ -- datadir=@datadir@ -- pkgdatadir=@pkgdatadir@ -- pkgltdldir=@pkgdatadir@ -- aclocaldir=@aclocaldir@ -+ if test -n "$STAGING_DIR_HOST"; then -+ prefix="$STAGING_DIR_HOST" -+ datadir="$STAGING_DIR_HOST/share" -+ pkgauxdir="$STAGING_DIR_HOST/share/libtool/build-aux" -+ pkgdatadir="$STAGING_DIR_HOST/share/libtool" -+ pkgltdldir="$STAGING_DIR_HOST/share/libtool" -+ aclocaldir="$STAGING_DIR_HOST/share/aclocal" -+ else -+ prefix="@prefix@" -+ datadir="@datadir@" -+ pkgauxdir="@pkgauxdir@" -+ pkgdatadir="@pkgdatadir@" -+ pkgltdldir="@pkgdatadir@" -+ aclocaldir="@aclocaldir@" -+ fi - auxdir= - macrodir= - configure_ac=configure.in ---- a/libltdl/m4/libtool.m4 -+++ b/libltdl/m4/libtool.m4 -@@ -909,7 +909,7 @@ m4_defun([_LT_TAG_COMPILER], + # Allow the user to override the master libtoolize repository: + if test -n "$_lt_pkgdatadir"; then +--- a/m4/libtool.m4 ++++ b/m4/libtool.m4 +@@ -931,7 +931,7 @@ m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl @@ -133,7 +78,7 @@ Signed-off-by: Eneas U de Queiroz _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl -@@ -7660,9 +7660,9 @@ m4_defun([_LT_DECL_EGREP], +@@ -8160,9 +8160,9 @@ m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep @@ -146,7 +91,7 @@ Signed-off-by: Eneas U de Queiroz dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) -@@ -7695,9 +7695,8 @@ AC_SUBST([DLLTOOL]) +@@ -8195,9 +8195,8 @@ AC_SUBST([DLLTOOL]) # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED diff --git a/tools/libtool/patches/100-libdir-fixes.patch b/tools/libtool/patches/100-libdir-fixes.patch index 75ab5838069..671040b3e10 100644 --- a/tools/libtool/patches/100-libdir-fixes.patch +++ b/tools/libtool/patches/100-libdir-fixes.patch @@ -17,86 +17,39 @@ This was originally commited to openwrt by Jo-Philipp Wich Signed-off-by: Eneas U de Queiroz ---- a/libltdl/config/ltmain.m4sh -+++ b/libltdl/config/ltmain.m4sh -@@ -5731,8 +5731,14 @@ func_mode_link () - absdir="$abs_ladir" - libdir="$abs_ladir" +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -6049,8 +6049,14 @@ func_mode_link () + absdir=$abs_ladir + libdir=$abs_ladir else -- dir="$lt_sysroot$libdir" -- absdir="$lt_sysroot$libdir" +- dir=$lt_sysroot$libdir +- absdir=$lt_sysroot$libdir + # Adding 'libdir' from the .la file to our library search paths + # breaks crosscompilation horribly. We cheat here and don't add + # it, instead adding the path where we found the .la. -CL + dir="$lt_sysroot$abs_ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$lt_sysroot$libdir" ++ #dir=$lt_sysroot$libdir ++ #absdir=$lt_sysroot$libdir fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes + test yes = "$hardcode_automatic" && avoidtemprpath=yes else -@@ -6130,8 +6136,6 @@ func_mode_link () - add="$libdir/$linklib" +@@ -6448,8 +6454,6 @@ func_mode_link () + add=$libdir/$linklib fi else - # We cannot seem to hardcode it, guess we'll fake it. -- add_dir="-L$libdir" +- add_dir=-L$libdir # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in -@@ -6286,7 +6290,17 @@ func_mode_link () +@@ -6604,7 +6608,17 @@ func_mode_link () fi ;; *) -- path="-L$absdir/$objdir" -+ # OE sets installed=no in staging. We need to look in $objdir and $absdir, -+ # preferring $objdir. RP 31/04/2008 -+ if test -f "$absdir/$objdir/$depdepl" ; then -+ depdepl="$absdir/$objdir/$depdepl" -+ path="-L$absdir/$objdir" -+ elif test -f "$absdir/$depdepl" ; then -+ depdepl="$absdir/$depdepl" -+ path="-L$absdir" -+ else -+ path="-L$absdir/$objdir" -+ fi - ;; - esac - else ---- a/libltdl/config/ltmain.sh -+++ b/libltdl/config/ltmain.sh -@@ -6518,8 +6518,14 @@ func_mode_link () - absdir="$abs_ladir" - libdir="$abs_ladir" - else -- dir="$lt_sysroot$libdir" -- absdir="$lt_sysroot$libdir" -+ # Adding 'libdir' from the .la file to our library search paths -+ # breaks crosscompilation horribly. We cheat here and don't add -+ # it, instead adding the path where we found the .la. -CL -+ dir="$lt_sysroot$abs_ladir" -+ absdir="$abs_ladir" -+ libdir="$abs_ladir" -+ #dir="$libdir" -+ #absdir="$lt_sysroot$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else -@@ -6917,8 +6923,6 @@ func_mode_link () - add="$libdir/$linklib" - fi - else -- # We cannot seem to hardcode it, guess we'll fake it. -- add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in -@@ -7073,7 +7077,17 @@ func_mode_link () - fi - ;; - *) -- path="-L$absdir/$objdir" +- path=-L$absdir/$objdir + # OE sets installed=no in staging. We need to look in $objdir and $absdir, + # preferring $objdir. RP 31/04/2008 + if test -f "$absdir/$objdir/$depdepl" ; then diff --git a/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch b/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch index be25c29e870..b76877a8b8a 100644 --- a/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch +++ b/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch @@ -8,23 +8,25 @@ This was originally commited to openwrt by Jo-Philipp Wich Signed-off-by: Eneas U de Queiroz ---- a/libltdl/config/ltmain.m4sh -+++ b/libltdl/config/ltmain.m4sh -@@ -6120,7 +6120,6 @@ func_mode_link () - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then -- add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in ---- a/libltdl/config/ltmain.sh -+++ b/libltdl/config/ltmain.sh -@@ -6907,7 +6907,6 @@ func_mode_link () - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then -- add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -6434,13 +6434,13 @@ func_mode_link () + add_dir= + add= + # Finalize command for both is simple: just hardcode it. +- if test yes = "$hardcode_direct" && +- test no = "$hardcode_direct_absolute"; then +- add=$libdir/$linklib +- elif test yes = "$hardcode_minus_L"; then ++ if test "$hardcode_direct" = yes && ++ test "$hardcode_direct_absolute" = no; then ++ add="$libdir/$linklib" ++ elif test "$hardcode_minus_L" = yes; then + add_dir=-L$libdir +- add=-l$name +- elif test yes = "$hardcode_shlibpath_var"; then ++ add="-l$name" ++ elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in + *":$libdir:"*) ;; + *) func_append finalize_shlibpath "$libdir:" ;; diff --git a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch index 575b5fd24bb..42a3ed7a321 100644 --- a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch +++ b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch @@ -11,27 +11,15 @@ This was originally commited to openwrt by Jo-Philipp Wich Signed-off-by: Eneas U de Queiroz ---- a/libltdl/config/ltmain.m4sh -+++ b/libltdl/config/ltmain.m4sh -@@ -2186,6 +2186,9 @@ func_mode_install () +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -2382,6 +2382,9 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi + relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/lib[^[:space:]]*%%"` + relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/usr/lib[^[:space:]]*%%"` + - func_warning "relinking \`$file'" + func_warning "relinking '$file'" func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' ---- a/libltdl/config/ltmain.sh -+++ b/libltdl/config/ltmain.sh -@@ -2973,6 +2973,9 @@ func_mode_install () - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - -+ relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/lib[^[:space:]]*%%"` -+ relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/usr/lib[^[:space:]]*%%"` -+ - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' + 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"' diff --git a/tools/libtool/patches/150-trailingslash.patch b/tools/libtool/patches/130-trailingslash.patch similarity index 62% rename from tools/libtool/patches/150-trailingslash.patch rename to tools/libtool/patches/130-trailingslash.patch index 833acbb38f2..343ce4ab656 100644 --- a/tools/libtool/patches/150-trailingslash.patch +++ b/tools/libtool/patches/130-trailingslash.patch @@ -16,28 +16,9 @@ Nitin A Kamble Signed-off-by: Eneas U de Queiroz ---- a/libltdl/config/ltmain.m4sh -+++ b/libltdl/config/ltmain.m4sh -@@ -2167,8 +2167,15 @@ func_mode_install () - func_append dir "$objdir" - - if test -n "$relink_command"; then -+ # Strip any trailing slash from the destination. -+ func_stripname '' '/' "$libdir" -+ destlibdir=$func_stripname_result -+ -+ func_stripname '' '/' "$destdir" -+ s_destdir=$func_stripname_result -+ - # Determine the prefix the user has applied to our future dir. -- inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` -+ inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that ---- a/libltdl/config/ltmain.sh -+++ b/libltdl/config/ltmain.sh -@@ -2954,8 +2954,15 @@ func_mode_install () +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -2363,8 +2363,15 @@ func_mode_install () func_append dir "$objdir" if test -n "$relink_command"; then diff --git a/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch b/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch new file mode 100644 index 00000000000..513b521834c --- /dev/null +++ b/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch @@ -0,0 +1,72 @@ +From 879578d3f4dc9bc42aa433b1fb6b584564f83617 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Wed, 21 Jul 2021 13:38:24 -0300 +Subject: openwrt: don't quote $(SHELL) in Makefile.am + +This allows to use SHELL="env bash" to get a controlled enviroment. + +Signed-off-by: Eneas U de Queiroz + +--- a/Makefile.am ++++ b/Makefile.am +@@ -46,7 +46,7 @@ EXTRA_LTLIBRARIES = + # Using 'cd' in backquotes may print the directory name, use this instead: + lt__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd + +-git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version' ++git_version_gen = $(SHELL) '$(aux_dir)/git-version-gen' '--fallback' '$(VERSION)' '.tarball-version' + rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'` + + +@@ -301,7 +301,7 @@ libtool: $(ltmain_sh) $(config_status) $ + if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ + then echo " GEN " $@; \ + else echo '$(SHELL) $(top_builddir)/config.status "$@"'; fi; \ +- cd '$(top_builddir)' && '$(SHELL)' ./config.status '$@'; \ ++ cd '$(top_builddir)' && $(SHELL) ./config.status '$@'; \ + fi + + +@@ -788,13 +788,13 @@ testsuite_deps_uninstalled = $(testsuite + # Hook the test suite into the check rule + check-local: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ +- CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ ++ CONFIG_SHELL=$(SHELL) $(SHELL) "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) + + # Run the test suite on the *installed* tree. + installcheck-local: $(testsuite_deps) + $(AM_V_at)$(CD_TESTDIR); \ +- CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ ++ CONFIG_SHELL=$(SHELL) $(SHELL) "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ + AUTOTEST_PATH='$(exec_prefix)/bin' + +@@ -806,7 +806,7 @@ check-noninteractive-old: + .PHONY: check-noninteractive-new + check-noninteractive-new: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ +- CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ ++ CONFIG_SHELL=$(SHELL) $(SHELL) "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ + -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \ + $(TESTSUITEFLAGS) +@@ -815,7 +815,7 @@ check-noninteractive-new: $(testsuite_de + .PHONY: check-interactive + check-interactive: $(testsuite_deps_uninstalled) + $(AM_V_at)$(CD_TESTDIR); \ +- CONFIG_SHELL='$(SHELL)' '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" \ ++ CONFIG_SHELL=$(SHELL) $(SHELL) "$$abs_srcdir/$(TESTSUITE)" \ + $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ + -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \ + $(TESTSUITEFLAGS) +@@ -827,7 +827,7 @@ check-noninteractive: check-noninteracti + clean-local: + -$(CD_TESTDIR); \ + test -f "$$abs_srcdir/$(TESTSUITE)" && \ +- '$(SHELL)' "$$abs_srcdir/$(TESTSUITE)" --clean ++ $(SHELL) "$$abs_srcdir/$(TESTSUITE)" --clean + + ## An empty target to depend on when a rule needs to always run + ## whenever it is visited. diff --git a/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch b/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch new file mode 100644 index 00000000000..27ea6a1d536 --- /dev/null +++ b/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch @@ -0,0 +1,224 @@ +From 3adadb568fbf15d952bd25a005b6a9afb7e59dc7 Mon Sep 17 00:00:00 2001 +From: Pavel Raiskup +Date: Sun, 4 Oct 2015 21:55:03 +0200 +Subject: libtool: mitigate the $sed_quote_subst slowdown + +When it is reasonably possible, use shell implementation for +quoting. + +References: +http://lists.gnu.org/archive/html/libtool/2015-03/msg00005.html +http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html +https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20006 + +* gl/build-aux/funclib.sh (func_quote): New function that can be +used as substitution for '$SED $sed_quote_subst' call. +* build-aux/ltmain.in (func_emit_wrapper): Use func_quote instead +of '$SED $sed_quote_subst'. +(func_mode_link): Likewise. +* NEWS: Document. +* bootstrap: Sync with funclib.sh. + +(cherry picked from commit 32f0df9835ac15ac17e04be57c368172c3ad1d19) +(skipping NEWS change) +Signed-off-by: Eneas U de Queiroz + +--- a/bootstrap ++++ b/bootstrap +@@ -230,7 +230,7 @@ vc_ignore= + + # Source required external libraries: + # Set a version string for this script. +-scriptversion=2015-01-20.17; # UTC ++scriptversion=2015-10-04.22; # UTC + + # General shell script boiler plate, and helper functions. + # Written by Gary V. Vaughan, 2004 +@@ -1257,6 +1257,57 @@ func_relative_path () + } + + ++# func_quote ARG ++# -------------- ++# Aesthetically quote one ARG, store the result into $func_quote_result. Note ++# that we keep attention to performance here (so far O(N) complexity as long as ++# func_append is O(1)). ++func_quote () ++{ ++ $debug_cmd ++ ++ func_quote_result=$1 ++ ++ case $func_quote_result in ++ *[\\\`\"\$]*) ++ case $func_quote_result in ++ *'*'*|*'['*) ++ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"` ++ return 0 ++ ;; ++ esac ++ ++ func_quote_old_IFS=$IFS ++ for _G_char in '\' '`' '"' '$' ++ do ++ # STATE($1) PREV($2) SEPARATOR($3) ++ set start "" "" ++ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy ++ IFS=$_G_char ++ for _G_part in $func_quote_result ++ do ++ case $1 in ++ quote) ++ func_append func_quote_result "$3$2" ++ set quote "$_G_part" "\\$_G_char" ++ ;; ++ start) ++ set first "" "" ++ func_quote_result= ++ ;; ++ first) ++ set quote "$_G_part" "" ++ ;; ++ esac ++ done ++ IFS=$func_quote_old_IFS ++ done ++ ;; ++ *) ;; ++ esac ++} ++ ++ + # func_quote_for_eval ARG... + # -------------------------- + # Aesthetically quote ARGs to be evaled later. +@@ -1273,12 +1324,8 @@ func_quote_for_eval () + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do +- case $1 in +- *[\\\`\"\$]*) +- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; +- *) +- _G_unquoted_arg=$1 ;; +- esac ++ func_quote "$1" ++ _G_unquoted_arg=$func_quote_result + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -3356,7 +3356,8 @@ else + if test \"\$libtool_execute_magic\" != \"$magic\"; then + file=\"\$0\"" + +- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` ++ func_quote "$ECHO" ++ qECHO=$func_quote_result + $ECHO "\ + + # A function that is used when there is no print builtin or printf. +@@ -8618,8 +8619,8 @@ EOF + relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" + fi + done +- relink_command="(cd `pwd`; $relink_command)" +- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` ++ func_quote "(cd `pwd`; $relink_command)" ++ relink_command=$func_quote_result + fi + + # Only actually do things if not in dry run mode. +@@ -8865,7 +8866,8 @@ EOF + done + # Quote the link command for shipping. + relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" +- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` ++ func_quote "$relink_command" ++ relink_command=$func_quote_result + if test yes = "$hardcode_automatic"; then + relink_command= + fi +--- a/build-aux/funclib.sh ++++ b/build-aux/funclib.sh +@@ -1,5 +1,5 @@ + # Set a version string for this script. +-scriptversion=2015-01-20.17; # UTC ++scriptversion=2015-10-04.22; # UTC + + # General shell script boiler plate, and helper functions. + # Written by Gary V. Vaughan, 2004 +@@ -1026,6 +1026,57 @@ func_relative_path () + } + + ++# func_quote ARG ++# -------------- ++# Aesthetically quote one ARG, store the result into $func_quote_result. Note ++# that we keep attention to performance here (so far O(N) complexity as long as ++# func_append is O(1)). ++func_quote () ++{ ++ $debug_cmd ++ ++ func_quote_result=$1 ++ ++ case $func_quote_result in ++ *[\\\`\"\$]*) ++ case $func_quote_result in ++ *[\[\*\?]*) ++ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"` ++ return 0 ++ ;; ++ esac ++ ++ func_quote_old_IFS=$IFS ++ for _G_char in '\' '`' '"' '$' ++ do ++ # STATE($1) PREV($2) SEPARATOR($3) ++ set start "" "" ++ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy ++ IFS=$_G_char ++ for _G_part in $func_quote_result ++ do ++ case $1 in ++ quote) ++ func_append func_quote_result "$3$2" ++ set quote "$_G_part" "\\$_G_char" ++ ;; ++ start) ++ set first "" "" ++ func_quote_result= ++ ;; ++ first) ++ set quote "$_G_part" "" ++ ;; ++ esac ++ done ++ IFS=$func_quote_old_IFS ++ done ++ ;; ++ *) ;; ++ esac ++} ++ ++ + # func_quote_for_eval ARG... + # -------------------------- + # Aesthetically quote ARGs to be evaled later. +@@ -1042,12 +1093,8 @@ func_quote_for_eval () + func_quote_for_eval_unquoted_result= + func_quote_for_eval_result= + while test 0 -lt $#; do +- case $1 in +- *[\\\`\"\$]*) +- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; +- *) +- _G_unquoted_arg=$1 ;; +- esac ++ func_quote "$1" ++ _G_unquoted_arg=$func_quote_result + if test -n "$func_quote_for_eval_unquoted_result"; then + func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" + else diff --git a/tools/libtool/patches/160-passthrough-ssp.patch b/tools/libtool/patches/160-passthrough-ssp.patch deleted file mode 100644 index 2f6838cb852..00000000000 --- a/tools/libtool/patches/160-passthrough-ssp.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/libltdl/config/ltmain.m4sh -+++ b/libltdl/config/ltmain.m4sh -@@ -5076,7 +5076,7 @@ func_mode_link () - # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -- -O*|-flto*|-fwhopr*|-fuse-linker-plugin) -+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" diff --git a/tools/libtool/patches/200-openwrt-branding.patch b/tools/libtool/patches/200-openwrt-branding.patch index 1c599b0201c..50b5c03d4c4 100644 --- a/tools/libtool/patches/200-openwrt-branding.patch +++ b/tools/libtool/patches/200-openwrt-branding.patch @@ -10,115 +10,25 @@ This was originally commited to openwrt by Jo-Philipp Wich Signed-off-by: Eneas U de Queiroz ---- a/libltdl/config/general.m4sh -+++ b/libltdl/config/general.m4sh -@@ -359,7 +359,7 @@ opt_warning=: - # name if it has been set yet. - func_echo () - { -- $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*" +--- a/build-aux/ltmain.in ++++ b/build-aux/ltmain.in +@@ -82,7 +82,7 @@ func_echo () + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS +- $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line" ++ $ECHO "OpenWrt-$progname${opt_mode+: $opt_mode}: $_G_line" + done + IFS=$func_echo_IFS } - - # func_verbose arg... -@@ -385,14 +385,14 @@ func_echo_all () - # Echo program name prefixed message to standard error. - func_error () - { -- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 +--- a/build-aux/funclib.sh ++++ b/build-aux/funclib.sh +@@ -656,7 +656,7 @@ func_echo () + IFS=$nl + for _G_line in $_G_message; do + IFS=$func_echo_IFS +- $ECHO "$progname: $_G_line" ++ $ECHO "OpenWrt-$progname: $_G_line" + done + IFS=$func_echo_IFS } - - # func_warning arg... - # Echo program name prefixed warning message to standard error. - func_warning () - { -- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 -+ $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : ---- a/libltdl/config/ltmain.sh -+++ b/libltdl/config/ltmain.sh -@@ -439,7 +439,7 @@ opt_warning=: - # name if it has been set yet. - func_echo () - { -- $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*" - } - - # func_verbose arg... -@@ -465,14 +465,14 @@ func_echo_all () - # Echo program name prefixed message to standard error. - func_error () - { -- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 - } - - # func_warning arg... - # Echo program name prefixed warning message to standard error. - func_warning () - { -- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 -+ $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : ---- a/libtoolize.in -+++ b/libtoolize.in -@@ -648,7 +648,7 @@ opt_warning=: - # name if it has been set yet. - func_echo () - { -- $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*" - } - - # func_verbose arg... -@@ -674,14 +674,14 @@ func_echo_all () - # Echo program name prefixed message to standard error. - func_error () - { -- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 - } - - # func_warning arg... - # Echo program name prefixed warning message to standard error. - func_warning () - { -- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 -+ $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : ---- a/tests/defs.in -+++ b/tests/defs.in -@@ -596,7 +596,7 @@ opt_warning=: - # name if it has been set yet. - func_echo () - { -- $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*" - } - - # func_verbose arg... -@@ -622,14 +622,14 @@ func_echo_all () - # Echo program name prefixed message to standard error. - func_error () - { -- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 - } - - # func_warning arg... - # Echo program name prefixed warning message to standard error. - func_warning () - { -- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 -+ $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : From bf261073dc4d788170d51fdc718d63ce0976fd77 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Thu, 31 Mar 2022 16:13:17 -0700 Subject: [PATCH 16/24] tools/libtool: bump to 2.4.7 Remove upstreamed patch and refresh others. Signed-off-by: Rosen Penev [rebased and refreshed patches again] Signed-off-by: Michael Pratt --- tools/libtool/Makefile | 4 +- tools/libtool/patches/000-relocatable.patch | 8 +- tools/libtool/patches/100-libdir-fixes.patch | 6 +- ...10-dont-use-target-dir-for-relinking.patch | 2 +- .../120-strip-unsafe-dirs-for-relinking.patch | 2 +- tools/libtool/patches/130-trailingslash.patch | 2 +- ...140-don-t-quote-SHELL-in-Makefile.am.patch | 10 +- ...itigate-the-sed_quote_subst-slowdown.patch | 224 ------------------ .../patches/200-openwrt-branding.patch | 2 +- 9 files changed, 18 insertions(+), 242 deletions(-) delete mode 100644 tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch diff --git a/tools/libtool/Makefile b/tools/libtool/Makefile index 4149491bd3a..66261422949 100644 --- a/tools/libtool/Makefile +++ b/tools/libtool/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libtool PKG_CPE_ID:=cpe:/a:gnu:libtool -PKG_VERSION:=2.4.6 +PKG_VERSION:=2.4.7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@GNU/$(PKG_NAME) -PKG_HASH:=7c87a8c2c8c0fc9cd5019e402bed4292462d00a718a7cd5f11218153bf28b26f +PKG_HASH:=4f7f217f057ce655ff22559ad221a0fd8ef84ad1fc5fcb6990cecc333aa1635d HOST_BUILD_PARALLEL:=1 diff --git a/tools/libtool/patches/000-relocatable.patch b/tools/libtool/patches/000-relocatable.patch index e6189d562a4..9c3bcb69ffd 100644 --- a/tools/libtool/patches/000-relocatable.patch +++ b/tools/libtool/patches/000-relocatable.patch @@ -40,7 +40,7 @@ Signed-off-by: Eneas U de Queiroz ## -------------------------- ## ## Source external libraries. ## -@@ -1901,11 +1910,21 @@ func_require_seen_libtool () +@@ -1903,11 +1912,21 @@ func_require_seen_libtool () pkgmacro_files="@pkgmacro_files@" # Locations for important files: @@ -69,7 +69,7 @@ Signed-off-by: Eneas U de Queiroz if test -n "$_lt_pkgdatadir"; then --- a/m4/libtool.m4 +++ b/m4/libtool.m4 -@@ -931,7 +931,7 @@ m4_defun([_LT_TAG_COMPILER], +@@ -933,7 +933,7 @@ m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl @@ -78,7 +78,7 @@ Signed-off-by: Eneas U de Queiroz _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl -@@ -8160,9 +8160,9 @@ m4_defun([_LT_DECL_EGREP], +@@ -8183,9 +8183,9 @@ m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep @@ -91,7 +91,7 @@ Signed-off-by: Eneas U de Queiroz dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) -@@ -8195,9 +8195,8 @@ AC_SUBST([DLLTOOL]) +@@ -8226,9 +8226,8 @@ _LT_DECL([], [FILECMD], [1], [A file(cmd # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED diff --git a/tools/libtool/patches/100-libdir-fixes.patch b/tools/libtool/patches/100-libdir-fixes.patch index 671040b3e10..2a563901a5f 100644 --- a/tools/libtool/patches/100-libdir-fixes.patch +++ b/tools/libtool/patches/100-libdir-fixes.patch @@ -19,7 +19,7 @@ Signed-off-by: Eneas U de Queiroz --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -6049,8 +6049,14 @@ func_mode_link () +@@ -6097,8 +6097,14 @@ func_mode_link () absdir=$abs_ladir libdir=$abs_ladir else @@ -36,7 +36,7 @@ Signed-off-by: Eneas U de Queiroz fi test yes = "$hardcode_automatic" && avoidtemprpath=yes else -@@ -6448,8 +6454,6 @@ func_mode_link () +@@ -6496,8 +6502,6 @@ func_mode_link () add=$libdir/$linklib fi else @@ -45,7 +45,7 @@ Signed-off-by: Eneas U de Queiroz # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in -@@ -6604,7 +6608,17 @@ func_mode_link () +@@ -6652,7 +6656,17 @@ func_mode_link () fi ;; *) diff --git a/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch b/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch index b76877a8b8a..2d2189e7668 100644 --- a/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch +++ b/tools/libtool/patches/110-dont-use-target-dir-for-relinking.patch @@ -10,7 +10,7 @@ Signed-off-by: Eneas U de Queiroz --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -6434,13 +6434,13 @@ func_mode_link () +@@ -6482,13 +6482,13 @@ func_mode_link () add_dir= add= # Finalize command for both is simple: just hardcode it. diff --git a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch index 42a3ed7a321..132f1c9bd68 100644 --- a/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch +++ b/tools/libtool/patches/120-strip-unsafe-dirs-for-relinking.patch @@ -13,7 +13,7 @@ Signed-off-by: Eneas U de Queiroz --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -2382,6 +2382,9 @@ func_mode_install () +@@ -2400,6 +2400,9 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi diff --git a/tools/libtool/patches/130-trailingslash.patch b/tools/libtool/patches/130-trailingslash.patch index 343ce4ab656..78fdf0a4100 100644 --- a/tools/libtool/patches/130-trailingslash.patch +++ b/tools/libtool/patches/130-trailingslash.patch @@ -18,7 +18,7 @@ Signed-off-by: Eneas U de Queiroz --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in -@@ -2363,8 +2363,15 @@ func_mode_install () +@@ -2381,8 +2381,15 @@ func_mode_install () func_append dir "$objdir" if test -n "$relink_command"; then diff --git a/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch b/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch index 513b521834c..3422961385a 100644 --- a/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch +++ b/tools/libtool/patches/140-don-t-quote-SHELL-in-Makefile.am.patch @@ -18,7 +18,7 @@ Signed-off-by: Eneas U de Queiroz rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | $(SED) 's|-.*$$||'` -@@ -301,7 +301,7 @@ libtool: $(ltmain_sh) $(config_status) $ +@@ -306,7 +306,7 @@ libtool: $(ltmain_sh) $(config_status) $ if test 0 = '$(AM_DEFAULT_VERBOSITY)' && test 1 != '$(V)'; \ then echo " GEN " $@; \ else echo '$(SHELL) $(top_builddir)/config.status "$@"'; fi; \ @@ -27,7 +27,7 @@ Signed-off-by: Eneas U de Queiroz fi -@@ -788,13 +788,13 @@ testsuite_deps_uninstalled = $(testsuite +@@ -789,13 +789,13 @@ testsuite_deps_uninstalled = $(testsuite # Hook the test suite into the check rule check-local: $(testsuite_deps_uninstalled) $(AM_V_at)$(CD_TESTDIR); \ @@ -43,7 +43,7 @@ Signed-off-by: Eneas U de Queiroz $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ AUTOTEST_PATH='$(exec_prefix)/bin' -@@ -806,7 +806,7 @@ check-noninteractive-old: +@@ -807,7 +807,7 @@ check-noninteractive-old: .PHONY: check-noninteractive-new check-noninteractive-new: $(testsuite_deps_uninstalled) $(AM_V_at)$(CD_TESTDIR); \ @@ -52,7 +52,7 @@ Signed-off-by: Eneas U de Queiroz $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ -k '!interactive' INNER_TESTSUITEFLAGS=',!interactive' \ $(TESTSUITEFLAGS) -@@ -815,7 +815,7 @@ check-noninteractive-new: $(testsuite_de +@@ -816,7 +816,7 @@ check-noninteractive-new: $(testsuite_de .PHONY: check-interactive check-interactive: $(testsuite_deps_uninstalled) $(AM_V_at)$(CD_TESTDIR); \ @@ -61,7 +61,7 @@ Signed-off-by: Eneas U de Queiroz $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ -k interactive -k recursive INNER_TESTSUITEFLAGS=',interactive' \ $(TESTSUITEFLAGS) -@@ -827,7 +827,7 @@ check-noninteractive: check-noninteracti +@@ -828,7 +828,7 @@ check-noninteractive: check-noninteracti clean-local: -$(CD_TESTDIR); \ test -f "$$abs_srcdir/$(TESTSUITE)" && \ diff --git a/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch b/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch deleted file mode 100644 index 27ea6a1d536..00000000000 --- a/tools/libtool/patches/150-libtool-mitigate-the-sed_quote_subst-slowdown.patch +++ /dev/null @@ -1,224 +0,0 @@ -From 3adadb568fbf15d952bd25a005b6a9afb7e59dc7 Mon Sep 17 00:00:00 2001 -From: Pavel Raiskup -Date: Sun, 4 Oct 2015 21:55:03 +0200 -Subject: libtool: mitigate the $sed_quote_subst slowdown - -When it is reasonably possible, use shell implementation for -quoting. - -References: -http://lists.gnu.org/archive/html/libtool/2015-03/msg00005.html -http://lists.gnu.org/archive/html/libtool/2015-02/msg00000.html -https://debbugs.gnu.org/cgi/bugreport.cgi?bug=20006 - -* gl/build-aux/funclib.sh (func_quote): New function that can be -used as substitution for '$SED $sed_quote_subst' call. -* build-aux/ltmain.in (func_emit_wrapper): Use func_quote instead -of '$SED $sed_quote_subst'. -(func_mode_link): Likewise. -* NEWS: Document. -* bootstrap: Sync with funclib.sh. - -(cherry picked from commit 32f0df9835ac15ac17e04be57c368172c3ad1d19) -(skipping NEWS change) -Signed-off-by: Eneas U de Queiroz - ---- a/bootstrap -+++ b/bootstrap -@@ -230,7 +230,7 @@ vc_ignore= - - # Source required external libraries: - # Set a version string for this script. --scriptversion=2015-01-20.17; # UTC -+scriptversion=2015-10-04.22; # UTC - - # General shell script boiler plate, and helper functions. - # Written by Gary V. Vaughan, 2004 -@@ -1257,6 +1257,57 @@ func_relative_path () - } - - -+# func_quote ARG -+# -------------- -+# Aesthetically quote one ARG, store the result into $func_quote_result. Note -+# that we keep attention to performance here (so far O(N) complexity as long as -+# func_append is O(1)). -+func_quote () -+{ -+ $debug_cmd -+ -+ func_quote_result=$1 -+ -+ case $func_quote_result in -+ *[\\\`\"\$]*) -+ case $func_quote_result in -+ *'*'*|*'['*) -+ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"` -+ return 0 -+ ;; -+ esac -+ -+ func_quote_old_IFS=$IFS -+ for _G_char in '\' '`' '"' '$' -+ do -+ # STATE($1) PREV($2) SEPARATOR($3) -+ set start "" "" -+ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy -+ IFS=$_G_char -+ for _G_part in $func_quote_result -+ do -+ case $1 in -+ quote) -+ func_append func_quote_result "$3$2" -+ set quote "$_G_part" "\\$_G_char" -+ ;; -+ start) -+ set first "" "" -+ func_quote_result= -+ ;; -+ first) -+ set quote "$_G_part" "" -+ ;; -+ esac -+ done -+ IFS=$func_quote_old_IFS -+ done -+ ;; -+ *) ;; -+ esac -+} -+ -+ - # func_quote_for_eval ARG... - # -------------------------- - # Aesthetically quote ARGs to be evaled later. -@@ -1273,12 +1324,8 @@ func_quote_for_eval () - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do -- case $1 in -- *[\\\`\"\$]*) -- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; -- *) -- _G_unquoted_arg=$1 ;; -- esac -+ func_quote "$1" -+ _G_unquoted_arg=$func_quote_result - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else ---- a/build-aux/ltmain.in -+++ b/build-aux/ltmain.in -@@ -3356,7 +3356,8 @@ else - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - -- qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` -+ func_quote "$ECHO" -+ qECHO=$func_quote_result - $ECHO "\ - - # A function that is used when there is no print builtin or printf. -@@ -8618,8 +8619,8 @@ EOF - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done -- relink_command="(cd `pwd`; $relink_command)" -- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` -+ func_quote "(cd `pwd`; $relink_command)" -+ relink_command=$func_quote_result - fi - - # Only actually do things if not in dry run mode. -@@ -8865,7 +8866,8 @@ EOF - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" -- relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` -+ func_quote "$relink_command" -+ relink_command=$func_quote_result - if test yes = "$hardcode_automatic"; then - relink_command= - fi ---- a/build-aux/funclib.sh -+++ b/build-aux/funclib.sh -@@ -1,5 +1,5 @@ - # Set a version string for this script. --scriptversion=2015-01-20.17; # UTC -+scriptversion=2015-10-04.22; # UTC - - # General shell script boiler plate, and helper functions. - # Written by Gary V. Vaughan, 2004 -@@ -1026,6 +1026,57 @@ func_relative_path () - } - - -+# func_quote ARG -+# -------------- -+# Aesthetically quote one ARG, store the result into $func_quote_result. Note -+# that we keep attention to performance here (so far O(N) complexity as long as -+# func_append is O(1)). -+func_quote () -+{ -+ $debug_cmd -+ -+ func_quote_result=$1 -+ -+ case $func_quote_result in -+ *[\\\`\"\$]*) -+ case $func_quote_result in -+ *[\[\*\?]*) -+ func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"` -+ return 0 -+ ;; -+ esac -+ -+ func_quote_old_IFS=$IFS -+ for _G_char in '\' '`' '"' '$' -+ do -+ # STATE($1) PREV($2) SEPARATOR($3) -+ set start "" "" -+ func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy -+ IFS=$_G_char -+ for _G_part in $func_quote_result -+ do -+ case $1 in -+ quote) -+ func_append func_quote_result "$3$2" -+ set quote "$_G_part" "\\$_G_char" -+ ;; -+ start) -+ set first "" "" -+ func_quote_result= -+ ;; -+ first) -+ set quote "$_G_part" "" -+ ;; -+ esac -+ done -+ IFS=$func_quote_old_IFS -+ done -+ ;; -+ *) ;; -+ esac -+} -+ -+ - # func_quote_for_eval ARG... - # -------------------------- - # Aesthetically quote ARGs to be evaled later. -@@ -1042,12 +1093,8 @@ func_quote_for_eval () - func_quote_for_eval_unquoted_result= - func_quote_for_eval_result= - while test 0 -lt $#; do -- case $1 in -- *[\\\`\"\$]*) -- _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; -- *) -- _G_unquoted_arg=$1 ;; -- esac -+ func_quote "$1" -+ _G_unquoted_arg=$func_quote_result - if test -n "$func_quote_for_eval_unquoted_result"; then - func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" - else diff --git a/tools/libtool/patches/200-openwrt-branding.patch b/tools/libtool/patches/200-openwrt-branding.patch index 50b5c03d4c4..5876f8bfac6 100644 --- a/tools/libtool/patches/200-openwrt-branding.patch +++ b/tools/libtool/patches/200-openwrt-branding.patch @@ -23,7 +23,7 @@ Signed-off-by: Eneas U de Queiroz } --- a/build-aux/funclib.sh +++ b/build-aux/funclib.sh -@@ -656,7 +656,7 @@ func_echo () +@@ -699,7 +699,7 @@ func_echo () IFS=$nl for _G_line in $_G_message; do IFS=$func_echo_IFS From 61a07ea68d0c28f306eeceee64573de97d94d374 Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Wed, 22 Feb 2023 20:04:03 +0100 Subject: [PATCH 17/24] realtek: switch to Kernel 5.15 by default Getting ready for the next release. Tested-by: Sander Vanheule Tested-by: Olliver Schinagl Tested-by: INAGAKI Hiroshi Signed-off-by: Paul Spooren --- target/linux/realtek/Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/target/linux/realtek/Makefile b/target/linux/realtek/Makefile index 94280f43e56..cd86bdc11e6 100644 --- a/target/linux/realtek/Makefile +++ b/target/linux/realtek/Makefile @@ -9,8 +9,7 @@ DEVICE_TYPE:=basic FEATURES:=ramdisk squashfs SUBTARGETS:=rtl838x rtl839x rtl930x rtl931x -KERNEL_PATCHVER:=5.10 -KERNEL_TESTING_PATCHVER:=5.15 +KERNEL_PATCHVER:=5.15 define Target/Description Build firmware images for Realtek RTL83xx based boards. From 7b7edd25a571568438c886529d3443054e02f55f Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Sun, 12 Mar 2023 16:56:41 +0100 Subject: [PATCH 18/24] imagebuilder: allow to specific ROOTFS_PARTSIZE Setting this options modifies the rootfs size of created images. When installing a large number of packages it may become necessary to increase the size to have enough storage. This option is only useful for supported devices, i.e. with an attached SD Card or installed on a hard drive. Signed-off-by: Paul Spooren --- target/imagebuilder/files/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 275932577b4..5aeedb74dad 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -51,6 +51,7 @@ image: make image EXTRA_IMAGE_NAME="" # Add this to the output image filename (sanitized) make image DISABLED_SERVICES=" [ [ ..]]" # Which services in /etc/init.d/ should be disabled make image ADD_LOCAL_KEY=1 # store locally generated signing key in built images + make image ROOTFS_PARTSIZE="" # override the default rootfs partition size in MegaBytes manifest: List "all" packages which get installed into the image. @@ -261,7 +262,8 @@ image: $(if $(FILES),USER_FILES="$(FILES)") \ $(if $(PACKAGES),USER_PACKAGES="$(PACKAGES)") \ $(if $(BIN_DIR),BIN_DIR="$(BIN_DIR)") \ - $(if $(DISABLED_SERVICES),DISABLED_SERVICES="$(DISABLED_SERVICES)")) + $(if $(DISABLED_SERVICES),DISABLED_SERVICES="$(DISABLED_SERVICES)") \ + $(if $(ROOTFS_PARTSIZE),CONFIG_TARGET_ROOTFS_PARTSIZE="$(ROOTFS_PARTSIZE)")) manifest: FORCE $(MAKE) -s _check_profile From 8dea8bde2a392a0c75eaf4886508566251fc2bd1 Mon Sep 17 00:00:00 2001 From: Mark Mentovai Date: Fri, 11 Nov 2022 11:41:37 -0500 Subject: [PATCH 19/24] odhcp6c: add "verbose" option odhcp6c logs messages related to its activity when invoked with -v, but there is no way to configure this from within OpenWrt. This adds a UCI option to turn on odhcp6c logging, disabled by default. To enable, set, for example, network.wan6.verbose = 1. Signed-off-by: Mark Mentovai --- package/network/ipv6/odhcp6c/Makefile | 2 +- package/network/ipv6/odhcp6c/files/dhcpv6.sh | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile index 505aa56e416..7ad3a1cfcd0 100644 --- a/package/network/ipv6/odhcp6c/Makefile +++ b/package/network/ipv6/odhcp6c/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=odhcp6c -PKG_RELEASE:=19 +PKG_RELEASE:=20 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git diff --git a/package/network/ipv6/odhcp6c/files/dhcpv6.sh b/package/network/ipv6/odhcp6c/files/dhcpv6.sh index ac8c7797fb9..8c2a0859cb4 100755 --- a/package/network/ipv6/odhcp6c/files/dhcpv6.sh +++ b/package/network/ipv6/odhcp6c/files/dhcpv6.sh @@ -39,6 +39,7 @@ proto_dhcpv6_init_config() { proto_config_add_boolean sourcefilter proto_config_add_boolean keep_ra_dnslifetime proto_config_add_int "ra_holdoff" + proto_config_add_boolean verbose } proto_dhcpv6_add_prefix() { @@ -53,8 +54,8 @@ proto_dhcpv6_setup() { local config="$1" local iface="$2" - local reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease noserverunicast noclientfqdn noacceptreconfig ip6prefix ip6prefixes iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff - json_get_vars reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease noserverunicast noclientfqdn noacceptreconfig iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff + local reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease noserverunicast noclientfqdn noacceptreconfig ip6prefix ip6prefixes iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass sendopts delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff verbose + json_get_vars reqaddress reqprefix clientid reqopts defaultreqopts noslaaconly forceprefix extendprefix norelease noserverunicast noclientfqdn noacceptreconfig iface_dslite iface_map iface_464xlat ifaceid userclass vendorclass delegate zone_dslite zone_map zone_464xlat zone encaplimit_dslite encaplimit_map soltimeout fakeroutes sourcefilter keep_ra_dnslifetime ra_holdoff verbose json_for_each_item proto_dhcpv6_add_prefix ip6prefix ip6prefixes # Configure @@ -90,6 +91,8 @@ proto_dhcpv6_setup() { [ -n "$ra_holdoff" ] && append opts "-m$ra_holdoff" + [ "$verbose" = "1" ] && append opts "-v" + local opt for opt in $reqopts; do append opts "-r$opt" From 86be8677b374fb1326ea249e6cb05df458253228 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Tue, 14 Mar 2023 22:31:06 +0100 Subject: [PATCH 20/24] 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 --- tools/firmware-utils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 3b94af20a80..39a4076cda9 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git -PKG_SOURCE_DATE:=2023-01-29 -PKG_SOURCE_VERSION:=e7233d229c2c204563a8c70231b34ebb2a197400 -PKG_MIRROR_HASH:=06ef2351187c3c4ee164099c1f50f83dfb5f56ed2aec0db8e1db20efb2c157d5 +PKG_SOURCE_DATE:=2023-03-14 +PKG_SOURCE_VERSION:=a2c80c586b81efc1662fec23202b88e2790e305e +PKG_MIRROR_HASH:=86d528f5c5e5571d2e3d36da8557913185c252dba9cc18f24d9450a2dcadf744 include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk From 7dceef5ee554ec4ab5d2dd2ff999f4a60bf2e0f4 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Tue, 14 Mar 2023 02:06:40 +0100 Subject: [PATCH 21/24] ramips: add support for TP-Link Archer AX23 v1 Hardware -------- CPU: MediaTek MT7621 DAT RAM: 128MB DDR3 (integrated) FLASH: 16MB SPI-NOR () WiFi: MediaTek MT7905 + MT7975 (2.4 / 5 DBDC) 802.11ax SERIAL: 115200 8N1 LEDs - (3V3 - GND - RX - TX) - ETH ports Installation ------------ Upload the factory image using the Web-UI. Web-Recovery ------------ The router supports a HTTP recovery mode by holding the reset-button when powering on. The interface is reachable at 192.168.0.1 and supports installation using the factory image. Signed-off-by: David Bauer --- .../dts/mt7621_tplink_archer-ax23-v1.dts | 203 ++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 12 ++ .../mt7621/base-files/etc/board.d/01_leds | 1 + .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 7 + 4 files changed, 223 insertions(+) create mode 100644 target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts diff --git a/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts b/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts new file mode 100644 index 00000000000..5c2ef1fa11c --- /dev/null +++ b/target/linux/ramips/dts/mt7621_tplink_archer-ax23-v1.dts @@ -0,0 +1,203 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "tplink,archer-ax23-v1", "mediatek,mt7621-soc"; + model = "TP-Link Archer AX23 v1"; + + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + label-mac-device = &gmac0; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "rfkill"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_power: power { + label = "green:power"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + }; + + wifi2g { + label = "green:wifi2g"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy0tpt"; + }; + + wifi5g { + label = "green:wifi5g"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + linux,default-trigger = "phy1tpt"; + }; + + wan-green { + label = "green:wan"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + wan-orange { + label = "orange:wan"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "green:lan"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + wps { + label = "green:wps"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <80000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x000000 0x040000>; + read-only; + }; + + partition@40000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x040000 0xf60000>; + }; + + config: partition@fa0000 { + label = "config"; + reg = <0xfa0000 0x010000>; + read-only; + }; + + partition@fb0000 { + label = "tplink"; + reg = <0xfb0000 0x040000>; + read-only; + }; + + radio: partition@ff0000 { + label = "radio"; + reg = <0xff0000 0x010000>; + read-only; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&radio 0x0>; + nvmem-cells = <&macaddr_config_8>; + nvmem-cell-names = "mac-address"; + mediatek,disable-radar-background; + }; +}; + +&gmac0 { + nvmem-cells = <&macaddr_config_8>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + status = "okay"; + label = "wan"; + phy-handle = <ðphy4>; + + nvmem-cells = <&macaddr_config_8>; + nvmem-cell-names = "mac-address"; + mac-address-increment = <1>; +}; + +&mdio { + ethphy4: ethernet-phy@4 { + reg = <4>; + }; +}; + +&switch0 { + ports { + port@0 { + status = "okay"; + label = "lan1"; + }; + + port@1 { + status = "okay"; + label = "lan2"; + }; + + port@2 { + status = "okay"; + label = "lan3"; + }; + + port@3 { + status = "okay"; + label = "lan4"; + }; + }; +}; + +&state_default { + gpio { + groups = "i2c", "uart3", "jtag", "wdt"; + function = "gpio"; + }; +}; + +&config { + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_8: macaddr@8 { + reg = <0x8 0x6>; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index a88f00e6775..90b8bba2a56 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -2038,6 +2038,18 @@ define Device/totolink_x5000r endef TARGET_DEVICES += totolink_x5000r +define Device/tplink_archer-ax23-v1 + $(Device/dsa-migration) + $(Device/tplink-safeloader) + DEVICE_MODEL := Archer AX23 + DEVICE_VARIANT := v1 + DEVICE_PACKAGES := kmod-mt7915-firmware -uboot-envtools + TPLINK_BOARD_ID := ARCHER-AX23-V1 + KERNEL := $(KERNEL_DTB) | uImage lzma + IMAGE_SIZE := 15744k +endef +TARGET_DEVICES += tplink_archer-ax23-v1 + define Device/tplink_archer-a6-v3 $(Device/dsa-migration) $(Device/tplink-safeloader) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds index 039417dbbbf..59150bd514f 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/01_leds @@ -157,6 +157,7 @@ oraybox,x3a) ucidef_set_led_netdev "lan" "lan link" "green:status" "br-lan" ;; tplink,archer-a6-v3|\ +tplink,archer-ax23-v1|\ tplink,archer-c6-v3|\ tplink,archer-c6u-v1) ucidef_set_led_netdev "lan" "LAN" "green:lan" "br-lan" diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac index 5a186dcb88f..ffc643f42b7 100644 --- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac +++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -147,6 +147,13 @@ case "$board" in hw_mac_addr="$(mtd_get_mac_binary factory 0x4)" [ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr "0x100000" > /sys${DEVPATH}/macaddress ;; + tplink,archer-ax23-v1) + hw_mac_addr="$(mtd_get_mac_binary config 0x8)" + # 2.4 GHz MAC is MAC in EEPROm while 5GHz is EEPROM_MAC -1 + # However, mac80211 assigns consecutive addresses for each VAP + # Which leads to conflicting addresses. Set the LA bit for 5Ghz instead. + [ "$PHYNBR" = "1" ] && macaddr_setbit_la "$hw_mac_addr" > "/sys${DEVPATH}/macaddress" + ;; tplink,eap615-wall-v1) hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)" macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress" From f576762814bd1fc15cebedbd6c3f4f9b3f5ed858 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Sat, 4 Mar 2023 11:38:32 +0100 Subject: [PATCH 22/24] firmware: ipq-wifi: use project branch and drop local file Source BDF files out of project dedicated repository and drop local file from openwrt main repository. Signed-off-by: Christian Marangi --- package/firmware/ipq-wifi/Makefile | 13 ++++++++----- .../ipq-wifi/board-aruba_ap-365.qca4019 | Bin 24316 -> 0 bytes .../board-buffalo_wxr-5950ax12.ipq8074 | Bin 131184 -> 0 bytes .../board-devolo_magic-2-wifi-next.qca4019 | Bin 24340 -> 0 bytes .../ipq-wifi/board-dynalink_dl-wrx36.ipq8074 | Bin 131180 -> 0 bytes .../ipq-wifi/board-edgecore_eap102.ipq8074 | Bin 131180 -> 0 bytes .../ipq-wifi/board-edgecore_ecw5410.qca9984 | Bin 24324 -> 0 bytes .../ipq-wifi/board-edgecore_oap100.qca4019 | Bin 24324 -> 0 bytes .../ipq-wifi/board-edimax_cax1800.ipq8074 | Bin 131180 -> 0 bytes .../board-extreme-networks_ws-ap3915i.qca4019 | Bin 24348 -> 0 bytes .../ipq-wifi/board-glinet_gl-a1300.qca4019 | Bin 24308 -> 0 bytes .../ipq-wifi/board-glinet_gl-ap1300.qca4019 | Bin 48596 -> 0 bytes .../ipq-wifi/board-glinet_gl-s1300.qca4019 | Bin 24276 -> 0 bytes .../ipq-wifi/board-linksys_ea8300.qca4019 | Bin 97236 -> 0 bytes .../ipq-wifi/board-linksys_ea8300.qca9888 | Bin 48628 -> 0 bytes .../ipq-wifi/board-linksys_whw03v2.qca4019 | Bin 24324 -> 0 bytes .../ipq-wifi/board-linksys_whw03v2.qca9888 | Bin 12172 -> 0 bytes .../firmware/ipq-wifi/board-p2w_r619ac.qca4019 | Bin 24308 -> 0 bytes .../ipq-wifi/board-pakedge_wr-1.qca4019 | Bin 85076 -> 0 bytes .../firmware/ipq-wifi/board-qnap_301w.ipq8074 | Bin 131172 -> 0 bytes .../ipq-wifi/board-qxwlan_e2600ac-c1.qca4019 | Bin 24324 -> 0 bytes .../ipq-wifi/board-qxwlan_e2600ac-c2.qca4019 | Bin 36476 -> 0 bytes .../ipq-wifi/board-qxwlan_e2600ac.qca4019 | Bin 36464 -> 0 bytes .../firmware/ipq-wifi/board-redmi_ax6.ipq8074 | Bin 131172 -> 0 bytes .../board-sony_ncp-hg100-cellular.qca4019 | Bin 24340 -> 0 bytes .../ipq-wifi/board-teltonika_rutx.qca4019 | Bin 24276 -> 0 bytes .../ipq-wifi/board-xiaomi_ax3600.ipq8074 | Bin 131176 -> 0 bytes .../ipq-wifi/board-xiaomi_ax3600.qca9889 | Bin 2260 -> 0 bytes .../ipq-wifi/board-xiaomi_ax9000.ipq8074 | Bin 131176 -> 0 bytes .../ipq-wifi/board-xiaomi_ax9000.qca9889 | Bin 2260 -> 0 bytes .../ipq-wifi/board-xiaomi_ax9000.qcn9074 | Bin 131176 -> 0 bytes .../firmware/ipq-wifi/board-zte_mf18a.qca4019 | Bin 24308 -> 0 bytes .../firmware/ipq-wifi/board-zte_mf18a.qca99x0 | Bin 12144 -> 0 bytes .../firmware/ipq-wifi/board-zte_mf289f.qca4019 | Bin 24308 -> 0 bytes .../firmware/ipq-wifi/board-zte_mf289f.qca9984 | Bin 12204 -> 0 bytes .../ipq-wifi/board-zyxel_nbg7815.ipq8074 | Bin 131176 -> 0 bytes 36 files changed, 8 insertions(+), 5 deletions(-) delete mode 100644 package/firmware/ipq-wifi/board-aruba_ap-365.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-buffalo_wxr-5950ax12.ipq8074 delete mode 100644 package/firmware/ipq-wifi/board-devolo_magic-2-wifi-next.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-dynalink_dl-wrx36.ipq8074 delete mode 100644 package/firmware/ipq-wifi/board-edgecore_eap102.ipq8074 delete mode 100644 package/firmware/ipq-wifi/board-edgecore_ecw5410.qca9984 delete mode 100644 package/firmware/ipq-wifi/board-edgecore_oap100.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-edimax_cax1800.ipq8074 delete mode 100644 package/firmware/ipq-wifi/board-extreme-networks_ws-ap3915i.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-glinet_gl-a1300.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-glinet_gl-ap1300.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-glinet_gl-s1300.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-linksys_ea8300.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-linksys_ea8300.qca9888 delete mode 100644 package/firmware/ipq-wifi/board-linksys_whw03v2.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-linksys_whw03v2.qca9888 delete mode 100644 package/firmware/ipq-wifi/board-p2w_r619ac.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-pakedge_wr-1.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-qnap_301w.ipq8074 delete mode 100644 package/firmware/ipq-wifi/board-qxwlan_e2600ac-c1.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-qxwlan_e2600ac-c2.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-qxwlan_e2600ac.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-redmi_ax6.ipq8074 delete mode 100644 package/firmware/ipq-wifi/board-sony_ncp-hg100-cellular.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-teltonika_rutx.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-xiaomi_ax3600.ipq8074 delete mode 100644 package/firmware/ipq-wifi/board-xiaomi_ax3600.qca9889 delete mode 100644 package/firmware/ipq-wifi/board-xiaomi_ax9000.ipq8074 delete mode 100644 package/firmware/ipq-wifi/board-xiaomi_ax9000.qca9889 delete mode 100644 package/firmware/ipq-wifi/board-xiaomi_ax9000.qcn9074 delete mode 100644 package/firmware/ipq-wifi/board-zte_mf18a.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-zte_mf18a.qca99x0 delete mode 100644 package/firmware/ipq-wifi/board-zte_mf289f.qca4019 delete mode 100644 package/firmware/ipq-wifi/board-zte_mf289f.qca9984 delete mode 100644 package/firmware/ipq-wifi/board-zyxel_nbg7815.ipq8074 diff --git a/package/firmware/ipq-wifi/Makefile b/package/firmware/ipq-wifi/Makefile index 8e7fc4da39a..f1c60a77820 100644 --- a/package/firmware/ipq-wifi/Makefile +++ b/package/firmware/ipq-wifi/Makefile @@ -3,14 +3,17 @@ include $(INCLUDE_DIR)/version.mk PKG_NAME:=ipq-wifi PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware/qca-wireless.git +PKG_SOURCE_DATE:=2023-02-12 +PKG_SOURCE_VERSION:=c3ece63d6879e14c8d65a8dc3e32f47e0f891f27 +PKG_MIRROR_HASH:=7637fb1df3ad577650284b526ffaa4c038e1ba6b196a88724d63e4d1c1ab3c53 + PKG_FLAGS:=nonshared include $(INCLUDE_DIR)/package.mk -define Build/Prepare - mkdir -p $(PKG_BUILD_DIR) -endef - define Build/Compile endef @@ -114,7 +117,7 @@ Do not install it for any other device! endef define Package/ipq-wifi-$(1)/install-overlay - $$$$(foreach IPQ_WIFI_BOARD_FILE,$$$$(wildcard board-$(1).*),\ + $$$$(foreach IPQ_WIFI_BOARD_FILE,$$$$(wildcard $(PKG_BUILD_DIR)/board-$(1).*),\ $$$$(call ipq-wifi-install-one,$$$$(IPQ_WIFI_BOARD_FILE),$$(1))) endef diff --git a/package/firmware/ipq-wifi/board-aruba_ap-365.qca4019 b/package/firmware/ipq-wifi/board-aruba_ap-365.qca4019 deleted file mode 100644 index 7fc44a64a3b68dc0927cb68f5995a13c134e1471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24316 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 diff --git a/package/firmware/ipq-wifi/board-buffalo_wxr-5950ax12.ipq8074 b/package/firmware/ipq-wifi/board-buffalo_wxr-5950ax12.ipq8074 deleted file mode 100644 index 57badaa53553d9c81797c6ef761d37f7358ea8f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131184 zcmeHw33OCfdgiV7N<|5)QAtQ82?W{~2=2%jETIK0AQmGDpC-2{-Eq5TdM24pcW0bV$H{aiy`Ah|5e@p-TU9=yZ>_ERh4SPiqgkR>()H+#Jb1J)|b|-RJ(WYR=Dbv#uv2$ zspF-+MO!*M7QMK8=i^&DcXmC#b6Zi4!F9Z_WzROUi_R-E91BF@A3} zYU7vZHD)-HLWZ89z%M%Z;A`N51h>?8r5Kmiu3q zISP%RT*ngQXQ^Yc@#AqM`hN=XIwyd;Td`$=$(H%bmifw-`O230%9i=cmifw-`RcnI z%HeRCj8b7r4>FQ_bP&+guZ&f%pLhS9?x}nC-yGzQ&rA6We|wNh<8b?(kdBm!#Lq~s z5b+5d=Y#MZ$yg_AoVtn#>1rfcPIz6HOC9^ul0Q54-@f`cC4Z}a^6^hb-eaHd8o3}O z`Ua75#Jlx}ISn#wTeqDm(YG(KReP994#%emBf&IG^+&qc2^@w>Q)u!=z?eegm7$Iw z0%7VK!Fa)d=HrIWjbHcDk{~c<1YGJnK^-1*Ytn!q@Yy0TL&f_;vLmPG-o1N0X_hPU z7n;N2u%>k!Z6q$%!Xb`3EOhve_y;wD7Bov5wvq7|N$9vn#ktjYUZY^wp)-ANzYB1T zOR1zkS1R!XrQ+`>7269unw5%Ju9SN|PO<)Z_~+i#zeF1!DmC}tD;4*uQqh|sp96Uh zhx}Z~|NZdtsa32Q$YxpswU>)Z{kLJJ@ z0_&KEIV4~XKObH`8Mc&&HAsMbENscs4h&3N{6`z|e+7AB_{A~U!azM}vFL#f43c3B z^S+8P+`$-*VGh)z5v*gfIS138q02LK{Ca4^9|h!z0WgfDKPZBHBG%xahR1L`{6RAO ziJ{A|rGPFM_{Z>z;m2Ui0X{7r7#jWvYcTT($fsZqHvCaC^e~ZYKs|y_^=t+Pg^;H$ z+0Y|mpr-jH7$_we2nKWmq6dP3=z%XFiY@qT;liz^-u&+L9dX#7nb&I{7}};1nfV}>)g5KmkW1iY>KZm z?} zWbcTz-0Qtr*ZUhUr0$5b%=h~3O{a?vW$sMC-p;&kT-toBWKUK{f~Ai)Z*A>e(v{lb zwcLC4M%}Bq2U53N@jKVobZXhb^iJz~+`O{+c*)-EtqGR7z1g?*^pY1-w|Xu2j$hw! zvh;AuGqH{4NaR%z_-qmAI`j7Z4@&)??UA<^H<+^``s_!{otG5H4iug zuh}0dm4P$1RGcf!$GJcP&ZlA)!f*z#3 z4|(d*DU2UD8sn!P+Bh3x|Ea(+`FGJj&YI&|(f<>qlN3_VJO9&k?+ zodfwO$p7!*<+K0Nk0132=fv^Y|HR}&o_c6w{DvOVj&N2!59h>&9zF$mH{@-ct@*S7 zdVqCIBMvyDn+F`?H(?wFXooo3IPW&*0X?EU&&N6#_6Qsed$eKCne3l9!XG69hdAJ1 z=s`64{}&rLLXTV&>@fp+m2@%_RCX`0&#`=0~`J@V27qZ zAE7@A=mGTcfqvCyTnNN>`cpB|pZCJN9+~!FSC2lzI>4V8`z*u-<9UJWVAr2PJ`Mc`;!-o_Pk$7R z@!POx<9QA8sqkm>VMhrZ|C5OCjEgqrZ|u_%*8KwmNk9*v&ly<9RM_);*aOdPV{$MK z>a(5aZ*!l5eO4mk+en`~t$uO-Y4mUU1DoduhP-Ldu%|#=v1!lQf9_ug(;jJ0&|}YR zd-Km6qdzdtKd_Fe^oPJNp$X>)umcb6$j1AN3_E~7G5jI@8P|{gz@|Sm^ z*i#bpX%6(+I0vF%v2hN>_#8Ng8O1oPdN7YTP!AB7?4BbHjBBPp@yx;aZ9F#_dSLqH zfp%bL9T=bK4`D~6IX|%KfpHGk4*WTP55{lf{ep%+qaDBwd5&ey-|jh9h#nxmq`@yG z!7t50e2QI+aZsQB=AIhvGW5WVPovQT;F$hC<}q-8VAmhOp3`AZlsEJUI2wACfbrXi zuiT$xd0v5xbPqkqVc$RBh5 z#2@_!&Y_mUAJ8A#*k_u0un_i~342I`J}1Gi&VgTvrC($_KNuc|fM0@qKp*ok4x8ty zv`1qd?*Iq*BjX$j@zrj83^`ZkI�i1oG4)JLlqvYZ+F5V8#Wmqm8&|>~o<<$ryjg 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 diff --git a/package/firmware/ipq-wifi/board-devolo_magic-2-wifi-next.qca4019 b/package/firmware/ipq-wifi/board-devolo_magic-2-wifi-next.qca4019 deleted file mode 100644 index cf86721feabb1cbceb2ffe470dccd6628355062a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24340 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 diff --git a/package/firmware/ipq-wifi/board-edgecore_eap102.ipq8074 b/package/firmware/ipq-wifi/board-edgecore_eap102.ipq8074 deleted file mode 100644 index 36d0f42fb9707321f84398e6a04f6173ebad6b27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131180 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 TfIvVXAP^7;2m}NI0R;X(w@xMs diff --git a/package/firmware/ipq-wifi/board-edgecore_ecw5410.qca9984 b/package/firmware/ipq-wifi/board-edgecore_ecw5410.qca9984 deleted file mode 100644 index 2c1992001d86268e0483b9e53ed4b563e224ada4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24324 zcmeHPeN+=y7JnH)J}sG$q9`3c1goeK0|h^#2wJq7)|7S8P(=c$7>lM6tOyq5L#PH# zk)SOLQb{PbK*6Pj7KMm{+M}HAIX$P{t+nl*ZU5Mw_MEnR+HQ}{?0YkrWC%pV*W$JNMrA-pycU-uvP6t6~?#Zd|)4eEovB4Y3KUL1tzqfTUW8Y5-zjNzLB3T$Q$K zero2f1!)<(R10>cFAt}Bse2Xbbktomf4@S#OR*QzO-Pm;3Ch`U8Q?PT|IdJt8qx?-$yCb& zRu}o9MFyajB?G|Nr;+IveG}PZkpVc!k^%S=)e9usOy^DCo9Oi|C6|)7|Da_6BFHMr zCWrio>2p(}**lp`CSNq$0}x9}DZLAsY05O^Q}Sx^oavm&aDoTics$J64gNrZiF&tI znv$;3e*DR2$mTP$6-N7z6vBd-@yjCP$N@5i^Z@Ok4l+X?pp~qGB@x;-kQEktt#*IX z#*NbW#emOuGaE0S8#*gEH~{v3`TC3BOs2=7MC*|9w{LD^&dw+euJADu`lrzTUS7^- z{~bG$5^3F?J3pFr0EFmN)Tr~x_e}4Z{%Ow9LUJM5PU-iN-hy=c8O zf{6Gb0$)Zf6D^a{9|F6khN4qH;WfHtRj<}Gu}kO}NxC^hQ`dg+ruFS&u*CW`8CJY~ zrKh3haPAhx%B#kfbDAP$s%*tTZ%e%eJp1z3vrtl05o1NE)5?1o+h0aaNbB zPLzwUUT$gDlql1n!{rveCQm7sMM4JybdbxVEDi&GEe2hYdW$@&r{D07Mx)#*i$$(F zje5I0X5eZ|qwa`$n|uj!IEF^(=&jKgl_+=1R(D)Nl49%H`Ep9kk$TZ_C@d!rT-^Oh-R-C|B=R zJl}K0V9*q*74ju0bMUG{vC`u3>E({bnu4OO%9x(3FmACrMG@cA+tON7QM6YngIC{z zSCf^LLwS`}JM3p;PszQm*vkxC&t-|74SO<|C3~4+>$xnkv%$%ZW&oqNu?Lwu_O3F> z<$>)Sy^_``X_$M;_i%B?3+Ey#i6UIp*{f=Mwmz(UW^Ut!jCa=5JXtzDyQTk7*RyZ? z7vt*su073?Qz0e3FBP2Mqz^ytpU2PWx|rRxp>|&BjQv%8$?vT&1ZV^YFZIWrc~ay1 zviHuK3mMH(y1*hlv$}I(ChhiRwh@?UJZvb8z-jeruL zY*lmI>!HQdvOE(@uWjm_SL=6lYSvrV_Iwak7jO*EuIyfK2&s@hbR*}z(UR&C(@4v9_?Z9%u zfs;M)^|Q-`Szf8vt}HthRER4*Q(GmqGYTHt{lI?k+{C#Ia2WtDuI`>wy>Xw%r}@o%V(^O@)kE(K zcOzFe4U%yv3Y--b6daW3;$}Ic9LCQv6%TWA!2ssuJjK-s zdSI?o&^DW^EBaD%b#Oi0kXmu}{AG5{y!wx< z9XbX&J)~&d#$a+L@J0NTs{nFa1qPTx_-*8GX?WGvDY5K!r2X zBWlRU0Mbjm2kX&wI{tds5Xeky)Y9=qo&zoe!^B?=x7XQ++Rd}FB4rZ!tKjn;hlkWXpOo% zB#Cs5aLJ4g>3^pfN!FOVoSaE#n|R(XaR1aM9*<`NXycQa2Wr!ttn*{$vYfY$S7siU zvF*a@Anyg)kO64M{tD$%P=clbda*)S@1f*IN`3{-TMzjxXn+hrJJya>fGWs{S}~;4 z04;VJ@?$(4G5}>*8Ro~sApbmsC^u^btsSEAwsUCE@iWp=IWOcP9>1ugk0jlap=rMf z0BjGyZL^!Ut%#!eVRPn~rP;y3obKVt0d>eR2a#EVpYQ#o8~vTlc|PbFAX~kJ&d%vz z^XbMubgp>{(wmT&b#+1-i;jsiQLS_{{KvJf{kpyO$=RVHlUeAKJNm4SKAn@wHg4XM zlAfW_R-XP#oxZWDwY~G=rM~MoM}C2IjyJL=*9XQLQ0JghK^b!rN}Yj926d zLa^Gj8kZ7MkyN@GM4BRT2_X?lq>DuhE*mP}-ZMrtbHr-*SVo{9{cQ1Afci-a) z&mo-hA@m*%6!sOYQULIn23trlMP7E{L-6`g+`ZR$;qGrx6JS+i#oe<)Q6k)Ui?P+g zziJo>xPGX+MPtR?2LhVmB?|A)m-CG3XXBS`C zXP3Ks554LMX{h$W)IgjYYu9z~8gBP?>#GZLk`ki2FB=*Q3zCv!V+Q(~8%~zKqYXwNpSm8cYXEYoUI9qyRTFma`F>i2#@UVHPja#N=k~A^cyKj zPUBKe=qfA0ZDaSF&|zD`(r#mQLr!5ra`=+|O9p*mVN&wq#RGi?L*Zd4QP`RjRl3T- z^SeinJCeRff~d=nWR@IB%)M;j$u;_(oHVM`Csjlj1n%}p$~zN(bneSDGK9&+4I3)v z9rD}dopees*M{f%XZXmE)&Kdm=)-}T!mZ_o=U-ctAFy}&_7hDnR7aKuWC_!ons!&O zI1-XIJ-w?f=gnue0egJ5^`B2X8C4jv&u{0kcNDctj?FqaP5Ew9PVJhb^K$%^leS=P z;4x)jtS4=7aO#GKkaBeE!`jISel1TildJWlZSaF#aH8`#oV1N;=@a5SkBWNdj@W|N zr-wnfdz2mucMkQjKSFE`EJOBRI zS6_aKfc{q8z5A~}e*fKf-$0!=e7+sdpB>*Sdw6|KJqn*Soq?$)rAm_h1?Axnc6 z#C5m~a2en-z-55T0GEMBI0Hj5@eJ(VZQRc6hmOI(?%l_2j0f!_EciQO-Hlwxc}Fn7 z6#q}Yz4h&_-jDzI=#P((PF6w}+WzL>zJScwqV|3w_@^F-2jT9I{C>;zmMg7eaQ6(h zpTXRtb|Ti%gLOf6=XpW~K<%maoJ##=z!2E|&l55FC}KLaPY&ZcYB!20Os31daQ6s< zP5oap(>aNF2y-x*_Z~Mkmx0O50K)ZS5ZAAI75?)+0l0p9czZ@anV5StHix^X&bmfh zak%@@W{&f_Z!_S?nXx^rJzIa@E^v$!<8b#7Wo3ck+koY5x`XjpBg5?5doK7Nj2+EG diff --git a/package/firmware/ipq-wifi/board-edgecore_oap100.qca4019 b/package/firmware/ipq-wifi/board-edgecore_oap100.qca4019 deleted file mode 100644 index 9f1b5c93b5ebc7561987aa86f138e86c00d954b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24324 zcmeHPdr(tX8b5>p>f*u;0TJ*LLU;rrK%g2Vypi%qfubS-76AoGYUE{j7`kA`2Ze|T z)`B5|mO*(mMPw{KAQo$DXO!7L_K%(YqwUP@_K$UkcGa17W_NYZy~%|TLP;P@dE75K z_k8EO-#OtK`8;TX)zh`Kq8R5MC-QEvPtx6}dtFRRtBIg5xJ5_8vJ}bhxylh>;eP9vl<|+p~ae zFkpL(!0`hX7QnKe7Mh8*?bib=Kt2FlY_JjlbO7u_aE*#@^*3xb6Ke{9kdTm9FJ4&i z>DJ(vzg>tTk|k_liSkgtUaO`j@CFLpr!8r-UVU$(YzIy;Vn9qh71(QE#2ze0LZ8i} zmLBnJBT(Bi(=P*PUeL(Ub)nOAOHp(i8yhPtD@z>#U>qB%k>UvbbdwV->n0mVJ#iQp-Y9fo+nMl}u=oc^MDEKm6MVtROZGCi2gOzI}$oP>yl%vT

Lr@;^)g^v2cU0H)0|&IF;nZdjd(iO-*jid5$vA7dbKKpmzX5LeWd<0^RHaE#8#|`W4?|bGPh6<&bXjTBhjyv=~$keO{Jo zTMy@?kwsE&1?zFeL zZzE~6-Q3+s6m1hBAfvGD`p6^QEph2@T0Xyz&4ie(j}3eX$)THwz{`1JVgoDXuB9t1 z+PtxTi#D{n90a)~^3i7iz`RD@Gx|(F=LGos`@=ik40LsBFgQOyUvC)SD%D_k+W1zb zwz_8H{Ai*90vvu|HvkX}yde|F9VV7N08E&$yp5{1p=-vQ>dFhhH?!GG2k&M%drWv z;FoL9=r;@HKHgre-!f@d?lfz4n$=DKFQ0lp3@pfwUJq4*l8AhwZM1;y7t1>8nr1=Ms97p$@V(OomsV0{H@%$jj( zW?pg2<*R+FJL<0&($^O%v!kKErXy~s8^=vR2l21t5dkXT2n6vU^mQo0NBJDSAk=Kv z*R#EvqB(J$5R{g{O+Zp@~j);&+b7*UBZ1sl5AOqj>inUKSRRbYIho zv%npDfF;JeceH81;ejkBJDhh9NoWLKx;b08V!Zp?y8U4Kuk!BoooC96^X^e(#u+La z{=1E}r4@CC0T00F8{_Esqcc2tgS>m)j8{2$P!&%2*~uHoHh?$1cq@b+K5_-WewTzo^k`@ldB2TRy`19s<}iLX2? zU-RFI--u_zl>)P9hNc$DyVqQ0KA64O+<>Yv_fT{h_Zl6COoP^nZ?Uc0kCP8dhDDmx?olJk_YOM=Tbm^8D4GE8AoeVJweS5I< z@;b3l$XBW53h{}=y}r(P5ATU{G$E-cVMtSVRSM-PxkS8IeM@y+*#s-6s_x4>#Z`%k zzOL#qJ8ahaoAIXXNEFq3V{hTP#V8;RR0JS6!FaiVyN! zG!@w1*cjTBC*{SmRJil1yhfZZ41|Gn%A~>+9((GJ>WaKVoR-MKDts}?hA7=ucPcC8 zd9wJaF}Sl*mMcz%VP1n+M)Od(w@XWtXU|_iVljs)Tx@{$LMe3R0 z6OISB?!DVz*tVyh@t$MOmv?0YX$qfHP7>8E>Gkj?W)v-0WYwz1aR>|M1bCgf`Ym zdU40V@vBiy-Zk`s8=a!YNU7gZhm^jXrB}jFdsfi%uJjjl#x#3W((*3#iLUU^dR98* zo^Lt$eyEt4LyI06sO(BT?_2F$v|%R>IdBqzb%4NfpTYs3g*7V%@EC5)=h@>=;qdZe z!8d#Y2gB3DgXxh8R?Sm5=5yi++WjW8t=Z4-gP`4SHd`MC;3rKa0tOM7N4tNi=VmPF z!`yy)VQjSGqP%tw!27Yaf@@Ki?tW9x|aY&V4U@>Lkk+Cdh(` zhCKW&z3c`oB~Q-gIG3J6)pF^9MLgu~`-QQ}SN}N42=x)bc=1%oi_hw~`FJIG@%sIl zySxzJp0NLxoO`Tql6Q}=G2@aWo}M12lj%wNWXycud-bYb zfuLTYLLlkh`d`)k@4f$BzW=}fz3=j#Sh29;&WgsWyYF6h=Yr)G^^0WV#*KndCmMfb zF0SrvkIr4QzWa{N8y~!L?fM6M?tF0F++v;Ueq_y-b!4Z_m~qErYqmVNX4BTWmFphd zxMusE3oBaho?Tpw`W$*qnmEMe(xbbV{As33oV!w|H|yUm`gg1T-KKxH>)#!EX?&e3 zW^6jYjLH~8I0;S*OEJ<1`0g4YZImUYIwt6!8IF1Sr_@oRf95-8>7RLl-#Lyl{WHrk zUH{B*Ow&Ipj-0@!48N0txF-o~CYY?5zpRmz$JiG{E*iOn!|{78BcUs@#Kl#}-yVkAmJ=uTmg_mD> z#&ub_>tNfjLq>^2Mj%cugw_i#Xa;xf zSmbI|35CFrA>fuDhHQAqT2&1x1a1rhVGDlxvsC0=z3!IXfVI=^26sT-?QWJx$|#b3Ivhdk43US5XpR1 z#IqN8bc!V6P-{#!?h*gjrHD=D{zPQ*hay?$Mbh>`9vhCa_lU$#h5SF;kpHPj4%*Lp zB_NOUwXriGp9}f_VMG4s=>PkH{JR+_XNoQdt~`15OV(>b$l48=rZ^*Rt<(U_nduKi6-;`mg@9-B__m}PW_Jr5h(pP%Gzb(yD-`ST| zADi=}@1YFr@64dr_jLXyYyX~orRz-D{`^PNyUbE}O61kn{?dct^&S6w`_Yo8d=F=I zhRPj6|H^iIH>BZy$P8y+>FS@${#nMs@uGiQt^G6VE7)kQukQ<;C(3qtANE-4L;v*p zJQlr~ZK+>{z|BCQ=kWQ+H)}VeW2((t5`pUa*6#Jar(Zb#);sUL|Iv@k1J2;D|05Ca zyCPFgTpG_py0bA zzPClDo`n1+$TveC=PD_K>;ij!#LT&56bTfPs`{wp}2*^e_OtWgtZi;Nowc^l^{1(d&l@uU5m z1CVF?WsnE>iT^k9R4;;j{x{KooJ&o?`D7O4JvbK{pMtX$8~x|rmBIf#)B!zAc@}j% z0y}7d9n1oT&_hyOWIg0#48C_Tj#DC&)?*xXMn6)rP)B@Zc|YX6Xn*Q+Xdm+Fl%ESd z=0ZL>vV8ux(Ee8-e;VyS7-%2;x7$8()a?K`PTm)=1Ds6}N85G)JIaN8&K|Vi3O&w2 z-)ToS&Ib!%hqR-ql&2kaKpy9V;}RkNA2#g(^12;BJ`3_5jDP&tDD43A(ff7S0p?Q{ zo-R(ud`yKsC8xs$?zzBxZbUzTV+!Q$%xB#WzI>S-%)1Ud=nL4v3Im6f zNoYSIa{r6|!LS4BQMZG3=z-(seEy%2^`QF$%tzf0U`H90haU9#Y~$Zu@_!2aVav3G zZ0Io^d)W!_hvR5R{~5V`-Je~69h^u1;ZHK*k38^4x<9k=?@op{2>1i&LH7sn%RzsT z2|I8{#xcweU`LtJ+5s^1Vm?nf1v})r1izkoH}rt{XlGr@{|NKxUEtUcJ9rp+;JSeM zn39b;FsCAg!k>MbvvLxcop+`ub~HhUGYHv-y-Xg>w*{ZQ(u7{ zKt3IMOoblxb>$C{<=MX9Vu!r9n+Q8fo?x&4rXBcDM;`q89bjGI z`X2NLO;P#-%mpvn*X;m)J$(h*FNPlTFc!>-NFo2*X#cA*vIFQLqYXGx4_K4ztnY>J zC%PS-53KLdqwY^qA#cMU=yveF#UHH1__;3F^apzT9|rsp{E5Clp&io>ZR}4>JMe!8 zdiWajfccb#eO`Ja`Y|2#q+vcfBWc0dqnP`H>_;#knqdd9#}wF6@)#TPXy1qSr=G=p zhCj-n9hE|UGUTzwMGCq<7>pf!9GFkg-ja$WLYfF5awup_FMmvCC=RU>mJ}tQ4x5@(tUEaq1Mn3xQ`}$@6qzv*?U`NnJq`-Za ze%}Qg&3z*8d&hG=|0Xhyv?F~!zG_();Fop3ZbJ_P+5!DK*99BTCk59fOZ&P%_t>+; zpdDa7d*N57Ko4Q-0_w5z=16cpp0Uj566k^R*@j;?&kywd1?(`h33dcM==U40NLn=J zlK0E7gL7yf>rzHD;c`2e8l@e43I1R=>|hn_2>wVvKlrsxe?Y&? zb%A>5gdXV+xWBNoF8n?G3HFJ)9xZ--TnglEtna!VQJ(GZLHnj10l!2W&v*s>!AI~1 z&_mdLTfm;|*n$6BkbejACxKz$9EkgUyZ3zskk{=1{wN#w3sKvF+5RcCk9A4E?_~dh zgPs2020i3sK6){qrU1vRHrN682lUII*sufY(X@m80X;xozi+dlhp=^pc7*vHjX%)O z!9KL?Z)nHx$H^GHo&Akz2l_tkUHG;B%lta`>o$N4uFse6)22Y)#`;|NZRi2}lRU`h zY=9oHE~HI|Ps)Z*h^GCs=>I0*$aN)({ef-=(4!arU<&4=zAm7Bo=cDY)P^1WG_cQu z{N#hML zpvM&WgRwT&g|PEH%;&7t&?EXkKFyvUbb0H1hCkpr8246*Hufia|4o0!{SEBU1AnO7 zv5kFh&&kWR)g}&Ii|L6V2+mPpc#6B;0-)7ezd=K*p^0{a~ z2lF|r1$Kb;Q{j(NY-|vM_nok#;C(0jqTPM!<#sR$IMNO$cx>7M<}>ek^1cXvfOR3b zzkqzAjdNXnK0}Yz`&Qi!=+~pMgID0s24M%6ug_Vnz=87tel6J{5kv4?w-0)_j{C*} z*x_LIiTZu#JFvskXdn9v{olFRf7-E)`_9{-#{$epFLC62ZZqs~!bI4?KSf>_sK@-k zeAe{a{&MWe2vQ8qo!n9gJx8+8&&;1KUuI=z_`) zMznfu4^G*EZKy_cL1hOcTD`Uhr|iHsR3o~evV#$=UfY9Hc3>N-5nWK(!H8C`?ZGKK zunpCSE~xBaM61{K;FKNMhH69?H0|Kj=i85zJemIxpOZDi)BEeT&fiefnOSY7i0pc1 z-LCnYa+}kuLTUSZ*X=FeQnWU!K9qLwOzVMJ+kE%&y=gP_^>#irXM?{pW0{#E(%09# zyYx~28ovKzhJC%AyGwiWyE0dpDI%x8(0+W*&iqIC9Q(@lG3Zl2W2cj?V=;!N|t(rwG`$QX=~gw>?$1$=8ul8%lfjrIp9Zo-W+T=K{^J^FZCU@=ZmnvMjPMp6K2+ zzo%$*nx&2B`d02K-CWSkcYn-qvVZk~vTX(T^F0nT^c`LK;ls^O%z4PyW^Lp7 z{+0Vmw-l_MXwlojQyu$Dw)(sI-kBMC54CQe^?Jse`v^dVg1{CY}KC9E%|Hs z+?*NukFMNN@=$)e6~AMBt@~y@>RrR<@6B-PbO-Fkzs6(1?`VJffjQfJYpwQj{747t z^R;E(Yf6f|)Vt=%@(o2DSr!alcy`tP(yfK}S+RQdWXH}DVqj_G#F6$V=05Cgwa(w( zzSh07ws_a1S#0<4vF4{|Zp>SmW@)3pzw5x7)5! z_Hwp&^;2aV@;j{l@9@E<$7bK}ZOUA1jzVPLiH2P>9?4ymW|?oj0UJuU*wwMa^^cWr z^tD>;xwo%vZyEb%nMbEEXXb4yxX(J?{?n`W(q61K{(SG+r{--a2-D@$d)98BzdpAv zts>OFLnoSd&3Ytnl@+T!hga?_-BhrO?}eD*g=5`M&)ZPgX`Nfg``Y)<*_yx3I?qp> zY1==0t8X2jJvPI!Q|*}NzAh`KdokaptuI>bvG}?#99{K9*@J~`S(f#q|8VD?Ia~6( ztUm12(Y774VY}A3(06#%6D9D^85Y?iCtG*V>hZ2hw_v~jMBAR(n|*8ej=UKT9BqDT z)`q+e>)hXWV8yoS_Z4+|7Mi6*oRwQOBMQ~IJ%+RA8RN8#Ho{X2BBV{ge8_)bgzzHqvG&%Dh=YpnV>ceLxt zxeph#XIa|#{DIC#%hnb&W?K5Z^Jv|Z^Wp!}E#-O-Hg79g?+x=qeTSO1&3VAz5;i|h zwCtL>33Jst&rh}ND&68;ZC!t#Ke_DjGOo#%alCwN#kPu#g`FM?R=anudu;ywxwW48 zA^Z;XHa;~I*r!|k!I5X09xGYzYss|e^29T3kI#Lupf%I7ejGa4xwizmv|@FpzhfV4 zt=npA$B(pNUBKFHsqfs8?j3XC4hapb$_9Cy)5Kssx1QY@a0fm4lnJR5J!$C~nOT#vb0$xjnw#hK`SS}djfoHp zI6RUo#WGvUrAq3gRk~!o^vHJEEr;Z!oRgR34S8GMlMC`!@;CAm`K5d+m-Nr4NO=RL zx*#7fzr5o8ikH__6yd*2Lh$GNtt9Oz?}%p(`k#_IK<5jKZoB<+ciedc$MC5>4*O%c z?Y5$#f&z0Kez`3;29868(T#xL?*rv~^YVP&Ja67*EM~wB&d<;HgV1)aFAwcs#^V1I zyTSRRTl<#L5C_ES>r{7Uz<_)L#28J7G2dZj?z;H&u znEvJEfnR<8!vh3=XU{Iy=RMO@T=#$q2i;g=YY*!fFp-o!#uis|UaPqq-P~37sQmt| zwC0)iIGpzys_zN`g@8gpA)pXY2;3S7jFV6M*b}EF;?R;D4o$=5a5$WZJ2l6(dg*YZ zj2ngBC_e`AF%ingqf9)?$D@1#;tAI--*Z0Hde2(}$GzV92v_@Np1qKn$#PfwwpRyB zO`62-++2Pa6!6=cLf&2w=t7_i0bBxIKtb2kg+LbqT?lj`(1k?Mg+LbqT?lj`(1k?O z#kP<#uBMATT@BW6ubyIj+Z#7aO`d$MZ~OIFkspjMG%aborfE)nYB-a|Aa-qCgiLi% zG0ly3-DnLu)u2;c8ZMU>Nw=uH7rH98;yBh|*#xCW2FfCi%yhYW$iYf#l-2Z13|=pY-i zGnSz&Gsxj6@fad7lzLZf4KD;@XlAOaK_W1`EJyWrC=nQ>X({m-A~2MCS8WY11Y&4r z!?P;wBA!Xb^P<6LQ^DJLKGp7M-Ka0@Syu3No@cdNe?007d-fH)jptwOR$u+2flF4u zdzJLwfisLJnvJ;;tN8GmY1i(p^;xS}#joAs@XGaAjAl|%QLyv5mUw|BZl`>(k`WNm z;Ky*`vF?j5T))RN-r$pxL(h35--&!D@|_pAYw&Tn_%!yAJX1Qbx48aP&3*Aw`19l# z-x!Q<48}L+Vmz)CTwO!?ocZ;SCbFa!kMV{*$9{3wP(I5ZxrebWQC-(K;K~#Ix)X97 zcyB|0yN1&}R`JPre&2K-v5K4Zsb7V_=#dc>FUYis9@bLG=Fjnltap8Tj zi}AQpaCHskdt~7~j4kKHK0N$AwTruk@?EvqjwW(#wawqVqEPLhUy&rW$FEEbZH?{5 zvVxoG!NhJwzo7aQI|M>|;A_Wna?CbwT+D1i{SJQwLVMBB31eRHOtCN+yLP$ZkAoUP zY!Ps27caT+Ez$igL&3c7^LO>x9Edry&J*r_U1cC@e zJ4aM`g@8gpA>hUttQ%*rZk)mDf8rZwux^~e;&S2I?#3A`F1LGxoWZ(r2J6NdtQ%*r zZk)loaR!S^!{x#ik1GXNmm6oWxR9QN^x=C3>&6+Z8)vX?oWZ(r2J6NdtQ%*r?h$$h z+y1LDX6-1s@47YNw{gd5pSC_XR zRp(Vhaa5(}|ZBA5Sg}^95;PQE*c!hvMKp~(IPzWdl6aukEV3cgD)G$X00?GKxTO8`8 zx05`YYn}8Q7QuhyBQA-Tvj|^AFrj!4VK8YUsSOvfYCZSHcWxwBBcTn`cGRyzKp~(I zPzcQu#Sqc6=OrcdGUGJVT?-{hdh4Qx@+BzF^(~VZB0bA7h60B zuMt(lU=f%vSAOpMe_#3RE1$JpvVPL!%Fkfiw#xt6r7J(yd^7&KG~jc4*vIH=xV%|j z{VD_$0t$iAjKKB@=aP<3=pM(*E)K@3V5|g&=fAq7;dzaG!#^7y`RWoXMhapb!w5ARC4hhE!>Eu)$XC zCoyk#mv$-Ub>4`6-iSIU2KIBgwF5)&p8li;pZQclA)pXY2q**;0t$hVhJZ(0IUJKq zW=X|jQqjvIzn4;}XeE)0XI?dlT#~fQBAv*kNQqQ5kjQytrc^8>Rf=rZ8|rbTqTKljWSmjw3En{VYCZsNaV^{vXMk? zk*t&j%Sq%GGp~X~t{PA8EkFm1(RN9PET|M$l zt%pypsUeYbX}^}*3KF>_?VqH!jzlg6D?)8GiCikzhguT39Of+~k-J@+FSYF?ax=A+ zQoDpiZV^$cBayocTCMxuvMH zu7yNyx%S_su7X6aSu2&gB_wjK}X%$aRscB9U8<_UfuhmPGDt)LGv^BKHC1mXOG$Bd?*AMD9a!%ShzDNp2~L+;<_@UO^)F zcgU-3Ad&loCF@D#PGSYBUPj_7^C>K(;a(E+F0y1LiQMnNEvzDudkO1UV+)Dg0%yH6 zwv)*H5v?~?k;n;fXgjViLK>ola@1BmoHdA@FQ(Au;ce z<5zNT9f{muj0bo3i~xtiDhvt%C;VHAIIyE~Xt|lHd$=Y(6A}eI7 z)-JhPi{xo-;?;V@r)?Bp+;7Am_e=4+H%orpucZL1NTK$RQWUpWZgV{+w>uBX?XJV} zIoE%aJ6ykzJ6*q$yIfsToVW&8H?FnvCkglAS|@)Jf4>yRKZxrADNb0A>mghlaN(_Z z92~1F8VtG<-bg5d-b9QTTxcNX*JJM>*GOZ`D92bRHzQEaqnCRw;m;Bn)8x5?cLK3D z6FxvJ1NUV{%p(gRbFFaK#GMn3`l|I<9tyuU@gD!}Ub+B37J?b&`z=*M@MvOf* zVth@~h@}Q&D5n`|kkwD}o@eMXG+88O!PK>81mOLUDGbB!30G-9+8GffM`s6ivmT1$K&jTk(T{@ZkqaO6hJ zsQI^OEfh=EYhfC(dLaGl!CWI|rqP<1YuN4s=_k^Q^gjO}{TE1MeZSCKW9;Mf{0tB9 zGhC!X0(`ugAM4)~2mYgUaVF0URBZ6BFy19&JUM{^%(wP8MKm|?FvW%W zaVUTLG$V<;OWam@tli}A)mt?3$9V24F*<OV7?~tDM22#>=IY%lt6vO*fW4nE)29+tR;d^$j)D8$_My)CeQvPWapJx`NXW; z3M=nQ_6D3i+h_f`ivs!RjRWVBW+>MA#U=~;V1HdR%mib6apPwN5>oW>ObAv`9!ES~ z$$0^ZVjW-C1m8kK06f|sJE>rPfYxf;t@#0zjQH_m6gTxO2@wx4d;*{e;m%;A9UX{aURS{ZohQLrQ7w-U6(!= z_Iqa_-OM+CjZ(JeltWFTeZ#kIckt{PyfWe~sKg)}+8rHYdkdkeeI229nH{PeQk)0~Jtd3IT<{ zuty+Add!>gVLui%0EK`;Kp~(IPzWdl6aoqXg@8gpA)pXY2q**;0tx|zfI>hapb$_9 zCy)5Kssx1QY@a0fm4hapb$_9Cy)5Kssx1QY@a0fm4<;MPFk{{uP#JiPz_ diff --git a/package/firmware/ipq-wifi/board-extreme-networks_ws-ap3915i.qca4019 b/package/firmware/ipq-wifi/board-extreme-networks_ws-ap3915i.qca4019 deleted file mode 100644 index 8aeedf07cba67bba50e00446f9867afbcc9cdb83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24348 zcmeHPdr(tX8b1jj>SE!BfCzXAAv}T*AfN_`@{|ThfubS-7J&+qXaoY`Vd#P#9~2@Y zPz#0#S_b9O6p?Z90kK$HJEQFWv48CBA8ltJ-I;aQcCC;l$_@>xDv$^Zj#uv9TT>}15*G!h7FAZ4N{&_pAKVul zn;sq+wp|GOCc*w_uy0xjuY^PbHuaQoqmO*XKD*OdE)eyy63z)L9b*lcaqs?X3`TXzH}X|W(S!4^2p zzO+ZM7`6I*8U6YZ&vyc~jdSDDfaV1oX}TsJx*v5el%}v$W{G=${ z;gNqJn7pAl2S<1-DRS}?=pe!!`e7#}*(sa=*j-y~S#|~|bk@ONKfYJgYN5QsME@}1 zppS>~+G;?__{>&TYhQCgb!3r$rf14jyQDr*%sS)}H!)b=m3THl;+Eevl+zV?mR8|h z(BD)bjV$!rw>9Zr>+!n1!k`?NJ)aNMewcQaRk8J*J44l7Z#4&3dlrwKE2-I2#LPq@ z??Sr-5i7@e&$WJGC$DK+wMWVAkE?n@>b=UG^H&y1M6_B2?CdxEYLg@4?6P@_$5!nJ zzD|jK#{QhZe&7WWmXXP15|-Q8z^~w3V4$C$roq}Yd;$g;f+9#P8jFOX zVMv+uME$AvTiQDpDu6pH_smi#D1}9NOhMdHca}Tf33Wo;&^R=X756v}Nk)@d$@~~J z2H~M>l+9v4W+S`MU94UFP&5?bpmRYeuNqh9V&Zb=q9W7<=VvjHIHS(boDmPygXO`G zN8_KxBPnPKD}^79hCd5OqR=Q-6kl@^baQ+t4fM;NW6QSeedVxj@?E0ne6<)=4c;nC zs;-7>QeqB^Spoz~1WG0lAeM#+VDy^TBuaV+5ETLe0s#U60s#U60)aJ*z-IPl#EbGK z`%NT`vXi|NiKeXA3dksIyE^(nH`m_!n^!IzV}n*KHpUu0g~Zg&MBv2&F|&i^GS_D< zm>y-ZcBXr<$|L;T68YE@0AN`o?;U$$Sh9kHf`S4A7&O#6H5goAV1OTt&q_5I-fVnU zsafTs)CnpEAi()sW&;3Wzz_0sydWEh0jW@Qn6R>y5(emWPfxmmbinq7t#o>BI|Fbz zB=AEi03G%SDJBAdfb|IA0EwiOI_gA1sH+Wumm>~TGWjsvfq=Wq zWZU&0Lb(D(JI`?_OKIb0!4KEou`f-P{(ioUUovTS?lgOKn%y~m`u?ok{KF;k){f5Z z-oER@BV*$epFaHZiTMX~_VLWSa$Paj0N)4YQyR59q4*vsKdw=`3ySZ5^4X2r9Z>T@ zH0iPW(OogiV08t$m_6gv%)H{3iILMiAXAC2YUyyhmw5>doAok`#q;ESIRAp zxg7j3vpM)azax<#0l%gdXN0@-LWJ@mm)pJpDmbV6=Q;R-W#i!A!~@XDewKr;W2dja znuCubx*i%Xy!|>GJKH%nJOH;|noG?$%E8wi2>bsA9kBrSpGu_yENR8n)fHe#D`wU= zLD9OtZb=90Ot{8Sd#S&t-glw7rn@${j?71C!rrj?pBnkhuwB32-90_s-Rt0>Pmj^J zF{idBw|0q1FJ_5YAxeu0+cGvtBLMs02ej0U46glwgr_sGJo60+)G)|kaF`5+z9)kx z<2K+K*A_TV*n;TYb^vj)v9q^K2t+Rg0t5nU4uN?Ny)h2{fBx~;Z@&Kej}R3NFCXLJ zzx>zV|NQjn-(Z_54nCI~5vt+v&&>S$d&~3kjdAcpLRc&;VS5kQujq7q7h>sJ&^G)> zc{h%^l~x`5VtQs4nLB6kYbcM#mx3ptbBdwsv*-_n5v!3cfEt3;W@F z;)(tp#(d4#`$f0yt5J1_vPzaI2>I%^TA{3yFazP@;S3RoglgmT`jwkki zWB2a+2LR~Mu9V6S2w2l2stfW`QHFq{8dLU)M1oXKkovdEHknuu$Dv^k6I1^F05=oK zGG&?5cU0YSsc4^Ir|ORUqDaC^;IN@XyX=_OVRFi!38wF~>M0n~^lg5@qWDIDhXE!8EtM3ly3U=E*7F(FDf)m_R8d7dm`dK@0C zkmZV!VVGASmN6U@9_?0Ei{g1(aEFI*4(5mzUg{GeE#?FgC=n=`Kwvd24HHu%n%67> zoukLEMRx=@dQ@Fe{aTT5-oI|k@yd&dr2QCLUx>vnXFgQ~EQA|rf-R2UxBK34wrOUxhdv6aE zw(Y8?9d*h1?6zz$P2qpiRjj%py&Ba-uc91k>PkBkQROCZ;N2WL^a1BRFR@Erze?DX zaGoYb@&|@0l-$$wawox9kEA8OE=cT}@#vG}=Ahaw#ZCtYMvn9*wlPjni#rF8Uyg3_ ztDzQL>k>BZkp>=dPU*j1dMWCZkA#|cX`rAhw%NOalGo8Myu>}@Q{kL@uI1pn5h8jH zC1!N6qC53mK($-Znq4@=#0dme0Rl^XA_sgf*1Qx|9;^ZS_=LKi;ZCfexiv$z$gL>DEKc7%oa-kv9z5*7;CNi zN)A5u;2HP>`0NvC2yK<2Vg2h}!@c)|ESf&}1WJYjOppZ=13CE{`AETIy|(?A4i@;*`j7{SE!BfCzXAAv|IsK%g2V@)iT6U{R3(i$E30tx+C^hoKAY_@EFG zfm$#`&@w2GrihG-4~WIu+8Jf{kNsn3|7bh==+3OWwxiu?XLc9&+#4|Rl5NJ>y#T5Ng(kjZ2KN>MPL1F#jQ0(sev{Gx)u z0+}@E%_3=Wko4e=5TaIaEWh+1Ugd`bmgkpB^N$|iu}d5j8yXf8B9qaeFAMg=3KkX7 zXuzh15uSnfxupwcc>t`pcY+E4OaNX9BQ(<)m&?Yx0w63b?E7cWXhP;1@Z(?3MU%+} zb}&!5XYALc8wtFC0*_7ArmVV+t;xD0q1=Du0Gy^?YFR2|AnNfM0RP_0syHiM5HjW9KQq3cs8vDv36q(JDTkSOn69k^luXZTd9`*oXwK^2~b!)J>sqYiO1kcd0bE&=0ZJ4apZk+zBIU#;*c zy7f_cXK;;Iv2)(?LWzo&M8M8|-LEz{BF-)wH+gI(FZc!}evO?=U_bDN2+!zrIt|Zl zY~b7SnklirR+|~(_VDf9e3ZlSfq%YiZ*L#AH=CVdyVmHQgbax)7ZHKX%=AV&wVacCSb?ok|)j3)Dv#W83MB0~8npT~d1N4BHedE3Py zXb2)er-M*mF|AI=Bot0ZMX9sSk0p>eqs~vA5f9XZ=OK1zquh;xdR!;b-g zWu>xf__1+`f8>pS_RV5Z+DgP=2`xpFp~L_LIDf;f1t1joL4J-GWCL*^6^acLUN$j8 z0h{gV$u^Q!*gm_J&CY4z0HJ^ezCQ*)t35)C35Pp9YY`v>LfgDG2%x*r*XO{}$%)u> zG#L}sxH1rUG3dag(+|QO2)MgUw_W=Il*>@a*^NMXnKp4IytsA^e_^il_w(ial1aC7 zr`xO3?aqmJ@6F7~J6NP_YHjQ2>b^EGI6N}?$%8K*TYtb{AJ4iw*JWc3h<#8oqmJAO zCH6qYadqS_D6#)3=GT!spw@$E)??+PyKI)h$_mtyJ>%4j+``5SmwGfewV#{QR~9Pz z*)S)Wh$rgF^As~d!ejy>M#Vg_I01xDh9g2$$Pn;Yi#Unr+wt_P`6Y+>H*d{((lM z)37}KH4Rj9=%8oI{P#7MfCg~ zyW~^ZTnfdvpGLZcH(Q$u&K$u~Q3`NGo zZB2(#j_r|b)7(~Gz)D340zPzTQ5+#1#>V}*VB)UklCm83`Po1l)<6nv2R(EKS709X=W7LX>W3+tp>tTt&jf2s~J($ib3f zn3o}zF#;4G?NC=>@uE$H!vi=6Yh(%D>Qf&@-ppGM`3f{|+_7h>M! zmNNF;?~}Gf*ZLfB%dPI;cPXgOz5JE@zQKwQV;TdhHx?;Xsi#7ZyX@bv^Hy&`^Y$9n zTQ1q3-ct0Xsr=t@m1(ZauSC|f%NYmi+tW^mm%B+EL^t{myf1jyOXiZ>qmgzdoMXw6 zyx#sYweS?X#7Q#TS=tz19Vl~6fB127LtxdWLZ|(`gNM5kn>i<#g>8LDFGbh;RWkFh zwoB`x%|D2&xsrTF%% z`?~~7f4%E?_I{8>(+#OZ90!;n3nm8g@7H&8Yw?skt}hABJl%GRGY@D9kgvZbf>W~e z=Sf9qi~!Duw}pK8%(iO}7K0COJl;ar&GGEX_Fs}~kB?39?e$x8^Ux^1{X9UUT$VNh bmh2guIOF-0uTVt`puL^R+7ks=wTMMT~nt!)<{fwE#z zgj94{6@e@&$G70FtF`ASr@LqW=wEjK*!^dFww|@E?b)+y_RdU(ykUYt2Xb$?Gv9o3 zzk9#?yEmDc++RM{rKLorKipnfLLJ7$M^q!^7|9AoL(!W?M%12f1d^DU1t1nAC&g0ax<6z0uvBRBEV?RaC_&zx^)Hd z!vlJQrNg~cv4YG@IW#zSw5EW_T*(+jETs(EI;-pQGbPaAH+2;S>*dkI=R1$ql@(;e zwgx(nLtU;snl_L`M40+F!BHJd6BIE$jSNijuzoZXP_o{$>7_m2zpE?xh@>{4^ugu& zZlWc!E?9N<(w>ftCUIpzQAb~4$2(2Jz24iu=qYVaIwaobU;JobLrYA(P~}tju($4H zPLp)+TRU#`)pY#oSX51LX-m)MwuFx(ssl=H4K#Kw-yc%pxBbF-)hWf%w`&%a-5jVs zv+Tg)3h$!ng%a|XMZn!-?)-(Gn76Ng;G(w{v!D2eJ@pwoUV`<|S6~+xS65efF?MyG zH49#iXX}$k_raoM;iLU)Wq4?42>c5ZEm;yGS|SqVyUhXmI~3NJnY{nqXD$#Z7gx7A z@Q=A^nXtPR*9=A0f<(iCkt8#cjm1&jajW-2xvkaJd3i*J9Q8N{o(DzO}%^)y?gHQ0EB;%wYf1m_1X=)NL#J;r$4#zT!YjKb5JL#A7Ku zJTz1!5(>p)K1$Y5!Eg*q!BempJO-=SSAXD>BQ0&GECrCLPj~DR1h_ydcr3tz@E~ar z;e~r)0eC8&DouTyie=$h(kvnwPsS9u43|k|k7ZZ_o*+#iqVZ@ZL z%qt{Xj1Lz`ym9aEy|G33BIzO`4Nv<%4a>%}rP)L*9{YVPwh~_{T}d#5V7#T9VxXV$ zEj4#5j%fOgbJ!~;!k0waa#Q8!6xB;?E>jOZ0RZl6)!jo+%=i5K&Kr5%V|Lca$f282UWlnCZf{hpE&p+41J@)wxDhWXEIc9>(R zqG^wSZg7E*t7{2dfq+ZQaMAQ6OlM(YJ9Y!6SJ4rh;D>AX&{wwh5#eE>Z!$A0cg$KH zvpPqt&D*rOsH9BYdg4@9chANC!J!*>|M1|eC-$E(TF0~R&UM<92J|{8AvnyggwkuE zMCxI76_j58BxHx#6;S&@v}rN((VaHaU}ibWWzBd^{?^i#_AkzBuZ?_ZOP*P%7<%LL z(gzF1gQdZQ4@iHRjuAK^C5Uto_c9Jk#1o~7M4ZE(uMMr*Bl*evFkFx!%fQwM;$`vJ zyMlt#)XTCC_BzMzr^_Rby?px>sttuohBB=MHU)Xk?hm$^R+1i>?uzBzP>(A z<(NXITo^kH&5AnZGA`=0*(|Vn$U~H@`iYbX0fYcT;1v;|`1X)z&+zS`z@<8(s6^fR z^!(BkE4FO7WgJfNo(IS;)BbV3=}gP*dNKOQw)1BiGc;6yilA zH#DEqE-j{9dN3@8EevWJ)haTTOdYub4a#VP%bGJ}xgtfrZ1lGFoVt$OC=a3x9*#)D z!L!ra5>1vmUL8+Mnd;^0<*`EFeJ z-p$_P;|T|ZyL=08b*-+Kl=zdDJyQ>NZfcIM#mg3E4V|fMNo$NO_sf0s`>bP;b%CW`8+%TF(7e1dq(qQa ze>zv4cu2fAu;fCA>hQb!mhSY~Guvvm784qL0YY=foS&vjTER^Ue}gn(59Ui|#?ix)3` zg6YQ}8S1@RF;3rCLmNkzGjqe)4iVp;zmara$FBZz5WUG4*MiJo`CrFW9Yng4m~?QTpH%`-N~Eh+Z)HWr{q@*Zy#o0 z)?1gjd>(KugYJ5{AcasuDA_;&O${5sn5Yp-CUDp|;2}yjJVk1R073vEfDk|kAOxHa z0ZT4C;@dmjByh40TZFg&fhPbsIe#DV?GfLeC+|e7ZlL(~R$)O(2Oxmr+f)CU8pXFa ztf|>0A-=s`aG}D}0Rb*+#>TvQTk>@1>tuXHe0v96cwey!d-?V; zav8<9w}s5ae0$U2?)-~yPerJ()jO_w6yF{$%W?&aF2}=VT;vj$5#%9CT--)w5CRAR zgn+#Wp!oLoB4#L$`1bl|&pYfh=y(F++mE5ch4#)u`r6BK`R?S+^X(1qLdQrbzCDU> zKjBQ`;j;m9X~I#11rSOIB^wCvaBA4_6sesS0TkaJ#kY6b$&Whj^a!B%_5dKhz0XzH!i|~PS-x30 zQoo(q(mX%uu8jejQdVwe!7i*AxDNV}U|Rxq8CmXscui0%3K)OG@Rjqa;@Dj@O zx|z%Nuc{p2Y_JzDSd6%?&%;bce9eLpwS6tqWTOx507LiEkD=A*w5b-;;|^OeE;h5N z$q|;Z9FSn=8w*Q^hgDTisZ* z)R-6nbU0aE0&SsM2cNZIqT_OTSxRb1j4yOOR<<)W5;p5>u7<900?w_=&2?pYsfmIB zor8~Ie6y6wpv=<5u$pi%#KUxHA)sV>X788vu4>;Gv9f^e&S8D6g;nc!c_+EX4fo_X zMV;UjxMVc-?r7R@f>G$0In*L8kK5<9#aT4eo?983&6T)`?{}A-OE|$RT(k2=Z%NaZ zlYS-cd+xU8l}GJn#yEzIcH|z5&1EM!M_%fbHbz%}SmKsFbh)_A|FB1%W5)Z15)mzq zfGzcdK;Bs|eKA78h^ZCXNz-<;#~W(GDfxdV4XM z9;r3W6d?I2w)wqJc*f^_tPT$tFs=^znRHjv<=~~|))JuakrDZm8L>(s_5jWJ0=O*5S zZkpJH#G!G#IB^gfG!cY^qM^J{F?MV;wrlqarYqYUE?&F{!+h=59FXAdn^mx5H}6Yj z-_+ziN6~+?nAS{vUf$HU5UxpyIheEe36uzwWAG-d$Cz`Q6?GC+VR5C{+m5C{+m z5C{+mEMf#!@mC=pv`_e-APKbf{Pjo}Z7D7wF{`e9V07wM|Mb8T&3KFtaIxALi+C3j zQ(q_un7cw?ZoBsk7jas)V(<|FFfUc81|Ln&;X`oj={K9r#5L9{ZQj_hXXx6f=A#Ay zWV2ab*m449E63I;$yLrBh0YIS+NF6S&ofDi~NB7lJ3j&dsi2n1dT zAbJmRGlhgOqG_-cA zuZ{d>CY|BSV=#1|`MK!UIsmM-d+3vN#2t0#xr^x_axxMTqhg*|90`IagApMr*{6;OdW04p(m{Y=7@Ftspg`Sm1g@$2Du zSEr9TjbCr(?y(0)7~vp1lA__(o8s4_@cLLUVRR~$YD-;WV@t8Y1%PWWP15f5ZbsU& zSL4peuQ%{9&966TGFyR8rvohE0`Ct1mT9+= z&)^BV$b}3p{hp*rl`yaTkpxOvWYE(`2E9L#!K3RoU_wX%_QMnqw$Tx4k` zLLfjOu;>s-NlA>?a_N8m`Po0Fa_KRC{ePbP`NtoA_yg4R{Q8%F|LY&0KK%={*~1@1 z=>4BRpLnYE7Yc&|w0%xa{_7{L&6>ax{Cb>+Zp@rEqSv<){CZ=QUSpYZV{1)%eZy?@ z`WADZl`K4dy*LGXs6G71@D4*?n(e$XJ}^?RES4ur{Ktnznw919bctZ(nzBKjFNqR( zj|`|g6mpqF;Ew$!?B;DB4uB44l|}L-32&@leMXThOOy!IgG!Z5CW#mLj{I6#C(n^Y z2pE{d@Eso?plK$PC(Dz^Zm3%nMY7K%>(w_D4YGphNC6)@oR#m#9d6z6;exT7>Q+TD z?DwOQe)ZRia+yRTRF5c{We1}-b6hkd?33-#hBR^qhBP*$ZdM*q=b zpns1t_RNRBbjv-hO0Ee!#E{v?-|yaEC#vwyS)H!vPihmK z@hGRss=Cu#_?2i8E$ez$euL;Jw}6&3+9N$1R^heZCB3{isnxH_wRmM_Pk+hRq8d*5 zs%%Ab{PDnpPTN;(9_r4j3pvc#=d|PQkh~|M+2@FJj`~VbduTPYnD%*fQ$l5Mv5Ukm z`fBgzUkQ$S)=eskT!cTe@($ecY zrRRl}UWJZnr)su;5iDcwpos>03R~h&aY|fvFWLi#m^gvJ0zkmv-!}9&Wv?{s^8a-L z*8=ro0+0Tx41vRgFShbgZ*LZS!++XfczJp8UyyWO-f7F&_v*S~dc{=DJR;|%|)T>trhyaxg{WJ0kai>3qqH7CmsCdh&jK|cJl z4sHdOV(;klj3o#llPSy6VD8`mNRg0tzjgyFfBw&th;TXr82_CD`R^%>UH9Gw|9$#+ z)-KP)tH`fZ94jVU46Y!+aNoP!aqdj$DGoTzb>zy`@12_*&p-!s zrKq$#7R9^%krbwl#OCATz+22$f~~3U^Xd@y4?A_jEE=`&s8|yh7dL6rq!>X!=q}S! zi6If^6K+ZPShz{7#+_{j4(@|-ZZsVoV5W^Lcy{LAK=0wUE$b?mS?=BF?P_aW_v*5; zdslnkJ=EOr{beuSyN0cnhSkfy^DPda{?eFd^--@C$O z!#)cxaQM)kb+%;-*#e(sW}|x_^d7-y_};Sl_kM;8*x3RXaV7QZDlJ*Kx)W_p>sDLx zT?H~d+c(Nl8xEsn@l1vSo_L5KO$3z0dp5qj{fBG!%-@n(m0J0rt9k#@M$_wwWp}Uc z>{+k$@_qn|NX-x?= z;|nEdEkR&X+;e|3eTFI_ac0Ww7sv;`AZ9*e{RLbPz9C|E(b3US%swUte=SdTg}BQd zYx9#o`@t%+)?k>6|EKHc%$cj7qt{o(PVu@YAx(lfgb1u%yLyFQpN7xy*S|jg^OGmc z9gxMCK9}?T@1OtWOQDa+_``-xV#~3E?afe0KOl=R@45Y z1I)%ai}+y9H|1n!8H$Qrh8`zHjF0Vr*G{EXsYvd9*}TsjW0s+6uLW zj|x=_wF^xPZS34|;m_I38G6{$^rSHLa&Qq3li->q97@zZmy_Gm>S3mB(|dR-2)6Vw z2EkX0sOfd7jOlP9+>=5dq)Y)o2~eUS08@hkjE7s1D0v_N2Y>(|00;mAfB+z%U<78G zXR6ZF-!*?%wNm|(`6X4cdI||>b=`>z*FP5S-ESpi8NTOuj)b6{L%~A`U6+Z#*FHgJ z1)<9B$y%VFMQT2J4H21Q+feVg`2|8a-s|YQ`Gt2(-gIY>x8E6h9ryr)>}NC&N{|XA zd}-`Jr~qYPeoh)@0~s(CN{=@tKCUi6dVOlD-YcBMeqXO%zoE;3td=PB%?^Z4#;Kx8 ziV(`0qC!?=jjfriLeYuQQ#ar^KAv54jL2&i8WkJ_o(@gZL`QGND-d{fIXZUAk8wDU z1F8Ks4rB4z*5VJ>zMH?I#hDrDhH!4&${n{>$F0uUR=v7*L(S%T$MKWhXZrdt4-DPB zefQ^|{^|?)3Ha*cLZ%?(Gl5*GxqRSmZK)+>-TC^@EOrjIfuklE1;NAw#IA$d)SYA{ zlwAY0m35L;PXkJk7}6@x_Dyb@d< zoJp-pY&_U&h+0B^f|NDm6;&Iz9zAvT;^3{3U(#&m%v^W4DM@Um58QRnO(Wv>%+Gl< zGjno+H3RtiGc$!Y-=5rDp`T`Jo@i95+Ei1jO@qpxl&fr7o5^M?M@3JHR93CkWVIEE zJYTa|7}%a?bGGkZN>8QKlVna(Y1K>3OI0h>FPdLeEmp5P&HVGNpM1}ec)UE~$mQJ^ zNaEf96Taiar2D_hdG}hC zums0{kDDAbDb~$^N9fj5d;`8tm~S*&ly~n@$dlk71irsUqe09@LQ+x^Vm1 zM~Ym|g-%PEA`ys^lx7DfkE#=)SMUdPYjQNY^qVMlJBZ_hzmGzD4bkZ8Ks37cmuU3G z?HKgP8jEJ!jYY+aCLvW~%%r&BGy!S>1ONfWA;9zI#d!Ds^Pm6z```WUpD`*N7oXwX zKmD&i{@Yhy{Rj5Zc=uLo5q@36aQUA+`R~63pNkK?dxjtFW>gDE=)k*oKd%nEt$;cD z9Lg-v;-)x(UOcbBD_%^>JCupXySJ^a_k6hUIvVW*`M1|cPC9qDS5@cz_RdJJb6@+$ zYRkwi=c)Fc)k`huBi9G}9qsmNODgkQvElofSqK;Ca<;a=R&9DXH2A(_hkbRmW$>o6 z&u*_?VaXZ!2j_|Q#_BSQjwx{WL1rdmv)S9L+N&OZIC#dw(}*4p51w`G#`S(@WN7dwj(zs(YU|*Lqu0Kx;^nMl_6%>@*Kd6?&`V0W6oAb z4Q`Ut`Ho{}d-dQ4&U5z0ic(A7!;c0pINI!MEVH-*#tfzpC!B9NwzjXpiDw;q?W?Nu za6@|9TdONA#)r2CPdl3JD=Q34fuBDxVw7%-^f+4_8{5kt-o}Y7?HlaNaWl_jEK4j} zoO;H&$G)T@g)Q(Y?t`2Vfw%h5Bq;+3C;>_o1SZ1NpmYt~ibbIN`u0o3Cv!Vz?>;~H zx4q@ZGWVry-*sx~+s2)<>ZUEd-@oO^qV~CO%&b0teb=S3uDs6Kt=EUPI+wpc@9$>s zIM!EnwBRkBea4DkT-kP_q$9mCWus&0wR4vD)Ap(DomV!VF(1^ns_SlF-g&CzhsI|0 zYad^2=qm1*yDfR+zH6_Y&F!4E`}x|dLwkNwax`n-%z8)figyZjC9awN@|`PnCl>72 zy_vZFlRNEKSN3KeNNODXp!LGSL;Bt7*AMlqJXo|lxq4c~jcc#}$nwLq#>9;m2OG|n zAJes}YOY*saa!Ne?~Jd$d9L~Bl6^UiNvl8m+493VZ7Eyh*IXHTqi^X6!&{oI-B-7t zEk2a7S5tebr=fFkYxWxnl@~AXIKA-gxy_o5r?1rZlpdbbqTYD&V#8_c!MQC78;%@Z z^MfM0e!aTn`qh>*D~@FCN#3H^i31%61SS9iV^!h6T3CD#!DFbi#uCq}aHOXj@PDkp zp_@Brj($!RiWn6RUrs!s-A@r&v*+JB$gzCSL1_2S1??On@Pi8w5JkX;cK@|kHmRhK zVCVB{hSCm!cb}6DzbS}Z3<%#o1G8xQvFfB@8s0DqrUdiwr}i5=m~Ht3K4!V|(XlS> zJc=sEy#4I?hMh{gt|vl&8D4xW=Ebk=zWiw@c=4geh{m@k{%~^cnR5g0p748d%n)sv zAaHRe=T1!((C&@EyZ6B=KyJUBXPQXPOJ)gm`UD{Xc=v(N0A_s15D0DH-SgjqQXj4O z65+Ar^6sg6_gh*8diTFsLiFwz{5|O1!A)PjPgpD#9)VtV&(QF*s9 z!2D4xCfq1=JALyM+!bowGxiwe?$f^0Y4JdiQ zK{<#(lqf9)Hy{8A00MvjAOHv`4gp_IJn-%nHwhHh;Zb?_;le{I*+go-aP=d=^8)Wa zayjQ@r9jEQ3jn?Q055DPHYx(3chCH#>QL$3&*K-yJgoxHL;h$UmQv@BIE!7W^LCEm zSd1UdRwqVkW)r9-!m4*qMK_2E@&`)($;U915ml5rOM;jne~QXKxs)|yn#R4*ZxoD< z(9RS3-B){Ip)ilo7Gxij$sob;?yXj#&GYU({lYv#J21U_mdIdYi3=vq_T5YA9@_^i ztDBE|f%_w}2fh3JoVvz_+`1jL&6{%@HZL+$_3k}*_vinW=-o5Cd(gZ0qjzr~_0~#| zL6mndNJq$%;2#9OKj__i;L99<-n|bbC;}IZp-H~ORF4#9-t-Gkme=-t!5om?rh z@7$rlsF>mmfD)iYK|qmHgMtOP6^j7q-Gkn}VkbXzT=58uRfU5WyT_IYnxJ>jt>61{ z`$6wsWV(Rs86hw#?_MgeJ=po4QU4?LG{CzD-hI9)axn;&-n|Z~qHe})o0^K_Gb`Iu zBK3NNcJT;+-hH|ul$!XV)w`#1u;tUarBG5O=3zLrOd#6VOw1OQPih98i5EJB2QTZpAvSuvg*VAkvcV1`%@7|Yj&v~TGe&F3RcLzl8z69HK ztu2dc>+4vi{igbcCWdJ5&AX@S-EZBriFusVC@7RT-RVw!0XgEdz80Rn&kAOHve0)T*$5b)*1gWkQ8#$Snj9hG+INC z;|Jb-<;PRgT_$3BE^=!n>#H z-Fxuv=j^#(FfFQnWUNP!c5@)%_^Z4cd7M-5tB$bHSq3%cdrD! z`$)Lfpbhd60KNNht#?mjhRdgOOS|QL*13RpFZe};f&EDZ@a~`WBnmNyB+DL3Z2EBWN#S9#XJ>Fx`yXQwR0vC*-N&N88E!im1s~SHkpm#rh#wrq8 zI@Xmo+y~IRkA#7g*arW+d(gWF-aTe|cXc~2a5Qgkb9B9X{!i7JK<}P?OEAp8D-fDe z-l0g)yUzu^d)h~z>>EHRK!Z}~2b6?p&}=}7hK$e;C<)P^*?znvY&XM5X}m9(ebW%)2i^DwOag z=-o%;hsQW?6zJWDQtv()hgmrIkh8To=x}h0-D87Yz@nDmm$xFx3M=nk3@a*#0Vc>F zDEY05qydGtSglgljD@=PG@H5hIl=qFLZQuE`rL(YwF><-JJQA^Fy4JKgGG*3hxP8w zob9_0R!^0qcQ2K9Pu08k;N9QfPxS5?-aY8ugWf&4y#>8{f&?GSUJ8W*Ja}{qP@-eQ zr^rT$FB)nK^zK8AFw_qS00O=U_~+e&-aYW{fp>4U4)c%MAv2}CLz#HId(gWFy?ftp zB`=TcJ9jAHg`nsmpd<>5mlII(0z~w1BA_JNF>opv0nob#y?X^uf9Sfx5g4lq2k71N zFAn@!zTAG$yI1(77uN2N%Db1!YY%q5u%Z(FlLPM_c=wUayGN)1WvCI#z1~r2+5W=O-0nW6ll`H6eV%2WJ*TK+2jijcYIT(|Gj2yZ2?>a~`qL L2*fwBdH4Sh_9QQ4 diff --git a/package/firmware/ipq-wifi/board-linksys_ea8300.qca9888 b/package/firmware/ipq-wifi/board-linksys_ea8300.qca9888 deleted file mode 100644 index e3c2039924f483ecc3679ee005c0a1f73c6bbcc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48628 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 Y3=Rt&nS*)vCPAN`MyjX(-@N<(0qkJ6aR2}S diff --git a/package/firmware/ipq-wifi/board-linksys_whw03v2.qca4019 b/package/firmware/ipq-wifi/board-linksys_whw03v2.qca4019 deleted file mode 100644 index 69ec31985adecfa4dfce8abcd869c11144397e78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24324 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 diff --git a/package/firmware/ipq-wifi/board-linksys_whw03v2.qca9888 b/package/firmware/ipq-wifi/board-linksys_whw03v2.qca9888 deleted file mode 100644 index 646f52c1b00f0866e19ce2b7b211ac49fecc1fb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12172 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 I+~(c?Kfg#3Z~y=R diff --git a/package/firmware/ipq-wifi/board-qnap_301w.ipq8074 b/package/firmware/ipq-wifi/board-qnap_301w.ipq8074 deleted file mode 100644 index 6b8f8b9ce8470b4d141ac5547361176cc25542fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131172 zcmeHw33OD~ndV=wN~HxMgea-1K!Btw2|;W(#%7ZQNCJT{k`UTAKnQHW1}rukW6Ta_ z5vzp3j^hyGCCA6z?Kn>2Gbgr5oMqBU=Je^)lS$m^EZxo|-P6;Fj|G)pe@9I5j#loWdi)u`8}DDcVPpIK8`sU7u5)cquGzMZ?2MT+?|W*^wvB7H?3lNrqNwuz zho(RHv_r2!6Nk85dUF59Pkb(M?n`;NPXD)F|F=Q^w^9GMN&mN5FO7fB&S2_c{$o_e z6vA0>T11YK-^0JHJ>-qBtQ5ys{WH@sU;pGg^7PLF$87yGKlDAkkPGjEY&c&5pZ5x$PDzY_ zWB^n&pjGVuEBTwN|8@UQ3;$kzb@h|pSA8iIdM|lv35PGvc{j&f_dNO)m!uo}g6Kt~ zmvA`#fMujRMwb}AC0xMac5yh3ysWaOp`~@*hK{pcmtMa7>X+Vn``!26|K@kT|DziQ z>55B;XGlm$h~u}5|GE)xDAxzJsSh$rBsu~yagA$`C+#W z4_T|KA%(!;AP_4)~ zv&6nt(z~8mI@RZ7oc!=53b*e*e(B0v*F!-h<71HtABgx~6Y(4b9xWmXIMj-rfP2LM zbvLHQ1$&mji8}dIDNk{wsS3~kRUmGOb3GiT=+LagT-kzeSgS1|j3`P{)U%I*u3^jLHKBew!F@4CsTO814^YFt-;N zKnFSoZvcbCq4s-&!Oub%ypHxMZ(@+rOAJgqIBL`p#^73X95aETj=>i#dNeWk=jieo z#E^DiV$cXXfFAAI!DQMo?ErQ(?tsz%c%0D2rUQfDMQ=ZB2POs~ThcKYk2?N$^g4*a zM2;bZLGmh$0d}O%1v?m+cEGuCqaFN9^!9ZOu8MeZo->Yf8SVELgUQf??hi1AakORH z5^OP+81&T+hymxb4Gc12%VB?DVqn@qe=+!dbPQ<+1BLi#w03G($4rGJ}+QA5iKoka|Fu){GcAzkzFI0A*Ffi@lg*WQE<~^VN zw5OFhMmYPqrc?QQ1Dm|qZPQOyqk&pU(7TF`0Te|WN1-4o1JM&syXWr4^4$qqIHo88y^3=S&*_(Wp zzC8bOUB~P_!7W}(eaFABx~t%DR(oW9^_}@gf;&?!^<8{r^{Khf1|Iife`f~0zUQ*H zSo`Av0Wj zwY6&=`)3&k$BX{$u=dZWFK4s0zRu6LoGI9s^@PV#ANr@)=dtL`Y)gGB1nvX^?Z>Y~ zzgfEz9aC-Il?aqoHMDK$IREmMx88a0{f~ZR9&m=ggCB`xy(=>5JnpL>7fGuYNx}J0 z63)mHZHy@A+akfQ;k@)B&PO)koC)$CoO33pq7GN|3Ua$4lfqWh0ajue# zd-|jp8}e-bt7!iM&X$57h-Bi7aw5)#eDL+-(El-bY$(CT zxy%%tZ3R9=`>*1B<}l8futtr;1DK;nL*B-@N)F|(V*F@7{RrgQegWhGe!~BaKGky} zpZ!hrALmk&a6ajWya(q(W0G;UVx#}uyD|j7hdQ8#NiU#|Ct(Nmu!Gsa5PC?AiLQri zj3Mw2#&J$${05Ap(&$IBA9chxL#|+3PMVHV17TW&`}AKoAC9IS{YUin zb$@mhc5ns#hd=SbA9>)9bbn^!?@op{2>Ao(LH7sn%VB@ugB`e|;}~HFup?h@?En~N zVLnef2Rr1t1izm0AoPIwXlGr@{s{BwUEtUSJ9q+m;JSeMm^=Y>U`|B~Q+@{dt0BK` z>XGxA{=mk3*6o1);5E$WgN7dTb;Seue~qq3t_xX^pZqH90P<wLhpU{qJhc@;nrX2*o13i2Vdcb`0W1p8+gMK`W zdQveTozb*l>`~19!GtF^f>W(^q=zyew}+0JM%eWT{wdNo9l{AJJ97rder@Tvtft&{=$wwp+BSi z8=?IL{R!7KFZyp|f6=2IaDMxh~jvJ}JB|S=!hAxyPOzhV20JISYPu67&$UE}$Me zZ;piL;|0rn&VwE}pKbVc^ZY>HU%(E1wXh@TLBHQ{Mbn}&m$JSLJGg}Qu`YS*AU_ZC z8E7BAJz5Cc0p{Z*%t!sc3wAsPzGRe*XBu>WfcZEX^5%T(&3&IPf7S2@`uPF<(Jb`6 zH|q-biL`@*7=IJ|!Hkf+&F6z?3pbr3Rdv^6!>vlc?Eqs4eg)$=kNq;v4}6t)#)SR^ ze%Xc^b)TxAKip^slY40gUxYu{4?9=|JAyyb&kufW(;v_;b6ubwTA)Yz1MV;EtP6h! ze}a9Yu1AYsADs+&8|%AnN0ev#2hhH0N5C(^#xq`FfAA6f0rU`Y-xjhbJ9ZHK7UbW7 z{8?ZaItSu@-|l^14&-$^fIpgm`-NWHf!Y2!w2yU3zwc!KfrFj?PlX<`F(0!qpC$oE ze~Cnt@W)9Qyq*1x zX$Sf~?Oph_t{eP1_vC0ghZ(da*yy?ErerfAo ze>L=o{*Oturw3i$I-lVWcn-$BRf3KEiQa$HpK*T!JM_RG>UL~npBuIVtj~cjLyz$5 z6WU=hYs5cJBXqzwtKYIUljl3*Wcd^#|X>e1d!i+E2%P_SeG>(0&U1QL>E< zLioNDb`-wvgkQ9~PrcC&#sf#%;aHDNJHUMAJx}Hr;194ag!dPaPq1;WtIucX(R$yi z+X4N0Z|vYz__Kc4!Hw&)zX3RKKESUfIV5TbpX+u)4}G|A%z+*DXP>CwcfJEVJdgIV zztI2A#s1TdZQOTGg&uP-AG3%f=X0ZBhhxXV4*oIvxZ%ls>Rne-zutq@H!LU}Z?ZGKK zunpC)E~xBaSgY6e;FKNMhH6+BRCX||)oXij$_{KpHLMFNI~dmLwLLgx2ezRa)&-Rv z3~Tk;9-OiR+fWVbg31ntwR&w2PT7HNsD^bxWe3Ary|xFZ?7%iu!@8idgJG>++k;bf zU>mAoUC^|HbDwQGk@sx&<9trm49^{|+_7L&Zi}zX%n{l5{JMP$wq(?$m3HSH?pSxQ za9i$Le^qzh(F+YnX73C<%J-(t(Am+lXYQt8i+7osBhuMfw?BV-a1GyoGQ**cmi_td z*{!}6W{$}D&o`Z(yEpquz6WfEeaBYpdT2vN{h0Y?j>x$)P5bhn46Yuxq&x4_`Pu`s zwvKP$yYyx_bD{1~{?4qmK0NEnohMg5JNNNmQ`%B9N90o1>ca&)ve#PiJ9VnzxjCD&TD;4< z%RT$Tn$t6$n*11_n>54TBUL*KH%IpG`0=`D<~|;1w6^h5*UCfr+j7>9v*_*Ux#q)p zJA!R|@5~Gx#~OCcUY}L(we+v6v*qC2ZNW8G><^u+d3Mg0z{)fWE(b1E9h>=d#`;t| z2WN);M^`*mv}JOw6~Cj$>YkasF{{yPe=m2n9-6m3cP;HC( zW7WInZ4NYgE%to!eBFV(?ZGyWMVFnYSJH-7S@nCotKsnM9a(LB-_s07pRaj(*80pk ztG&E(YTa{%TQX`>OUzOtU0uxw=WY*1^zY!QRR{97Wv}6Lb7tr|xpH^jfk&1&?P(^m+HGHAm*}obs4e_Vnrc z=inn&TW$O#?2ocmeGos)^9cN2x}f)EtrgSG&eezVw`WJ#%f*h>dkQvXH(UMR@uRg* z&3P=V*0GT%BvHk4+ut5e6To+{iNXt3IIM`z=~0`|``kIrGv z%-@;wsCB$u=T{x1y;yDhrH-|G=5NZ0(B*Rn*6v!cA)_+2sJnm1&eZLj{bc4UD^>@N zuiTrzC1(}i3o*mXr`n#IziCQ~b#9&RY&tx5NA^1FJU?@x@$j4-fpvWL*bJx6HDR6y zTCJEK#C)5vA$PUM;_E(ta@8{h8>ck-E$c_u@s#shP<2G;N$c{3b2S+{5Qrp#vR+&^?=#mp#m$xNrrPUuCJ=(Nu-ljl<&*BqL9BtS+`_b%rtL)*^ zO$Q3L!?#=dckFEQ!MttootFN6{(Rek`CD_>SoLw~Wb3o@p2%tPTiW>Sk(TWRYjbLR zmOk%2S^4Y&_`ftuxsIcCJM%VVMfjo4W3@Zyt`F8n%#Snm`(|yyT(!>gbM^c3w`Hxi zuD>sxUG{VV*JR5$E}vSlvuN{_7LNt1{d?CvwcxRg3eSRW{El?g?3o4Z(=7hr#PhXJ zW>9@>}y~nC{6}D&8dn~eNk2OC%XMI+k*J8UDj;-8+XR{DFhS(3ITy)5Kssx1nxWnRc+_5yz|lZ z=r7*g`L3!SCy)5Kssx1QY@a0fm4hapb$_9Cy)5Kssx1QY@a0fm4(-jLTr>^z~PY$nJ#mrP)emz8l+V=NW1Kk z{c=ps$|bohUy`@wJ-I6XS^hfW^Aq_7uI`7-bcvH+-t>OO<#k25_{k)MV0O?-(uDGk zI9@^jlT&W&d@ws_O77HYch?xEPR-5D$uY+fl&Rq{a2zU(Yy^VA04O^vGc%BtnU#41 ziy1J;*R!*OAhewk$VB@$u=qW(LB2k+wQm_ceygxMBqDTkcUQ{kbjBduU7Z^6-Xw@i zUuW8nf9|b7Kf{1`?jEbKtf6H?$K`jw|KJD@_n6vLcLx{&?n?)_N>!agKp`-Q2#mtL zD#MKHxBt|%c3gV(?f1Wb`%*Km_qN=e>)oH-$1hFmtpiCEmxujtHG;GtG&I!I=wA`v z%&n;@D=RHEN?6mCm8GSN7TuhGr^;B{HPaXo2daWXKp}7w0><2}ti08CS(!P%D=WLx z^ah26rc8IfwG4g3z?GpFV(n~eVA6$!-Su>*OG^t1dde>=i!2ju>?}XbHM-#7}@!`y|+DlJ!x-Vs{bw;L@JzDYT8E@qu zO)KdcpWfT774yin*^)iqXUB)$8UJ|G0hapb$_9^b^4m^|I5iQ6 zmgsP38luDDa3by09Ji~^;YJxZ3cFE07U|e1<>OE$4&~!eJ|5}#+m~;@(%pLdTRo>2 z4AUUcg+LbqxCFX@f^Mq|fi48P5a>dn3yGo&fi48P5a>dn3sJhbr6p-v;uuZSoch#& zE;MJN8{F;n(QU4MPHAqm%a)*14LU{C5M5d{-S)XfLr{xDyK!h2wxPu*#%fV)qo2)% z#Yggdzoqf13$_t(VxD4>Ix#gJPRvt8H<_@34N}61dFsSGbz+`6F;5XSM3-}r=cyC( z)QNfO#5{Fko;rtUp6UxOS3;Q=3@s<6)p41#)9 zmBR!9FV=A{)^RV^aWB?!M7MVc)^RV^aWB?!FV=A{)^S7)(d8ZFb=-?}+>3SGi*?+K zb=*5d>$uu)50eRVhlb(9JoRCo`Y=y@n5T$t-w@1GALgkK^VElV>cc!m)DT_1L7t~R z%u^rcsSoqihk5E7qIqiWx4GDwd+i(3cgO@(v-bc3ecq%g!8?Y)Jz!RS>f#*(R5g4P z0)0}T5*iT*++-{&V@MGg5k__w401@7+Klbdd#<&oJuML z6aoW`fCfK?h{w9Gxe)(=XS~5DCUrmOjq6TacjCJ9+AcivJ!H>)_vjG%nW?$2U5|X8 z9OH|{_+l}>*lTf!$%w5(`J8z_hjd$UEe_+2c#i$rzM*`U{kEMOgo|q38DIyYs#6Fk z1QY@a0fm4?G$ivN8w9V=ez$?qpI`og!Au#X{oxX5Ksu* zWe9{Fh)O5~MhF6T*%VaWQ3xmm?g0cwhY_qGA#j%=;KmuO8)vX? zoWbh<#W&7i-8h3qbRq6?;|vzj?H(p)ux^~ex^V{U#u=;|XRvOZ!6IsiF2p#*WW-iC z&R`LdpNRZ>_YBsJGgvpyVBI)_b>j@yjWbv`&S2fc^bEG?B@r{;Wm9d~b|<_EQHcRT zVAvXp8rYB^Fd#-a!YdgPMX5#x41p1Dt^+ds0aJ#mXh;wk5T%dsN`^#Hs*wRhV1%1% zuZBNhpbt<*Uc3W>s3E!#|A7DhAADj`_iq5;I?kRDU5LAe@;3o`1+2}&UYs>W{?-7- zhqER`{MNv=IK*Vc)}j0j0-Ig$Q!y{jnj(MW;M%^S{GEe7b-Euy>Rs#satx{(g@8gp zA)pXY2q**w9RVNq;fS9`{;m)5u=hrEA?_N=-}&js7R;8Y5Bu=Q-x9)Du@6VYZwXzC zLrg|&9m?MrveofE7V=>q9{C$a*Y*wN?-=#5+kF=6>0NAA*3me*oXV^ z?4=*iUi$Iur612;B5H^(#5lxc#8y9^y+lNQBJ%IuXD|KOhx_sDr612;`tj_gAJ1O; z@$994m_B=HegB>NX){>gg*Wr~ZGA7^nm^(lg91Pypb$_9CRqEX%7nQ@ueVT_I+jcfe3!d>BZ#5!X8 z+nR`KZ(#B4zeZFI{Y7Ab-28d;|9$1tuYB5g-TFzDn?L<++baL(*Khthapb$_9Cxf(hx`vJr6L_#;wMy5Kssx1QY@a0fm6bSlKkB zFr-M0gAF!lKN;|L_i5J$yw1Vs=U~)1F0`M^sOTAj_w*+!WWXY4FY7#k*%#xx-BywFE z*8t>x#`j<#ib(%xgs?a%FgWuNWOLM%yaQQd~jewRJ4HghZ~+i7_lDk=uc5 z%SuV)c7a=1P9nDlXfG@xkvoR5FKZ-`>j1ZKF)23}dVpNbA`-7%l22q|8HwD>QZEZD zNaU_iu7O1EO>)agvz-@=*}m6OQ*7+5b_P9pa)+ACQ|(zWTFB_&Hpy!Lb4l~mV}cHa7z}G$Z3w*Qn{E!&IPV!F^OCvxFsbd zavpGtN=W1~fYOpu61gBtE+vt>k6aar+;nnfBytZs@?^;(61h3NR!JgPz-zT6a)rEB zLn61p32q6AT&V-a8cF2JAXi#LB3I!ENNG8VTqSC$Dopi5bU|D@eSygIo!TToHP`w46k4mt&SJEhCZJ z!;&>5a)%wC$Rp(>a)pq4q=ZE7tfN>SSxzE%+Hp*lHIc}5Ii|?65)!$W9GGBLByz8y zy=CZhOsi-88OU8;&QAQ${!u6qoL@u4z7Lv$K z(-ufY6N%g`ZKYH!A(2}|lqyN&9spOdlteC%wbYWx&DR1_v6w`znAet*$O*XRC zXth$gj6`lJ>a46Mkz20)cd0BQk*m}4rE&?0Tm!jA61f&~B_wjK zZXl8SklZp7xo?tN zN+S1N$Tby_$o(y@l~j|+eZrDeBywl50+lTzah3TkETsAo60coj$r2K|--BCNN+S0P z*0Gv;61ie$mDDtm$o&be*OZdT32>=dLLx4S*a_6ska*356|bg(M9#;OsL1G9I!i7j z@mdDB+9f1%LFas_Eh3Ri#bxTQlE$}^cOGxB4(Iys?$UW_JN@EEL zK*$e)XHz|i*N!=UC682+$o=IQa1YK5aVV@pzYuW3za@(UJ1U2kAsY6{nwBM6OrAJl z|4w*UXG{w27RE^o_T_HPBW_8PSn*3dW@iFC-Y9tdL~WLg)}~7m{LC0_KKyr3#%kH9 zH3!~1SH@{m!~<`Yius+URf!i~)EiSGKCMoCF-78Y7mHtOmhtf46SP(E@uiaPS}5tU zt7W3LTqem1nXENQhE^|`TBBrX?Gn&7OCaVq5{&t!1l?ODJLcDtgH>dT_79R9b5N$b zUX*FhV=~QkTt4IaZ*rgO7jnPrSMq?XRi-DbL2N@@D}NUMDB?Q#v$)4(dfZ0D^)fwv z1LEU|n-K9F1z@4b_OyJqW5v3lqZ}@38yB7 zQ|yZ&!5$bXU-&9fGxFF|^QxI*uZ%pjrl;5|OS{^()V8$C!upI9aW+zH&Ae)+C~M@g z_of6>6{y9y$`nUrm^ zb!&f-%W$WV1b;cZd1u zng(qo_yeK-PS;{sf~KnnUe_cpIn2YBUE)fa6sm7J_6*>Yri9v?t|fqvpOC%Gln?Rq zO`iRUpO9H#2!KcXqsHef2=O{zuKSmS>NDzhCDAS!3SGq0 zl{Cj-aR#RIDONs4oZ~+8kkJKRj}ceueGljB63`#ogFXw53XJgspHKxHpHt#}=6H~G4A)V=CW&(m&fuMr zI5C`IUQpiyfL$~Ui@-$tovq0;@8uW9YL^y=I1f4{%=^jH3F>&Jc2OK(2A zk6-GyP29-}{L*4J?{GLYt*l`~$K`k5|B;z_oA36+S8j7PbZLBOC!3xg$jQj)jy*|E zkWadAOM5Dy@)QCJfqNc-bZIwl#_##Dr~xPh6aoqXg@8gpA)pXY2q**;0tx|zfI>ha zpb$_9Cy)5Kssx1QY@a0fm4hapb$_9CzVcLXNN&%*!1Ro`n-k_rKZfI>hapb$_9Cu&jZFy8Fc3pP%m5A~AO`3KMMMLNfDDpW6nVcaALA^bfnmX6 zK)N-1}1f6Omuf6V^bsnuH7$JExY+1uS|5|SW^K*^&|xc8oW z`ks5w{klm%?w8&cBMuU$N`nQ7L6T%~N-QWSC;(6j*AqDaQ849{7H`VV&k4*akO%F{ zmlp=fb2kadTF&9@qFkaX6aL@xb zgB^T`Z~%Cy@7F{G4F&eChJ~g^n%iJSBd^FHnF#&kv0E zjJ9@^R&GlV8y(a*1dR3(&C=uJMbP2Q>GE_eK7w-a3m_a?I?5{3;(5^FHoV~v58?((~rkF>?r`WHE8we@GTeOk*Yw$J{yC$BZ?q<^VX&ZEH{jloqM zIXmNFU*$K+wfy3B`$qc9+kSN>sN6lTv1fNn_!oX<&bcFlHJuxddKEfmU+k5ilb-&h z+%5msU|HAtV;+U}Sqlp#CR!Q+Ynzp;*V-cX4o)s^>pbXhd~Hd5$G%TsKjazM!ot$h z5}u4LEtf5WXXE7>vFSdZ70r2cbgK~c_V$8*K3q>vFRmw-n`X7b)N2wt)`eXD?kfuj zl!c|$3iwA|v`jml!t2^5TS26@qN53QbX|2^-E8z)D5a^aEHxF26M_G%UcQ|25b=Dx zxLgldVcWd<<=s06s8Ke;xNeP&rIpqHpv@NUFs=XV34f}WxyuU&;PnXXzVKM%0Fj81 z_&O2@B_Mz>%s6TmkvnE7ER@A(J!T=Us4L$U zvqS9=XH#vGBmqs}Ct%TNG$KWXsE{vwEJVW5aDF%@Km~{hod`mC!MHjRQ)J{s zRE%n{e@ubI9<_gNkGP?3d^aoxjd>n}B%+D@L@Wdic^-m9pb`8CjM@phIXM&s{ha5- zv0GTL9MDZZGZgKa#kgkd|K&q%i{YA-nS&{NpFxR1X$l0GLt_eHCYhHcN|O*^DhvV) z0t^BS0t^BS0!tVHC!rJK!P+9+f+Vvx3O6EAtQE9?l$_=ZSMTfQ^sT>nrQsMWX_>V# zmhdiQrfwzz|27aaJD98HCbAY5>q-K)J6|#U1OQl8D7uHA=$F1wyuGnP*=7_gQ0$W+g$xy%~ro>Z4eM03V?!z0Cy-& zn)0ls1RxmrLTVHjCT~qi=#kJavF7~+rl&CdnNG767t_zeM?gKahHYt?3s)fE5;I&h z{RYZ;DD=#3LYavT+XcT|yNAD@s`T^q@&1^JTDhav>ZsK@Y-{SS-C4Q$il(#YI=g!= z4Gaz6y!(d--#;;bgU&jhc~`CrrZphfK`~Yxy%I{Ufnt(6dKHvh|HOoK^a`l?AWrGA z_|aW3hr!|s)RZ;jq_oVu#@26pRoBP9n@V3?sAy-ye#b`KQFp#O#s;zPVi63*_!t%o zLf?fVk!U185(}NR`)lo}=4g&WM+9ZX3FD9?R+umh`HYp`PJ9gepwDx3Y3i*I-Tq^h z=JM`?P2$~m{bXSQN%s{^Bn#Z38(0$abJ#*KxM8W`-IEm~nb&rG-u)VV-u(x`%K_k? z{&4!ddx9{b-^Q>$J@4LynySV%ir~CM20UclK?}u&2Vhuj+7AeZC%9qL^X@127-bl` zxfXkSd!U;f9UXygGP6J8!I_yZ2F zYo!r*T{WU6KD2*{TB06TXQ@|#VbBdfw5$R{>Q^_bcE2>z_aW{C8-xfy*1vKa28zz1C9WADNe)M%jQXyr!CUF~++m zRu?ovJ|5?CVU5sGcg^#B;(7lJY{W_i)t{?IgR2JS+l+z1@b0O*%sbkf%_XRs@(e|n zaZl+aWE5I+o*O%MXKKTC5f8iXKAC)np{-5V|Fav)`f6MjBa3;_uc}eV@NhhQ?7FhG z`iLw}tHWqN+r>r#cMxRgEZG@gixgNC+KTst?i*f4b|( z1J8z)N2}BDI6MxHb+RTMPsLMJV~P&EM7r7EnH=E&oN6pk zvI7~E7?h?!U@;sTQ%sF9FIfas7k1Q#SNYqzeQ{a+$v8%d8 zdLrnsYsQU>nN5)=cqNW|ZeBXl8hw&i#M*KHvb-hgxYt4F%%QHhqr3x7X|{2l7t$I+ ztK9b?sfv!IFM~@QcCOugt1qWH{21qeL&iwwmMUJpV~VY~R=KkQz87Kt+Jw_>$-fRQ zbC#`=O%GrFF#H7o7GsH10eaigPnq(N`}QcP2IXmpgyHWDgu>;tT?d0D);U7PI{<8fs^JluI&a~Bbb#-LU$;~D2lJFP<+#Sw6`|R`D z=esxL-kgukruf+4*bGrDGttHYjPtdO{E2z8qNI%rdr0Gd(euDx6c>Z9t zXQZ{GqGnT8#K<*uhrp3O)GRA0NeDZfXsF5(C#@qp_y?j6r#dQYGLv|)!-q8`S#JwN zMtVCMYKpQ_;9S=_TA(dm7^3RH^Y_>FZ-P<{lnI*XR?{7H@i1PR3n&?1+3d3RUftCh zbDUT0Uij#GZI`$ysK!fr@5;Wm#QK0z_uRJr?6$S_oHCcZb3KKv(T4*n-15J;wz(;^ zmLp|lKklnJlUC0!Tk+1F{;IaOP6StZ6*l#3I~94vztX+n&b7MEHT%6w*m;+FrDsJA zuT?EC8opL}e)WNsB`&$M3nkiH3IThE#Y>hsF(h*(!oV1eSS*$iiiI*tDryfLJ>GQctf2y;)N2|Vgnq`4=-MqgF2Aase5WXyPZr~vvG>blZFAwClwN~5XP-uiM#%&M^rc|}7#;Jx zL`eq$xfgy77j2|&CO&j%+;L)@wOsj@Cg7guO_+%pXld)P<(v2 zTn?tzFfVs2v-zm}^HMqL!^J$=YK_aW0vmKrdfQCBt)^?-(+&&} z6Al2uWB@NH&FcKLItL&W_(5tE7bYKdj`S#KkF)1}1Jl_=d1U@6Pi zwgB!xz%6FDX?h0A1t`?YZbO-hO}rKUa_t)Y(p2v6=j-z-6S;Fo?$wdIbK;E|TesyF z6cNp*&vth8T)sLmc>CU`kG_0jd4<+Ko@IBgv!*pr?SqP$$Ecl9)gGug?ijTTs@ne) z3yx7cpq7JZvd7#{EVob~zixWWj%Wy^%7R8Sehfmw{wPsdJG`4`vz?g}GL`EtzLJ+}tlbO|yUWQ{( zpL0}h?xPUZ{#E6c^6uA~#k(*0!^Q@Z?yH+23!DR7IbZ?E1;Et_-b_MS0e}PI-J24g zgiFF_ns+~0c<<}aIaS_$f<5`7#)UkIXryC^tUfN$EC&Y%dxwP!?CnS*JUjw02svL3 z-;6ghsi1bGINDHre-6YIz4S%*PZFYai~5acqReKq0ZNqUm6t)GswSIrftm_uFhHGa zv+I4=?_K}x%3*J0A7l@(zt?zT(Av;2FfN95h8A5;jA6aGmU+3IOE21-%fkv$GRJMY z4UGVe0FA)^0|9Yv0nz;R-@Zk2eLFS)@0IS1v0y?kYX0)ExUtc(+%ZQm2)f{l5=SsF z)(TT5Y}>2F!Ow!C=H37P`%h$RXj1d;pFe;8{deD?3E^`9v?1QTr>Ez?e)!=Z(B=Sa z0BoB}_J?iN{bAco(uNvS9!y_ujCa3!HJ^_XKNxcE1N`7O`qQHYy%wk%j)P5)W()h5lCT;;?@JP!1_B6G!lT ziAXUh@0PuXmq<24tqaE`slp)TEqRNqSQ01XpbkC5@Q-+vHx<3aVLV?HsklX)!K)?P zg;9z-L@Qn@N)QTQhf}iMS{--*PI{4e58ozM}Nwz{sbl~Np^#Sgx8Ft~> zq)Tvy05CeN=#U>Git+VuHQn+Cq7qM4d_uJ0l_F8Va^-FLM=F;VmN7yM z)^^IP@OY7js>36=21~>WZ}n-H%sGKHN;FC)5SR;>hKZ%o=6Q?2$JgtclM>PLhlcmJ zrR_vod28ZP-agO#rHS`@-fetC=DpKRa&Ktwkz^67y*XI<;fBpfJK2?q;uqjfsgL`1 zx5OOuE%wNHaI@^NI0@C>xwZd{cstT=U*6XmbC_4k-2Cv0^i=dg@7?Y>A73ngPaKD8 zKONqAG&vh-L`UlTq2;bymaQM|%WsK1z}e-R{n@bWN?M2iA$GCidPVoT25u#DM?+iM z2jP|OlBJ@X{X0Gq9$s1On$xS0o=-T*sbJ*x^_R(`-skRfmJFURZHli8DrTpD@p1Br zpc;=t=Pi8$JG&BFd}>*RXRquz7v11j&C0vfCO!6MMc_`Cl-|pG+t(fSE@kDk_vN+4 zo>*1J%sJgFZIAlEyUb-jQsa1P+e(s#V-onfCK43WpJBXcLXVD?`A5 zcK@@UE9SBirn{Y<8}qF=5$`@EBt#W#CNPlJ<{}2xf4xIqJ!C@pK{ig06Xez}g$c4? zVj!>Hv4?jMrQ`>iJa-`j*xK4TZiBhAGq6d3kuN!GefC-ZI%yB}5kS0nJIIUQdiL_8 znc&6i&o|v=Q+#{M{wg{5Xl|N!uiERH?1ARpPZl}4pVcB@&YrO;uD!P1Y8N;~$E=@s zKlx8Fb04iHKg0C&w3K%rY8LPQ@lg%$9`fzGfGzUYbpuI8hmk^6@$OBn!250ec=t>7 z3Rq!b7lYDO* z*+};*R|`7oHJuB)v-BGDPO8!3TtLa_!e}Fn0F3~Rz!VWc@$O-qdotcVRLmJ}MtJwl zl@#yZd6AkouZeg6$3OqB=G|-J-7o(2Kia(e=1Pipzs#26-4|w!^X}n2)wGK--aU%y zqZUkcN4wlaJSTHBZ^|P&MZ}lvmHY zH+KC_#U|d0>pooQl_nbd=`HzjNCuCW#6Rm-)DaRq5|1>+yMOQrB#6Tf^|B&KtR(hX zpQ4J$z{Bt`Q@s0!cOmco=}q||SvD@l#m_D&%H`W-5xAcz-u-9y{2?oTP`+Q5i6`QT zaIV93S$GDXVTyPEXau=5Ag`6BR+$s7P)0V?88qb90{%RDlo>ozjR)9N^~fAuV?nHOF7L^hj``e?Z$Zb z1LqU>^LDvqIwf{?XEuh{dcDKQFvh#T)48FRSHw8OXN#*%3zmOb!y=G>8Uk&?AcRM{d=39~G z-J}0xJAePCz}l~OXS-0~aL|#Xo9sDMoO^Gr825T{?oo_;6zg6U@7~(iN&9Dr0L{Cf u*?9Og?_RS#I0=pB-A@8Ex{GxqV9uVgHoxAKZr!V#ym!{myPwEp5`_psX;fMgKn#!~BBDG72vQ(XkcS`;t&TYL(SQsH z$|K5H9^xZLOBHP^cDk&cwOUs1tUGJwkGnekKNH$w zu7CVj2Z#UqW~V1@8I;i40oVcJ=HjWzgAjTp7BnYFZzN?DWo*wbO4+_EBU!T-JoadI zAru=M`~7#{Im9!Tqp7K>1bte@&{dpe#zg2-OP6*$Xyky~pVBBM6*Rj{%0|`0pn4+h zOK-qq)a%Ba#AMt#3(d_?mkGGym!Nj^l>~>8-)h-Op_0k zO_Pny7^=MjVko@iN_E?HeAwv3d@_^QZ=CLHY}%E&?#4i0Taz?zJD>gFYTwB-wbC7_ zaSyJ6RwvC$-S~G9#O6ex$-xKRef3Q{^5P!c&^fGqFp8_?rKa-1;hi&w^2DiIvwQZ;yRoY+rkN>a0e}8ZNCrx~AHz_~k;08m%4yXO|VPtn{FHdHebY zu3n@6#y95pJNDlRw4*r#J2*HxI>O1=(Q(-_I2$k5iOayTVgd8BBbhuRG&BU>VXWZb z5LPgYmE+_J7biO00NnVM@@V_C29^om73In_aWEtJ*X z(2$)iPT`{;Us=9f>%`}Tg|Jv_puli>_V?${y+PC3uyM7!i=&g%Kf&e!ADGeqsli{{ z%EE1{ufz2SG+%wR?K)1lCk}@bffE}fJUpDmWa=~~LCnPlZH0%1hO$^pjRrXpG#48g zDl~#d6B0sN3=u=Cu5Uhi;&fZ*h3N{4*U5*oQs@MoOaGis3m^ix0b)f0uEFc6l5y2yPT;AtA+Gb)ice6N}h^Fxg!yuHG$yLLc;^PgYqSR@hk1ddR z5nkVV(E^D;ZlE}cNcuL3mQJK|)5Wnw?6?cFKM27|Yj8M%ja1``PT7G>Q8b~rE$bCkv4w1*YD_sGljUacBPZ@EJLHwQiF_t@ zcy}0XCY0)yPKi_?UInl^hUk zWi$VG?D6@bnwD)6LN%f2lN}UoW&3G**eA<}A%TNtNJDpENSbz^+@9=E)hH5WfvOJ_ zJ+cOo2znh?c4>wL-@Vv@%|S5fj+O%wfoRQ>n}6(5Rd#Ky4OHDyUXoRcg#7iBAE+)X znq<5A0a^!6IGR+eI+V?dGI<8FD6d4Vi#@}BB9fTe&>z}|l4Az6~hU*qryV4aODhI<2Q4z_&a z6iO6IRuHhmL&M5QDf5y=U_`y=!iHZ3R?&Vju1-1~TIXH7BKcr<$_Y+QK#60j8RF1)z$ zba3OU{Lw2#9r3>mtM)G$zf#jJIL@i1@A~Abv@_vY$bP@V%l8V0d1r&)T2*}adRAN9 zTmGed!r>Cn~yU0dFK~h+1ME<_mn!P9U0i&!9UKb@yI#Tv;FN2 z4Su=qqW7*9b@7j{sq`*9s(!U&&EZvhT{AD<{6)Xu?7CwCm1CD`+ma4PR{CUpb~Ejr z$R__X&)uWy@`03&&}K&2g{xH;6V8M;G9)8C(o?V3uPygVAHH&+cgu;8T1H{-sH8{u zPH-K)@Z7MpH~#IAI$wf$pjolvUDk`SvHKTm7y7?DFY-tkBE6^|2^E3~CZT2?BqcCO=8H zGk0R^3W2TlX716hYKRLe6k}f?1bL%kVC)OaT>E4iKcv=aM3A4I*|ZPS@iTO+5dl6r zjm5MB8w?4L3WlZAhyaF8vkRMD9gHM{Ip;z{f(-~M=rj}r(yq(T>2ic(P&iPdSdc<> zIo9LBp6JZ^J)|!o{f9o0bU~Ty6oDzVJHyGb6z#ci&rN?}0DZfwA9N%Ok?WLVwPrUAfb))oEAf#F^Q93W`fB6z%6O^bZVPxvm}? z|LEgKzx!hLJ51K`W_RWK($q$pbx<+=lzt^tvj!?oJf&X+)vSMtd8hO%ptA?js>k9- z_oX=u7S}*+Su@VaDJ*O2zBsJ9Gx6A(zPL~^&W7=vK?@>+xItnDN`9V96BA;tSe%SD zJl{ZzC*ryB;tlh5e{Jk_HkuF5heps-cqz0DdK@o~_BuVU7r&;r@gs6a|3o^94xChh zaE_uR%kBP7XSSUCO*3-tpZ`I}xpzc}iM*KrMKMC&9&jNEvKk>5%(=%x&beo4F`H-3 zJ#_aF_h~9~;oJ+8olvr~_N8wV*bxa>CooanAPEc?7Z+!j<;$F%v?O@gA~ZII(3#&G zDp^%ZX;W~esQp2^<{V4_{{L=d!oJyRUoGPAjLt|(FUV3pu z>Zxu>IZ$`lgnyq0qT}5E_~Uol+F;Ug?w>w=`t_gxj5~yT0I*@seLz6KU%&b0f57H~ z91zqk*7`$Toj=sg(b{lj{RrkSC*$0&U(e;@#EpuKT+0rJr}^`vMXp<`X^u(Ek4A<9 z#ktqsVScF1@OBBRwmd&EW!r0Y4P;uh7JQ43T~oe2*5^pM51T9J{_gwA^YTiGnD1YE zPtpgR`y_UfHO~F;6(ENX-2%FNjYt?B-15GpTTsPLW2af;+=D{|8X9kD2lo3mpv&JH z>XBDrF26O-{m2!}xgT%okyK&M{gd&>9YgzDk|Y7vIQJu?cu4Ol+H0#b1^jRgg}$mw zB=fVzxgQxda_)s9=94><-Ku&Z>HAyb+>eY>oO`k_U31&4?+qvia{$Rp6iVc{m|H27 z%<&*EEj&u({ZiJYi@+sS_Ich3ze>-7ft&nOYijAmE=gpZ`>_uyMiRTje(75?aI=1p ze~NX8@g^DP{_Kt2eKBtn4XgIt9xOjAe2Y^RR7}RX9~v(njBN`(va0B#kzJ?bngWYG z-XP=Lmkzz!PBeLyyQUuQ&pEs4XlRvZ78&RMgnAQj?mhOp?dZQ#FevC=dorM&;@mIY zZ|g@7#xm_^{Q{C8+5b!;BvN+%MEZbjV<(WA5>#*SG)u9@V9S-z+%C>kg zu>ZpyIQ4Xd!hwx52;n+I-5~)BMgW|8w?WP^oYH=4%!`-PkfWoMTLI*rp2#5?qFypL zh1S^rJgE^{B0zEO7nYMxaqcy1T`#(!IQK7#9OY-X2-vb_Y>j7cYPZ`7&T(M&&$+ie zi&`%)5zc*V^o*SQmUnfWd$_v<&iw!a?mcksw`qy!gf7lKwvlu0E#us~TgJJ!^{y3n zVGyPboO{fc&^uV~Wac>c{^p!}9Ah4M_7LS38rRb9G3TCvQe^txtmh`2dqX8HlJg7eS+Tn;<=ZX7cxzH4!u5~Wy?5F#VlQ>RcB4J=nVqK0OLz@2=u#b%CB9!W>YNxYpIQRef%YW-Q_r^H)D}MNYQ_g*RgPwE0(oxU3FUvD}_OVP@H@1t@Ve-JM1N>+VcG5=jYs$ z9lvw2iTB9NZ!RoKGqrv9TvxR`Czs1#*>z5~FE^7P!;c~3++$`)-z6ZpPo5vDQe??u zM6P$cx(>*9O5*sgWSo1A!vN;o_q5c>@ ztGmkMhx26FvTQQWJ$88X0EYCHTG=emk_lzPi93o`S$S?+ZW?$k?w|Cl%9QCEhi+Ao zGFib@aIM9;fBX>UFdL!nK5RjYLWx4j3If!jVFeg7^Q=)a^QHGZ>Kbc?e)v5ZxofU-5Hqd&LQL6KO8D;d;JJY>YxAdS!t7? zJS^KknT&Ii`Y`t^=B*DB_$d>G04V~`e)!?pvu6-R<>~j|Yx(yU)oglR4L-rrY-{Uwm}-&$+if&i!8y9eszi SvE1>Q568KurQ3I$`+ot*{f0IG diff --git a/package/firmware/ipq-wifi/board-redmi_ax6.ipq8074 b/package/firmware/ipq-wifi/board-redmi_ax6.ipq8074 deleted file mode 100644 index e56b4d30d3a8969d056ef7eef018af810ee24b8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131172 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 diff --git a/package/firmware/ipq-wifi/board-teltonika_rutx.qca4019 b/package/firmware/ipq-wifi/board-teltonika_rutx.qca4019 deleted file mode 100644 index 440c63af41984fc90773e9ac4b5e70b39c589d20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24276 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 diff --git a/package/firmware/ipq-wifi/board-xiaomi_ax3600.qca9889 b/package/firmware/ipq-wifi/board-xiaomi_ax3600.qca9889 deleted file mode 100644 index af4405cd53cb9ca94b9fd2b75856bf84ac0d22cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2260 zcmWG^cGPtY@h~*-)^+lC402(}&CO*1f*l+nl7S%+h?7c-Z3~h!b;?rnQu2#z4b3c) zby8BxGLutn4Gc^Tbc#!piYtptQgd~oDhz-CNffRYC|Z_Sl$n@UVjGc}n4g=e>lk5d zW?%rclM!f-3(!s%4wgC=#-6_)BzG-hV3239_he#l(E&L|9*6~j7z8R97y=+H3=)?( zhC)&V_!$(K6c_{r85sf?L6CvLNO9}dt^ABX|FZLvVh|10axuc(sK5Y%AUB>ncaDZO z5;9tfkr5QFU?2ixfauiJWMnQW?6V9E4h5Zy7`Oy78QM@a{wQbQ zWNL0@!@y8bI(HEaSJh9R0b)bwH9HDQm#+cgs(O$b1dUDHrpCsG8kpG7Q<0YuQIV4s zQIeAvQ6&N}F!)4dOjxn^=vh|I2vDv^0{?zjFtBhWFf=2HF)%&SX9U%9>jEaOhx)2B~QCUK{;bUPC#)6>IrGCfJ3j5Xi)UcJ&Q z38*KufW*D^U+RAM-SxZw{qKEO?@=oj7T!}>Q+nTh%kC*!URYHun>TM3xH8fBC3)~| zJGSMo+0b_P|9t_ar?~r~g~8|J$Jd+o=EBr2pHjr^Y|0A7DuT$0#g# z;WUsI78AVC_p7yU)SVWS(^{j7O}{2lUT_j#>IA z(J?vr$;0==5byEAlF24Z<~K{`H%sO>OXfFA<~K{`H%sQX;T+;{xJ@7u4TVu|6f&U6 zpY)NfP43&d1WD){d7T);It4F&@j8hHA^P>OiUcjR-$qs+mVF4@Ia2s^N_-e4gD^yc zSA^Rwd;ePg?#h4N`;&rylwV%?xc^082)h2~ynYUcFUEO0`|Gzn@)eg%HueRPlSWSA zaQp$wNRN-4V+5!8PygkHjdy{E8~Gb%9$^>DDr*{ATGwspINf#O#fvY0`HeT-iFEDfa(?>5{dZRn&L{dKzne?uR?-dcxe(=#E5{E;r z=t;Oo{9oM>>r4Hy$dva){Fg+M45-9{K+*a{i~_QvU&EycaCvkio&29B|;b$pQO-Hu%Zm z-XI6_`oRIlKksLH$w5$;bPgt> zjQ<_E4014qeF$=pxC(uM9_e$z4hN4dbBO z1N316b(y*ZU5q9NH>(Hafb-b~2WimdkUcOtF!f-d9Q-~qhtz{X;{fw9nf8P>4K`KR z0~Z`~dFNkRePZ4-8IO3e zzcZa)-m{rotnGXL<<@g~2Q#;&w3?~#^vEj>UAc$D%RBkGrsFxgG9LA|^rSn2_T}wO z-;|8|A=90IxwR{w?X&cQ{YCq>Tia)pm$lhiUgsBDPUY=Mf7D|s5AD;-^H|2stV?|> z25tod?ME*~zFE5!4O4aAmJD2e|3mXo^P1m*_eIj*7MXe$_tlSxq*RL};e2Qu&dB0z z^eF2)B7v{ty!1TIM>gS{3Hd!Z=S)mS8Lr3$WPML0<4uuir;&dP^4B3h&Q%g|Pd_fo zMt;`+HPn9&`O$t~74qMQ{1cGh#$R!=akdnAS0oK*lv8jvVFyMGY4_Tgf(iyT#>P3k>AF-N*429LH|+zIK()_M@1foO!Oh+ zE%f7z$ixlkN2Sq@L_f-iiJU)x{OPEF+GkNe@~1F=KE^Q>`Nu`hpZRUn|5fBai~2VP z>qq7T&6$TH96H$L`uO5KI zbj;_eXP}2%mtfbE?!!1>KH6EAGT+C1dK)};K@T3qIB;FSd`z5#GBBqix#>Se{wqPd zZjK}8Gwp$m`K;>!?ZGRU&-;yW(AO0Y^8ah(apby?j{MVJh8`e)3dS)B*|3+bp| z*8|w~lohCdCdM%heZicF-%)r6J3uk1=n|sqi#=< zkl%(q(DmT5#U89g|G6&MvJqUakv@rOnMCSp$>WgeN2QNjf=LCAN6OT{%PkipJ9)@)T3PFpMv~Y z<03iT9t=beJ_^n!jN_E&(0R@&Z>}pg^+3-b97o-*Hye7W?=S4w z6WTN8e=WGbpgrNb=0*E$>@TjV2izZE9Fj1Ow)Ma|A7R&ZyNvl{*Di6ZA!7fk1eDZM|(EkM5RU3bU42>i5hxU22 zC){7yn2%hS0#`7O)I;czUVlIIP~T^w{i&~_ey(e1zd3$!|0nXg64C?i6EPokdoU0^ z;69Cd0K3k8irsx$XuogG4<7XVHtshv(f*8Y^s*;;$UhZ>3U^xX;q>yTGHlPvm`X z0_XFuBlAc-(&ytVmURJkS-0yp#^IWJK)cR$!N&7Rp>@epzi!Vx_Vh5M2bj<4u&Yxs z4q@v8%CYn2NN7Huv&`olj05Mh4ZCihAL#oF=%KF`dW3P%?>AhLM$wo{>0f~!TtNL; zm%MezpO5^hs2{dHk_+hp=Hpb%NBzDFdYk}TGRDR;4Z1zRe4K{-=6vkWeV?BHieV4* z^8?zW*=T!z))np(sR#Sf|0dXjS;71^pAVug^f^bW>M6&DS(O3n0s0X5D*AC2`(>OT z_$u*?3GE5&vW;QXZK{6$&|43t^-~YN1beU-daw$51bd{PAN1IKLg{C ziTRk0`7{+g`WvAK+#k>`e{4e!IF6 z@&m9*lVB72Q~!Cie+zizy3&vRfvyJ_$8^|(shE%Yx`6t5E;V;W^L*)Nl9vB1{jku9@dZ++*804-M%7=F>ILWhbI7HqPU8 zJ;FFnJBM+wp5xfuALx4UHRu8IPey)!4fNpte&_-8=$hvTtl!4{#*B}khrRS58RM7; zdoaevx)64rhxzPZjd4W#6O!$XgPz|ypJ5Mp4#vGzoQ?g7-hR`baeo6n^uQkKdTe8# z8`1-;&lz9AIKr+^YKK16p_~U%jvsBYbN|o#jW>~>^AY>J(0!X-d+>eCC*)5>{gW}D z{q@iT)Sm=;cw=(EbAX z<7}Mk>hl@nXuWUM^?-K0KYH*o?AZYHp!fRhZvYRR53pjK9yGdQ31 zae!Ud_ZQ&L&V6Udu5(?19`XEue=lU)?dXx-e%gae#=55KG1isDM6}<={>HQi5eHf& z7}X3YJs8!)YrAtw4{TF4suL9N)K#PHL4RTJs8!)YrAtw4{TF4suL9N)K#PHL4SudT{1*O~-Pc$$W&*$(rujgO%GCY|3u&m6NC+F?Xe2nh_n{LmM6+7?WkXoNG-;5DCbE;`i z?qh+~6BhTxoj6;&Z}#I88~850=}w)iJCM60eXS4AznSjL(dMV-ZU{7_Sn{4e)wFxg zmcUAHxtU7j;L*lid0R4?y%jxi&%dO*-uvL5Dp9H#3$zVexQj|7@hmY6Xj7rIs-%-f#1 z*2>?B6AjPK-JIUyUEY)KndjG>ob|-Chxy#3>2@Eg+EK7MynRQH);%@vk&H%b9WQjP zJdnFJYwZNfxE(&zd@yHwppEaHnXcnV!_GPD)9byK_H}i(?4P$au*S;$f#WsL%-xc) zGR4Bnz6(`H9(*!&eKMYdGu__9E1oFaGOgCi-{B*5PtDnw-e}do7rR;y_0Igw8I4|xJ|90@w=ZW~pv_|$%g&Q4sY9!*<9oEL;ozL@ z>1}-9({zWQt9f$v`m{Q$zPxl|-LnN-Qfre-%v2&>UCsOFZ3~38Z~uu^`*OEtuHkcY zrt3Ps^68vMGMlXYo#<>hFlSr(8a{t-x-(~+p)Y|o9t(fRyP6Ko+mW%>sxK#xHKV+Y zM&D91r^rhkYo00Cl-=yNaPZ>us}AOFpZ<`QtLINQ@6I6ymO4%yYkDgG(ewuE{O#y$ z*gt1$`kG{m?jAi+_w4M=X)BX0b#!&L9?IX5xsK1Do9^^6_BYVzwY0D6*wV-I9?1-A z^V28R9Gbsl`oq?|Cr{Qt3mdW8s^iC@f6Qwg5Auh39>(7b=k&I$wQ}0ox%xovw#+bn zIp48*SKg+~W~==>dbsw9xeuq;`WBhJ5IJzFde4K8rLIc0%(sr94y9Q1>cr8iCki%a zG+6byqqA{;9@}S`M`ti+=I_XQ$lBkov#a(~U#vR*LdV)&^EYLMjpeiZ*6v)eA+<8O zu%~@TPSx$1^H|y{D_8rDuH2owC2JMm3o+e`C)%E!ziE1lb#9&PY&tk^d*(XpJU?}= z@!;I;8SD7$vFT2nX~I0uXti>>AM>>@@l{XdZJgfdx2zvsM_cyI+nU*G zwP9zDH$FWVx@(;aokv$al>__iwd6f^x?%5}_ViUL7VZz8YTP&X@r*TmN8WUYj@Rv) zvnj3FI`!p0_TmHl?^H?)ZtuXLGisue92O!-t!8=5NYq z@L6o)vBM2J<~)>HZ_Rt~WYfO9ZLsZ@_8mFhygz3vY^SAtUpU*gZ~o)iYpmmO;dtva z`HyBb`7L#P?oi9NytP?1K1-W-AFq670qkFjC0)nix*a(i(!=af=aJeS^VSFI!{*1S z`aQF^V6Ix{`I-7Xxm(j$Ti4$gPA_{hk884}9~V!o*ipE7dW*-x)!yCfo>=g3YK3P( z4}XU`YIe;A_bC>8aO}C-CvrAq)cY)BdFr{wC-XOEHTW#+$C1-5`*SdsR<6!?4`Hf?~eT9-K}q`YJp-vF`yVw3@8Q^1BwB~fMP%~pcqgLCQ9%#PLZJJjp3upMT<{$y26IOHE79=!T1q;0!uE zk}5N0t`tbAR7!)i$_8ndow8Ss$Z5GC7v;I#Kp>C-$xKg6%Sca4PwNFS1BUo|W@Z3_x>GaKP=7Co-xC|+>v#6(TY8V*D(rFb za6Rbu3OSw5D7f3JQG?!^IDwglYd`w=H!=q32EB13tiZB{mJJ;j-~QmfJKT-1VN=Z= zWCpk|9poZaaf$)Ozz{Mp2KTCTv$}8mscG%F@ba6NKe%zKS>63jH@Caz^YqaRclFnR z#EZ+r_CIVm^E(LpeywY3Z8c*<;g+VRhPs-XKJkdSR+@EiZNYNF!VL`#b-{AN;;rfJ zq_L(ChFj^_QRNf^ih({1aC)p-)zT3B>hoPywREX@Ef{WXX{oGSv}pePUhyoZ;dW0` z16NsDR<>wSK|$YeX=zbWUS8jLYkDKiD)hDmR;#jd>C(R8rAv#8=g;pOZ%u!DrZMO# zEoJ-rhKq{}3Uq!z;f>SWxbIdTj4*Ubx6}N(u|6&vBz>%`3|4hZb=Hoq*-3L_zHd)m zv(x6jI%w6q+d&_%XCI4;d+FCO*~fwDwH;lvlg7^2j>I&#S|9r?;3`5fpcqgLC3&B_j#zG>Dg$n%|xObS=akbwbB@^Zrb;E~w>cc$sVV?RhPvPCZVVI{r z%u^rcsSoqihj|LG!Ml7zJWqX?r#{S6ALgkK^VBy?^VHmLbFnq|+P%ZKNCi~2BY=UM z-lVCFw~T=ipjJ24#9KzFs<;mWH#LAN(;dM;A7xPy!^*%Np=7r~Cx>-V2T<8{aovgQPF#0h z-HB(uhwZuVYZ`-QmxZqkqxpUo`p`eKiI?5x#XepEDm|mu{F{i$Qi_zhUEs;G$Z02H8NU;uHgl0mXn~Krx^g7%~Q&*oVV^8vgDU;;{FIcfs!*&Ud+n zU~3juq!at_@b|^gSM0;#@xIvA82Ci^*5Q1QEUbZp44l}9hrg$GbvZAWBA4?j zy$0`s-|50xEWFz_4DTBCS)_*`!i7Dd3-2_!@J^Ep?=-oh(O>Kd;a%`C@QLuPF8mz~ z9`W&rANv2-U^3aaKP1{4D$fPp*2JgROg20{#s zfN80ks2ETT+-3~8aR%$g8LS&;u=;=TjWbv`&S2qP@H^c&gN1jyN68ti8)vX?oWZ(r z2J6NdtQ%*r@EW`eJ_bG!zSWI0Sa`(8BYxzb!Mbq<>&6+Z8)vX?oWZ(r2J6Ndtb3H6 z!8W}hV*1-`s*T#_gf<~6FenU+T18PE8x{rzMG5clLWX6aR3(GPz#XoxgVOy$8w^#@ zurM$vgMNn>GAsk7Dj75e?r?SOSN8{v^g$}fi+4caHFy{NAMpSG1ILf+`3(SE$JrCS z3x4Nt{w6@bh_#v6i?gQi-x@&waMlEm-x|0Y1D^=rI-I{jV6*8rmCTE?rtsf5xVmRJ zf9K$)8a;qa>Rs$XG7PF1#eiZ!F`yVw3@8SMoB<#9;qae^|E>?>u=j>{!S5W--}xE9 z7R**wANJwlza@meVjm8V-x9hS1D^=rI-I{TWUJvfnaGEIc=&G^UEMRBzhiWh&A#bu z*LoM5gBqB|emr~WAEnP;THk-?e%f@_cj3)Aep}y*x5nS`hCvaa z7*Gr-1{4E|0mZ40+TwQ+uyB`c0SEHm3Q+L$2Vn8vV7*Gt{o(v?2%Qw)L{W12Bu`Hu- zOyQWG@3fdS>@dd0j>R?pTj8#7JE9%Y1FcO&)i=0&4tzvZ2?J$df%N@6^#8v4=~q8( z?6!WArSE5;bzAfQd3WEB^|~2;O{(#^E9_&mH9WtWUVSSD6a$KZJDGu<<1fUY9N#vU z-YyTus$i@HhULG0PQ&sV*A4q@Smf*HP*)TKiUGxdVn8vV7*Gr-1{4E|0mXn~;7(&8 zG59>doz`#FU&Vl8Krx^gPz)#rM8?aeVWlBSY8Wf) z)f7{B?SgzP3(F`(FG{^Ete_BGV!j3n(d$IZDMarOEu#>9lcMO0H z5PgTOZln^A_|cU zsAds`C?05W35Cc5R9r$KN(D=cODRMFrd&cHx|^tqLNt@8j6(E)BS#h&Q;6pBS|x=j zkJoA`L=PBZa68`ATajL=}ziJ%FT*n%WhE4%7aW*i zRTQF^P{Xo%3eg)tWpxyySJC&fA_~##yjD#i`a01P3eh`6H58)1BC4ejy^B)Hms5zQ zqt)fhC`8{w%JO;&(O*0KQr<`*`Wr{Hl-E&+e#DeD6rxfsN6JenL?7|m3JTHBh^i<= zzaXlm5d9_ey0L~r^s!@sls8a_7Ng8XYv(Z3Kaq!3+Yk18lczvHzM3eoS0 zswqT&z-X2iQiwLdCYP5}h+NvQq@s{Q6tDfWR8&%k60sswlu?M1xIR=+h$i#eLJHAc z+5)L)q7cp2nx$efg{YV;RZ@uV1*%v=Ao|FWf_HN6HyI? z=n2+WMIm}xn;|O-DMY)GvZ{naw4Z1>h3J5mFIBY^u6T!0UsXMY*E*20sEk5%5~#YA zLe#0PmSq(bqUV9i7E*}LBW3v_3egKdmE{zomw@UPQi!%f=j*E}T%9hV57p%qUV9a7 zsji_Ay{_FS)rAzIztBFG>Iw?cn<%rYnnLt0^DU+jrQlk11BK{4qGc4KZxJn_5Pc8% znhGgIe~)V=)fA$SnX-yPbQ)`T*)j^zC(w}Ur4*v8Oj$x9`aRIXQVP*aSh;HIDMUri zDyeCr5d8_Y*OXF-1iaKNrjVC->;!6RD7@yuidR!XA@VUL3Nl(YnJE`icr6vEb}@x0 z;G8eDg%pl-BCZvdPck=n(UU-pB^06`g3qRU3egeA zFJ);Zh3GF6fbM%Rh(x&oGT?-LOB4src^z7+XxJxfTDoXaIpV}F%L(i1j7q}Y!UT!J zzTB;O#4RZjEq;l`?2LoO8v~1Q7N6W;HH4D4@Y|PK;;)S*H zVSf9yDwzl?Ix(t5CTVptDXLH=xr<=en`Mf&Ql@IFWSUkg(_9N>TJ&m3)s~}GD=4rnd$na+~;bQ`{UNYx52NKS+Nhnuaj9Z56k^A8{yZ>{jnS1AA#QlA1l$? zZ*d>=8yP2`$XGDmje}(6Z^S`c?3ZJ+Wh%HbLY`14poiYV)wEE^NXNLItKQ&M541?+ zv$203%aDf9TfxxlvF{?}#eJC(^5CxW#_rw;yC)dsmFXe2;MEEL6pWkY+3%^uOu+qy z9%2iO5L;k`*is|J*CdTlQYeIUnh}S*ddT2_aeBRo`#aA?y&p!1b?ir6CHfH)40%GK zq)=#TDAbdKZ87rtLRZP35yv*0SIrRH7phGUv3-_$^*FXPCX`OJt;uaE7lm~gA&!C( zVhhZxW{Bk(aqN+qgP{tPVq9g2y)@z`1w%$#j5wnVNuP3xV4^QR{fs(DC&t zr&6-@Hvb^y=ZIr@Ki6wx=%bWOuLt~@A;t}dOB8WCEEO483&qSt$br?zbOi`#;*PUo z2Ua1|8R=an#5oZ2_qrqI5?`$KA*d=ajeyrWZ#-IL->(R-x<{J$_d05}a z`O?k$bnNcI4qiul76#Mn80GcG!Td8d4Wkz~F)P@=nOYP}Ob9~ZbxmSuW_33cI_(nI zgtSn89VgrsY~M^R4%cHRXD<(?*Kz!mdxFNEdiMhduM7=*rp#ln`$iFKg5X>=C9}ibj)?yZTeB?> zj>{i*)Ah9D-fp90^Si(8F!Pz;_VU-Xc3gP*&C4I$KJCZ?pJdeDcl*&x1J;RKS%6-F$QyjOAGFc+iFm?*Zt~=etkl#Vf30#S$;UmnrPoTJ;uHgl zff3KZWNDu};ya-_pcqgLClk4P zR136|5onJK&`uW)aX%Kup1&U?cP(OIkY}*>WMXj90Xaq zx_kK;8kw3~*)T8^l+IlQ!&UW@XMorcdd-f4(&cMFxT+qc20>#Jx2dtQp#~;4^i>^MO29Z3=BRI8536QJ$javGXj+Bk-)#-6$~sK2@K6hVhjur(IkdeG|_Sf zcJ6$JZY-kd7$$(yQ8E@2IC-NP>M=~<;!9`fKoc!P;giFOh{@<#uosh*k`fcahIxd9 z&aBB$$#PlbrZO1VTtY(c&SgQ|LkU|zOhQsx*1^rg)7#g;%)-*z7MLbt5_-1m*n1X6 z`^Ba8t=qQ$cu>-$MVk&IpQUa9 diff --git a/package/firmware/ipq-wifi/board-xiaomi_ax9000.qcn9074 b/package/firmware/ipq-wifi/board-xiaomi_ax9000.qcn9074 deleted file mode 100644 index 5d5c2061a7d48c0d768c6dfe01c6bafd61aac2e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131176 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 DH2=xt diff --git a/package/firmware/ipq-wifi/board-zte_mf18a.qca4019 b/package/firmware/ipq-wifi/board-zte_mf18a.qca4019 deleted file mode 100644 index bc9ebc41e8a21b88c79a274efe1a42cc595350ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24308 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 diff --git a/package/firmware/ipq-wifi/board-zte_mf289f.qca9984 b/package/firmware/ipq-wifi/board-zte_mf289f.qca9984 deleted file mode 100644 index 0422bc852feebf5bd70cbe74e8c6ade6a0515be2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12204 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 Date: Thu, 16 Mar 2023 00:31:16 +0100 Subject: [PATCH 23/24] 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 --- tools/autoconf/patches/000-relocatable.patch | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/autoconf/patches/000-relocatable.patch b/tools/autoconf/patches/000-relocatable.patch index a105defd299..3961d2264b6 100644 --- a/tools/autoconf/patches/000-relocatable.patch +++ b/tools/autoconf/patches/000-relocatable.patch @@ -177,16 +177,19 @@ # Override SHELL. On DJGPP SHELL may not be set to a shell --- a/bin/autoconf.as +++ b/bin/autoconf.as -@@ -89,7 +89,11 @@ exit_missing_arg=' +@@ -89,8 +89,13 @@ exit_missing_arg=' # restore font-lock: ' # Variables. -: ${AUTOM4TE='@bindir@/@autom4te-name@'} +-: ${trailer_m4='@pkgdatadir@/autoconf/trailer.m4'} +if test -n "$STAGING_DIR_HOST"; then + : ${AUTOM4TE="$STAGING_DIR_HOST/bin/@autom4te-name@"} ++ : ${trailer_m4="$STAGING_DIR_HOST/share/autoconf/autoconf/trailer.m4"} +else + : ${AUTOM4TE='@bindir@/@autom4te-name@'} ++ : ${trailer_m4='@pkgdatadir@/autoconf/trailer.m4'} +fi - : ${trailer_m4='@pkgdatadir@/autoconf/trailer.m4'} autom4te_options= outfile= + verbose=false From f08190e743cc92aaca9f280071aad71bbff83b37 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Thu, 16 Mar 2023 00:30:26 +0100 Subject: [PATCH 24/24] include: autotools: Add dummy GTKDOCIZE autoreconf wants to use the gtkdocize tool now if a configure.ac file defines GTK_DOC_CHECk(). OpenWrt does not ship the gtkdocize tool, just use true instead. This fixes the build of some applications like guntls. Fixes: 030447b8f4c7 ("tools/autoconf: bump to 2.71") Signed-off-by: Hauke Mehrtens --- include/autotools.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/autotools.mk b/include/autotools.mk index f659bac3c5b..cba36ccd9fa 100644 --- a/include/autotools.mk +++ b/include/autotools.mk @@ -23,7 +23,8 @@ AM_TOOL_PATHS:= \ LIBTOOLIZE=$(STAGING_DIR_HOST)/bin/libtoolize \ LIBTOOL=$(STAGING_DIR_HOST)/bin/libtool \ M4=$(STAGING_DIR_HOST)/bin/m4 \ - AUTOPOINT=true + AUTOPOINT=true \ + GTKDOCIZE=true # 1: build dir # 2: remove files