1
0
mirror of https://git.yoctoproject.org/poky synced 2026-06-05 02:20:12 +00:00

combo-layer: exclude files

Some combined repos intentionally do not include certain files.
For example, Poky does not include bitbake's setup files and
OE-core's sample files under meta/conf.

When these files get modified in the upstream repository, applying the
patches fails and requires manual intervention. That is merely a
nuisance for someone familiar with the problem, but a real show
stopper when having the import run automatically or by someone less
experienced.

Therefore this change introduces "file_exclude", a new per-repo list
of file patterns which removes all matching files when initializing or
updating a combined repository. Because fnmatch is used under the hood
to match full path strings, removing entire directories must be done
with a pattern ending in a '/*' (in contrast to file_filter).

For Poky, the additional configuration looks like this:

[bitbake]
...
file_exclude = classes/base.bbclass
	conf/bitbake.conf
	.gitignore
	MANIFEST.in
	setup.py
	TODO

[openembedded-core]
...
file_exclude = meta/conf/bblayers.conf.sample
	meta/conf/local.conf.sample
	meta/conf/local.conf.sample.extended
	meta/conf/site.conf.sample

(From OE-Core rev: a51b37f4db6b144386d1bd5789ec91acc78a0bd8)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Patrick Ohly
2015-03-10 09:56:03 +01:00
committed by Richard Purdie
parent 627e524238
commit 96b98451c4
2 changed files with 55 additions and 1 deletions
+14
View File
@@ -42,6 +42,20 @@ last_revision =
# file_filter = src/*.c : only include the src *.c file
# file_filter = src/main.c src/Makefile.am : only include these two files
# file_exclude: filter out these file(s)
# file_exclude = [path] [path] ...
#
# Each entry must match a file name. In contrast do file_filter, matching
# a directory has no effect. To achieve that, use append a * wildcard
# at the end.
#
# Wildcards are applied to the complete path and also match slashes.
#
# example:
# file_exclude = src/foobar/* : exclude everything under src/foobar
# file_exclude = src/main.c : filter out main.c after including it with file_filter = src/*.c
# file_exclude = *~ : exclude backup files
# hook: if provided, the tool will call the hook to process the generated
# patch from upstream, and then apply the modified patch to the combo
# repo.