Downloading packages from git requires zstd to compress their tarballs.
Make sure that zstd from host tools is compiled when running make
download. Otherwise, either the download would fail because zstd is not
present or a random version from the host would be used leading to hash
mismatches.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/21125
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit f3e4620f592be9413a5c71fbc4b664c50a158faa)
Restore the gzip compression level to the OpenWrt default. It had been
used previously changed to increase tarball compression performance.
Remove this change as part of an initiative to reduce our diff towards
OpenWrt to lower our maintenance burden.
Currently on IOWRT and OpenWrt 23.05 it is based on, xz is used for
compression and not gzip, so the impact of this change should not be
noticable. 24.10 and later used zstd. Changing the compression level can
also have detrimental effects, because it breaks hashes of tarballs
generated from git repositories.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
This reverts commit 5922d022ea.
Having .git in the tarballs and thus build-dirs causes more problems
than it solves with the current architecture of OpenWrt the we live
with.
* hash of tarball is no longer reproducible
* wrong hash of tarball leads to re-downloading on every build unless
PKG_HASH:=skip is specified (unfeasible for all packages and breaking
security).
* tarball is bigger and takes longer to compress
* doing any development in the build-dir is risky, because the
build system can nuke that directory at any time, e.g. when files in
package directory are changed or a dependency has changed.
For this use case see:
https://openwrt.org/docs/guide-developer/packages#working_on_local_application_source
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
OpenWrt v23.05.6 Release
Conflicts:
* package/libs/libxml2/Makefile
OpenWrt supersedes our changes
* scripts/feeds
Commit 7fd67fed39 (scripts: Checkout feeds in detached head state
when commit is specified in feeds.conf., 2016-01-25) has been partly
superseded by OpenWrt commit 775f9d56ce (scripts/feeds: shallow
clone for specific commit update, 2025-02-17)
* version.date
Delete (should only exist for OpenWrt release, otherwise
SOURCE_DATE_EPOCH is wrong
OpenWRT by default uses the Ninja generator, but some packages disable
Ninja and use the default Unix Makefiles generator. This generator can
be overridden in the user environment with `CMAKE_GENERATOR`. This patch
explicitly sets the correct generator when `PKG_USE_NINJA:=0`.
In particular, the `mt76` package uses the Makefiles generator.
Signed-off-by: Ivan Romanov <drizt72@zoho.eu>
Link: https://github.com/openwrt/openwrt/pull/16263
(cherry picked from commit 4646aa1699)
Link: https://github.com/openwrt/openwrt/pull/19525
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Generic other-files directory path hardly needs to be overwritten as 99%
of the time the mainline generic one is usable.
Don't depend on GENERIC_PLATFORM_DIR variable (that can point to the
external target feed path) but introduce a dedicated define and set it
to the default TOPLEVEL location by default.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
An external target provided by a custom feed might depend on a specific
kernel version and might need to apply generic patches for the specific
kernel version.
Now that the kernel version file is defined in the generic target
director, it's possible to handle this scenario for an external target
from feed.
To do this, we introduce additional logic for GENERIC_PLATFORM_DIR where
we check if the target feed have in his upper directory a linux/generic
path and use that instead of the default TOPLEVEL linux/generic path.
An example for an external target from feed would have the following
path structure:
mediatek/Makefile
linux/generic
linux/generic/config-6.6
...
An external target from feed is also defined by creating a symbolic link
in target/linux/${BOARD} to the feed directory with board as the name of
the external target.
This is to try to enforce a more consistent way to handle external
target in downstream project that makes use of OpenWrt build system.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
To further improve cleanup and maintenance usage, move the kernel
version files to target/linux/generic directory. This permits to self
contain any change to the specific generic directory instead of having
to bload the include directory of periodic changes.
In kernel-version.mk we now use GENERIC_PLATFORM_DIR provided by
target.mk. To make this work, we need to move the inclusion of
kernel-version.mk in target.mk right after GENERIC_PLATFORM_DIR is
defined.
This also comes to permit downstream project to provide a custom generic
directory and specify the kernel version complete of the hash and the
minor version without having to affect other feeds.
In such case both generic and the target directory are provided as feeds
and OpenWrt reference these specific one instead of the generic one.
For downstream it's still suggested and preferable to all match the
shipped generic kernel minor version but this change permits to at least
enforce good practice instead of having to bloat OpenWrt include file of
all kind of downstream changes (making porting to OpenWrt mainline even
more difficult)
Link: https://github.com/openwrt/openwrt/pull/18537
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 8865dadea7)
U-Boot allows specifying additional KConfig fragments to be applied on
top of a defconfig. These are usually located in the board
sub-directory.
make foo_defconfig bar.config baz.config
Add support for specifying additional KConfig fragments using the
UBOOT_CONFIG variable. Treat the first word in UBOOT_CONFIG as the name
of the defconfig, any additional words as additional fragments.
This can be useful to distinguish between different variants of U-Boot
builds such as different RAM, storage (NAND/eMMC), security etc.
While c05c0699d4 (u-boot.mk: add support for config customization,
2023-06-02) already added means to modify specific KConfig options
directly from the OpenWrt Makefile, leveraging existing fragments the
U-Boot source-dir provides a more convenient way to extend the config
when customising more than just one or two options. Furthermore it is
desirable to leverage existing fragments from upstream U-Boot where they
exist.
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/18963
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 49843b31bc)
If CC is explicitly set to a non default value, TF-A keeps this value.
Otherwise it assigns generic default value.
As the build bot set CC=/usr/bin/gcc-10, TF-A uses it which causes a
compile issue.
So unset CC before compiling.
It's a new behavior since v2.12. A part of the explanation is available in
this commit [1].
[1] e01c71266f
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://github.com/openwrt/openwrt/pull/17465
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4baa20ec66)
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Useful for special targets (e.g. RAM-only images)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit 3cb8dc3786)
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Currently, we are filtering out images if DEFAULT:=n or BROKEN:=y are set,
so if you are building from scratch and want to build custom images that
are stripped down to fit, you must edit the image recipe or its just
filtered out.
So, to allow this behaviour when building from scratch as we can assume
that person doing that knows what they are attempting to do lets just limit
the filtering to ImageBuilder.
Fixes: f060615a78 ("image: respect DEFAULT and BROKEN when Default profile is selected")
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d0d1f19068)
Currently, when you select the Default profile it does not honor DEFAULT:=n
nor BROKEN:=y in device profiles but rather just tries to build all of them.
This may work when building directly, but when using Image Builder it will
always fail since no kernel or anything else is present for devices that
have DEFAULT:=n or BROKEN:=Y set since those are skipped during build.
So, lets look for DEFAULT being set to "n" or BROKEN being set to "y" and
then remove clear _PROFILE_SET so they dont end up being marked for
installation.
Fixes: #18410
Link: https://github.com/openwrt/openwrt/pull/18814
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f060615a78)
Recent changes to BuildBot config moved the kmods to a dedicated
directory and dropped them from the packages dir. This was needed as
both OPKG and APK gets confused if both entry are present.
To fix this, unconditionally append the kmod feed line if
CONFIG_BUILDBOT is enabled.
Fixes: #17146
Link: https://github.com/openwrt/openwrt/pull/17151
(cherry picked from commit 53ee2e8c03)
[ fix conflict error for missing APK support ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Added patch:
generic/backport-5.15/430-v6.3-udf-Allocate-name-buffer-in-directory-iterator-on-he.patch
This patch fixes the following compile warning:
```
CC [M] fs/udf/namei.o
fs/udf/namei.c: In function 'udf_rename':
fs/udf/namei.c:878:1: error: the frame size of 1144 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
878 | }
| ^
cc1: all warnings being treated as errors
make[7]: *** [scripts/Makefile.build:289: fs/udf/namei.o] Error 1
```
Link: https://github.com/openwrt/openwrt/pull/16882
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Manually adapted:
bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch
I replaced it with the version from main branch which applies more easily
bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
generic/hack-5.15/645-netfilter-connmark-introduce-set-dscpmark.patch
Added patch:
generic/backport-5.15/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch
This fixes a bug intoduced in this version.
Adapt kernel configuration for newly added option
CONFIG_PROC_MEM_ALWAYS_FORCE.
Link: https://github.com/openwrt/openwrt/pull/16882
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Building a package in the build system or the SDK results in different
values for the `SOURCE` property, it's either `packages/<package name>`
or `feeds/base/<package name>`. The reason is that the SDK handles
`openwrt.git` as an external feed called while the build system contains
the *base* packages directly.
Since packages created with either method are (ideally) the same (bit
for bit), align the content of SOURCE. To do so this commit creates a
symlink from `feeds/base` to `$(TOPDIR)/package` and adopts the SOURCE
when building from inside the build system.
Signed-off-by: Paul Spooren <mail@aparcar.org>