[Buildroot] [PATCH 2/2] x-loader: add custom git and tarball support

Yegor Yefremov yegor_sub1 at visionsystems.de
Mon Feb 13 08:13:24 UTC 2012


Am 11.02.2012 15:55, schrieb Arnout Vandecappelle:
> On Thursday 09 February 2012 15:51:48 yegorslists at googlemail.com wrote:
>> From: Yegor Yefremov <yegorslists at googlemail.com>
> 
>  First some general remarks:
> 
> - Make sure that existing (def)configs keep working as expected.  So
> setting BR2_TARGET_XLOADER and BR2_TARGET_XLOADER_BOARDNAME should be
> enough to get a working xloader.
> 
> - Are there actual public xloader tarballs that you would use?  If the
> purpose is to avoid git clones from gitorious, it's better to use the 
> PRIMARY_SITE feature.  If the purpose is to use a locally modified
> version, it's better to use the _OVERRIDE_SRCDIR feature.  And if the
> purpose is to avoid requiring git access, it's better to change the
> XLOADER_SITE to http://gitorious.org/x-loader/x-loader/archive-tarball
> and XLOADER_SOURCE to v1.5.1 (this is a version bump as well, obviously).

I think we don't really need support for tarballs. I've just taken the u-boot approach.
 
>> +choice
>> +	prompt "X-loader Version"
>> +	default BR2_TARGET_XLOADER_CUSTOM_GIT
>> +	help
>> +	  Select the specific X-loader version you want to use
>> +
>> +config BR2_TARGET_XLOADER_CUSTOM_TARBALL
>> +	bool "Custom tarball"
>> +
>> +config BR2_TARGET_XLOADER_CUSTOM_GIT
>> +	bool "Custom Git repository"
> 
>  Since you have to choose one of the two, it's strange to call them
> "custom".  Also, git comes before tarball in the alphabet.

ACK
 
>  Perhaps the best option is to add 'v1.5.1' as one of the options,
> that also solves my issue with existing defconfigs no longer working.

ACK
 
> [snip]
>> +config BR2_TARGET_XLOADER_VERSION
>> +	string
>> +	default "custom"	if BR2_TARGET_XLOADER_CUSTOM_TARBALL
>> +	default $BR2_TARGET_XLOADER_CUSTOM_GIT_VERSION if BR2_TARGET_XLOADER_CUSTOM_GIT
> 
>  I didn't know that it worked with the $.  Is there a difference between
> with and without?  If not, Peter, do we have a preference?
> 
>> +
>> +config BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR
>> +	string "Custom patch dir"
>> +	help
>> +	  If your board requires custom patches, add the path to the
>> +	  directory containing the patches here. The patches must be
>> +	  named xloader-<version>-<something>.patch.
> 
>  Leave the version out of the name.  Especially if <version> is a git
> sha, this becomes annoyingly long.

Oh yes, it is annoying.
 
>  At the developer day, we decided that internal patches normally have no
> version number, and that if one is required (because multiple versions of
> the package exist), each version will have a separate directory.  For 
> external patches, the same pattern should be allowed.

I support this decision.

>  The linux patches require linux-*.patch, u-boot currently requires the
> version number to be there (but that will change I guess).
> 
> 
>> +ifeq ($(XLOADER_VERSION),custom)
>  A git branch may be called 'custom', so this is no reliable way to detect
> git vs. tarball.  But you can simply put
> ifeq ($(BR2_TARGET_XLOADER_CUSTOM_TARBALL),y)
> 
>> +# Handle custom X-loader tarballs as specified by the configuration
>  This remark is redundant.

ACK

>> +XLOADER_TARBALL = $(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_TARBALL_LOCATION))
>> +XLOADER_SITE    = $(dir $(XLOADER_TARBALL))
>> +XLOADER_SOURCE  = $(notdir $(XLOADER_TARBALL))
>> +else
>> +XLOADER_SITE        = $(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_GIT_REPO_URL))
>> +XLOADER_SITE_METHOD = git
>> +endif
>> +
>> +ifneq ($(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR)),)
>> +define XLOADER_APPLY_CUSTOM_PATCHES
>> +	support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR) \
>> +		xloader-$(XLOADER_VERSION)-\*.patch
>> +endef
>> +
>> +XLOADER_POST_PATCH_HOOKS += XLOADER_APPLY_CUSTOM_PATCHES
>> +endif
>> +
>>  XLOADER_INSTALL_IMAGES = YES
>>  
>>  define XLOADER_BUILD_CMDS

I'm using am3517 based board and it's x-loader is still in arago repo. That's why I wanted to introduce alternative x-loader repo. But after getting feedback from Arago, I would postpone reworking this patch and trying to get x-loader upstream. With arago repo I still have a problem, that signPG is missing. Had made a patch to solve this, but getting am3517 upstream were the best solution.

Yegor


More information about the buildroot mailing list