[Buildroot] [PATCH] package/edk2-platforms: fix installation

Arnout Vandecappelle arnout at mind.be
Fri Oct 15 20:03:49 UTC 2021



On 04/10/2021 22:17, Yann E. MORIN wrote:
> There are currently three issues with the installation step:
> 
>   1. it does not ensure the parent destination directory exists before
>      copying into it, so if /usr/share has not been created in the
>      dependency chain of edk2-platforms, the installation fails, which
>      may very well happen easily as edk2-plaforms has nothing in its
>      dependency chain (except the toolchain et al.);
> 
>   2. all our dot-stampfiles and .files-list are also copied, as well as
>      the Readme, license files, and maintainers file. All of those are
>      useless on the target (and the .files-list introduce
>      non-reproduciiblity);
> 
>   3. of a lesser importance, the construct to install, and specifically
>      to reinstall, does not match what we usually do in Buildroot
>      (removal of the directory to copy).
> 
> We fix all three in one fell swoop:
> 
>   1. create the destination directory if needed;
>   2. copy just the directories with the actual platform descriptions
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
> Cc: Dick Olsson <hi at senzilla.io>
> Cc: Kory Maincent <kory.maincent at bootlin.com>

  I love it when the commit message is three times larger than the diff :-)

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   package/edk2-platforms/edk2-platforms.mk | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/package/edk2-platforms/edk2-platforms.mk b/package/edk2-platforms/edk2-platforms.mk
> index 47e6b1c51d..430791ae3e 100644
> --- a/package/edk2-platforms/edk2-platforms.mk
> +++ b/package/edk2-platforms/edk2-platforms.mk
> @@ -15,8 +15,8 @@ EDK2_PLATFORMS_INSTALL_STAGING = YES
>   # There is nothing to build for edk2-platforms. All we need to do is to copy
>   # all description files to staging, for other packages to build with.
>   define EDK2_PLATFORMS_INSTALL_STAGING_CMDS
> -	rm -rf $(STAGING_DIR)/usr/share/edk2-platforms
> -	cp -rf $(@D) $(STAGING_DIR)/usr/share/edk2-platforms
> +	mkdir -p $(STAGING_DIR)/usr/share/edk2-platforms
> +	cp -rf $(@D)/*/ $(STAGING_DIR)/usr/share/edk2-platforms/
>   endef
>   
>   $(eval $(generic-package))
> 


More information about the buildroot mailing list