mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 05:36:32 +00:00
uboot: add support for patch files and URLs
The existing u-boot patch option only allowed directories to be specified. This adds support for URLs using similar code as found in linux/linux.mk. Local files are also handled now. This change is useful for Intel Edison support, so that Intel's u-boot patch can be downloaded rather than stored in the Buildroot source tree. Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
df484231d9
commit
3e3fef39e7
@ -79,6 +79,16 @@ config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR
|
|||||||
|
|
||||||
Most users may leave this empty
|
Most users may leave this empty
|
||||||
|
|
||||||
|
config BR2_TARGET_UBOOT_PATCH
|
||||||
|
string "Custom U-Boot patches"
|
||||||
|
help
|
||||||
|
A space-separated list of patches to apply to U-Boot.
|
||||||
|
Each patch can be described as an URL, a local file path,
|
||||||
|
or a directory. In the case of a directory, all files
|
||||||
|
matching *.patch in the directory will be applied.
|
||||||
|
|
||||||
|
Most users may leave this empty
|
||||||
|
|
||||||
choice
|
choice
|
||||||
prompt "U-Boot binary format"
|
prompt "U-Boot binary format"
|
||||||
default BR2_TARGET_UBOOT_FORMAT_BIN
|
default BR2_TARGET_UBOOT_FORMAT_BIN
|
||||||
|
@ -89,6 +89,8 @@ endef
|
|||||||
|
|
||||||
UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
|
UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
|
||||||
|
|
||||||
|
# Prior to Buildroot 2015.05, only patch directories were supported. New
|
||||||
|
# configurations use BR2_TARGET_UBOOT_PATCH instead.
|
||||||
ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)
|
ifneq ($(call qstrip,$(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR)),)
|
||||||
define UBOOT_APPLY_CUSTOM_PATCHES
|
define UBOOT_APPLY_CUSTOM_PATCHES
|
||||||
$(APPLY_PATCHES) $(@D) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) \*.patch
|
$(APPLY_PATCHES) $(@D) $(BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR) \*.patch
|
||||||
@ -97,6 +99,24 @@ endef
|
|||||||
UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_CUSTOM_PATCHES
|
UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_CUSTOM_PATCHES
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Analogous code exists in linux/linux.mk. Basically, the generic
|
||||||
|
# package infrastructure handles downloading and applying remote
|
||||||
|
# patches. Local patches are handled depending on whether they are
|
||||||
|
# directories or files.
|
||||||
|
UBOOT_PATCHES = $(call qstrip,$(BR2_TARGET_UBOOT_PATCH))
|
||||||
|
UBOOT_PATCH = $(filter ftp://% http://% https://%,$(UBOOT_PATCHES))
|
||||||
|
|
||||||
|
define UBOOT_APPLY_LOCAL_PATCHES
|
||||||
|
for p in $(filter-out ftp://% http://% https://%,$(UBOOT_PATCHES)) ; do \
|
||||||
|
if test -d $$p ; then \
|
||||||
|
$(APPLY_PATCHES) $(@D) $$p \*.patch || exit 1 ; \
|
||||||
|
else \
|
||||||
|
$(APPLY_PATCHES) $(@D) `dirname $$p` `basename $$p` || exit 1; \
|
||||||
|
fi \
|
||||||
|
done
|
||||||
|
endef
|
||||||
|
UBOOT_POST_PATCH_HOOKS += UBOOT_APPLY_LOCAL_PATCHES
|
||||||
|
|
||||||
define UBOOT_CONFIGURE_CMDS
|
define UBOOT_CONFIGURE_CMDS
|
||||||
$(TARGET_CONFIGURE_OPTS) \
|
$(TARGET_CONFIGURE_OPTS) \
|
||||||
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
$(MAKE) -C $(@D) $(UBOOT_MAKE_OPTS) \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user