package/pkg-generic: drop support for arch-specific patches

The last architecture-specific patch we had was removed 2015-02-14 with
commit 9863553fe8 (packages: all salute the passing of avr32), where
we eventually got rid of the avr32-specific patch for fbv.

Since then, we've only had common patches (that apply systematically),
or conditional patches, that are applied in an ad-hoc manner with
post-patch hooks. Currently, we even only have one such patch (for
Linux).

Since we do not advertise that possibility in the manual, and since we
do not want to have such patches, drop the support for it.

This has the potential for breaking existing br2-external trees, but
there is a workaround for those: they can provide a pre-patch ook that
copies the necessary per-arch patches if needed. We document this in the
manual.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
This commit is contained in:
Yann E. MORIN 2023-10-15 00:25:41 +02:00 committed by Arnout Vandecappelle
parent 0455f957a3
commit 6480774c43
2 changed files with 25 additions and 2 deletions

View File

@ -100,3 +100,26 @@ change implies that:
to be updated appropriately;
* the archive version suffix has been updated to +-br3+, so the hash
files must be updated appropriately.
Before Buildroot 2023.11, it was possible (but undocumented and unused)
to apply architecture-specific patches, by prefixing the patch filename
with the architecture, e.g. `0001-some-changes.patch.arm` and such a
patch would only be applied for that architecture. With Buildroot 2023.11,
this is no longer supported, and such patches are now longer applied at
all.
If you still need per-architecture patches, then you may provide a
xref:hooks[pre-patch hook] that copies the patches applicable to the
configured architecture, e.g.:
----
define LIBFOO_ARCH_PATCHES
$(foreach p,$(wildcard $(LIBFOO_PKGDIR)/*.patch.$(ARCH)), \
cp -f $(p) $(patsubst %.$(ARCH),%,$(p))
)
endef
LIBFOO_PRE_PATCH_HOOKS += LIBFOO_ARCH_PATCHES
----
Note that no package in Buildroot has architecture-specific patches, and
that such patches will most probably not be accepted.

View File

@ -242,9 +242,9 @@ $(BUILD_DIR)/%/.stamp_patched:
for D in $(PATCH_BASE_DIRS); do \
if test -d $${D}; then \
if test -d $${D}/$($(PKG)_VERSION); then \
$(APPLY_PATCHES) $(@D) $${D}/$($(PKG)_VERSION) \*.patch \*.patch.$(ARCH) || exit 1; \
$(APPLY_PATCHES) $(@D) $${D}/$($(PKG)_VERSION) \*.patch || exit 1; \
else \
$(APPLY_PATCHES) $(@D) $${D} \*.patch \*.patch.$(ARCH) || exit 1; \
$(APPLY_PATCHES) $(@D) $${D} \*.patch || exit 1; \
fi; \
fi; \
done; \