[OE-core] [PATCH 1/1] combo-layer-tool: add tool to manipulate combo layers

Koen Kooi koen at dominion.thruhere.net
Thu Jul 28 12:11:00 UTC 2011


Op 5 jul. 2011, om 18:28 heeft Paul Eggleton het volgende geschreven:

> From: Yu Ke <ke.yu at intel.com>
> 
> This patch adds the script "combo-layer" to manipulate combo layer
> repos. A combo layer repo is a repo containing multiple component
> repos, e.g. oe-core, bitbake, BSP repos. The combo layer repo needs to
> be updated by syncing with the component repo upstream. This script
> is written to assist the combo layer handling.
> 
> The combo layer tool provides three functionalities:
> - init: when the combo layer repo and component repo does not exist,
>  init will "git init" the combo layer repo, and also "git clone" the
>  component repos
> 
> - update: combo layer tool will pull the latest commit from component
>  repo upstream, and apply the commits since last update commit to the
>  combo repo. If the user specifies interactive mode(--interactive),
>  they can edit the patch list to select which commits to apply.
> 
> - splitpatch: split the combo repo commit into separate patches per
>  component repo, to facilitate upstream submission.
> 
> Combo layer tool uses a config file to define the component repo info.
> Please check the combo-layer.conf.example for a detailed explanation
> of the config file fields.

I've been playing with this script and I have a few remarks about it. First the ones that aren't the fault of the script:

1) overlapping files like .gitignore breaks the script
2) git format-patch | git am is a lossy process, so you can't import oe-core and bitbake from scratch: 

	[14:08:48] Apply /Users/koen/Projects/Angstrom/setup-scripts/sources/combo-layer/patch-d99aaa2f-57f3-4c07-aac3-afc0538cae88/bitbake/0020-codeparser.py-Ignore-incomplete-cache-files.patch
	[14:08:48] Applying: codeparser.py: Ignore incomplete cache files
	error: patch failed: bitbake/lib/bb/codeparser.py:75
	error: bitbake/lib/bb/codeparser.py: patch does not apply
	Patch failed at 0001 codeparser.py: Ignore incomplete cache files	
	When you have resolved this problem run "git am --resolved".
	If you would prefer to skip this patch, instead run "git am --skip".
	To restore the original branch and stop patching run "git am --abort".

3) rotating disks are slow when trying to apply a few thousand patches

As for the script I only have one real complaint: The inability to set branches so you can make a combo layer based on non-master (e.g. release) branches.

For the rest it does what it says on the tin :)

regards,

Koen



More information about the Openembedded-core mailing list